reg型变量怎么赋值_FPGA的wire和reg类型变量
1:wire型
網絡類型變量表示結構實體(如門)之間的物理連接。網絡類型變量不能存儲值,而且它必須要受到驅動器(如門或連續賦值語句,如assign)的驅動。如果沒有驅動器連接到網絡類型變量上,則該變量就是高阻的,即值為Z。常用的網絡類型變量有wire和tri型。這兩種網絡類型變量都是用于連接器件單元。它們有相同的語法格式和功能。之所以提供wire和tri兩種網絡類型變量,是為了與模型中所使用的變量的實際情況一致。 wire型變量表示單個門驅動或連續賦值語句(如assign)驅動的網絡型數據,tri型變量多驅動器驅動的網絡類型數據。如果wire和tri型變量沒有定義邏輯強度,在多驅動源的情況下,邏輯值會發生沖突,從而產生不確定值。
wire型數據常用來表示用以assign賦值語句指定的組合邏輯信號。VERILOG程序模塊中的輸入、輸出信號默認為wire型。wire型信號可以用作輸入,也可以用作assign語句或實例元件的輸出。格式如下:
wire a; //定義一個1位的wire型變量
wire[7:0] a;//定義一個8位的wire型變量
wire[4:1] a;//定義了二個4位的wire型變量
2:reg型
寄存器是數據存儲單元的抽象。寄存器數據類型的關鍵字是reg。通過賦值語句可以改變寄存器存儲的值,其作用與觸發器儲存的值相當。
reg型數據常用來表示"always"模塊內的指定信號,常代表觸發器。通常,在設計中要由always模塊中的行為描述語句來表達邏輯關系。在always模塊中內被賦值的每一個信號都必須要定義成reg型。
reg a;//定義一個1位的reg型數據
reg[3:0] a;//定義一個4位的reg型數據
reg[4:1] a,b; //定義二個4位的reg型數據
reg型數據的初始值是不確定的。reg型數據可以為正值,也可以為負值。但當一個reg型數據是表達式中的操作數據時,它的值被當作無符號數值,即正值。如reg[3:0] a被用作操作數表達式中時,-1表示+15.
注意:reg型中表示被定義的信號將用在always模塊內,理解這點很重要。并不是說reg型信號一定是寄存器或觸發器的輸出,雖然reg常常是寄存器或觸發器的輸出,但并不一定總是這樣。
總結
以上是生活随笔為你收集整理的reg型变量怎么赋值_FPGA的wire和reg类型变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 域自适应(Domain Adaptati
- 下一篇: 2016年5月热门IT职位的推荐