Quartus ii中实现一位全加器

  • 一、前言
  • 二、全加器的实现
    • 1.原理图输入实现
    • 2.Verilog实现
  • 三、小结

一、前言

  • 全加器
    用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。而多个一位全加器进行级联可以得到多位全加器。
    其真值表如下:

    其中Ai 为被加数,Bi 为加数,相邻低位来的进位数为 Ci−1,输出本位和为 Si,向相邻高位进位数为 Ci。
    其表达式如下:
    Si=Ai⊕Bi⊕Ci−1
    Ci=AiBi+Ci−1(Ai+Bi)

二、全加器的实现

1.原理图输入实现

一位全加器可以用两个半加器及一个或门连接而成。

  1. 绘制半加器原理图

首先要在quartus中新建工程命名为adder,第三步根据自己的芯片选择,其它直接next就好。

不会创建工程的可以参考之前的博客链接。

选取与门and2,非门xor,两输入两输出绘制原理图如下:

编译到0 error即可。

  1. 把原理图设置为可调用的文件
    为了构成全加器的顶层设计,所以需要将设计的半加器half_adder.bdf设置为可调的元件

  2. 半加器仿真
    创建波形文件

这是之后截的图,重在步骤

编辑输入的波形

仿真结果:

  1. 设计全加器的顶层文件
    与之前调用元件的方法一样,调用出之前保存的半加器元件

    用两个半加器元件,一个或门绘制下图:

    将其设置为顶层文件:

    保存编译:

  2. 全加器的仿真
    如半加器的仿真步骤相同,仿真结果如下图:

  3. 绑定引脚
    由于之前创建工程的时候已经根据自己的芯片选择好了,如果有需要修改目标芯片的可以在菜单栏中选择"assingments->device…“进行更改。
    根据自己芯片的引脚图进行引脚绑定。本次用的芯片为EP4CE115F29C7,选择三个拨码开关SW0,SW1,SW2分别接ain,bin,cin(开关向上和向下拨分别显示输入的是高电平还是低电平);LED0,LED1分别接count,sum,灯亮表示输出为1,灯灭表示输出为0。
    选择"assingments->pin planner…”,在location一栏中选择引脚:

    此时可以看到原理图中的引脚被绑定:

  4. 硬件测试及结果
    把开发板接上电源,USB口接入电脑。
    第一次下载需要更新驱动,打开设备管理器,右键usb-blaster

    选择软件安装的路径进行搜索

    然后安装更新。
    点击菜单栏中的programer打开下载

    选择驱动

    勾选.sof文件,点击start

    硬件结果:
    三个开关表示三个1,两个灯一个为进位,一个为本位。只有同时三个1时,两个灯才会亮。

2.Verilog实现

  1. 新建一个工程,创建Verilog文件

    输入代码:
