当前位置:   article > 正文

Quartus实现一位全加器_quartus全加器

quartus全加器

一.半加器及全加器原理

1.半加器

  • 真值表
ABC0S
0000
0101
1001
1110
  • 表达式

S=A⊕B

C=AB

2.全加器

  • 真值表
ainbincincoutsum
00000
00101
01001
01110
10001
10110
11010
11111
  • 表达式

Sum=Ain⊕Bin⊕Cin

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

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

1.创建项目

  • 选择File->New Project Wizard
    在这里插入图片描述

  • 设置项目路径和项目名
    在这里插入图片描述

  • 按个人需求选择芯片
    在这里插入图片描述

2.半加器原理图输入

  • 选择File->New->Block Diagram/Schematic File
    在这里插入图片描述

  • 选择元件(一个and2,一个xor,两个input,两个output)
    在这里插入图片描述

  • 原理图如下
    在这里插入图片描述

  • 编译成功后选择tool->Netlist Viewers->RTL Viewer
    在这里插入图片描述

  • 得到电路图如下
    在这里插入图片描述

  • 选择File→New->VWF
    在这里插入图片描述

  • 按如下操作添加信号
    在这里插入图片描述

  • 配置信号前需要做如下配置(tool->launch simulation library complier)
    在这里插入图片描述

  • 编辑信号并仿真
    在这里插入图片描述

  • 仿真效果如下
    在这里插入图片描述

3.全加器原理图输入

  • 选择File->Create/Update->CreateSymbolFilesforCurrentFile
    在这里插入图片描述

  • 选择File->New->Block Diagram/Schematic File
    在这里插入图片描述

  • 选择元件(两个halfadder,一个or2,三个input,两个output)
    在这里插入图片描述

  • 原理图如下
    在这里插入图片描述

  • 注意在此处需要先将fulladder置顶(Project->Set as Top-Level-Entity)再进行编译
    在这里插入图片描述

  • 电路图如下
    在这里插入图片描述

  • 编辑信号并仿真
    在这里插入图片描述

  • 仿真效果如下
    在这里插入图片描述

三.Verilog实现1位加法器

  • 创建Verilog文件
    在这里插入图片描述

  • 代码如下

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 注意编译时需要保证模块名和文件名一致,不然会报错
    在这里插入图片描述

  • 电路图如下
    在这里插入图片描述

  • 选择File→New->VWF
    在这里插入图片描述

  • 编辑信号并仿真
    在这里插入图片描述

  • 仿真结果如下
    在这里插入图片描述

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

  • Pin Planner中配置引脚
    在这里插入图片描述

  • Programmer中下载
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 效果如下
    在这里插入图片描述

五.总结

上学期接触了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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/577557
推荐阅读
相关标签
  

闽ICP备14008679号