前言:
本人使用的是野火家基于 Xilinx Spartan6的开发板,以下内容仅为自己学习整理的内容。
目录
4.FPGA开发流程
1.FPGA 是什么
FPGA(Field Programmable Gate Array,简称 FPGA),译文:现场可编程门阵列,,一种主要以数字电路为主的集成芯片。
FPGA芯片可以把它叫做“可编程芯片”、“半定制化芯片”和“万能芯片”等。传统芯片是全定制的,设计好了出成品,就固定好功能,不能做更改,如果要更改的话,就得重新设计生产。但是FPGA芯片最大的特点是芯片的具体功能是在制造完成以后由用户配置决定是半定制电路,所以被称之为“可编程芯片”。就好比自己有了一堆积木,可以反复搭建自己想要的模型。
2.FPGA 的技术特点
优势(与ASIC比较 ):
1.灵活性:可以随时改变芯片功能,在产品试产前期,能够降低产品的成本与风险。
2.上市时间:设计同样一款芯片,FPGA 买来编程后既可直接使用。而采用ASIC方案除了要定制生产外可能面临某些不可预知的故障,延长开发周期。
3.成本:在小批量生产上,fpga成本低于ASIC。
优势(与单片机比较):
1.功能:在资源充足的情况下,只要单片机能实现的功能 FPGA 就一定能实现。
2.速度快、效率高、低时延
3.接口丰富
缺点(与单片机比较):
1.生产成本高:需求量大电路功能简单,选择单片机更划算
2.入门门槛较高,对外部设备要求高
3.代码相对复杂:FPGA的所有功能均依靠硬件实现,无法实现分支条件跳转等操作。
综上任何技术都是实现功能的方式,综合考量采取哪种方案即可。
3.FPGA 的应用方向
FPGA 软件方向: 以软件开发为主,开发 FPGA 在数据分析、人工智能、机器视觉等
领域的加速应用能力,主要采用 OpenCL 和 HLS 技术实现软硬件协同开发。
FPGA 硬件方向: 以逻辑设计为主,针对 FPGA 特定领域的应用设计和集成电路设
计,以及芯片验证能力。
4.FPGA开发流程
说明:分享学后体会,如有错误欢迎指出谈论,感谢!
推荐阅读:
fapa知识点扫盲:ASIC、流片、SOC、SOPC概念; FPGA应用场景与方向_CLL_caicai的博客-CSDN博客