原创 解读verilog代码的一点经验

2008-8-21 20:53 8848 14 19 分类: FPGA/CPLD

解读verilog代码的一点经验<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


    学习FPGA其实也不算久,开始的时候参考别人的代码并不多,大多是自己写的,那时候做时序逻辑多一些。参加了中嵌的培训班,一个多月的时间在熟悉ISE软件的使用以及verilog语法方面下了苦功,也参考了不少书,算是为自己打下了比较好的基础。因为那时候培训的方向是软件无线电方面的,所以做了很多有关的模块程序,之前的日志里也发表了很多,关键是一个兴趣,感觉仿真后看到自己的一个个算法思想得到实现真有成就感。后来停了一段时间,因为实在没有比较有意思的活干了。


    直到前段时间开始使用SP306的开发板,然后会参考它们的代码,受益匪浅吧。现在组长已经给正活干了,跟的大项目我是基本都有所熟悉了,然后那个里面做总控的FPGA的代码开始进行总攻了,要把前辈们的代码都消化了,然后更好的为下一代升级版的产品服务。这个看verilog程序估计是大家都比较头疼的事,小的模块都没问题,大模块大项目,有时候就比较难以入手了,因为HDL的设计是不同于软件编程的,软件其实无非一个大while或者再有一些中断,大多是顺序执行的,慢慢一步一步往下走总会弄明白。HDL的并行性很强,要是你按照软件的思路来那肯定行不通,那么该怎么办呢?我就班门弄斧说点自己的一点快速进阶的小窍门吧。


    既然HDL设计是并行的,那么就只能各个击破了。我的习惯是先抓几个重要端口,比如时钟(CLK)、复位(RESET)等出现频率比较高的端口,把它先弄清楚,比如时钟是什么频率的?复位是高有效还是低有效?


    然后呢,最好是对照原理图来理解程序。这就需要你有一定功底的硬件常识了,一些常用器件的操作时序什么的一定要做到心中有数,至少要知其一二吧,这样在读程序时才会达到事半功倍的效果。比例说你要先读懂FPGAAD芯片的程序,那么你先把AD的各个端口(如片选,读写,转换,转换完成中断等端口)在verilog程序中出现的地方多做一下分析,比如我找CS信号,看看什么时候它拉低有效,那么你可以在Find in file窗口中输入CS,然后ENTER,这样ISE就会在底层的信息窗口中罗列出所有使用了CS信号的语句方便你的查找分析,你把每个出现CS的地方分析到了,那么你就明白verilog在硬件上是如何操作CS信号的。所有信号多分析完以后,我想你就明白了这个ADFPGA的接口了。


    读懂verilog有时比较累,因为程序是别人写的,你要让别人牵着鼻子走也是难免的。关键是要有耐心,多分析,有条件可以问问高手(最好是代码的作者)。


 


 

PARTNER CONTENT

文章评论5条评论)

登录后参与讨论

用户1638247 2011-3-18 15:44

推导那里超前和滞后的概念和SDRAM相移估计那篇笔记反了!

用户589026 2010-11-29 10:20

你好我的在编译完之后 只能出现sof文件,pof不能出现,而且还给我出现提示

用户315007 2010-11-27 01:14

最近看了一段别人的程序,被搞死了,本来写的就不规范,时钟满天飞,异步逻辑一大推,最后不得已,只得自己重新一遍

ilove314_323192455 2010-10-29 23:14

很明显啊,你用的软件要么不是正版的,要么是不完全破解的

用户299427 2010-10-29 19:45

我按照特权同学的手把手第一个nios2工程在把硬件配置完成后编译时为什么会出现 Error: Can't generate netlist output files because the file "D:/altera/nios2_exp/nios2_ex1/cpu2.v" is an OpenCore Plus time-limited file Error: Can't generate netlist output files because the license for encrypted file "D:/altera/nios2_exp/nios2_ex1/cpu2.v" is not available Error: Can't generate netlist output files because the file "D:/altera/nios2_exp/nios2_ex1/cpu2.v" is an OpenCore Plus time-limited file Error: Can't generate netlist output files because the license for encrypted file "D:/altera/nios2_exp/nios2_ex1/cpu2.v" is not available Error: Can't generate netlist output files because the file "D:/altera/nios2_exp/nios2_ex1/cpu2.v" is an OpenCore Plus time-limited file Error: Can't generate netlist output files because the license for encrypted file "D:/altera/nios2_exp/nios2_ex1/cpu2.v" is not available Error: Can't generate netlist output files because the file "D:/altera/nios2_exp/nios2_ex1/cpu2.v" is an OpenCore Plus time-limited file Error: Can't generate netlist output files because the license for encrypted file "D:/altera/nios2_exp/nios2_ex1/cpu2.v" is not available Error: Quartus II EDA Netlist Writer was unsuccessful. 8 errors, 0 warnings Error: Peak virtual memory: 198 megabytes Error: Processing ended: Fri Oct 29 19:39:39 2010 Error: Elapsed time: 00:00:01 Error: Total CPU time (on all processors): 00:00:02 Error: Quartus II Full Compilation was unsuccessful. 10 errors, 64 warnings

用户617679 2010-10-27 22:58

支持特权,特期待NIOS的板子

用户251222 2009-10-9 14:28

有道理!

用户1150231 2009-8-22 09:11

看别人的程序的确费神,因为人与人的风格不同,经常体现在程序上。你觉得应该这么写,他觉得那么写也行,看半天才可能弄懂,靠,原来他是这个意思。

用户1398776 2009-7-18 14:37

谢谢分享经验 解读别人的代码的确很费神,对于我这样的新手来说更是如此

用户164148 2008-8-22 23:29

我是初学者,受教了.
相关推荐阅读
特权ilove314 2016-06-30 21:16
例说FPGA连载6:FPGA开发所需的技能
例说FPGA连载6:FPGA开发所需的技能 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   前面的文字已经做了很多铺垫,相信读...
特权ilove314 2016-06-28 21:09
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-28 21:05
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-26 22:11
例说FPGA连载4:FPGA语言与厂商介绍
例说FPGA连载4:FPGA语言与厂商介绍 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   Verilog与VHDL 说到FP...
特权ilove314 2016-06-23 21:26
例说FPGA连载3:FPGA与其它主流芯片的比较
例说FPGA连载3:FPGA与其它主流芯片的比较 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   FPGA、ASIC和ASSP...
特权ilove314 2016-06-21 20:32
例说FPGA连载2:FPGA是什么
例说FPGA连载2:FPGA是什么 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   2015年伊始,Intel欲出资百亿美金收...
我要评论
5
14
关闭 站长推荐上一条 /3 下一条