附:操作符
2020年2月26日
15:36
-算數操作符:
-雙目:加減乘除、求冪、取模。均同C。
如果操作數的任一位爲x,那麼運算結果全部爲x。即操作數值不確定,結果肯定不確定。
-單目:正負(單目+-優先級高於雙目+-),建議使用整數或實數形式表示負數。在Verilog中負數用其二進制補碼錶示。
-邏輯操作符:邏輯與(&&)、邏輯或(||)、邏輯非(!)。
1、計算結果爲一位:0假、1真、x不確定。
2、一操作數不爲0,則等價爲邏輯1;等於0,則等價於邏輯假;任一位爲x或z,等價於x,一般仿真器當x爲假。
3、邏輯操作符取變量或表達式作爲操作數。
-關係操作符:大於、小於、大於等於、小於等於。若操作數中某一位爲未知或高阻抗z,取表達式結果爲x。其餘同C。
-等價操作符:邏輯等、邏輯不等、case等、case不等。對兩個操作數進行逐位比較,若兩個操作數位寬不相等,則使用0來填充那些不存在的位(填充左邊)。
-按位操作符:取反、與、或、異或、同或。
對兩個操作數中的每一位進行按位操作。如果兩個操作數的位寬不相等,使用0來向左拓展較短的操作數,產生一個與較長位寬操作數等寬的數值。。
-縮減操作符:縮減與、縮減與非、縮減或、縮減或非、縮減異或、縮減同或。單目操作符,對一個操作數的所有位逐位地從左至右進行運算,產生一位結果。
1、縮減與和縮減與非、縮減或和縮減或非、縮減異或和縮減同或的計算結果恰好相反。
2、縮減異或和縮減同或可以用來產生一個向量的奇偶校驗位。
-移位操作符:右移、左移、算數左移、算術右移。普通移位操作產生的空餘位使用0來填充;算數移位操作符根據表達式的內容來確定空餘位的填充值(算數移位操作符專用於負整數右移,空缺位用1填充)
-拼接操作符:{,}。中間逗號連接。將多個操作數(必須有確定位寬,可以是變量線網、寄存器、向量線網、寄存器、位選、域選、有確定位寬的常數)拼接起來,組成一個操作數。
-重複操作符:用常數指定其後大括號中變量的重複次數。
reg A;
reg [1 : 0] B;
A = 1'b1;
B = 2'b00;
Y = { 4{A}, 2{B} };//結果爲8'b11110000
-條件操作符:三目操作符。可嵌套
首先計算條件表達式,爲真則計算真表達式;爲假則計算假表達式;爲不確定x則計算兩個表達式,對兩個結果進行逐位比較,若相等,則結果中該位的值爲操作數中該位的值。若不相等,則結果中該位的值爲x。
-操作符優先級: