verilog語言簡述


verilog語言簡述

​ verilog是硬件描述語言,並不是單純的“敲代碼”。

C語言與Verilog的最大區別

  1. 互連:在硬件系統中,互連可以將實現模塊間的連接,而C語言中並沒有這樣的變量。Verilog的wire型變量配合一些驅動結構能有效地描述出網線地互連
  2. 並發:C語言天生是串行的,不能描述硬件之間的並發特性,C語言編譯后,其機器指令在CPU的高速緩沖隊列中基本是順序執行的;而Verilog可以有效地描述並行地硬件系統。
  3. 時間:運行C 程序時,沒有一個嚴格的時間概念,程序運行時間的長短主要取決於處理器本身的性能;而Verilog 語言本身定義了絕對和相對的時間度量,在仿真時可以通過時間度量與周期關系描述信號之間的時間關系。

HDL語言的本質

 Verilog 作為硬件描述語言,它的本質作用在於描述硬件。Verilog 雖然采用了C 語言的形式,但是它的最終描述結果是芯片內部的實際電路。所以評判一段HDL 代碼優劣的最終標准是其描述並實現的硬件電路的性能(包括面積和速度兩個方面 )。

 使用HDL 語言可以從算法、系統級(System Level) 、功能模塊級(Function Model Level) 、行為級(Behavior Level) 、寄存器傳輸級( RTL , Register Transfer Level) 、門級(Gate Level) 和開關級(Switch Level) 等不同層次描述數字電路系統,然后通過EDA 工具綜合、仿真並實現該系統。可以說HDL 語言的出現是數字系統設計方法的一個重大飛躍。

 Verliog語言不能僅僅在行為級上實現,也就是功能實現;寫verilog必須考慮到實際的實現,也就是要在寄存器傳輸級去思考,這一級是是行為級的更低一級,需要考慮時延,芯片面積,功耗等方面問題,也就是腦子里要先有電路,再有verilog。也就是不僅僅在應用實現就行,需要更底層的思維。筆者在這方面也放過錯誤。

基於HDL的設計步驟

  1. 系統與功能模塊定義(系統與功能模塊描級)
  2. 行為級描述測試激勵
  3. 寄存器傳輸級
  4. 對RTL級描述進行功能仿真
  5. 邏輯綜合(使用RTL級EDA工具)
  6. 門級
  7. 綜合后門級仿真
  8. 布局規划與布局布線
  9. 布局布線后的時序仿真與驗證


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM