可编程输入/输出单元简称I/0单元,是芯片与外界电路的接口部分。这部分单元完成不同电气特性下对输入/输出信号的驱动与匹配要求。为了便于管理和适应多种电气标准,FPGA的IOB被划分为若干个组(bank),每个bank的接口标准由其接口电压决定,个bank只能有一种接口电压,但不同bank的接口电压可以不同。只有相同电气标准的端口才能连接在一起,电压标准相同是接口标准的基本条件。通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻,还可以调节信号的时延。目前,I/O口的频率也越来越高。
CLB是FPGA内的基本逻辑单元,是FPGA完成各种需求功能的最基础单元。CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布式ROM。
时钟信号是时序逻辑电路里最重要的信号(没有之一),因此,业内很多FPGA均提供数字时钟管理。先进的FPGA提供数字时钟管理和相位环路锁定。相位环路锁定能够提供精确的时钟,且能够降低抖动,并实现过滤功能。
大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)及FIFO等常用存储结构。CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有广泛的应用。除了块RAM外,还可以将FPGA中的LUT灵活配置成RAM、ROM和FIFO等结构。在实际应用中,芯片内部的块RAM的数量也是选择芯片的一个重要因素。
单片块RAM的容量和位宽有限,因此可以将多片块RAM级联起来形成更大的RAM,此时FPGA内部RAM的最大规格只受限于芯片内部的块RAM的数量。
布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别。第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;第二类是长线资源,用以完成芯片Bank间的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式的布线资源,用于专有时钟、复位等控制信号线。
在实际中,设计者不需要直接选择布线资源,布局布线器可自动地根据输入逻辑网表的拓扑结构和约束条件选择布线资源来连通各个模块单元。从本质上讲,布线资源的使用方法和设计的结果有密切、直接的关系。
内嵌功能模块主要指DLL(Delay Locked Loop,延时锁相环)、PLL(Phase Locked Loop,相位锁相环)。
内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(Hard Core)。为了提高FPGA的性能,芯片生产商在芯片内部集成了一些专用的硬核。例如,为了提高FPGA的乘法速度,主流的FPGA中都集成了专用乘法器;为了其他通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。”
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删