文章目录

  • 一、半加器和1位全加器原理
    • 1. 半加器
    • 2. 1位全加器
  • 二、实验目的
  • 三、设计半加器
    • 1. 新建项目
    • 2. 创建原理图
    • 3. 半加器仿真
  • 四、设计全加器
  • 五、硬件下载测试
    • 1. 引脚绑定
    • 2. 下载测试
  • 六、Verilog语言设计
  • 七、总结

一、半加器和1位全加器原理

1. 半加器

所谓半加器,是指对两位二进制数实施加法操作的元器件。
二进制半加器的理解比较简单,就是逢2进1,其真值表为如下图:

2. 1位全加器

全加器只是加多了一个输入,其实原理和半加器是一样的。全加器真值表如下:

二、实验目的

通过1位全加器的详细设计,掌握原理图输入以及Verilog的两种设计方法。
软件基于quartusII 13.0版本,开发板基于Intel DE2-115。
1位全加器可以用两个半加器及一个或门连接而成, 因此需要先完成半加器的设计。

三、设计半加器

1. 新建项目

  1. file->new Project Wizard 选择项目目录,项目名称,顶层文件

  1. 选择对应芯片型号

  2. 选择仿真

  3. next->finsh

2. 创建原理图

  1. file->new-> Block Diagram/Schematic File->OK

  2. 点击按纽 Symbol Tool或直接双击原理图空白处

  3. 从Symbol窗中选择需要的符号,或者直接在name文本框中键入元件名

  4. 分别调入元件and2,xnor和输入输出引脚input和output。并如图用点击拖动的方法连接好电路。输入各引脚名:a、b, co和s。

  5. 保存,编译

  6. 将设计项目设置成可调用的元件
    为了构成全加器的项层设计,必预将以上设计的半加器half_adder.bdf设置成可调用的元件
    file->Create/Update->Create Symbol Files For Current File

3. 半加器仿真

  1. 选择file->new->University Program VWF->OK

  1. 选择引脚序号依次选择

  2. 设置高低电平之后运行

  3. 运行会报错

  4. 选择Tools->Launch Simulation Library Compiler

  5. 选择modelSim安装路径,选择芯片类型,选择库语言,选择输出文件路径

  6. 出现0 warnings 说明编译成功

  1. 再次设置波形,运行,观察波形图

四、设计全加器

  1. 新建原理图 full_adder,并设为顶层文件

  2. 调用之前设计的半加器元件,以此设计出全加器原理图

  1. 仿真测试

五、硬件下载测试

1. 引脚绑定

引脚绑定前先要确定具体硬件电路,即目标芯片与外围电路(输入、输出显
示等)的连接情况。实验室使用的ED2-115开发板,除了核心FPGA芯片外,还自
带一些外围输入输出电路。我们就是利用这些输入输出电路来进行硬件测试。

如全加器引脚绑定,可以这样设计:开发板上的18个拨码开关选其中三
个,SW0,SW1,SW2分别接ain、bin、cin(开关向上拨和向下拨分别显示输入
是高还是低电平);LED0,LED1分别接co和sum,灯亮表示输出为“1”,灯灭
表示输出为“0”。
硬件设计好后,还需要查引脚图(引脚图见附录)进行引脚绑定。
从 附 录 “ 表 4-1 拨 动 开 关 引 脚 配 置 ” 中 找 到 输 入 的 三 个 开 关
SW0,SW1,SW2,再找到对应的“FPGA引脚号”。如图:

相应的,在附录的表 4-3 中查找到 LED 的引脚配置。
然后在软件中,从菜单中选择“assignments→pin planner”,如图,调出引
脚绑定窗口,然后从下拉窗口中选择相应的输入输出端口,再在“location”栏
填入对应的 FPGA 引脚即可,如图。

选定了引脚之后原理图文件一定要再编译一次,才能真正把引脚绑定上。引脚绑定好
并编译过的文件如图

然后就可以下载到硬件上进行测试了。

2. 下载测试

把开发板接上电源,USB 接口接电脑。打开电源开关(注意不用下载时请一定关闭开
关,以免烧坏板子)。点击软件工具栏上的按钮 ,
则出现下载界面。第一次下载需安装
硬件。即在下载界面中点击按钮“hardware setup…”,然后在弹出的对话框中选择“USB
blaster”,再点击“ok”,则硬件被安装上。

安装好硬件的界面如图。然后在下载的.sof 文件后面的复选框中打勾,再点击”start”,
当进度条达到 100%时,即下载成功,可以进行硬件观测

结果验证

ain bin cin sum cout
1 1 1 1 1

六、Verilog语言设计

  1. file->new->Verilog HDL File->OK

  2. 代码:

module full_adder1
(input a,       //加数input b,        //被加数input c,       //进位输入output s,     //结果输出output co     //进位输出
);assign s = a^b^c;assign co = (a&b)|((a^b)&c);
endmodule
  1. file->Create/Upadte->Create Aysbol Files For Current File 生成原理图

  2. 选择原理图

  1. 添加输入输出

  2. 仿真测试

