第一节 什么是FPGA
FPGA 的全称为 Field-Programmable Gate Array, 即现场可编程门阵列。FPGA 就是一个可以“改变”内部结构的芯片,而让这个芯片来实现怎样的功能,就需要通过编程即设计HDL,经过 EDA工具编译、综合、布局布线成后转换为可烧录的文件,最终加载到 FPGA 器件中去,改变 FPGA 内部的连线,完成所实现的功能。
单片机里面的器件、布局等是确定的(即硬件是固定的)。其他的DSP等同理。
FPGA内部的电路结构是不确定的,可以通过编程来进行改变。
单片机通过改变指令来实现预期的功能。
FPGA通过改变内部电路结构来实现预期的功能。
FPGA一般用于速度快、数据量大、精度高的场合中,如:通信接口设计、数字信号处理等。同时也作为ASIC设计的原型验证。还可以应用于一些非标场合(非标准接口),以及新型科技的试验。
相比于单片机、CPU:FPGA效率更高、功耗更低,但易于开发程度差;
相比于ASIC:FPGA具有更短的开发周期与开发难度,但成本过高、性能较差,在资源的利用率上远不及ASIC。
第二节 FPGA的基本结构
FPGA可编程的特性决定了其实现数字逻辑的结构不能像专用ASIC那样通过固定的逻辑门电路来完成,而只能采用一种可以重复配置的结构来实现。查找表(LUT)可以很好地满足这一要求,目前主流的FPGA芯片仍是基于SRAM工艺的查找表结构。
FPGA芯片说明书中可以查看该器件具体的参数指标,包含可编程逻辑模块的数量、固定功能逻辑模块(如乘法器)的数目以及存储器资源(如嵌入式 RAM)的大小等。在比较 FPGA 时,上述结构是最重要的参考指标。在最底层的可配置逻辑模块(如片上的逻辑单元)上,存在着基本的两种部件:触发器和查找表(LUT),而触发器和查找表的组合方式不同,是各个FPGA家族之间区别的重要依据,并且查找表本身的结构也可能各不相同(有 4 输入或 6 输入或其他)。
查找表(Look-Up-Table)简称为 LUT,其本质上就是一个RAM。目前 FPGA 内部中多使用4输入的LUT,每一个 LUT 可以看成一个有 4 位地址线(对应4输入)的RAM。当用户在 EDA 工具上通过原理图或HDL设计了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM 中。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查找表操作,通过地址找到对应的 RAM 中的结果,最后将其输出。
输入并进行结果的查找要明显比当场计算来的迅速。
将输入的所有可能性视为地址,将对应的输出结果与相应的地址对应起来,构成查找表。
第三节 更为复杂的FPGA结构
1985,Xilinx公司推出了第一块 FPGA 芯片——XC2064,最初的 FPGA 包含了 8×8=64 的逻辑块阵列和 85000 个晶体管,其门电路不超过 1000 个,且每个逻辑块由一个四输入的查找表和其它一些简单功能模块构成。随着技术的发展和工艺节点的进步,FPGA在容量和性能不断提高的同时,功耗却在不断的优化减少。文章来源:https://www.toymoban.com/news/detail-794331.html
在 FPGA 内部, 有着“软内核”与“硬内核” 之分。软内核是通过编程来实现的功能(软功能,只要与非门、查找表够多,就能实现)。硬内核是芯片直接实现的功能(硬功能,如时钟单元,是电路固定死的)。软内核与硬内核之间优势互补,软内核的优势在于可以在利用芯片资源的基础上利用编程设计让其完成需要实现的任何功能(注意是数字功能,不包括模拟功能)。而硬内核由于是实现固定功能的器件,因此其优势在于资源利用率高且功耗较低,占用硅片的面积也较小,并具有较高的性能。两者最重要的区别在于:与软内核相比硬内核可用于实现模拟功能,例如锁相环的倍频功能,这个功能需要在模拟电路下实现,所以这一部分是在 FPGA 内部用硬件来实现的。文章来源地址https://www.toymoban.com/news/detail-794331.html
第四节 带嵌入式处理器的FPGA
第五节 数据存储及配置方式
到了这里,关于明德扬FPGA至简设计原理与应用 第一篇 FPGA基础知识 第一章 FPGA简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!