|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本人菜鸟,有一问题想问诸位大侠。我写了一个简单的三八译码器,写testbench的时候,遇到这样一个问题。
module Orion74x138_tb ;
//module Orion74x138(input G1, input G2A_L,input G2B_L,input[2:0] A,output [7:0] Y_L)
reg G1;
reg G2A_L;
reg G2B_L;
reg [2:0] A;
wire [7:0] Y_L;
//integer NUM;
integer i;
Orion74x138 TEST(.G1(G1), .G2A_L(G2A_L), .G2B_L(G2B_L), .A(A), .Y_L(Y_L));
initial begin: TA
G2A_L = 1;
G2B_L = 1;
G1 = 0;
#5 G1 = 1;
#5 G2A_L = 0;
#5 G2B_L = 0;
G1 = 1;
G2A_L = 0;
G2B_L = 0;
for(i=0; i<=8'b11111111; i=i+1)
begin
//#2 A = i%8;
A = i%8;
//#2 $display("A is %d",A);
$display("A is %d",A);
end
end
always @(A)
begin
$display("Now,time is %d, input is %d, i is %d, output is %d ",$time, A,i, Y_L);
end
endmodule
代码如上,注意代码中红色部分和蓝色部分,差在一个延迟上。如果用蓝色部分的代码就可以正确仿真,用红色代码就不能正确仿真,这是为什么? |
|