在verilog中最常用的兩種資料型別是wire和reg,一般來說,wire型指定的資料和網線通過組合邏輯實現,而reg型指定的資料不一定用暫存器實現。也就是說reg型資料不一定綜合成暫存器。下面的例子中將輸出訊號dout定義為reg型,但是綜合與實現結果卻沒有使用ff,該電路是乙個純組合邏輯設計。
module reg_cmd(
input reset,
input cs,
input [7:0] din,
input [1:0] addr,
output reg[1:0] dout
);always@(reset or cs or addr or din)
if(reset)
dout=0;
else if(!cs)
begin
case(addr)
2'b00:dout=din[1:0];
2'b01:dout=din[3:2];
2'b10:dout=din[5:4];
default:dout=din[7:6];
endcase
endelse
dout=2'bzz;
endmodule
如圖所示綜合結果為純組合邏輯,沒有用到ff。
verilog語言中,reg型與wire型的區別
對於初學者來說,首先乙個大問題就是在讀程式時候,變數型別reg型與wire型的區分。最近做了點 工作,對兩種型別的變數有一些自己的見解,寫一寫,交流學習。自己的理解 wire型相當於是一根連線。reg型相當於是儲存器。在wire型相當於連線的基礎上我們很容易就可以理解,當連線的 端發生改變時,wir...
verilog中的integer和reg的差別
integer型別也是一種暫存器資料型別,integer型別的變數為有符號數,而reg型別的變數則為無符號數,除非特別宣告為有符號數,還有就是integer的位寬為宿主機的字的位數,但最小為32位,用integer的變數都可以用reg定義,只是對於用於計數更方便而已。reg,integer,real...
verilog中的integer和reg的差別
今天看 時遇到了integer,只知道這是個整數型別,可詳細的內容卻一竅不通,檢視了資料 verilog數字vlsi設計教程 其中是這麼寫到的 大多數的向量型別 reg或者net 都被預設當做無符號數。integer和real是個例外,它們被預設為當做有符號數。通常,real型別是不可綜合的。假設在...