提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
通过采用阻塞赋值语句和非阻塞赋值语句来对两个模块实例进行编写,对比其区别。
一、模块源代码
1.1 程序语句:
//blocking.v 阻塞赋值模块
module blocking(clk, a, b, c);
output [3:0]b, c;
input [3:0]a;
input clk;
reg [3:0]b, c;
always @(posedge clk)
begin
b = a;
c = b;
$display("blocking: a = %d, b = %d, c = %d." ,a,b,c);
end
endmodule
//non_blocking.v 非阻塞赋值模块
module non_blocking(clk, a, b, c);
output [3:0]b, c;
input [3:0]a;
input clk;
reg [3:0]b, c;
always @(posedge clk)
begin
b <= a;
c <= b;
$display("