Verilog使用小结
田耘
虽然自己使用Verilog的时间已经不短了,但还不是传说中的高手,因此只能粗略谈一下。有下面几个方面。
1. 学习Verilog首先要有一个思维的转变,理解程序是并行和串行融合的结构。在语法上和C一样,使用任何变量都需要事先声明。
2. 尽量使用IP Core来代替自己写的程序。
3. 常常思考各种语法的特点,并用小的程序验证,加深并验证自己的想法和理解。
4. 多上一些EDA设计的论坛,看看别人的设计经验。
5. 多看看综合后的Warning,这对于提高程序质量是很有帮助的,现在的Warning都是隐患,比如华为公司要求其产品是不能有一个warning的。不过目前我自己的设计存在大量的warning,由于经验不足,我也没有办法解决。
6. 多在google上搜索coding style,建议看看Altera推崇的coding style建议,其是针对FPGA设计思想和通用语言的,并不仅仅针对其自己的芯片。
7. 一些经典电路的设计,不要自己写。
8. 写程序不要被算法本身难住,自己可以选取一些进行实现,以加强自己的编程能力,经常锻炼一下就好。我自己以前写过简单的4路(2,1,3)卷积码Viterbi译码,现在在思考ldpc译码器的实现。对于这些算法的思考,对自己有很大的提高,不过需要花费一定额外的时间。
9. 在高速逻辑的设计中,一般不要尝试组合逻辑电路,尽量使用时序逻辑,否则肯定过不了时钟约束。
10. 不要老使用高速设计,有时候使用的寄存器的资源会比需要复用的逻辑的资源还多。因为FPGA资源是由寄存器和LUT共同组成的,不要单纯的使用某一种资源。