Quartus实现一位全加器

这篇具有很好参考价值的文章主要介绍了Quartus实现一位全加器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.半加器及全加器原理

1.半加器

  • 真值表
A B C0 S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
  • 表达式

S=A⊕B

C=AB

2.全加器

  • 真值表
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
  • 表达式

Sum=Ain⊕Bin⊕Cin

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

二.原理图实现1位加法器

1.创建项目

  • 选择File->New Project Wizard
    quartus全加器,FPGA,算法,fpga开发

  • 设置项目路径和项目名
    quartus全加器,FPGA,算法,fpga开发

  • 按个人需求选择芯片
    quartus全加器,FPGA,算法,fpga开发

2.半加器原理图输入

  • 选择File->New->Block Diagram/Schematic File
    quartus全加器,FPGA,算法,fpga开发

  • 选择元件(一个and2,一个xor,两个input,两个output)
    quartus全加器,FPGA,算法,fpga开发

  • 原理图如下
    quartus全加器,FPGA,算法,fpga开发

  • 编译成功后选择tool->Netlist Viewers->RTL Viewer
    quartus全加器,FPGA,算法,fpga开发

  • 得到电路图如下
    quartus全加器,FPGA,算法,fpga开发

  • 选择File→New->VWF
    quartus全加器,FPGA,算法,fpga开发

  • 按如下操作添加信号
    quartus全加器,FPGA,算法,fpga开发

  • 配置信号前需要做如下配置(tool->launch simulation library complier)
    quartus全加器,FPGA,算法,fpga开发

  • 编辑信号并仿真
    quartus全加器,FPGA,算法,fpga开发

  • 仿真效果如下
    quartus全加器,FPGA,算法,fpga开发

3.全加器原理图输入

  • 选择File->Create/Update->CreateSymbolFilesforCurrentFile
    quartus全加器,FPGA,算法,fpga开发

  • 选择File->New->Block Diagram/Schematic File
    quartus全加器,FPGA,算法,fpga开发

  • 选择元件(两个halfadder,一个or2,三个input,两个output)
    quartus全加器,FPGA,算法,fpga开发

  • 原理图如下
    quartus全加器,FPGA,算法,fpga开发

  • 注意在此处需要先将fulladder置顶(Project->Set as Top-Level-Entity)再进行编译
    quartus全加器,FPGA,算法,fpga开发

  • 电路图如下
    quartus全加器,FPGA,算法,fpga开发

  • 编辑信号并仿真
    quartus全加器,FPGA,算法,fpga开发

  • 仿真效果如下
    quartus全加器,FPGA,算法,fpga开发

三.Verilog实现1位加法器

  • 创建Verilog文件
    quartus全加器,FPGA,算法,fpga开发

  • 代码如下

