再将该Verilog HDL文件设置为顶层实体,进行全编译,有错误则改正。
3. 选择目标器件并对相应的引脚进行锁定
引脚分配如图:
4. 进行全编译并找错改错
5. 器件和引脚的其它设置
Device & Options -> Device & Pin Options
在对话框中将其它不相关的引脚设为三态输入以免对芯片造成伤害
6. 再次进行全编译
7. 下载硬件设计到目标FPGA,观察现象并进行相关的调试
五.实验问题及调试:(选取部分进行相关说明)
1. 由于整体实验参照了网络上的资料,在将相关代码拷贝到软件中进行编译工
作时,时位计数模块(Cnt_74161_ss)的代码出现了编译错误。
解决方法:根据编译给出的问题提示定位到错误代码所在地方,在理解了代码的意思后进行修改调试,然后再找错,再进行调试,再编译,不断重复执行这几个过程,直到问题得以解决进行下一步。
2. 在将硬件设计下载到目标FPGA上测试时,由于网络资料上使用的芯片和实
验室使用的芯片有所不同,所以引脚分配上面也完全不同,产生了很多错误,数字钟无法正常工作。
解决方法:在实验过程中不断参照以前在实验室所做的实验的引脚分配进行调试修改,由于以前做按键实验时所使用的按键个数有限,在实际调试过程中为了实现实验的基本要求对该数字钟的多功能模块进行了相应的取舍,仅保留了清零和暂停功能。
(即Load模式相关的引脚没有进行分配)
3. 在解决了引脚不匹配的问题后,又一次将硬件设计下载到目标FPGA上测试
时,整个数字钟的显示次序是完全倒置的。
解决方法:经过调试发现出错地方在显示模块(scan_led)中,其中片选模块出现了错误,片选顺序反了,经过改正后测试无误。
4. 实验过程中还有很多小的错误,就不一一列举了。
六.实验心得:(总结)
通过在之前的基础实验中进行相关的训练练习,我从一开始对Quartus II 软件的不太熟练到现在能够熟练的独立的完成相关的实验,知识也从理论上升到了实际应用层面,刚开始是照搬老师的代码实现功能,现在自己能够修改代码实现不同功能,在实验过程中遇到了很多问题,在请教了老师和同学后现在也能独立的解决相关的基础问题,在调试过程中让人很心烦、思维混乱,但是在耐心的解决问题之后的幸福感和喜悦感是难以言表的,在此过程中提高了自己的兴趣也锻炼了自己的动手能力。
虽然本次的数字钟综合实验不完完全全是自己在理解之后自己独立完成的,但是也积累了很多经验学到了很多知识,希望自己能在以后的学习过程中能学到更多的知识积累更多的经验。
在此也感谢老师和同学们的帮助,谢谢!
七.附实验顶层的布局图片:。