工业大学数字电子技术基础实验报告.docx

上传人:b****7 文档编号:15365165 上传时间:2023-07-03 格式:DOCX 页数:14 大小:1.49MB
下载 相关 举报
工业大学数字电子技术基础实验报告.docx_第1页
第1页 / 共14页
工业大学数字电子技术基础实验报告.docx_第2页
第2页 / 共14页
工业大学数字电子技术基础实验报告.docx_第3页
第3页 / 共14页
工业大学数字电子技术基础实验报告.docx_第4页
第4页 / 共14页
工业大学数字电子技术基础实验报告.docx_第5页
第5页 / 共14页
工业大学数字电子技术基础实验报告.docx_第6页
第6页 / 共14页
工业大学数字电子技术基础实验报告.docx_第7页
第7页 / 共14页
工业大学数字电子技术基础实验报告.docx_第8页
第8页 / 共14页
工业大学数字电子技术基础实验报告.docx_第9页
第9页 / 共14页
工业大学数字电子技术基础实验报告.docx_第10页
第10页 / 共14页
工业大学数字电子技术基础实验报告.docx_第11页
第11页 / 共14页
工业大学数字电子技术基础实验报告.docx_第12页
第12页 / 共14页
工业大学数字电子技术基础实验报告.docx_第13页
第13页 / 共14页
工业大学数字电子技术基础实验报告.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

工业大学数字电子技术基础实验报告.docx

《工业大学数字电子技术基础实验报告.docx》由会员分享,可在线阅读,更多相关《工业大学数字电子技术基础实验报告.docx(14页珍藏版)》请在冰点文库上搜索。

工业大学数字电子技术基础实验报告.docx

工业大学数字电子技术基础实验报告

数字电子技术基础第四次实验报告

一、描述QuartusII软件基本使用步骤

1.用文本编辑器正确编写源文件(本例run.v),并经modelsim仿真确认该电路设计正确.

2..打开QuartusII软件,新建工程Newproject(注意工程名和设计文件的module名保持一致),选择和开发板一致的FPGA器件型号。

(本课程为CycloneIVE系列EP4CE115F29C7)

3.添加文件,点击file->open,之后选择要添加的文件,并勾选Addfiletocurrentproject.

4.编译,StartCompilation,编译源文件(如有错误修改后,重新编译)。

5.查看电路结构,使用Tool->RTLviewer工具查看电路图结构,是否和预期设计一致。

6.管脚绑定,使用Assignment->pinplanner将设计的全部输入/输出接口与开发板的对应管脚进行一一对应。

PIN_Y2-toclk

PIN_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-torst

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(!

rst)

begin

count<=16'b0;

end

else

begin

count<=count+1;

end

always@(posedgeclkornegedgerst)

if(!

rst)

begin

out<=8'hff;

end

else

begin

case(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;

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;

endcase

end

endmodule

②测试模块

`timescale1ns/1ps

moduletb_run;

regclk_test;

regrst_test;

wire[7:

0]out_test;

initial

clk_test=0;

always#1clk_test=~clk_test;

initial

begin

rst_test=1;

#1

rst_test=0;

#1

rst_test=1;

#180

rst_test=0;

#1

rst_test=1;

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:

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;

endcase

always@(negedgeResetn,posedgeClock)

if(Resetn==0)

y<=A;

else

y<=Y;

assignz=(y==C)|(y==E);

endmodule

②测试模块

`timescale1ns/1ps

moduletb_sequence;

regClock_test,Resetn_test,w_test;

wirez_test;

initial

begin

Clock_test=0;

Resetn_test=0;

w_test=1;

end

always#10Clock_test=~Clock_test;

initial

begin

#10

Resetn_test=1;

w_test=1;

#10

w_test=0;

#20

w_test=0;

#20

w_test=0;

#20

w_test=1;

#20

w_test=1;

#20

w_test=0;

#20

w_test=0;

#20

w_test=1;

#20

w_test=0;

#20

w_test=0;

#20

w_test=0;

#20

w_test=1;

#20

w_test=1;

#20

w_test=0;

#20

w_test=0;

end

sequenceUUT_sequence(.Clock(Clock_test),.Resetn(Resetn_test),.w(w_test),.z(z_test));

endmodule

③仿真后的波形截图

④综合后的RTL图形

三、本次实验收获和心得

通过本次试验真正接触了FPGA开发板并向板子上烤了文件,虽然题目较为简单,但是在完成的过程中遇到了不少问题,比如软件内部没有需要的开发板型号,自己通过搜索和下载,找到了相应的扩展包并成功添加进入高版本的quartusII软件当中,我的体会是,数字电路归根到底还是依靠硬件实现的,所以将代码的执行效果反映到硬件上是一个重要环节,应该不断练习,提高自己解决问题的能力;另外通过本次实验,我对有限状态机有了更加深入的了解。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2