b.3 Xilinx FPGA的内部结构 ——块RAM
FPGA内嵌的存储器单元包括块RAM(BRAM)和分布式RAM。
可用于随机存取存储器(RAM)、只读存储器(ROM)FIFO或移位寄存器。
分布式RAM是基于CLB的查找表,而块RAM(BRAM)是内嵌于FPGA中的双口RAM。
图1 块RAM
b.4 Xilinx FPGA的内部结构——时钟资源
FPGA内部充斥着各种各样的连线,如果我们把这些逻辑间的互联线比喻为大城市里面密密麻麻的街道和马路,那么专为快速布线而定制的时钟布线资源则是城市里的快速路。
FPGA内部的时钟布线池也是横平竖直的矩阵式排布,意图让每一条“小路”尽快的能够找到可以就近“上高速”的“匝道”。
Xilinx FPGA内部会将时钟布线资源划分到不同的“时钟区”中,每个时钟区对应一定数量的IO口数量、逻辑资源、存储器资源或DSP slice资源,同时也会有一个CMT(Clock management tiles)相对应。
b.5 Xilinx FPGA 的内部结构 ——数字信号处理块
数字信号处理(Digital Signal Processing,简称DSP)块是Xilinx FPGA内部最复杂的运算单元。
DSP块是内嵌到FPGA中的算术逻辑单元(ALU),它由3个不同的链路块组成。
DSP块的算术链路由一个加减器连接到乘法器,再连接到一个乘累加器所组成。
图2 DSP资源
b.6 Xilinx FPGA 的内部结构 ——高速串行收发器
FPGA支持各种高速差分对,从几百MHz的普通LVDS接口,到上GHz或数十GHz的Gbit串行收发器,可以满足各种高速数据传输的需求。
通常在FPGA器件内部提供高速的串化器和解串器,以及低时延、高速率的时钟处理单元。
在Artix7系列FPGA器件中达到6.6Gb/s的GTP Transceivers有2到16个不等,能够满足一般性的应用。
普通的LVDS接口,小规模的FPGA器件中也能够提供多达几十对的差分接口,通常既可以作为LVDS接口,也可以复用为一般的IO引脚使用。
b.7 Xilinx FPGA 的内部结构 ——外部存储器控制器
FPGA的片内存储器(如BRAM)由于容量受限,所以对DDR3/DDR4等外部高速存储器的支持也成为了中高端FPGA器件必备的资源。
FPGA器件内部往往内嵌了一个多个DDR3/DDR4控制器硬核IP,包括用户接口(User Interface)模块、存储器控制器(Memory Controller)模块、初始化和校准(Initialization/Calibration)模块、物理层(Physical Layer)模块。
图3 外部存储器控制器
b.8 Xilinx FPGA 的内部结构 ——模拟数字转换模块
Xilinx FPGA器件特有的XADC(Xilinx Analog-to-Digital Converter)模块将模拟信号处理混合到FPGA器件。
XADC内部有专门的温度传感器和电压传感器,用于监控FPGA器件本身的工作状态,也提供了多达16个差分通道可复用的模拟电压采集接口。
内部的2个ADC有12bit位宽和1MSPS采样速率,可以外接精密基准电压源作为参考电压;也有专门的控制接口可以和FPGA逻辑互连,便于编程控制。
图4 XADC转换模块
评论
查看更多