流水灯VHDL文档格式.docx
《流水灯VHDL文档格式.docx》由会员分享,可在线阅读,更多相关《流水灯VHDL文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
运用自顶而下的设计思想,按功能逐层分割实现层次化设计。
根据多路彩灯控制器的设计原理,分别对应彩灯的四种变化模式、利用VHDL语言实现该功能.
三、系统框图
四、流水灯设计程序
libraryIEEE;
useIEEE.STD_LOGIC_1164.all;
useIEEE.STD_LOGIC_unsigned.all;
entityled1is
port(
sysclk:
instd_logic;
dout:
outstd_logic_vector(11downto0)
);
endled1;
architecturejgtofled1is
signalcnt:
std_logic_vector(7downto0);
--variablecount:
integerRANGE0TO7;
signalcount:
std_logic_vector(5DOWNTO0);
begin
process(sysclk)
if(sysclk'
eventandsysclk='
1'
)then
cnt<
=cnt+1;
if(cnt="
11110111"
cnt<
="
00000000"
;
count<
=count+1;
endif;
endif;
endprocess;
process(count)
casecountis
when"
000000"
=>
dout<
111111111110"
;
000001"
111111111101"
000010"
111111111011"
000011"
111111110111"
000100"
111111101111"
000101"
111111011111"
000110"
111110111111"
000111"
111101111111"
001000"
111011111111"
001001"
110111111111"
001010"
101111111111"
001011"
011111111111"
001100"
001101"
001110"
001111"
010000"
010001"
010010"
010011"
010100"
010101"
010110"
010111"
111111111111"
011000"
000000000000"
011001"
011111111110"
011010"
101111111101"
011011"
110111111011"
011100"
111011110111"
011101"
111101101111"
011110"
111110011111"
011111"
100000"
100001"
100010"
100011"
100100"
001111111100"
100101"
110011110011"
100110"
111100001111"
100111"
101000"
101001"
000111111000"
101010"
111000000111"
101011"
101100"
000011110000"
101101"
101110"
000001100000"
101111"
000000111111"
110000"
010101010101"
110001"
101010101010"
110010"
110011"
110100"
110101"
110110"
110111"
111000"
111001"
111010"
111011"
111100"
111101"
111110"
111111"
whenothers=>
null;
endcase;
endjgt;
五、系统仿真与调试
1.仿真波形图
通过QuartusII软件,我们进行了仿真,其仿真波形如下图:
图一:
仿真波形图
由设计要求可知,本设计要求采用可编程逻辑器件实现一个流水灯控制电路,12个LED灯能连续发出4种不同的流水显示形式。
从仿真的波形可以看出,实现了相应的功能。
2.电路原理图
在QuartusII软件中利用硬件描述语言描述电路后,用RTLViewers生成的对应的电路图如下所示:
图二:
用RTLViewers生成的电路图
六、设计总结
通过本次设计明白了VHDL语言的实用性,同时对QuartusII有了进一步的了解。
虽然在设计过程种遇到了许多麻烦,比如语言编写的错误,思路想法的偏离...但通过问同学,老师,以及上网了解后最终还是纠正了这些错误。
不过通过不断的检查和咨询,最终还是编写成功了。
也通过本次彩灯设计让我知道了日常生活种各种花样灯的工作模式,希望能够通过接下来的学习,自己能够设计出生活中实用的样式灯。
通过这次课程设计,可以很好的把各个章节的模块融合到一起,对以后的学习,设计很有帮助,感觉自己在动手操作方面有质上的飞跃。
不仅掌握QuartusII软件的使用,与此同时,还对电子设计的思路有了更多的认识。
通过对EDA设计中的TOP-DOWN设计方式的运用,体会到了对于一个大型系统的设计方案选取应从顶向下的设计思路,这与传统的至底向上的设计方式有很大改进,且设计效率得到大大提高。
通过这次的实验,理解了电子技术设计的设计多种方法和流程,夯实了QuartusII的操作流程。
很显然,任何的实践活动,都不可能闭门造车,是必须去吸取前人的实践经验,这就要求在课程设计的过程中,从网络上,从图书馆,借寻相关资料书籍等,有力地指导课程设计。
这就要求在最后的大学时间里,要继续夯实相关的理论知识,继续多动手操作,提高具体的实践操作能力,为即将毕业的工作出路,做好充分的准备。
七、参考文献
[1]许飞.EDA技术与实践[M],北京:
清华大学出版社,2011
[2]黄智伟.全国大学生电子设计竞赛制作实训[M],北京:
北京航空航天大学出版社,2011
[3]王金明编著.数字系统与VerilogHDL[M].电子工业出版社.2011.1
[4]卢毅编著.VHDL与数字电路设计[M].科技大学出版.2001
[5]陈琼、潘礼.FPGA系统设计与实践[M].电子工业出版社.2005
[6]侯佰亨,顾新编著.VHDL硬件描述语言与实际应用[M].西安电子科社.2000