一、测试代码
设置两组输入输出,对比使用assign赋值语句与always if语句。
- if_assign_test.v
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Engineer: wkk
// Module Name: if_assign_test
//////////////////////////////////////////////////////////////////////////////////
module if_assign_test(
input if_a_in,
input if_b_in,
input if_c_in,
input if_d_in,
input assign_a_in,
input assign_b_in,
input assign_c_in,
input assign_d_in,
output reg if_a_out,
output reg if_b_out,
output reg if_c_out,
output reg if_d_out,
output assign_a_out,
output assign_b_out,
output assign_c_out,
output assign_d_out
);
assign assign_a_out = assign_a_in ? 1'b1:1'b0;
assign assign_b_out = assign_b_in ? 1'b1:1'b0;
assign assign_c_out = assign_c_in ? 1'b1:1'b0;
assign assign_d_out = assign_d_in ? 1'b1:1'b0;
a

文章详细比较了Verilog中的assign和alwaysif语句在设置输入输出时的行为,着重指出alwaysif的条件语句会阻断Z态。测试代码展示了两者在实际应用中的区别。
最低0.47元/天 解锁文章
2414

被折叠的 条评论
为什么被折叠?



