Verilog中wire和reg的區別

2021-10-03 12:47:48 字數 849 閱讀 8927

wire為無邏輯線,本身只做連線,不帶邏輯,輸入什麼就是什麼。用always語句對wire語句賦值,綜合就會報錯。

1、assign 語句

例如:reg a,b;

wire and_result;

…assign and_result =a&&b;

2、原件例化必須用wire

例如:wire dout;

ram u_ram(…

.out(dout)…);

其他

要放在begin…end內,使用reg;

在begin…end之外,使用wire。

另外使用wire時,搭配assign;reg則不必。

input,ouput,inout預設值都是wire。

1、**角度

wire對應於連續賦值,assign;

reg對應於過程賦值,always,initial

2、綜合角度

wire型的變數綜合出來一般是一根導線;

reg變數在always塊中有兩種情況:

(1)、always後的敏感表中是(a or b or c)形式的,也就是不帶時鐘邊沿的,綜合出來還是組合邏輯

(2)、always後的敏感表中是(posedge clk)形式的,也就是帶邊沿的,綜合出來一般是時序邏輯,會包含觸發器(flip-flop)

Verilog中Wire 和 Reg 的區別

wire 和reg是verilog程式裡的常見的兩種變數型別,他們都是構成verilog程式邏輯最基本的元素。正確掌握兩者的使用方法是寫好verilog程式的前提。但同時,因為他們在大多數程式語言中不存在,很多新接觸verilog語言的人並不能很清楚的區別兩種變數的不同之處。這裡簡單對他們做乙個比較...

verilog中wire和reg型別的區別

一 基本概念 wire型資料常用來表示以assign關鍵字指定的組合邏輯訊號,模組的輸入輸出埠型別都預設為wire型,wire相當於物理連線,預設初始值是z。reg型表示的暫存器型別,用於always模組內被賦值的訊號,且必須定義為reg型,代表觸發器,常用於時序邏輯電路,reg相當於儲存單元,預設...

verilog語言中,reg型與wire型的區別

對於初學者來說,首先乙個大問題就是在讀程式時候,變數型別reg型與wire型的區分。最近做了點 工作,對兩種型別的變數有一些自己的見解,寫一寫,交流學習。自己的理解 wire型相當於是一根連線。reg型相當於是儲存器。在wire型相當於連線的基礎上我們很容易就可以理解,當連線的 端發生改變時,wir...