分析题意
1.clk周期为10ns;
2.在测试样例中,ia=0,延时10ns;ib=1,延时30ns;
3.oc=ia|ib,时钟上升沿跳变(本题理解为下降沿跳变)
功能模块代码
module tri_assigenments(
input clk,
input wire ia,
input wire ib,
output reg oc
);
always@(negedge clk)begin
oc=ia|ib;
end
endmodule
测试样例代码
module tb_tri_assigenments();
reg clk;
reg ia1;
reg ib1;
wire oc1;
initial begin
clk=0;
ia1=0;
ib1=1;
end
always #5 clk=~clk;
always #10 ia1={$random};
always #30 ib1={$random};
tri_assigenments tri_assigenments_inst(
.clk(clk),
.ia(ia1),
.ib(ib1),
.oc(oc1)
);
endmodule