一位全加器的设计与实践

认识全加器

半加器

半加器是能够对两个一位的二进制数进行相加得到半加和以及半加进位的组合电路

半加器的输出表达式为S=A⊕B,C=AB,逻辑电路图如下

一位全加器

全加器的真值表如下,其中Ain表示被加数,Bin表示加数,Cin表示低位进位,Cout表示高位进位,Sum表示本位和

即输出表达式为

Sum=Ain⊕Bin⊕Cin

Cout=(Ain⊕Bin)⋅Cin+Ain·Bin=(Ain&Bin)∣(Bin&Cin)∣(Ain&Cin)

输出原理图实现一位加法器

首先启动quartus软件,选择file,找到new project wizard

半加器原理图输入

首先选择file,选择new,进入选择Block Diagram/Schematic File

选择元件,添加一个and2,一个xor,两个input,两个output,组成如下图的电路

保存文件,编译

通过Tools->Netlist Viewers->RTL Viewer查看电路图

得到如图。

创建一个向量波形文件,选择菜单项File->New->University Program VWF

然后按照如下图所示操作

编辑并保存

功能仿真结果

时序仿真结果

全加器原理图输入

将设计项目设置为可调用的元件

在打开半加器原理图文件half_adder.bdf的情况下,选择菜中File中的Create/Update→CreateSymbolFilesforCurrentFile项,即可将当前文件h_adder.bdf变成一个元件符号存盘,以待在高层次设计中调用。

接下来我们再绘制一个,还是老样子,选择file->new,选择Block Diagram/Schematic File

加入元件

名字出了点问题。

做成如图所示

这里先把这个文件置顶

这里是如上相同的方式,保存编译查看电路图,仿真实现

功能仿真

时序仿真

Verilog实现一位加法器创建

先创建Verilog文件

输入代码

 module Verilog1(//这里的名字与自己的文件名相同
//输入信号,ain表示被加数,bin表示加数,cin表示低位向高位的进位
input ain,bin,cin,
//输出信号,cout表示向高位的进位,sum表示本位的相加和
output reg cout,sum

);
reg s1,s2,s3;
always @(ain or bin or cin) begin
sum=(ain^bin)^cin;//本位和输出表达式
s1=ain&cin;
s2=bin&cin;
s3=ain&bin;
cout=(s1|s2)|s3;//高位进位输出表达式
end
endmodule

成功

然后创建波形图文件

编译运行

功能仿真

时序仿真

下载测试

芯片引脚配置表

找到quartus的pin planner

接下来电脑接入FPGA开发板。如果是原理图进行实现的话,绘制的原理图会出现以下变化,输入输出旁边会标注刚刚绑定的引脚编号。

然后如下图操作

选择好下图中的移动接口,没有这个接口要到在设备管理器中找到加感叹号的USB-blaster设备,并在一下路径下18.1/quatus/drivers/USB-blaster添加驱动。

回到上一级菜单,选中以下2框选处,点击start开始烧录。若4处出现success表示烧录成功。

成功。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值