module full_adder(
	//输入信号,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全加器,FPGA,算法,fpga开发

  • 电路图如下
    quartus全加器,FPGA,算法,fpga开发

  • 选择File→New->VWF
    quartus全加器,FPGA,算法,fpga开发

  • 编辑信号并仿真
    quartus全加器,FPGA,算法,fpga开发

  • 仿真结果如下
    quartus全加器,FPGA,算法,fpga开发

四.下载到开发板有关操作

  • Pin Planner中配置引脚
    quartus全加器,FPGA,算法,fpga开发

  • Programmer中下载
    quartus全加器,FPGA,算法,fpga开发

quartus全加器,FPGA,算法,fpga开发

quartus全加器,FPGA,算法,fpga开发

  • 效果如下
    quartus全加器,FPGA,算法,fpga开发

五.总结

上学期接触了FPGA开发,但是由于假期重做系统,重新下载的quartus和modelsim,本文中quartus和modelsim都是用的13.1版本。本次实验出现了一些错误,包括破解失败导致无法运行quartus相关文件,包括EDA实现quartus和modelsim自动仿真时参考教程学习,Verilog实现1位全加器时模块名和文件名不一致导致的报错,参考学长学姐的博客都得到了解决,这次实验是FPGA较为初级的操作。仍需进一步学习,后期会定期更新有关FPGA的博客。

六.参考博客

https://blog.csdn.net/qq_43279579/article/details/115158140

https://blog.csdn.net/qq_43279579/article/details/115176423

https://blog.csdn.net/qq_43279579/article/details/115480406文章来源地址https://www.toymoban.com/news/detail-721204.html

到了这里,关于Quartus实现一位全加器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Quartus-II利用两个半加器实现简单全加器

    软件基于 quartusII 13.1 版本,开发板基于Intel DE2-115 。 1.新建并命名工程 2.选择芯片型号 3.新建半加器原理图

    2023年04月08日
    浏览(41)
  • FPGA编程入门——实现一位全加器

    然后通过4个1位全加器的串行级联,完成一个4位全加器的原理图设计;再改用 Verilog编程(3种模式:门电路、数据流和行为级描述),完成这个4位全加器设计,并观察Verilog代码编译综合后生成的 RTL电路,与之前电路图设计的4位全加器电路进行对比 。 如果仿真波形的逻辑功

    2024年02月04日
    浏览(41)
  • 【无标题】FPGA编程入门——实现一位全加器

    1、首先基于Quartus 软件采用原理图输入方法完成一个1位全加器的设计。然后通过4个1位全加器的串行级联,完成一个4位全加器的原理图设计;再改用 Verilog编程(3种模式:门电路、数据流和行为级描述),完成这个4位全加器设计,并观察Verilog代码编译综合后生成的 RTL电路,

    2024年02月03日
    浏览(47)
  • 基于Quartus件完成1位全加器的设计及4位全加器的设计

    (1)、半加器的设计 半加器: 指对输入的两个一位二进制数相加a与b,输出一个结果位sum和进位cout 半加器真值表: a b sum cout 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 1 半加器输出表达式: 项目创建: 打开Quartus创建新项目: 设置项目路径及名称(adder4位实验名命名): 选择芯片(EP4CE115

    2024年02月05日
    浏览(41)
  • 一位全加器及四位全加器————FPGA

    环境: 1、Quartus18.0 2、vscode 3、基于Intel DE2-115的开发板 全加器简介: 全加器英语名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。

    2024年02月03日
    浏览(50)
  • 实验四 QUARTUS开发环境实验 设计半加器、全加器和四位全加器 blueee的学习笔记

    一、实验目的 1、通过实验,能熟悉QUARTUS开发环境,能够掌握QUARTUS的原理图输入法设计电路,掌握使用相关仿真工具进行功能和时序仿真的方法; 2、通过实验,加深对全加器电路的理解,并能使用QUARTUS的原理图输入法完成全加器的设计,并能在QUARTUS中完成相关的仿真验证

    2024年02月05日
    浏览(98)
  • 一位全加器的设计与实践

    半加器是能够对两个一位的二进制数进行相加得到半加和以及半加进位的组合电路,其真值表如下 也就是说,这个半加器的输出表达式为S=A⊕B,C=AB,逻辑电路图如下 全加器的真值表如下,其中Ain表示被加数,Bin表示加数,Cin表示低位进位,Cout表示高位进位,Sum表示本位和

    2024年02月08日
    浏览(43)
  • FPGA实现1位全加器和4位全加器

    1、基于Quartus件完成一个1位全加器的设计,分别采用:1)原理图输入 以及 2)Verilog编程 这两种设计方法。 2、在此基础上,用原理图以及Verilog 编程两种方式,完成4位全加器的设计,对比二者生成的 RTL差别;使用modelsim验证逻辑设计的正确性。 num1和num2是加数,cin是低位进

    2024年02月05日
    浏览(40)
  • FPGA——1位全加器和4位全加器的实现

    1、半加器 半加器是实现两个一位二进制数加法运算的器件。它具有两个输入端(被加数A和加数B)及输出端Y。 是数据输入被加数A、加数B,数据输出S和数(半加和)、进位C。 A和B是相加的两个数,S是半加和数,C是进位数。 所谓半加就是不考虑进位的加法,它的真值表如下 (见表

    2024年02月04日
    浏览(64)
  • Verilog学习二:设计一个一位全加器

    本部分将不再介绍Vivado工程的整体流程,将主要精力放在代码上面,具体的流程可参考:https://blog.csdn.net/crodemese/article/details/130438348 本部分代码也已上传到github:https://github.com/linxunxr/VerilogStudy 那么什么是全加器呢?我们都知道加法,即1+1=2,当个位数相加大于9时就需要进位。

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包