Verilog 模組和埠

2021-08-20 12:18:26 字數 1391 閱讀 5043

模組定義以關鍵字module開始,模組名、埠列表、埠宣告和可選的引數宣告必須出現在其他部分的前面,endmodule語句必須為模組的最後一條語句。模組內部的5個組成部分是:

變數宣告、資料流語句、低層模組例項、行為語句塊以及任何和函式。在模組的組成部分中,只有module、模組名、endmodule必須出現,其他部分都是可選的,使用者可以根據設計的需要隨意選用。

如果模組和外部環境沒有交換任何訊號,則可以沒有埠列表。

模組top是乙個頂層模組,作為**中的頂層模組,呼叫設計模組,無需和周圍環境交換資訊,因此沒有埠列表。

而被呼叫的fulladd4模組,則由a, b, c_in埠讀入資料,將結果從sum和c_cout埠送出。

在verilog中埠具有以下三種型別:

在verilog中,所有的埠隱含地宣告wire型別;如果輸出型別的埠需要儲存數值,則必須將其顯式地宣告為reg資料型別。

不能將input和inout型別的埠宣告為reg資料型別,因為reg型別的變數是用於儲存數值的,而輸入埠只反映與其相連的外部訊號的變化。

在verilog中,有兩種埠宣告風格:

位寬匹配

在對模組進行呼叫的時候,verilog允許埠的內、外兩個部分具有不同的位寬。在一般的情況下,verilog**器會對此給予警告。

在對模組呼叫的時候,也已使用兩種方法將模組定義的埠與外部環境連線起來。

順序埠連線

按照順序進行埠連線:

命名埠連線

fulladd4 fa_byname(.c_out(c_out), .sum(sum), .b(b), .c_in(c_in), .a(a));

verilog讀書筆記 4 模組和埠

模組定義以關鍵字module開始,模組名 埠列表 埠宣告和可選的引數宣告必須出現在其他部分的前面,endmodule語句必須為模組的最後一條語句。模組內部的5個組成部分是 變數宣告 資料流語句 低層模組例項 行為語句塊以及任何和函式。在模組的組成部分中,只有module 模組名 endmodule必...

Verilog的模組與埠 語法

模組 模組的定義以關鍵字module開始,模組名 埠列表 埠宣告和可選的引數宣告必須出現在其他部分的前面,endmodule語句必須為模組的最後一條語句。埠是模組與外部環境互動的通道,只有在模組有埠的情況下才需要有埠列表和埠宣告。模組內部的5個組成部分是 變數宣告 資料流語句 低層模組例項 行為語句...

verilog基礎 模組埠 使用方法總結

模組的定義以關鍵字module開始,模組名 埠列表 埠宣告和可選的引數宣告必須出現在其他部分的前面,endmodule語句必須為模組的最後一條語句。埠是模組與外部環境互動的通道,只有在模組有埠的情況下才需要有埠列表和埠宣告。模組內部的5個組成部分是 變數宣告 資料流語句 低層模組例項 行為語句塊以及...