Verilog HDL移位操作符
发布时间:2008/5/28 0:00:00 访问次数:1945
移位操作符有:
* > (右移)
移位操作符左侧操作数移动右侧操作数表示的次数,它是一个逻辑移位。空闲位添0补位。如果右侧操作数的值为x或z, 移位操作的结果为x。假定:
reg [0:7] qreg;
. . .
qreg = 4'b0111;
那么:
qreg >> 2 是 8'b0000_0001
verilog hdl中没有指数操作符。但是,移位操作符可用于支持部分指数操作。例如,如果要计算znumbits的值,可以使用移位操作实现,例如:
32'b1 18; 如果真, grade_a 赋值为student; 如果marks < =18, grade_c 赋值为student。下面为另一实例:
always
#5 ctr = (ctr != 25) ? (ctr + 1) : 5;
过程赋值中的表达式表明如果ctr不等于25, 则加1;否则如果ctr值为25时, 将ctr值重新置为5。
* > (右移)
移位操作符左侧操作数移动右侧操作数表示的次数,它是一个逻辑移位。空闲位添0补位。如果右侧操作数的值为x或z, 移位操作的结果为x。假定:
reg [0:7] qreg;
. . .
qreg = 4'b0111;
那么:
qreg >> 2 是 8'b0000_0001
verilog hdl中没有指数操作符。但是,移位操作符可用于支持部分指数操作。例如,如果要计算znumbits的值,可以使用移位操作实现,例如:
32'b1 18; 如果真, grade_a 赋值为student; 如果marks < =18, grade_c 赋值为student。下面为另一实例:
always
#5 ctr = (ctr != 25) ? (ctr + 1) : 5;
过程赋值中的表达式表明如果ctr不等于25, 则加1;否则如果ctr值为25时, 将ctr值重新置为5。
移位操作符有:
* > (右移)
移位操作符左侧操作数移动右侧操作数表示的次数,它是一个逻辑移位。空闲位添0补位。如果右侧操作数的值为x或z, 移位操作的结果为x。假定:
reg [0:7] qreg;
. . .
qreg = 4'b0111;
那么:
qreg >> 2 是 8'b0000_0001
verilog hdl中没有指数操作符。但是,移位操作符可用于支持部分指数操作。例如,如果要计算znumbits的值,可以使用移位操作实现,例如:
32'b1 18; 如果真, grade_a 赋值为student; 如果marks < =18, grade_c 赋值为student。下面为另一实例:
always
#5 ctr = (ctr != 25) ? (ctr + 1) : 5;
过程赋值中的表达式表明如果ctr不等于25, 则加1;否则如果ctr值为25时, 将ctr值重新置为5。
* > (右移)
移位操作符左侧操作数移动右侧操作数表示的次数,它是一个逻辑移位。空闲位添0补位。如果右侧操作数的值为x或z, 移位操作的结果为x。假定:
reg [0:7] qreg;
. . .
qreg = 4'b0111;
那么:
qreg >> 2 是 8'b0000_0001
verilog hdl中没有指数操作符。但是,移位操作符可用于支持部分指数操作。例如,如果要计算znumbits的值,可以使用移位操作实现,例如:
32'b1 18; 如果真, grade_a 赋值为student; 如果marks < =18, grade_c 赋值为student。下面为另一实例:
always
#5 ctr = (ctr != 25) ? (ctr + 1) : 5;
过程赋值中的表达式表明如果ctr不等于25, 则加1;否则如果ctr值为25时, 将ctr值重新置为5。
上一篇:Verilog HDL逻辑操作符
上一篇:Verilog HDL表达式种类