學習HDL的幾點重要提示

1.瞭解HDL的可綜合性問題: HDL有兩種用途:系統仿真和硬件實現。 如果程序只用於仿真,那麼幾乎所有的語法和編程方法都可以使用。但如果我們的程序是用於硬件實現(例如:用於FPGA設計),那麼我們就必須保證程序“可綜合”(程序的功能可以用硬件電路實現)。不可綜合的HDL語句在軟件綜合時將被忽略或者報錯。我們應當牢記一點:“所有的HDL描述都可以用於仿真,但不是所有的HDL描述都能用硬件實現。”
2. 用硬件電路設計思想來編寫HDL: 學好HDL的關鍵是充分理解HDL語句和硬件電路的關係。 編寫HDL,就是在描述一個電路,我們寫完一段程序以後,應當對生成的電路有一些大體上的瞭解, 而不能用純軟件的設計思路來編寫硬件描述語言。 要做到這一點,需要我們多實踐,多思考,多總結。
3.語法掌握貴在精,不在多 30%的基本HDL語句就可以完成95%以上的電路設計,很多生僻的語句並不能被所有的綜合軟件所支持,在程序移植或者更換軟件平臺時,容易產生兼容性問題,也不利於其他人閱讀和修改。建議多用心鑽研常用語句,理解這些語句的硬件含義,這比多掌握幾個新語法要有用的多。 HDL與原理圖輸入法的關係 HDL和傳統的原理圖輸入方法的關係就好比是高級語言和彙編語言的關係。HDL的可移植性好,使用方便,但效率不如原理圖;原理圖輸入的可控性好,效率高,比較直觀,但設計大規模CPLD/FPGA時顯得很煩瑣,移植性差。在真正的PLD/FPGA設計中,通常建議採用原理圖和HDL結合的方法來設計,適合用原理圖的地方就用原理圖,適合用HDL的地方就用HDL,並沒有強制的規定。在最短的時間內,用自己最熟悉的工具設計出高效,穩定,符合設計要求的電路纔是我們的最終目的。

HDL開發流程
用VHDL/VerilogHD語言開發PLD/FPGA的完整流程爲:
1.文本編輯:用任何文本編輯器都可以進行,也可以用專用的HDL編輯環境。通常VHDL文件保存爲.vhd文件,Verilog文件保存爲.v文件

2.功能仿真:將文件調入HDL仿真軟件進行功能仿真,檢查邏輯功能是否正確(也叫前仿真,對簡單的設計可以跳過這一步,只在佈線完成以後,進行時序仿真) 3.邏輯綜合:將源文件調入邏輯綜合軟件進行綜合,即把語言綜合成最簡的布爾表達式和信號的連接關係。邏輯綜合軟件會生成.edf(edif)的EDA工業標準文件。

4.佈局佈線:將.edf文件調入PLD廠家提供的軟件中進行佈線,即把設計好的邏輯安放到PLD/FPGA內 5.時序仿真:需要利用在佈局佈線中獲得的精確參數,用仿真軟件驗證電路的時序。(也叫後仿真)

6.編程下載:確認仿真無誤後,將文件下載到芯片中 通常以上過程可以都在PLD/FPGA廠家提供的開發工具(如MAXPLUSII,Foundation,ISE)中完成,但許多集成的PLD開發軟件只支持VHDL/Verilog的子集,可能造成少數語法不能編譯,如果採用專用HDL工具分開執行,效果會更好,否則這麼多出售專用HDL開發工具的公司就沒有存在的理由了 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章