用quartusII编程3-8译码器,时序仿真出错,类似延迟,求指教
代码如下:// decoder 3 to 8 decoder with an enable control;
module decoder ( y , en , a );
output [ 7:0 ] y; // 八位输出
input en; // 使能端
input [ 2:0 ] a; // 三位地址端
reg [ 7:0 ] y;
always @ ( en or a )
if ( en )
case ( a )
3'b000 : y = 8'b1111_1110;
3'b001 : y = 8'b1111_1101;
3'b010 : y = 8'b1111_1011;
3'b011 : y = 8'b1111_0111;
3'b100 : y = 8'b1110_1111;
3'b101 : y = 8'b1101_1111;
3'b110 : y = 8'b1011_1111;
3'b111 : y = 8'b0111_1111;
default : y = 8'b1111_1111;
endcase
else
y = 8'b1111_1111;
endmodule // end of decoder;
产生的波形文件见下图。
本来应该是,en=1,a=000的时候,输出y=1111_1110;结果y=1111_1110却跑到a=001的时候去了。。。。。
本人小白,刚学verilog hdl,写一个3-8译码器就出错了,还望各位大哥大姐多多指教!
页:
[1]