【verilog】附 操作符

附:操作符

2020226

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。

 

-操作符优先级:

 

猜你喜欢

转载自blog.csdn.net/JifengZ9/article/details/106878989