《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > PLD/FPGA硬件編程語言Verilog HDL
PLD/FPGA硬件編程語言Verilog HDL
摘要: PLD/FPGA硬件語言設計verilogHDL,HDL概述隨著EDA技術的發展,使用硬件語言設計PLD/FPGA成為一種趨勢。目前最主要的硬件描述語言是VHDL和verilogHDL及SystemVerilog。VHDL發展的較早,語法嚴格;而VerilogHDL是在C語言的基礎上發展起來的一種硬
Abstract:
Key words :

HDL概述

  隨著EDA技術的發展,使用硬件語言設計PLD" title="PLD">PLD/FPGA" title="FPGA">FPGA成為一種趨勢。目前最主要的硬件描述語言是VHDL和verilog HDL" title="verilog HDL">verilog HDL及System Verilog。 VHDL發展的較早,語法嚴格;而Verilog HDL是在C語言的基礎上發展起來的一種硬件描述語言,語法較自由;System Verilog可以看做是Verilog HDL的升級版本,她更接近C語言且支持多維數組。 VHDL和Verilog HDL兩者相比,VHDL的書寫規則和語法要求很嚴格,比如不同的數據類型之間不容許相互賦值而需要轉換,初學者寫的不規范代碼一般編譯會報錯;而 Verilog則比較靈活,而靈活在某些時候綜合的結果可能不是程序員想要的結果。 System Verilog由于資料不是很多,目前懂得人較少。據調查在我國使用Verilog HDL的公司比使用VHDL的公司多。從EDA技術的發展上看,已出現用于CPLD/FPGA設計的硬件C語言編譯軟件,雖然還不成熟,應用極少,但它有可能會成為繼VHDL和Verilog之后,設計大規模CPLD/FPGA的又一種手段。

  選擇VHDL或者verilog HDL還是System Verilog?

  這是一個初學者最常見的問題。其實這三種語言的差別并不大,他們的描述能力也是類似的。掌握其中一種語言以后,可以通過短期的學習,較快的學會另一種語言,掌握了verilog HDL學System Verilog則更是簡單。選擇何種語言主要還是看周圍人群的使用習慣,這樣可以方便日后的學習交流。 當然,如果您是集成電路(ASIC)設計人員,則必須首先掌握verilog,因為在IC設計領域,90%以上的公司都是采用verilog進行IC設計。對于PLD/FPGA設計者而言,三種語言可以自由選擇。如果你熟悉C語言,則建議你學習verilog HDL,你會發現verilog HDL的許多語法和關鍵字和C語言中的相同,使你能夠很快突破語言障礙,快速入門。

  學習HDL的幾點重要提示

  1.了解HDL的可綜合性問題:

  HDL有兩種用途:系統仿真和硬件實現。 如果程序只用于仿真,那么幾乎所有的語法和編程方法都可以使用。 但如果我們的程序是用于硬件實現(例如:用于FPGA設計),那么我們就必須保證程序“可綜合”(程序的功能可以用硬件電路實現)。 不可綜合的HDL語句在軟件綜合時將被忽略或者報錯。 我們應當牢記一點: “所有的HDL描述都可以用于仿真,但不是所有的HDL描述都能用硬件實現。”

  2. 用硬件電路設計思想來編寫HDL:

  學好HDL的關鍵是充分理解HDL語句和硬件電路的關系。 編寫HDL,就是在描述一個電路,我們寫完一段程序以后,應當對生成的電路有一些大體上的了解, 而不能用純軟件的設計思路來編寫硬件描述語言。 要做到這一點,需要我們多實踐,多思考,多總結。

  3.語法掌握貴在精,不在多

  20%的基本HDL語句就可以完成80%以上的電路設計,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廠家提供的開發工具(如QuartusII,ISP,ISE)中完成,但許多集成的PLD開發軟件只支持VHDL /Verilog的子集,可能造成少數語法不能編譯,如果采用專用HDL工具分開執行,效果會更好,否則這么多出售專用HDL開發工具的公司就沒有存在的理由了。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 夜夜爽免费888视频| 欧美三级中文字幕在线观看| 国产成人爱片免费观看视频| xxxxx做受大片视频免费| 日韩精品视频观看| 亚洲色av性色在线观无码| 色播亚洲视频在线观看| 国产精品亚洲а∨天堂2021| www夜夜操com| 日本50岁丰满熟妇xxxx| 亚洲国产日产无码精品| 男女猛烈激情XX00免费视频| 国产三香港三韩国三级不卡 | 国产在线不卡免费播放| 91精品国产91久久久久| 婷婷久久香蕉五月综合加勒比| 久久天堂AV综合色无码专区| 欧美日韩亚洲国产精品一区二区| 免费涩涩在线视频网| 色狠狠一区二区三区香蕉蜜桃| 国产破处在线视频| 97人人添人澡人人爽超碰| 少妇无码太爽了在线播放| 久久久国产99久久国产久| 李小璐三级在线视频| 亚洲欧美日韩精品| 男人边吃奶边爱边做视频刺激 | 一区二区国产在线观看| 日本成人在线免费观看| 亚洲av最新在线网址| 欧美激情xxxx| 免费一级毛片在线播放不收费 | 色婷婷在线视频| 国产成人精品啪免费视频| 2021麻豆剧果冻传媒入口永久| 大香伊蕉在人线国产最新75| 丁香六月婷婷综合| 无码任你躁久久久久久| 久久精品国产亚洲av瑜伽| 樱桃视频高清免费观看在线播放| 亚洲日韩一页精品发布|