山东高级网站建设,WordPress生成电商小程序,食品包装设计ppt模板,江门网站优化经验一、实验目的
1、掌握基于Verilog语言的diamond工具设计全流程。
2、熟悉、应用Verilog HDL描述数字电路。
3、掌握Verilog HDL的组合和时序逻辑电路的设计方法。
4、掌握“小脚丫”开发板的使用方法。
二、实验原理 三、程序清单#xff08;每条语句必须包括注释或在开发…一、实验目的
1、掌握基于Verilog语言的diamond工具设计全流程。
2、熟悉、应用Verilog HDL描述数字电路。
3、掌握Verilog HDL的组合和时序逻辑电路的设计方法。
4、掌握“小脚丫”开发板的使用方法。
二、实验原理 三、程序清单每条语句必须包括注释或在开发窗口注释后截图
逻辑代码
module total_sum
(
input wire rst,y,k,
output wire sum,
output reg[3:0]led
);
wire e,f,s,q;
reg h;
assign fy;
assign se^f^q;
assign sums;
always(negedge k or negedge rst) if(!rst) begin h1b0; led[3:0]4b0000; end else if(!k) begin hef(~q)|(e|f)q; led[3]s; led[2]led[3]; led[1]led[2]; led[0]led[1]; end assign eled[0]; assign qh;
endmodule
四、综合、管脚分配、生成输出文件、下载所有步骤截图
综合 管脚分配 小脚丫已被收回无法进行文件传输 五、仿真程序清单、波形波形截图必做截图
仿真程序清单
timescale 1ns/1ns
module total_sum_tb;
reg rst;//复位键
reg k;//开关
reg y;//输入的数据
wire [3:0] led;//小灯
wire sum; initial //开始 begin//对一些参数初始化 #10 rst1; k1; #10 rst0; //复位 #10 rst1;y1; #10 k0; //在k1时输入1并在k0时运算 #10 k1;y1; #10 k0; //在k1时输入0并在k0时运算 #10 k1;y1; #10 k0; //在k1时输入1并在k0时运算 #10 k1;y1; #10 k0; //在k1时输入0并在k0时运算 #10 k1;y1; #10 k0; //在k1时输入1并在k0时运算 #10 k1;y1; #10 k0; //在k1时输入1并在k0时运算 #10 k1;y1; #10 k0; //在k1时输入0并在k0时运算 #10 k1;y1; #10 k0; //在k1时输入0并在k0时运算 end
total_sum u1
( .k(k),//开关 .rst(rst),//复位 .y(y),//输入 .sum(sum),//观察输出 .led (led)//小灯
);
Endmodule
波形图 六、思考与体会
通过本次实验我进一步理解了用Verilog语言对FPGA进行了编程的过程与其所需要注意的一些要点能自己设计出四位串行累加器并且用FPGA实现了本次实验的内容经过验证与仿真结果一致满足累加器的基本功能做实验设计时,应该按步骤设计首先列真值表根据真值表列出逻辑函数表达式并化简再根据化简了的逻辑表达式画出逻辑电路图选择适当的电路芯片合理布线设计实验线路最后根据路线写代码。在实验练习的巩固下我对相关的理论知识有了更深刻的记忆和运用。