资源描述:
《工业大学数字电子技术基础实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.数字电子技术基础第四次实验报告一、描述QuartusII软件基本使用步骤1.用文本编辑器正确编写源文件(本例run.v),并经modelsim仿真确认该电路设计正确.2..打开QuartusII软件,新建工程Newproject(注意工程名和设计文件的module名保持一致),选择和开发板一致的FPGA器件型号。(本课程为CycloneIVE系列EP4CE115F29C7)3.添加文件,点击file->open,之后选择要添加的文件,并勾选Addfiletocurrentproject...4.编译,StartCompilation,编译源
2、文件(如有错误修改后,重新编译)。5.查看电路结构,使用Tool->RTLviewer工具查看电路图结构,是否和预期设计一致。..6.管脚绑定,使用Assignment->pinplanner将设计的全部输入/输出接口与开发板的对应管脚进行一一对应。PIN_Y2-toclkPIN_H19-toout[7]PIN_J19-toout[6]PIN_E18-toout[5]PIN_F18-toout[4]PIN_F21-toout[3]PIN_E19-toout[2]PIN_F19-toout[1]PIN_G19-toout[0]PIN_M23-t
3、orst....7.Processing->StartCompilation,全编译生成可下载文件。(.sof)..8.连接开发板,安装所需驱动程序(在设备管理器中,选择路径为quatus安装路径)9.点击start开始烧录,完成后开发板上出现流水灯。..一、题目代码以及波形1.跑马灯设计及FPGA实现①编写模块源码modulerun(clk,rst,out);inputclk,rst;output[7:0]out;reg[7:0]out;reg[24:0]count;always@(posedgeclkornegedgerst)if(!rs
4、t)begincount<=16'b0;endelsebegincount<=count+1;endalways@(posedgeclkornegedgerst)if(!rst)beginout<=8'hff;endelsebegincase(count[24:21])0:out<=8'b1111_1110;1:out<=8'b1111_1101;2:out<=8'b1111_1011;3:out<=8'b1111_0111;4:out<=8'b1110_1111;5:out<=8'b1101_1111;6:out<=8'b1011_1111
5、;7:out<=8'b0111_1111;8:out<=8'b1011_1111;9:out<=8'b1101_1111;10:out<=8'b1110_1111;11:out<=8'b1111_0111;12:out<=8'b1111_1011;13:out<=8'b1111_1101;14:out<=8'b1111_1110;15:out<=8'b1111_1111;endcaseend..endmodule②测试模块`timescale1ns/1psmoduletb_run;regclk_test;regrst_test;wire[7:
6、0]out_test;initialclk_test=0;always#1clk_test=~clk_test;initialbeginrst_test=1;#1rst_test=0;#1rst_test=1;#180rst_test=0;#1rst_test=1;endrunUUT_run(.clk(clk_test),.rst(rst_test),.out(out_test));endmodule③仿真后的波形截图..④综合后的RTL图形1.有限状态机设计(教材Figure6.86)①编写模块源码modulesequence(Clock,
7、Resetn,w,z);inputClock,Resetn,w;outputz;reg[3:1]y,Y;parameter[3:1]A=3'b000,B=3'b001,C=3'b010,D=3'b011,E=3'b100;always@(w,y)case(y)A:if(w)Y=D;elseY=B;B:if(w)Y=D;..elseY=C;C:if(w)Y=D;elseY=C;D:if(w)Y=E;elseY=B;E:if(w)Y=E;elseY=B;default:Y=3'bxxx;endcasealways@(negedgeResetn,p
8、osedgeClock)if(Resetn==0)y<=A;elsey<=Y;assignz=(y==C)
9、(y==E);endmodule②测试模块`timesc