从大四初步接触FPGA,调试简单的程序,后来由于毕业设计停止了将近1年。这期间学了中电网的FPGA网络培训,获得了证书,但水平没有本质的飞跃!
进入研一,开始逐步由毕业设计的项目转向FPGA,期间由于需要复习考试,不能全身心的投入其中,断断续续,把全景系统整体框架了解了一下,Avlon总线从头到尾看了一遍,ATA-6的协议研究了一遍。起初想直接就编写FPGA硬盘读写程序,发现有些难度,Verilog没有熟练运用,硬件思想没有建立的前提下,驱动IDE硬盘的确不容易。
一切从头开始,先复习一遍Verilog的基本语法规则,从最简单的模块开始进行调试,调试中遇到的问题及问题的解决都是经验的积累。以后每天都会在这里写下工作日志,内容包括一天的工作进展,遇到的难题,好的想法等等吧。
在写本日志之前,已经调试的内容有VGA显示(1024*768)、十进制加减计数器、数码管译码器、分频器、按键消抖。其中VGA时序的理解算是稍有难度。
编程中遇到的error,可以通过help找到原因。warning也不能忽略,有时候也是没有注意到的疏忽之处。
编程中遇到的注意事项:
1. assign句法中,等号左边变量必须是wire型变量
2、过程赋值语句只能给reg型赋值
3、敏感事件表中,不能同时出现边沿触发(posedge negedge)和电平敏感;
4、不同的always结构中不可以对同一个变量操作,因为怕出现同一时间改变一个变量的情况发生。解决办法减少always结构的个数(编写十进制加减计数器时遇到)
5、非阻塞赋值语句:begin 和end 之间所有语句右边表达式都被计算并存储完后,对左边寄存器变量赋值操作才会进行!
用户1410360 2009-1-7 21:09