我是靠谱客的博主 听话小虾米,最近开发中收集的这篇文章主要介绍Verilog操作符,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

归约运算符

归约运算符为单目运算符。被操作数是具有一定位宽的向量,操作结果为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操作符所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部