////////////////////////////////代码1///////////////////////////////////////
module pipeMult(product, mPlier, mCand, go, clock);
input go, clock;
input [7:0] mPlier, mCand;
output [15:0] product;
reg [15:0] product;
always @(posedge go)
product = repeat (4) @(posedge clock) mPlier * mCand;
endmodule
////////////////////////////////代码2///////////////////////////////////////
module pipeMult(product, mPlier, mCand, go, clock);
input go, clock;
input [7:0] mPlier, mCand;
output [15:0] product;
reg [15:0] product;
always @(posedge go)
product <= repeat (4) @(posedge clock) mPlier * mCand;
endmodule
一个用的阻塞语句,一个用的非阻塞语句。代码1和代码2产生的结果是否有什么区别?
新手求指点……
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
非阻塞赋值只能用assign 声明,而且不能再ALWAYS 里面。
阻塞赋值,不是立即执行,需要ALWAYS 所有语句同时赋值;
非阻塞赋值,立即执行,相当线的作用
是阻塞赋值只能用assign 声明,相当线的作用吧?
代码1和代码2本身应该没有问题,就是不知输出结果有区别么?
[ 本帖最后由 小an 于 2011-10-19 12:02 编辑 ]
楼上说的对啊!
理解很深啊!
一周热门 更多>