交通灯实验报告详解 - 图文 下载本文

3)在Add Hardware对话框中,从Hardware type列表中选择所需要硬件类型,如果是USB接口的请参照用户使用手册中的USB电缆的安装与使用,如果使用的是并口下载线则选取如图1-35所示的硬件类型,点击OK按钮,完成对硬件类型的设置。回到编程器硬件设置窗口, 点击Close按钮退出设置。则在编程器对话框中的编程硬件类型会出现刚才选取的编程器硬件。

4)如果软件已运行一个工程,则在打开编程器的时候,编程器窗口会自动出现这个工程文件要加载到目标器件的文件,如果要加载其它文件可以从其它地方进行添加更改。选好加载文件后,再点选Progam/Configure,编程模式选取JTAG模式,点击STRAT进行文件加载,直到加载进度变为100%,文件成功加载完成。

5)烧录程序到开发箱

点击Quartus II 8.1 中的Tool选择programmer,点击Hardware setup 选择USB-Blaster传输方式,点击start将程序烧入LTE-SOPC-02FB EDA开发箱中。查看开发箱的工作状态。

四、实训数据及结果分析

通过以上实验得出以下数据: 1.波形仿真结果:

2.开发箱运行结果:

LED高电平点亮,使用引脚分别为C22、D22、M21、M24、L23、H23,7段数码的8位管由开发箱中的3-8译码器控制,由000、001、010、011、100、101、110、111分别控制,本次实验使用的是000和001,通过快速扫描,使其看上去同时点亮。

State0为主干道绿灯亮,从35秒开始倒计时,倒计时为0时,进入State1; State1为主干道黄灯亮,支道保持红灯,从5秒开始倒计时,倒计时为0时,进入State2;State2为主干道红灯亮,从25秒开始倒计时,倒计时为0时,进入State3;State3,为主干道黄灯亮,支道保持红灯,从5秒开始倒计时,倒计时为0时,进入State0。State0 、State 1、State2、 State3按顺序循环。

五、思考与总结

在设计中采用V erilog HDL语言设计交通灯控制系统, 借助其功能强大的语言结构, 简明的代码描述复杂控制逻辑设计, 与工艺无关特性, 在提高工作效率的同时达到求解目的, 并可以通过V erilog HDL 语言的综合工具进行相应硬件电路生成, 具有传统逻辑设计方法所无法比拟的优越性。在设计过程中,觉得最难的部分是波形仿真部分,虽然程序编译通过但仿真出不了正确的波形,不是计数器无法正常计数,就是控制输出无法进入到下一个状态,每次出现问题就必须返回重新修改程序。实践证明,在编写一个较复杂的程序时,一开始一定要画流程图,弄清楚各个功能及实现它们的逻辑算法,做到心中有数后在开始下笔写编写程序。在编写的时候要尤其要注意语言的规范,如本次设计中编写的Verilog在Quartus8.0中可以正常生成时序图,而在低版本的软件中却无法生成,原因就是语言使用不规范,在解决这个问题时我总结了一些经验,首先程序要逻辑清晰,简洁明了,避免不必要的嵌套与条用,其次要适当地给程序加上注解文字,提高可读性,以方便之后的程序出错时进行查找,最后充分利用仿真软件提供的各项编译工具与报错消息,按图索骥,有方向的完成程序调试。

完成仿真后进行,进行试验箱上的硬件调试,该步骤主要是要求细心,按照引脚清单,逐一完成连线,本次设计用到两个时钟输入,注意一定要选择合适频率的时钟,以便达到期望的效果。注意观察实物的现象,看是否满足设计要求,不满足时检查是硬件问题还是程序问题,如果是程序问题,在修改完之后必须要重新编译,重新烧入。不断排查错误,直至达到满意的效果。 通过这次课程设计,熟悉了简单EDA设计的整个流程,加深了对Verilog HDL硬件描述语言的理解,提高了动手能力,并且锻炼了自己的耐心,收获颇丰,我会把在本次课程设计中学到的东西应用到今后的工作学习中。最后感谢同学及老师提供的帮助与指导。

六、心得体会

通过老师的细心指导,两周周的 EDA实训使我们对Quartus软件能更加熟悉。经过工程文件的建立,程序编写,文件的编译,管脚的分配,波形的仿真,最后再下载到开发箱中,在这一系列的操作中,我们更加了解到了细心的含义,一时的大意都可能导致很大的错误。例如程序的编写不认真,一个小错误,编译时候就会出现一系列的错误警告,更改时就要大费周章。管脚分配时,会因为一

个管脚分配的错误,最后下载到实验箱,数码管不会显示等等。

两周的实训结束了,但是我相信这不是终点,而是另一个新的起点。虽然过程很辛苦,有时为了编写正确的程序,不断的编译改正,不断的重复那枯燥的过程,但当最后看见自己的成果,真的很开心,特别是数码管成功显示那一刻,真正体会到了什么叫欣喜若狂。

这次实训提高了自己动手的能力,加强我们专业素养和专业技能,我今后要学好理论知识,勤动手实践,为我们以后能更好的就业打下很好的基础。在实训中获得的经历和体会,对于我们今后走上工作岗位,都有很大的帮助。经过这次实训在以后的学习工作中我会有争取更大的进步。相信今后无论什么时候回想起这段经历,都会觉得是快乐的,而且永远铭记于心。

附录:

Verilog HDL设计程序

module shebi(clk,r1,g1,y1,r2,g2,y2,del,z); input clk;

output reg g1,y1,r1,r2,g2,y2; reg[3:0] ql,qh,s;

output reg[1:0] del; output reg[7:0] z; reg[8:0] q;

reg[1:0] state,next_state; reg a,clk1;

parameter state0='b00,state1='b01,state2='b10,state3='b11; always@(posedge clk) begin

if (q==500) begin

clk1=~clk1; q=0; end

else q=q+1; end

always@(posedge clk1) begin

state=next_state; case(state) state0: begin if (~a) begin

ql=4'b0101;qh='b0011;

a=1;g1=1;r1=0;y1=0;r2=1;g2=0;y2=0; end else