新聞中心

        EEPW首頁 > 嵌入式系統 > 牛人業話 > 解讀verilog代碼的一點經驗

        解讀verilog代碼的一點經驗

        作者: 時間:2015-01-21 來源:網絡 收藏

          學習其實也不算久,開始的時候參考別人的代碼并不多,大多是自己寫的,那時候做時序邏輯多一些。參加了中嵌的培訓班,一個多月的時間在熟悉ISE軟件的使用以及語法方面下了苦功,也參考了不少書,算是為自己打下了比較好的基礎。因為那時候培訓的方向是軟件無線電方面的,所以做了很多有關的模塊程序,之前的日志里也發表了很多,關鍵是一個興趣,感覺仿真后看到自己的一個個算法思想得到實現真有成就感。后來停了一段時間,因為實在沒有比較有意思的活干了。

        本文引用地址:http://www.104case.com/article/268449.htm

          直到前段時間開始使用SP306的開發板,然后會參考它們的代碼,受益匪淺吧。現在組長已經給正活干了,跟的大項目我是基本都有所熟悉了,然后那個里面做總控的的代碼開始進行總攻了,要把前輩們的代碼都消化了,然后更好的為下一代升級版的產品服務。這個看程序估計是大家都比較頭疼的事,小的模塊都沒問題,大模塊大項目,有時候就比較難以入手了,因為HDL的設計是不同于軟件編程的,軟件其實無非一個大while或者再有一些中斷,大多是順序執行的,慢慢一步一步往下走總會弄明白。HDL的并行性很強,要是你按照軟件的思路來那肯定行不通,那么該怎么辦呢?我就班門弄斧說點自己的一點快速進階的小竅門吧。

          既然HDL設計是并行的,那么就只能各個擊破了。我的習慣是先抓幾個重要端口,比如時鐘(CLK)、復位(RESET)等出現頻率比較高的端口,把它先弄清楚,比如時鐘是什么頻率的?復位是高有效還是低有效?

          然后呢,最好是對照原理圖來理解程序。這就需要你有一定功底的硬件常識了,一些常用器件的操作時序什么的一定要做到心中有數,至少要知其一二吧,這樣在讀程序時才會達到事半功倍的效果。比例說你要先讀懂與AD芯片的程序,那么你先把AD的各個端口(如片選,讀寫,轉換,轉換完成中斷等端口)在程序中出現的地方多做一下分析,比如我找CS信號,看看什么時候它拉低有效,那么你可以在Find in file窗口中輸入CS,然后ENTER,這樣ISE就會在底層的信息窗口中羅列出所有使用了CS信號的語句方便你的查找分析,你把每個出現CS的地方分析到了,那么你就明白verilog在硬件上是如何操作CS信號的。所有信號多分析完以后,我想你就明白了這個AD與FPGA的接口了。

          讀懂verilog有時比較累,因為程序是別人寫的,你要讓別人牽著鼻子走也是難免的。關鍵是要有耐心,多分析,有條件可以問問高手(最好是代碼的作者)。



        關鍵詞: FPGA verilog

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 茂名市| 永福县| 灵武市| 武平县| 梁平县| 苍梧县| 阿巴嘎旗| 昆明市| 上栗县| 肃北| 葫芦岛市| 山阳县| 合水县| 池州市| 仪陇县| 梅河口市| 独山县| 古浪县| 方正县| 浑源县| 邳州市| 邢台县| 阿尔山市| 体育| 商洛市| 湖南省| 美姑县| 通海县| 苍南县| 西盟| 洛宁县| 外汇| 荣成市| 阿拉善盟| 日喀则市| 龙岩市| 遂宁市| 姜堰市| 南乐县| 新津县| 邢台县|