module full_adder(input ain,bin,cin,//输入信号,ain表示被加数,bin表示加数,cin表示低位向高位的进位output reg cout,sum//输出信号,cout表示向高位的进位,sum表示本位的相加和);
reg s1,s2,s3;
always @(ain or bin or cin) beginsum=(ain^bin)^cin;s1=ain&cin;s2=bin&cin;s3=ain&bin;cout=(s1|s2)|s3;
end
endmodule

成功编译。

  1. 创建波形图文件

同上面的操作一样,编辑波形图如下

点击“run functional simulation” 开始仿真,结果如下:

三、小结

通过原理图输入比较容易。对于Verilog语言还需要慢慢学习
全加器

FPGA入门之一位全加器的实现相关推荐

  1. FPGA实现1位全加器设计

    文章目录 一.基础知识 1. 半加器 2. 全加器 二.原理图实现1位全加器 三.Verilog实现1位全加器 四.参考

  2. 一位全加器及四位全加器————FPGA

    文章目录 前言 一.一位全加器 1.一位全加器的原理图设计 2.一位全加器的Verilog编程 3.上板效果 二.四位全加器 1.四位全加器的原理图设计 2.四位全加器的Verilog 编程 三.总结 ...

  3. FPGA(2)--例化语句--1位全加器

    文章目录 一.实验目的 二.实验内容 三.实验设计 四.实验结果及仿真 一.实验目的 熟悉元件封装方法,掌握层次化电路设计方法:掌握VHDL例化语句的设计方法. 二.实验内容 1.用VHDL语言设计1 ...

  4. FPGA——1位全加器和4位全加器的实现

    目录 一.认识全加器 1.半加器 2.1位全加器 3.4位全加器 二.使用原理图实现1位加法器 1.原理图实现半加器 2.半加器元件实现全加器 三.使用原理图实现4位加法器 四.Verilog HDL ...

  5. FPGA入门:QuartusⅡ实现半加器,全加器,四位全加器

    文章目录 一.半加器和全加器简介 1.1 半加器 1.2 一位全加器 二.原理图实现半加器与全加器 2.1 半加器 2.1.1 创建项目 2.1.2 原理图设计半加器 2.1.3 半加器波形仿真 2. ...

  6. FPGA学习日志——一位全加器full_adder

    全加器 全加器能进行被加数.加数和来自低位的进位信号相加,并根据求和结果给出该位的进位信号. 在电路上可以由两个半加器和一个或门构成全加器. 值得注意的是:一位全加器实现完成后,可以根据多个1位全加器 ...

  7. 一位全加器 VHDL设计与实现

    作者:chenjieb520 一.设计目的 熟悉Quartus II的VHDL文本设计流程全过程,学习组合电路的设计,仿真和测试. 二.设计内容 设计一位全加器,给出程序的设计.软件编译.仿真分析.硬 ...

  8. 用行为级描述方式实现一个加法器电路(基于ISE的设计)(2输入1位全加器电路)

    准备 先用行为级描述方式实现一个2输入一位全加器电路 由于后面需要使用综合工具进行综合,这里先声明使用的FPGA是Virtex-7系列的: 目的很单纯,就是熟悉一下使用ISE进行FPGA设计的一般流程 ...

  9. FPGA入门到实战-学习笔记

    ref:腾讯教育 FPGA入门到实战-录播课-上海V3学院 https://ke.qq.com/course/66019 老师:尤恺元 第1课 掌握Verilog HDL的高级编码知识 授课日期: 老 ...

  10. FPGA入门实验-基于状态机实现串口回环收发

    任务目标 基于状态机实现串口回环收发.最近生产实习的FPGA培训课程内容,还是挺简单的.具体原理其他文章应该都烂大街了,重点是状态机的写法,还是很少博主写,没怎么看到,基本上都是时序机写的模块功能. ...

最新文章

  1. 视频数据处理方法!关于开源软件FFmpeg视频抽帧的学习
  2. 运行BU,利用矿工投票机制寻求BCH升级方案
  3. 为你的网站使用paypal
  4. (转载)解决umount: /home: device is busy
  5. Excel:解决Excel表格每一行所有字段在一个单元格的情况
  6. mysql truncate drop_详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始 | 很文博客...
  7. priority_queue实现大顶堆和小顶堆
  8. 2020-8-31 David Pozar 微波工程读书笔记 (三) 173115
  9. 飞桨PaddleHub带你环游世界,快来试试Python一键视频抠图吧
  10. 微型计算机必须具备的输入设备,一台微型计算机必须具备的输出设备是显示器。...
  11. 任正非:华为要做追上特斯拉的大乌龟
  12. 从零开始学习Prometheus监控报警系统
  13. Linux 查看与修改mtu值
  14. 计算机组成原理课程笔记
  15. Apriori(关联分析算法)
  16. ndvi matlab,基于Matlab的NDVI最大合成
  17. pandas 聚合函数agg
  18. 【GA TSP】基于matlab遗传算法求解旅行商问题【含Matlab源码 1337期】
  19. elevation_mapping安装使用
  20. VirtualBox配置Centos7双网卡固定IP

热门文章

  1. shiro自定义session过期时间
  2. bootstrap 获取表格修改的结果_bootstrap table getData获取表格数据的方法
  3. c#明华rf读卡器_明华URF-R330读卡器C#代码示例
  4. 小米路由插件二维码2020_路由器如何禁止抖音、斗鱼、王者荣耀等app联网
  5. 第三次PR培训(添加常用效果和转场)
  6. 查看微信公众号文章发布时间
  7. 机器学习_数学基础专题
  8. 数学建模--预测方法
  9. CM安装部署介绍说明-尚硅谷大数据培训
  10. 微信小程序icon图标使用详解