sdaPipe <= {`DEB_I2C_LEN{1'b1}};
{{}} 为一种赋值运算符,将一个表达式放入双重花括号中,而复制因子放在第一层花括号中,用来指定复制的次数。
{ }表示拼接,{第一位,第二位...};
{{ }}表示复制,{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) 效果相同
wb_master_model #(.dwidth(8), .awidth(3)) u_wb_master_model (
.clk(clk),
.rst(rst),
.adr(adr),
.din(masterDin),
.dout(masterDout),
.cyc(cyc),
.stb(stb),
.we(we),
.sel(),
.ack(ack),
.err(1'b0),
.rty(1'b0)
);
#(.dwidth(8), .awidth(3))
科技与美好相连