當前位置:編程學習大全網 - 編程語言 - 設計和驗證部分VerilogHDL模型的不同抽象級別

設計和驗證部分VerilogHDL模型的不同抽象級別

所謂不同的抽象類別,實際上是指同壹個物理電路,可以在不同層次上用Verilog語言來描述。如果只從行為功能的角度來描述某壹電路模塊,就稱作行為模塊。如果從電路結構的角度來描述該電路模塊,就稱作結構模塊。根據抽象的級別將Verilog的模塊分為5種不同的等級:

1)系統級 2)算法級 3)RTL級(register-transfer-level)4)門級 5)開關級。

對於數字系統的邏輯設計工程師而言:熟練地掌握門級、RTL級、算法級、系統級的描述是非常重要的。

對於電路基本元部件的設計者而言,則需要掌握用戶自定義原語(UDP)和開關級的描述。

Verilog中有關門類型的關鍵字有26個,這裏簡單介紹其中8種:

and-與門;nand-與非門;or-或門;nor-或非門;xor-異或門;xnor-異或非門;buf-緩沖器;not-非門。

用戶定義原語:

用戶定義原語是從英語User Defined Primitive直接翻譯過來的,簡稱UDP。利用用戶定義原語可以自己定義自己設計的基本邏輯器件的功能,由於UDP是用查表的方法來確定輸出的,在用仿真器進行仿真時,對他的處理較對壹般用戶編寫的模塊和組合邏輯快得多。UDP的定義和壹般模塊類似,只是不用module而是改用primitive作為關鍵詞,不用endmodule而是endprimitive關鍵詞結束。

語法:primitive 元件名(輸出端口,輸入端口1,輸入端口2,....); //書上沒有分號?

output 輸出端口名;

input 輸入端口1,輸入端口2....;

reg 輸出端口;

initial

begin 輸出端口寄存器或者時序邏輯內部寄存器初始化0; end

table

//輸入1 輸入2 輸入3 ... :輸出

邏輯1 邏輯2 邏輯3 ... :邏輯值;

邏輯1 邏輯2 邏輯3 ... :邏輯值;

邏輯1 邏輯2 邏輯3 ... :邏輯值;

... .... ... ... ..... ...........;

endtable

endprimitive

註意:

1)UDP只能有壹個輸出量,而且必須是端口說明的第壹項;

2)UDP可以有多個輸入端,最多允許有10個輸入端;

3)UDP所有端口變量必須是標量,即必須是1位的;

4)在UDP的邏輯表中只允許出現0,1,x三種邏輯值,高阻狀態z不允許出現。

5)只有輸出端可以定義為reg寄存器類型變量;

6)initial語句用於為時序電路內部寄存器賦初值,只允許賦0,1,x的三種邏輯值,默認值為X。

  • 上一篇:如何用spring boot寫jsp
  • 下一篇:事業單位調動程序和手續
  • copyright 2024編程學習大全網