1、关于always使用:
代码(1)如下:
module mux2_1_if
(
input din_a,
input din_b,
output dout
);
reg dout_buf;
always @(din_a,din_b)begin
dout_buf = din_a&&din_b;
end
assign dout=dout_buf;
endmodule
对应RTL 模型如下:
代码(2)如下:
module mux2_1_if
(
input din_a,
input din_b,
output reg dout
);
always @(din_a,din_b)begin
dout = din_a&&din_b;
end
endmodule
对应RTL模型如下:
2、关于assign使用:
代码(1)如下:
module mux2_1_if
(
input din_a, //输入信号a
input din_b, //输入信号b
output dout
);
assign dout=din_a&&din_b;
endmodule
对应RTL 模型如下:
代码(2)如下:
module mux2_1_if
(
din_a, din_b, dout
);
input din_a; //输入信号a
input din_b;
output dout;
assign dout=din_a&&din_b;
endmodule
对应RTL模型如下:
输出信号只能用于assign,如果要使用always实现,则必须增加寄存器变量,另外 需要时钟触发;