一、实验目的
运用Quartus软件与Modelsim联合仿真
二、实验内容运用Quartus软件与Modelsim软件尝试建立一个门级模型
三、实验原理按照视频上的内容,书写和运行代码,完成实验和仿真
四、实验工具电脑、Quartus软件与Modelsim软件
五、实验过程截屏及代码
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_1110;
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
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'b100;
#10 en=1;din=3'b101;
#10 en=1;din=3'b110;
#10 en=1;din=3'b111;
#10 $stop;
end
decoder3xB idecoder(din,en,dout,ex);
endmodule