wire和reg之間的差異

2021-10-01 11:09:59 字數 404 閱讀 8821

abstract

verilog初學者最常見的問題:『什麼時候該用wire?什麼時候又該用reg?』

大體上來說,wire和reg都類似於c/c++的變數,但若此變數要放在begin…end內,該變數就須使用reg,在begin…end之外,則使用wire

若wire和reg用錯地方,compiler都會提醒,所以不必太擔心。

乙個很重要的觀念,在verilog中使用reg,並不表示合成後就是暫存器(register)。若在組合電路中使用reg,合成後仍只是net,唯有在時序電路中使用reg,合成後才會 以flip-flop形式表示成register。

verilog HDL中wire和reg的區別

wire表示直通,即輸入有變化,輸出馬上無條件地反映 如與 非門的簡單連線 reg表示一定要有觸發,輸出才會反映輸入的狀態。reg相當於儲存單元,wire相當於物理連線。reg表示一定要有觸發,沒有輸入的時候可以保持原來的值,但不直接實際的硬體電路對應。兩者的區別是 暫存器型資料保持最後一次的賦值,...

Verilog中wire和reg的區別

wire為無邏輯線,本身只做連線,不帶邏輯,輸入什麼就是什麼。用always語句對wire語句賦值,綜合就會報錯。1 assign 語句 例如 reg a,b wire and result assign and result a b 2 原件例化必須用wire 例如 wire dout ram u...

Verilog中Wire 和 Reg 的區別

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