七、总结

通过1位全加器的详细设计,掌握了原理图输入以及Verilog的两种设计方法。

Quartus II 之1位全加器相关推荐

  1. Matlab与FPGA数字信号处理系列——DDS信号发生器——Quartus ii 原理图法利用 ROM 存储波形实现DDS(1)

    MATLAB 与 FPGA无线通信.图像处理.数字信号处理系列 系统框图 基于FPGA的DDS信号发生器系统框图如下图所示,采取查表法. (1)对一个完整周期的波形进行采样,将采样点存在ROM中: ( ...

  2. (原創) Verilog入門書推薦2:數位系統實習 Quartus II (SOC) (Verilog)

    Abstract 之前曾經推薦過一本Verilog的薄書,這次再推薦一本適合FPGA與Quartus II的Verilog入門書籍. Intrduction 作者:陸自強 出版社:儒林圖書公司 語言: ...

  3. Quartus ii 与 Verilog入门教程(1)——Verilog实现8位计数器

    下载:Quartus ii与verilog实现8位计数器,Modelsim仿真工程 1.计数器原理 在时钟作用下,输出信号从0开始,每个时钟的上升沿输出加1.当复位信号有效时,输出清零.计时实现只需累 ...

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

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

  5. Quartus II开发软件中的宏模块 (转摘)

    Quartus II开发软件中的宏模块 (转摘) RAM宏模块 宏模块名称   功能描述 csdpram    参数化循环共享双端口RAM lpm_ram_dp   参数化双端口RAM lpm_ram ...

  6. 一位全加器的设计和交通灯控制器EDA

    一.实验内容 1)熟悉quartusll开发环境 2)一位全加器的设计和交通灯控制器. FPGA为核心,设计一个交通灯控制器,每个路口都有红.黄.绿三盏灯.该交通信号灯控制器由一条车道A和一条车道B汇 ...

  7. Quartus ii 中ROM ip核的应用

    ROM: read only memory: 掉电不丢失数据 RAM可以被配置为ROM 实验内容: 将一组固定数据(三角波)存储在FPGA中使用IP核构建的片上ROM中,开发板上电后,系统开始从ROM ...

  8. quartus 13.0 之四位全加器(不需要用modelism的歪门邪道)

    关于quartus 13.0 真是一把辛酸泪,为了广大祖国的花朵不再受到它的摧残,特此把自己的在实验过程中的步骤和常见的错误呈现出来. 一. 关于quartus新建怎样新建工程 二. 半加器 三. 一 ...

  9. Quartus II 软件和 DE2-115 开发板使用入门

    文章目录 一.实验目的 二.实验任务及要求 三.实验原理与步骤 1.实验原理 2.实验步骤 3.源程序清单以及注释 四.实验结果与分析 一.实验目的 1.熟悉 Quartus II 开发环境,掌握原理 ...

  10. linux怎么运行quartus,如何安裝Linux版本的Quartus II

    如何安裝Linux版本的Quartus II 更新时间:2019-03-11 02:57 最满意答案 1.软件下载: 关于quartus ii软件,都可以从altera的官方网站下载到 对于linux ...

最新文章

  1. 数据中心的未来:一体化无人值守
  2. python学习系列day4-python基础
  3. java耗时操作阻塞_springboot~高并发下耗时操作的实现
  4. mysql 日志_MySQL日志系统
  5. SpringBoot: 注解@Autowired
  6. 虚拟机centos7启动无法识别磁盘_分享VSAN磁盘无法识别的故障解决方法
  7. struts2、ajax实现前后端交互
  8. 第八届蓝桥杯java b组第十题
  9. [World Final 2016] Branch Assignment
  10. python链表逆序实例_python 单链表翻转的简单示例
  11. 基于Netty实现群聊功能
  12. java语法正则表达式_详解Java正则表达式语法
  13. 用户画像基础之应用落地和案例展示
  14. 详细的ico图标制作与Qt修改exe图标方法
  15. Vue3.0 — props写法
  16. 大量的数据mysql查询最新的记录慢问题
  17. 谷粒商城项目学-分布式基础
  18. 手机芯片的AP、BP和CP
  19. 动易安全开发手册 完整版
  20. Google Play游戏服务入门

热门文章

  1. STM32G474 CANFD 用例详解
  2. 二叉树遍历——递归算法
  3. 2021蓝桥杯C/C++B组真题
  4. JVM Learning Note 4 -- HotSpot JVM Options List
  5. android im 文件发送,极光IM- 基础功能 - 极光文档
  6. 高等数学辅导讲义_研学堂:考研数学辅导书测评
  7. 爬虫如何爬取微信公众号文章
  8. Quartus Prime 18.0与ModelSim的安装
  9. 苏州十大IDC机房排名,苏州idc服务商实力排名
  10. 大数据shipin教程_尚硅谷大数据视频教程,粉丝众多,人手一套尚硅谷教程