第4節 信號類型
Verilog HDL 的信號類型有很多種,主要包括兩種數據類型:線網類型(net type) 和寄存器類型( reg type)。在進行工程設計的過程中也只會使用到這兩個類型的信號。
4.1 信號位寬
定義信號類型的同時,必須定義好信號的位寬。默認信號的位寬是 1 位,當信號的位寬為 1 時可不表述,如定義位寬為 1 的 wire 型信號 a 可直接用“ wire a;”來表示。 但信號的位寬大于 1 位時就一定要表示出來,如用“ wire [7:0]”來表示該 wire 型信號的位寬為 8 位(位寬數從0開始計)。
信號的位寬取決于要該信號要表示的最大值。該信號能表示的無符號數最大值是: 2n-1,其中n表示該信號的位寬。例如,信號 a 的最大值為 1000,那么信號 a 的位寬必須大于或等于 10 位。
下面分享一個位寬計算技巧:打開電腦的“計算器” 后選用程序員模式,在在 10 進制下輸入信號值,如 1000,隨后可以查看信號位寬。
4.2 線網類型 wire
線網類型用于對結構化器件之間的物理連線的建模, 如器件的管腳,芯片內部器件如與門的輸出等。由于線網類型代表的是物理連接線,因此其不存儲邏輯值,必須由器件驅動。通常用 assign 進行賦值, 如 assign A = B ^ C。
wire 類型定義語法如下:
wire [msb: lsb] wire1, wire2, . . .,wireN;
msb 和 lsb 定義了范圍,表示了位寬。例如[7:0]是 8 位位寬,也就是可以表示成 8’b0 至 8’b1111_1111;
msb 和 lsb 必須為常數值;
如果沒有定義范圍,缺省值為 1 位;
沒有定義信號數據類型時,缺省為 wire 類型。
注意數組類型按照降序方式,如[7: 0] , 不要寫成[0:7]。
下面對上述情況進行舉例說明:
wire [3:0] Sat; // Sat 為 4 位線型信號
wire Cnt; //1 位線型信號
wire [31:0] Kisp, Pisp, Lisp ;// Kisp, Pisp, Lisp 都是 32 位的線型信號。
4.3 寄存器類型 reg
reg 是最常用的寄存器類型,寄存器類型通常用于對存儲單元的描述,如 D 型觸發器、 ROM等。寄存器類型信號的特點是在某種觸發機制下分配了一個值,在下一觸發機制到來之前保留原值。但必須注意的是: reg 類型的變量不一定是存儲單元,如在 always 語句中進行描述的必須是用 reg類型的變量。
reg 類型定義語法如下:
reg [msb: lsb] reg1, reg2, . . . reg N;
msb 和 lsb 定義了范圍,表示了位寬。例如[7:0]是 8 位位寬,也就是可以表示成 8’b0 至 8’b1111_1111;
msb 和 lsb 必須為常數值;
如果沒有定義范圍,缺省值為 1 位;
沒有定義信號數據類型時,缺省為 wire 類型,不是 reg 型。
對數組類型按照降序方式,如[7: 0] ;不要寫成[0:7]。
例如:
reg [3:0] Sat; // Sat 為 4 位寄存器型信號。
reg Cnt; //1 位寄存器。
reg [31:0] Kisp, Pisp, Lisp ; // Kisp, Pisp, Lisp 都是 32 位的寄存器型信號。
4.4 wire 和 reg 的區別
reg 型信號并不一定生成寄存器。 針對什么時候使用 wire 類型,什么時候用 reg 類型這一問題,本書總結出一套解決方法:在 本模塊中使用 always 設計的信號都定義為 reg 型, 其他信號都定義為 wire 型 。
上述代碼中, cnt1 是用 always 設計的,所以定義為 reg 型。 add_cnt1 和 end_cnt 不是由 always 產生的,所以定義為 wire 型。
上述代碼中,信號 x 是用 always 設計的,所以要定義為 reg 型。注意: 實際的電路中信號 x 不是寄存器類型,但仍然定義為 reg 型。
以上是例化的代碼,其中 df 是例化模塊的輸出。由于 df 不是由 always 產生的,而是例化產生的, 因此要定義成 wire 型。
————————————————
版權聲明:本文為CSDN博主「原來如此呀」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Royalic/article/details/121151985
-
寄存器
+關注
關注
31文章
5359瀏覽量
120795 -
數據
+關注
關注
8文章
7102瀏覽量
89283 -
Verilog
+關注
關注
28文章
1351瀏覽量
110190
發布評論請先 登錄
相關推薦
評論