成的系统分为几个小的模块进行设计,再将这几个小的模块连接起来生成顶层文件,这样就可以达到实验要求。其基本思想是:一个大系统划分为两个子模块,而这些子模块分别由更小的模块组成,如此往下,直至不可再分。这是自顶向下的设计方法,每个实体都可以看成上一层实体中的一个模块或组件,系统就像搭积木一样一层一层地构建。欲将上述的各个模块作为上一层设计实体中的组件,就必须把他们先生成组件符号。具体做法是:在QuartusII中为Verilog语言程序分别建立项目,再编
f译、仿真通过。证实逻辑功能正确后,在File菜单下选择CreateUpdate项中的CreateSymbolFilesforCurre
tFile即可。QuartusII会自动为此实体生成一个后缀为bsf的组件符号文件,以后就可以在图形编辑器中调用此组件了。
图64、顶层文件的实现
生成模块组件符号示意图
新建一个顶层档的项目,QuartusII的图形编辑器中调用已经生成的模块在组件符号,进行连接并锁定管脚。编译下载到FPGA中,即完成了一个基于FPGA的LED点阵显示系统的全部设计。图7即为生成的最终顶层文件符号图。
f、图7顶层文件
五、分析与讨论
对本程序稍加修改便可实现扩展功能,可分析如下:1、汉字的滚动速度的控制如前所述,若要改变汉字的滚动速度,只需改变相应输入端口的输入频率即可。在给定的信号频率一定的情况下,则所要做的是在输入端口前,加以满足要求的分频器,通过这样就可以实现汉字滚动速度的控制。2、汉字滚动方向的确定在此任务中改变的是数据库的建立和列亮循环方向,因为每次从数据库中调用显示时,其本身就是一个滚动的方向,因此,只要顺着建立数据库,则显示时汉字就是顺着滚动显示,反向时,在改变列循环方向的基础上反着建立数据库即可。3、亮暗字体的改变改变数据库中字模的“0”、“1”表示方式,就可实现滚动字体的亮暗字体的显示。
六、课程设计总结
在本次课程设计中,我选用的是Verilog语言编写程序。在课程设计之前,我首先学习Verilog语言的语法知识和Quartus软件的使用,这对课程设计的顺
f利完成很重要。在选题时,我选择了“中国石油大学”点阵循环显示,感觉此课题具有挑战性。本课题具有两个主要任务,一是建立合适的字模,二是如何实现循环滚动。对于如何实现循环滚动,我查阅了很多资料,并与其他同学讨论,最终编程实现了。在第一次下载实现时,我的设计就成功了。在测试的过程中还得到了老师的指导和帮助,在此我感谢老师对我的耐心指导和帮助。
七、参考文献
r