概述
归约运算符
归约运算符为单目运算符。被操作数是具有一定位宽的向量,操作结果为1bit。
(1) &
被操作数所有位做按位与操作
例:
wire [3:0] a = 4’b1111;
wire b = &a; // b=1’b1;
(2 ) ~&
被操作数的所有位先做归约与操作,再取反
(3) |
被操作数所有位做按位或操作
(4)~|
被操作数的所有位先做归约或操作,再取反
(5) ^
被操作数所有位做逻辑异或操作
(6) ~^
被操作数的所有位先做归约异或操作,再取反
算数运算符
+、—、* 、/、%
乘方运算 “ ** ”
“**” 完成一个数的n次幂运算符,双目运算符。
例:
parameter a = 2 ** 8;//a=256;
注:非常浪费资源,如果必须使用,可用IP核或自己编写。
迭代运算符
迭代运算符的完整性
例:
wire a = 1'b0;
wire[2:0] b = 3'b111;
wire[7:0] c= {{5{a}},b};//c = 8'b0000_0111
注: wire[7:0] c= {5{a},b};
//错误
先迭代再连接
wire [7:0] d = {2{a,b}};//c = 8'b0111_0111
移位运算符
两类移位运算符,即有符号移位和无符号移位
<< //无符号左移
<<< //带符号左移
>> //无符号右移
>>> //带符号右移
最后
以上就是听话小虾米为你收集整理的Verilog操作符的全部内容,希望文章能够帮你解决Verilog操作符所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复