一、实验要求:用Modlsim进行带有使能端的3-8译码器设计测试模块实验
二、实验内容:学习组合逻辑测试模块的内容,进行简单的测试编写方式:步进式信号。所谓步进式信号,即按时间顺序列出所有可能的输入信号组合,用于观察输出的情况是否满足要求。这种写法的好处是不需要太多的思考,非常适合输入端口较少的组合逻辑电路。例如参考如下的设计模块,这是一个带有使能端的3-8 译码器,在en为高电平时停止工作,输出全1,在en为0时正常工作,若无输入也输出全1.ex信号是为了区分输入全1时电路的工作状态而特意保留的扩展输出位。
三、实验原理代码图:
1、设计模块代码
2、测试模块代码
三、实验工具:Modlsim软件、pc机。
四、实验截图五、实验视频
https://www.bilibili.com/video/BV1Y64y1o7dh?share_source=copy_web
六、实验代码
1、设计模块代码
module decoder3x8 (din, en,dout,ex);
input [2:0] din;
input en;
output [7:0] dout;
output ex;
reg [7:0] dout;
reg ex;
always @(din or en)
if (en)
begin
dout=8’b1111_1111;
ex=1’b1;
end
else
begin
case (din)
3’b000:begin
dout=8’b1111_1110;
ex=1’b0;
end
3’b001: begin
dout=8’b1111_1101;
ex=1 'b0;
end
3’b010: begin
dout=8’b1111_1011;
ex=1’b0;
end
3’b011: begin
dout=8’b1111_0111;
ex=1’b0;
end
3’b100: begin
dout=8’b1110_1111 ;
ex=1’b0;
end
3’b101: begin
dout=8’b1101_1111;ex=1 'b0;
end
3’b110: begin
dout=8’b1011_1111 ;ex=1’b0;
end
3’b111: begin
dout=8’b0111_1111;
ex=1 'b0;
end
default: begin
dout=8 'b1111_1111 ;
ex=1’b0;
end
endcase
end
endmodule
2、测试模块代码
module tbdecoder;
reg [2:0] din;
reg en;
wire [7:0] dout;
wire ex;
initial
begin
#10 en=0;din=3’b000;
#10 en=0;din=3’b001;
#10 en=0;din=3’b010;
#10 en=0;din=3’b011;
#10 en=0;din=3’b100;
#10 en=0;din=3’b101;
#10 en=0;din=3’b110;
#10 en=0;din=3’b111;
#10 en=0;din=3’b1x1;
#10 en=1;din=3’b000;
#10 en=1;din=3’b001;
#10 en=1;din=3’b010;
#10 en=1;din=3’b011;
#10 en=1;din=3’b100;
#10 en=1;din=3’b101;
#10 en=1;din=3’b110;
#10 en=1;din=3’b111;
#10 $stop;
end
endmodule
七.Modelsim 10.x软件下载链接:https://pan.baidu.com/s/1PoKk4W_SG7Zqp9KNuwLdTQ提取码:m7ja