2021-06-22

2020计算机数电总实验
做前准备:
安装Quartus ii 20版本步骤以及Modelsim SE 10版本配置步骤
需要准备的东西如下:
Quartus 精简版:
QuartusLiteSetup-20.1.1.720-windows.exe
ModelSimSetup-20.1.1.720-windows.exe(自带的仿真)
cyc
Quartus官网下载地址:https://fpgasoftware.intel.com/20.1.1/?edition=lite&platform=windows
one-20.1.1.720.qdz
Modelsim_SE:
modelsim-win64-10.6d-se.exe
一:安装Quartus ii 20.1.1以及器件库
点击QuartusLiteSetup-20.1.1.720-windows.exe文件, 开始安装。选择Next>勾选I accept the argeement,并点击Next>设置好安装目录位置,点击Next>勾选好所需安装的组件,如果自己多下载了器件库(和安装软件在同一目录下这里可以直接看到),点击Next再次点击Next>等待安装点击Finish完成安装。
这里选择Run the Quartus Prime software
二:安装Modelsim SE 10.6d
1:这里点击Yes选择创建文件夹
2:点击Agree就行了
3:等待安装
4:这里选择是否创建快捷在桌面,看自己
5:这里选择Yes添加到path
6:这里选择No不要重启就行了
7:点击Done,完成对Modelsim安装
Modelsim需要破解,可以再b站找视屏了解
三:将两者联合仿真
1:打开Quartus,点击Tools选择,选中Options…
2:添加Modelsim的路径,文件夹下的win64,点击OK完成关联
四:简单演示效果
1:代码来源:数字电路书籍
2; 文件名:mux4to1 ,BtoG1,Comp_2_str
3;测试代码
试验一:原书p113,4.30
module mux4to1 (W,S,f);
input [0:3] W;
input [1:0] S;
output reg f;

always @(W,S)
case (S)
0:f=W[0];
1:f=W[1];
2:f=W[2];
3:f=W[3];
endcase
endmodule
e

实验二:数字系统设计与仿真第十一章第二个实验
module BtoG1 (data_in,en,data_out,err);
input [3:0] data_in;
input en;
output [3:0] data_out;
output err;
reg [3:0] data_out;
reg err;
always @(data_in or en)
begin
if(en ==1)
begin
data_out [0] = (data_in [0]^data_in [1]);
data_out [1] =(data_in [1]^data_in [2]);
data_out [2]=(data_in [2]^data_in[3]);
data_out[3]=data_in[3];
err=0;
end
else
begin
data_out=4’b1111;
err=1;
end
end
endmodule

module BtoG2 (data_in,en,data_out,err);
input [3:0] data_in;
input en;
output [3:0] data_out;
output err;
reg [3:0] data_out;
reg err;
always @(data_in or en)
begin
if(en ==1)
begin
case(data_in)
4’b0000:data_out=4’b0000;
4’b0001:data_out=4’b0001;
4’b0010:data_out=4’b0011;
4’b0011:data_out=4’b0010;
4’b0100:data_out=4’b0110;
4’b0101:data_out=4’b0111;
4’b0110:data_out=4’b0101;
4’b0111:data_out=4’b0100;
4’b1000:data_out=4’b1100;
4’b1001:data_out=4’b1101;
4’b1010:data_out=4’b1111;
4’b1011:data_out=4’b1110;
4’b1100:data_out=4’b1010;
4’b1101:data_out=4’b1011;
4’b1110:data_out=4’b1001;
4’b1111:data_out=4’b1000;
default:data_out=4’b1111;
endcase
err=0;
end
else
begin
data_out=4’b1111;
err=1;
end
end
endmodule

module BtoD (data_in,en,data_out,err);
input [3:0] data_in;
input en;
output [3:0] data_out;
output err;
reg [7:0] data_out;
reg err;

always @(data_in or en)
begin
if(en ==1)
begin
case(data_in)
4’b0000:data_out=8’b0000_0000;
4’b0001:data_out=8’b0000_0001;
4’b0010:data_out=8’b0000_0010;
4’b0011:data_out=8’b0000_0011;
4’b0100:data_out=8’b0000_0100;
4’b0101:data_out=8’b0000_0101;
4’b0110:data_out=8’b0000_0110;
4’b0111:data_out=8’b0000_0111;
4’b1000:data_out=8’b0000_1000;
4’b1001:data_out=8’b0000_1001;
4’b1010:data_out=8’b0001_0000;
4’b1011:data_out=8’b0001_0001;
4’b1100:data_out=8’b0001_0010;
4’b1101:data_out=8’b0001_0011;
4’b1110:data_out=8’b0001_0100;
4’b1111:data_out=8’b0001_0101;
default:data_out=8’b1111_1111;
endcase
err=0;
end
else
begin
data_out=4’b1111;
err=1;
end
end
endmodule
实验三:高级数字设计第二版p74,4.5
module Comp_2_str(output A_gt_B,A_lt_B,A_eq_B,input A0,A1,B0,B1);
nor (A_gt_B,A_lt_B,A_eq_B);
or (A_It_B,w1,w2,w3);
and (A_eq_B,w4,w5);
and (w1,w6,B1);
and (w2,w6,w7,B0);
and (w3,w7,B0,B1);
not (w6,A1);
not (w7,A0);
xnor (w4,A1,B1);
xnor (w5,AO,BO);
endmodule
module Comp_4_str(
output A_gt_B,A_lt_B,A_eq_B,
input A3,A2,A1,A0,B3,B2,B1,B0);
wire w1,w0;
Comp_2_str M1 (A_gt_B_M1,A_lt_B_M1,A_eq_B_M1,A3,A2,B3,B2);
Comp_2_str M0 (A_gt_B_M0,A_lt_B_M0,A_eq_B_M0,A1,A0,B1,B0);
or (A_gt_B,A_gt_B_M1,w1);
and (w1_eq_B_M1,A_gt_B_M0);
and (A_eq_B,A_eq_B_M1,A_eq_B_M0);
or (A_It_B,A_It_B_M1,w0);
and (w0,A_eq_B_M1,A_lt_B_M0);

endmodule

五;结果:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六:注意:代码不可有错误,每次命名要相同。
七:视频:三个视屏合为一个【数电实验-哔哩哔哩】https://b23.tv/4tdDeZ
八:本篇博文使用的是13.0版本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值