FPGA入门——1位全加器设计
文章目录
- 一、认识全加器
- 二、采用原理图输入完成1位全加器的设计
- (一)半加器的原理图输入
- (二)全加器的原理图输入
- 三、采用Verilog编程完成1位全加器的设计
一、认识全加器
全加器是用门电路实现两个二进制相加并求出和的组合线路,成为一位全加器,一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。
Ain表示被加数,Bin表示加数,Cin表示低位进位,Cout表示高位进位,Sum表示本位和
Ain | Bin | Cin | Cout | Sum |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
二、采用原理图输入完成1位全加器的设计
- 创建工程
- 选择芯片
(一)半加器的原理图输入
新建文件
选择元件
最终原理图
保存之后编译
如果报错的话,则设置为顶层文件
之后再编译就可以了
将设计的半加器half_adder.bdf设置成可调用的元件
半加器仿真
新建文件
输入波形文件
出现的波形文件
设置波形取值
然后编译
如果报了如图的错的话
则选择Tools->Launch Simulation Library Compiler
设置Output directory,然后选择start compilation,编译成功选择close
之后再进行编译就成功了
(二)全加器的原理图输入
新建文件
添加元件
- 最终原理图
- 保存为f_adder,进行编译
- 将全加器设置为顶层文件
- 进行波形仿真
- 设置引脚
选择Assignments->Pin Planner
再进行编译
下载
结果
最后的硬件结果和真值表是对应的,当三位全为1时,两个LED等全亮
三、采用Verilog编程完成1位全加器的设计
创建工程
过程如上新建Verilog文件
代码
module full_adder2(input a,b,cin,output reg sum,cout);reg s1,s2,s3;always @(a or b or cin) beginsum=(a^b)^cin;s1=a&cin;s2=b&cin;s3=a&b;cout=(s1|s2)|s3;end
endmodule
编译
设置引脚
最后进行编译下载
最后硬件的结果是和真值表是吻合的。
FPGA入门——1位全加器设计相关推荐
- FPGA实现1位全加器设计
文章目录 一.基础知识 1. 半加器 2. 全加器 二.原理图实现1位全加器 三.Verilog实现1位全加器 四.参考
- FPGA _Verilog HDL_8位加法器设计实验
一.题目 实现一个8位的加法器,并完成其仿真波形图(贴图). 二.源代码 说明:本实验实现了八位加法器,可以实现八位的两数相加,获得八位结果以及进位. 全加器模块: //--------------- ...
- 基于FPGA的4位减法器设计及仿真代码
1. 设计要求: 设计一个4位减法器,采用结构化设计.该设计名为sub_4bit,其顶层设计如下图所示,有三个输入量:被减数x[3:0],减数y[3:0],低位向本位的借位bin:有两个输出量本位差d ...
- 流水线设计实例——8位全加器设计
目录 1.简介 2.实例 3.部分代码 4.参考 1.简介 系统的最高工作频率,取决于系统中耗时最长的模块延时.模块延时越长,系统的工作频率就越低,反之则越高.流水操作的思想就是将耗时较长的模块拆分为 ...
- 一位全加器 VHDL设计与实现
作者:chenjieb520 一.设计目的 熟悉Quartus II的VHDL文本设计流程全过程,学习组合电路的设计,仿真和测试. 二.设计内容 设计一位全加器,给出程序的设计.软件编译.仿真分析.硬 ...
- 一位全加器及四位全加器————FPGA
文章目录 前言 一.一位全加器 1.一位全加器的原理图设计 2.一位全加器的Verilog编程 3.上板效果 二.四位全加器 1.四位全加器的原理图设计 2.四位全加器的Verilog 编程 三.总结 ...
- 用行为级描述方式实现一个加法器电路(基于ISE的设计)(2输入1位全加器电路)
准备 先用行为级描述方式实现一个2输入一位全加器电路 由于后面需要使用综合工具进行综合,这里先声明使用的FPGA是Virtex-7系列的: 目的很单纯,就是熟悉一下使用ISE进行FPGA设计的一般流程 ...
- 一位全加器的设计与实践
认识全加器 半加器 半加器是能够对两个一位的二进制数进行相加得到半加和以及半加进位的组合电路 半加器的输出表达式为S=A⊕B,C=AB,逻辑电路图如下 一位全加器 全加器的真值表如下,其中Ain表示被 ...
- 一位全加器的设计和交通灯控制器EDA
一.实验内容 1)熟悉quartusll开发环境 2)一位全加器的设计和交通灯控制器. FPGA为核心,设计一个交通灯控制器,每个路口都有红.黄.绿三盏灯.该交通信号灯控制器由一条车道A和一条车道B汇 ...
- 在Verilog语言中,使用门级建模设计一个由1位全加器组成的4位全加器
4位全加器的门级建模 Verilog语言的层级 在Verilog硬件描述语言中,我们可以分许多层次对电路进行描述,每一层都有自己的特点.层次分为开关级.门级.数据流级.行为级.我们不能说必须使用哪一种 ...
最新文章
- 数值分析与算法-喻文健-国科大
- dll文件用什么语言编写_零基础学习markdown标记语言语法,十分简单便捷编写markdown文件...
- Android项目开发实战—自定义左右菜单
- 【C++ Primer | 15】虚函数表剖析(一)
- linux的进程pcd,LINUX下查看点云图————point cloud(.ply .vtk .pcd)
- Kafka官方文档翻译——实现
- vant 日历插件slots_vue的vant组件库中的slot如何按需使用呢
- Delphi 正则表达式之TPerlRegEx 类的属性与方法(6): EscapeRegExChars 函数
- 如何恢复隐藏的窗口 已知进程名称_Windows 10如何显示文件名后缀?
- jQuery 身份证验证
- 解决MATLAB的xlsread函数读取表格失败
- 免费软件时代的来临!可以媲美金蝶用友的ERP产品,完全免费使用。
- PHP, 将 PDF/Word/PPT 文档转换成图片生成长图
- sql判断邮箱是否合法_用正则表达式验证邮箱和手机号
- pppd参数中文解释
- python中[:, 0]是什么意思
- 电脑连接上WiFi但是上不了网
- discuz X2数据字典
- APP上短信验证码如何验证?
- hj212协议测试软件,环保用电在线监测设备 HJ212协议