門(mén)級(jí)建模中介紹的內(nèi)置門(mén)單元,例如 and,or , nor 等,均屬于 Verilog 自帶的一整套標(biāo)準(zhǔn)原語(yǔ),即通常所說(shuō)的內(nèi)置原語(yǔ)。
此外,Verilog 還為用戶提供了自己編寫(xiě)原語(yǔ)的能力,這種原語(yǔ)就是用戶自定義原語(yǔ)(User Defined Primitive,簡(jiǎn)稱 UDP)。
在 UDP 中,不能調(diào)用其他 module 或 primitive,調(diào)用方式和門(mén)級(jí)原語(yǔ)完全相同。
UDP 類型主要有以下 2 種,后面將逐一介紹。
UDP 的定義不依賴于模塊定義,因此可以出現(xiàn)在模塊定義外,也可以單獨(dú)在文件里定義。
UDP 格式定義如下:
primitive UDP_name (
output_name,
list_of_input) ;
output_declaration ;
list_of_input_declaration ;
[reg_declaration] ;
[initial_statement] ;
table
list_of_table_entries ;
endtable
endprimitive
可以用 initial 語(yǔ)句對(duì)時(shí)序邏輯 UDP 的輸出端口(reg 類型)進(jìn)行初始化,該語(yǔ)句是可選的。
更多建議: