近几年来,因为现场可编程门阵列(FPGA)的运用十分灵敏,又能够无限次的编程,已遭到越来越多的电子编程者的喜欢,许多朋友都想学习一些FPGA入门常识预备进行这个职业,现在关于FPGA入门常识的书本、论坛、教程等品种繁复林林总总。下面笔者也经过搜索一些关于FPGA入门常识的材料供我们学习和参阅。
FPGA入门常识首要要从FPGA的界说开端,什么是FPGA呢,有什么效果这些都是根本需求了解的东西。FPGA是可编程器件,现在以硬件描绘言语(Verilog 或 VHDL)所完结的电路规划,能够经过简略的归纳与布局,快速的烧录至 FPGA 上进行测验,是现代 IC 规划验证的技能干流。
FPGA入门常识还应该包括FPGA作业原理、FPGA的根本特色、FPGA芯片结构等根底的常识,下面从以下几个方面来对FPGA入门常识进行简略的介绍。
FPGA作业原理
FPGA选用了逻辑单元阵列LCA这样一个概念,内部包括可装备逻辑模块CLB、输出输入模块IOB和内部连线三个部分。FPGA运用小型查找表(16×1RAM)来完结组合逻辑,每个查找表衔接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了即可完结组合逻辑功用又可完结时序逻辑功用的根本逻辑单元模块,这些模块间运用金属连线相互衔接或衔接到I/O模块。FPGA的逻辑是经过向内部静态存储单元加载编程数据来完结的,存储在存储器单元中的值决议了逻辑单元的逻辑功用以及各模块之间或模块与I/O间的联接方法,并终究决议了FPGA所能完结的功用, 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,装备完结后,FPGA进入作业状况。掉电后,FPGA康复成白片,内部逻辑联系消失,因而,FPGA能够重复运用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需求修正FPGA功用时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,能够发生不同的电路功用。FPGA是由存放在片内RAM中的程序来设置其作业状况的,因而,作业时需求对片内的RAM进行编程。用户能够依据不同的装备形式,选用不同的编程方法。
FPGA的根本特色
1)选用FPGA规划ASIC电路(专用集成电路),用户不需求投片出产,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰厚的触发器和I/O引脚。
4)FPGA是ASIC电路中规划周期最短、开发费用最低、危险最小的器材之一。
5) FPGA选用高速CMOS工艺,功耗低,能够与CMOS、TTL电平兼容。
能够说,FPGA芯片是小批量体系进步体系集成度、可靠性的最佳挑选之一。
FPGA芯片结构
现在干流的FPGA仍是依据查找表技能的,现已远远超出了从前版别的根本功用,而且整合了常用功用(如RAM、时钟办理和DSP)的硬核(ASIC型)模块。FPGA芯片主要由7部分完结,分别为:可编程输入输出单元、根本可编程逻辑单元、完好的时钟办理、嵌入块式RAM、丰厚的布线资源、内嵌的底层功用单元和内嵌专用硬件模块。
1. 可编程输入输出单元(IOB)
可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完结不同电气特性下对输入/输出信号的驱动与匹配要求。为了便于办理和习惯多种电器规范,FPGA的IOB被划分为若干个组(bank),每个bank的接口规范由其接口电压VCCO决议,一个bank只能有 一种VCCO,但不同bank的VCCO能够不同。只要相同电气规范的端口才干衔接在一起,VCCO电压相同是接口规范的根本条件。
I/O块内部结构图
典型的IOB内部结构示意图
2. 可装备逻辑块(CLB)
CLB是FPGA内的根本逻辑单元。CLB的实践数量和特性会依器材的不同而不同,可是每个CLB都包括一个可装备开关矩阵,此矩阵由4或6个输入、一些 选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵敏的,能够对其进行装备以便处理组合逻辑、移位寄存器或RAM。
4. 嵌入式块RAM(BRAM)
大多数FPGA都具有内嵌的块RAM,这大大拓宽了FPGA的使用规模和灵敏性。块RAM可被装备为单端口RAM、双端口RAM、内容地址存储器 (CAM)以及FIFO等常用存储结构。CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入 CAM中的数据会和内部的每一个数据进行比较,并回来与端口数据相同的一切数据的地址,因而在路由的地址交换器中有广泛的使用。除了块RAM,还能够将 FPGA中的LUT灵敏地装备成RAM、ROM和FIFO等结构。在实践使用中,芯片内部块RAM的数量也是挑选芯片的一个重要因素。
5. 丰厚的布线资源
布线资源连通FPGA内部的一切单元,而连线的长度和工艺决议着信号在连线上的驱动才能和传输速度。FPGA芯片内部有着丰厚的布线资源,依据工艺、长度、宽度和散布方位的不同而划分为4类不同的类别。第一类是大局布线资源,用于芯片内部大局时钟和大局复位/置位的布线;第二类是长线资源,用以完结芯片 Bank间的高速信号和第二大局时钟信号的布线;第三类是短线资源,用于完结根本逻辑单元之间的逻辑互连和布线;第四类是散布式的布线资源,用于专有时钟、复位等操控信号线。
在实践中规划者不需求直接挑选布线资源,布局布线器可自动地依据输入逻辑网表的拓扑结构和约束条件挑选布线资源来连通各个模块单元。从本质上讲,布线资源的运用方法和规划的成果有亲近、直接的联系。
6. 底层内嵌功用单元
内嵌功用模块主要指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP和CPU等软处理核。现在越来越丰厚的内嵌功用单元,使得单片FPGA成为了体系级的规划东西,使其具有了软硬件联合规划的才能,逐渐向SOC渠道过渡。
DLL和PLL具有相似的功用,能够完结时钟高精度、低颤动的倍频和分频,以及占空比调整和移持平功用。
7. 内嵌专用硬核
内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理才能强壮的硬核(Hard Core),等效于ASIC电路。为了进步FPGA功用,芯片出产商在芯片内部集成了一些专用的硬核。例如:为了进步FPGA的乘法速度,干流的FPGA 中都集成了专用乘法器;为了适用通讯总线与接口规范,许多高端的FPGA内部都集成了串并收发器(SERDES),能够到达数十Gbps的收发速度。
结束语
了解现场可编程门阵列(FPGA)的一些根本常识关于想要开发和编程用户是十分必要的。本文主要是针对初级的FPGA爱好者对 FPGA入门常识进行简略的总结,FPGA入门需求了解FPGA的作业原理、根本特色、以及FPGA芯片的构成和功用模块等各个方面。
责任编辑:gt