当前位置:   article > 正文

FPGA编程入门_fpga如何编程

fpga如何编程

1、利用Quartus输入原理图实现一个1位全加器的设计

1、实现半加器输入

1、创建项目
点击file->NEW Project…->Block Diagram/Schematic File
自命名
2、输入下面的设备
点击以下两个图标,加入and2,rox和input,output
在这里插入图片描述
完成下列图标

在这里插入图片描述
3、保存,编译
在这里插入图片描述
4、查看电路图
通过tool->Netlist Viewers->RTL Viewer,查看电路图
在这里插入图片描述
5、仿真
创建一个向量波形文件,选择菜单项 File→New->VWF
在这里插入图片描述
点击Edit->insert->…->node…
在这里插入图片描述
编辑信号,仿真
如出现错误,则需要进行配置
选择tool->launch simulation library complier
在这里插入图片描述
功能仿真结果
在这里插入图片描述
时序仿真结果
在这里插入图片描述

2、全加器原理输入

1、将设计项目设置为可调用的元件
在打开半加器原理图文件half_adder.bdf的情况下,选择菜中File中的Create/Update→CreateSymbolFilesforCurrentFile项,即可将当前文件h_adder.bdf变成一个元件符号存盘,以待在高层次设计中调用
然后,点击OK
2、选择File->New,进入后选择Block Diagram/Schematic File
在这里插入图片描述
3、选择原件
选择half_adder和or2原件组成下图
在这里插入图片描述
保存文件,并编译
通过tool->Netlist Viewers->RTL Viewer,查看电路图
在这里插入图片描述
3、仿真实现
创建一个向量波形文件,选择菜单项 File→New->VWF
操作如之前一样
功能仿真结果
在这里插入图片描述
时序仿真结果
在这里插入图片描述

2、利用Verilog实现1位加法器

1、创建Verilog文件

在这里插入图片描述

2、写入代码

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

3、保存并编译

在这里插入图片描述

4、查看RTL

在这里插入图片描述

5、仿真实现

如前文,创建一个波形向量文件
然后,编辑输入信号
在这里插入图片描述
启动仿真。

6、结果

功能仿真结果
在这里插入图片描述
时序仿真结果
在这里插入图片描述

3、下载测试

1、输入原理图

1、将设计项目设置为顶层文件
在这里插入图片描述

2、配置引脚

使用3个SW作为输入信号,2个LED作为输出信号
在这里插入图片描述

3、下载

在这里插入图片描述

4、结果效果

通过拨动SW,观察LED的亮灭的效果,发现SW开表示1,关表示0,LED亮表示1,灭表示0。最终,验证的结果为跟其真值表相吻合。

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

闽ICP备14008679号