Verilog HDL按位操作符与归约操作符的区别

sdaPipe <= {`DEB_I2C_LEN{1'b1}};

Verilog HDL按位操作符与归约操作符的区别

Verilog HDL按位操作符与归约操作符的区别

{{}} 为一种赋值运算符,将一个表达式放入双重花括号中,而复制因子放在第一层花括号中,用来指定复制的次数。

{ }表示拼接,{第一位,第二位...};

{{ }}表示复制,{4{a}}等同于{a,a,a,a};

所以{13{1‘b1}}就表示将13个1拼接起来,即13'b1111111111111。
按位是二元操作符,是将操作符两边的操作数进行 操作符所规定的运算 ,

例如:a & b(a=1,b=1),出来结果为1;

归约是一元操作符,是将操作数的几个bit位当成1bit的操作数进行操作符所规定的运算,

例如:a=4’b1101,则 &a= 1&1&0&1 =0

具体到程序综合的时候,综合工具会根据你操作数的多少来区分你的意图     $display(p1,p2, …,pn);

$write(p1,p2, …,pn);


这两个函数和系统任务的作用都是用来输出信息,即将参数p2到pn按参数p1给定的格式输出。参数p1通常称为:“格式控制”,参数p2至pn通常称为“输出列表”。


$display自动地在输出后进行换行,$write则不是这样。如果想在一行里输出多个信息,可以使用$write。如:$display(“%d”,10) 和 $display(“%d\n”,10) 效果相同

上一篇:Selenium2+python自动化18-加载Firefox配置


下一篇:(二十一、二十三至二十五):记忆网络方面论文-组内汇报PPT