Abstract
Verilog初學者最常見的問題:『什麼時候該用wire?什麼時候又該用reg?』
Verilog初學者最常見的問題:『什麼時候該用wire?什麼時候又該用reg?』
Introduction
大體上來說,wire和reg都類似於C/C++的變數,但若此變數要放在begin...end內,該變數就須使用reg,在begin...end之外,則使用wire。
另外使用wire時,須搭配assign;reg則不必。
input,ouput,inout預設值都是wire。
大體上來說,wire和reg都類似於C/C++的變數,但若此變數要放在begin...end內,該變數就須使用reg,在begin...end之外,則使用wire。
另外使用wire時,須搭配assign;reg則不必。
input,ouput,inout預設值都是wire。
若wire和reg用錯地方,compiler都會提醒,所以不必太擔心。
一個很重要的觀念,在Verilog中使用reg,並不表示合成後就是暫存器(register)。若在組合電路中使用reg,合成後仍只是net,唯有在循序電路中使用reg,合成後才會以flip-flop形式表示成register。
Reference
[1] 數位系統實習 Quartus II,陸自強, 儒林出版社, 2007
[2] Verilog數位電路設計範例寶典(基礎篇), 鄭羽伸, 儒林出版社, 2006
一個很重要的觀念,在Verilog中使用reg,並不表示合成後就是暫存器(register)。若在組合電路中使用reg,合成後仍只是net,唯有在循序電路中使用reg,合成後才會以flip-flop形式表示成register。
Reference
[1] 數位系統實習 Quartus II,陸自強, 儒林出版社, 2007
[2] Verilog數位電路設計範例寶典(基礎篇), 鄭羽伸, 儒林出版社, 2006
沒有留言:
張貼留言