西北工业大学数字电子技术基础实验报告实验4Word文档下载推荐.docx
《西北工业大学数字电子技术基础实验报告实验4Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《西北工业大学数字电子技术基础实验报告实验4Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
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-torst
7.Processing->
StartCompilation,全编译生成可下载文件。
(.sof)
8.连接开发板,安装所需驱动程序(在设备管理器中,选择路径为quatus安装路径)
9.点击start开始烧录,完成后开发板上出现流水灯。
二、题目代码以及波形
1.跑马灯设计及FPGA实现
①编写模块源码
modulerun(clk,rst,out);
inputclk,rst;
output[7:
0]out;
reg[7:
reg[24:
0]count;
always@(posedgeclkornegedgerst)
if(!
rst)
begin
count<
=16'
b0;
end
else
=count+1;
always@(posedgeclkornegedgerst)
out<
=8'
hff;
case(count[24:
21])
0:
out<
b1111_1110;
1:
b1111_1101;
2:
b1111_1011;
3:
b1111_0111;
4:
b1110_1111;
5:
b1101_1111;
6:
b1011_1111;
7:
b0111_1111;
8:
9:
10:
out<
11:
12:
13:
14:
15:
b1111_1111;
endcase
endmodule
②测试模块
`timescale1ns/1ps
moduletb_run;
regclk_test;
regrst_test;
wire[7:
0]out_test;
initial
clk_test=0;
always#1clk_test=~clk_test;
begin
rst_test=1;
#1
rst_test=0;
#180
end
runUUT_run(.clk(clk_test),.rst(rst_test),.out(out_test));
endmodule
③仿真后的波形截图
④综合后的RTL图形
1.有限状态机设计(教材Figure6.86)
modulesequence(Clock,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:
elseY=C;
C:
D:
if(w)Y=E;
E:
default:
Y=3'
bxxx;
endcase
always@(negedgeResetn,posedgeClock)
if(Resetn==0)
y<
=A;
else
=Y;
assignz=(y==C)|(y==E);
moduletb_sequence;
regClock_test,Resetn_test,w_test;
wirez_test;
Clock_test=0;
Resetn_test=0;
w_test=1;
always#10Clock_test=~Clock_test;
#10
Resetn_test=1;
w_test=0;
#20
sequenceUUT_sequence(.Clock(Clock_test),.Resetn(Resetn_test),.w(w_test),.z(z_test));
三、本次实验收获和心得
通过本次试验真正接触了FPGA开发板并向板子上烤了文件,虽然题目较为简单,但是在完成的过程中遇到了不少问题,比如软件内部没有需要的开发板型号,自己通过搜索和下载,找到了相应的扩展包并成功添加进入高版本的quartusII软件当中,我的体会是,数字电路归根到底还是依靠硬件实现的,所以将代码的执行效果反映到硬件上是一个重要环节,应该不断练习,提高自己解决问题的能力;
另外通过本次实验,我对有限状态机有了更加深入的了解。