1、实验目的:
下载Quartur ii软件和modlsim并进行联合仿真。
2、实验内容:
参今日头条老师发的视频代码,然后用quartus ii和modlsim进行联合仿真
3、实验原理:建立V文件,书写和运行代码,完成联合仿真操作。
4、实验工具:
pc机和Quartur ii软件和modlsim软件。
5、实验截图:
实验一截图:
实验二截图:
6、实验代码:
实验一代码:
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
实验二代码:
module p2s(data_in,clock,reset,load,data_out,done);
input [3 : 0] data_in;
input clock,reset,load;
output data_out;
output done;
reg done;
reg [3 : 0] temp;
reg [3 : 0] cnt;
always@ (posedge clock or posedge reset )
begin
if (reset)
begin
temp<=0;
cnt<=0;
done<=1;
end
else if (load)
begin
temp<=data_in;
cnt<=0;
done<=0;
end
else if (cnt==3)
begin
temp <= {temp[2:0],1’b0};
cnt<=cnt+1;
done<=1;
end
else
begin
temp <= {temp[2:0],1’b0};
cnt<=cnt+1;
done<=0;
end
end
assign data_out=(done==1) ?1’bz :temp [3];
endmodule
7、软件下载网站:
复制这段内容后打开百度网盘App,操作更方便哦。 链接:https://pan.baidu.com/s/1ZT0ovNAAZ_j3jTGzVCYfbQ提取码:5jf2