1. 程式人生 > >verilog HDL-參數型數據對像 與‘define

verilog HDL-參數型數據對像 與‘define

local spa 關鍵字 lpar efi 宏定義 相同 oca 遇到

參數新數據對象是用來定義常量的,它可以提升verilog hdl代碼的可讀性和維護性。

verilog hdl支持參數有兩種,普通參數和局部參數。普通參數在模塊例化時可以從新賦值,局部參數在模塊例化時不能從新賦值。參數值更改可以通過defparam語句實現。

Verilog中可以用關鍵字parameter定義常數,其作用範圍是一個module的內部。參數代表的是常數,不可以被賦值,即不能成為左值,但是每個參數值可以在module實例化的編譯階段被重新賦值或保持原始的賦值。通過模塊實例化調用參數賦值或使用defparam語句可以改變參數值,這個過程叫做改寫(覆蓋)參數。


Verilog中也允許使用關鍵字localparam定義常數,其作用範圍同parameter相同,都是module的內部,但是與parameter不同之處在於它定義的常量不能被修改。最常用的地方就是用於定義狀態機的狀態編碼。


`define屬於Verilog提供的編譯指令,用於文本宏定義,其使用的一般形式是[`define 標識符(宏名) 字符串(宏內容)],其作用範圍可以跨模塊。在編譯階段,當編譯器遇到`<宏名>時,使用預定義的宏文本進行替換。在使用預定義的常數或文本宏時,要註意在宏名前加上“`”,這個符號是鍵盤左上角Esc鍵正下方的那個鍵。註意:宏定義不是Verilog語句,其後不需要分號“;”結尾;宏定義要在一行內進行。

verilog HDL-參數型數據對像 與‘define