ZYNQ FPGA架构

    简化的FPGA基本结构由6部分组成,分别是:可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核,如下图所示

每个单元的基本概念介绍如下

一、可编程输入/输出单元

    输入/输出单元简称IO单元,它们是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配需求,为了使FPGA具有更灵活的应用,目前大多数FPGA的IO单元被设计为可编程模式,即通过软件的灵活配置,可以适配不同的电气标准与IO物理特性;可以调整匹配阻抗特性、上下拉电阻、以及调整驱动电流的大小等;常见的电气标准有LVTTL、LVCOMS、SSTL、HSTL、LVDS、LVPECL和PCI等

    ZYNQ上的通用输入/输出功能(IOB)合起来被称作SelectIO资源,它们被组织成50个IOB一组,每个IOB有一个焊盘,是与外部连接来做单个信号的输入或输出的。每个IOB还包含IOSERDES资源,可以做并行和串行数据的可编程转换

二、基本可编程逻辑单元

    基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。比较经典的基本可编程逻辑单元的配置是一个寄存器+一个查找表(LUT Look Up Table),但是不同厂商的寄存器与查找表也有一定的差异,而且寄存器与查找表的组合模式也不同。

    ZYNQ的FPGA内部查找表为6输入,查找表一般完成纯组合逻辑功能;FPGA内部寄存器结构相当灵活,可以配置为同步/异步复位或置位,时钟使能的触发器,也可以配置成锁存器,FPGA依赖寄存器完成同步时序逻辑设计。

    ZYNQFPGA中的可编程逻辑单元叫CLB(Configurable Logic Block 可配置逻辑块),每个CLB里面包含两个逻辑片(Slice);每个Slice由4个查找表、8个触发器和其他一些逻辑所组成

    CLB是逻辑单元的最小组成部分,通过可编程互联连接到其他类型的资源。每个CLB里面包含两个逻辑片,并且紧邻一个开关矩阵,如图所示

三、嵌入式块RAM

    FPGA内部嵌入可编程RAM模块,大大地拓展了FPGA的应用范围和使用灵活性。ZYNQ的FPGA里的块RAM,可以实现RAM、ROM和先入先出FIFO缓冲器,每个块RAM可以存储最多36KB的信息

    需要补充的一点是,除了块RAM,还可以灵活地将LUT配置成RAM、ROM、FIFO等存储结构,这种技术被称为分布式RAM。

四、丰富的布线资源

    布线资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。可分4类不同的类别

第一类是全局布线资源,用于芯片内部全局时钟和全局复位/置位的布线;

第二类是长线资源,用以完成芯片BANK间的高速信号和第二全局时钟信号的布线;

第三类是短线资源,用于完成基本逻辑单元之间的逻辑互联和布线;

第四类是分布式的布线资源,用于专有时钟、复位等控制信号线

五、底层嵌入功能单元

    底层嵌入功能单元的概念比较笼统,这里我们指的是那些通用程度较高的嵌入式功能模块,比如PLL、DLL、DSP、CPU等

六、内嵌专用硬核

    这里讲的内嵌专用硬核主要指那些通用性相对较弱,不是所有FPGA器件都包含硬核;例如XADC,它就是一个硬核,包含两个模数转换器ADC、一个模拟多路复用器、片上温度和片上电压传感器等

基本架构介绍完,来看下整体示意图

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注