在前面的文章 FPGA历史及原理简介 中我们对FPGA的基本架构作了简单介绍.这里我们将较为详细地介绍EG4的架构,要学好FPGA,必须清楚地知道所用器件硬件的架构.因为verilog它毕竟叫作硬件描述语言.
EAGLE 系列器件由查找表逻辑模块( PLB)阵列构成核心资源,输入输出缓冲器分布在四边。嵌入式
块存储单元( ERAM9K)和数据信号处理模块( DSP)嵌在 PLB 中间。
EAGLE 的输入输出缓冲器( I/O Buffer)划分为 8 个组,支持单端和双端的多种电平标准。左右的
I/O 可以配置成 LVDS 发送/接收对。
EAGLE 系列内部嵌有 2~4 个多功能 PLL 块,分布在器件四角,有专门的时钟线连接到两个 PLL 输
入。 PLL 具有对时钟分频/倍频/移相等功能。
PFB 模块
可编程逻辑块( PLB)按照行/列规则排布成二维阵列,每个 PLB 包括可编程互连( Routing)和可
编程功能块( Programmable Functional Block, PFB)。 PFB 是 FPGA 的可编程功能核心。 EAGLE 器件内
部 PFB 可实现:逻辑,算术,分布式 RAM( distribute RAM), ROM 功能以及信号锁存。 PFB 内部包含 4
个 SLICE,编号 0~3。 SLICE 0,1 为 MSLICE 类型, SLICE 2,3 为 LSLICE 类型。
EAGLE PFB 内包含两种 SLICE: MSLICE 和 LSLICE。
嵌入式存储器模块(ERAM)
EAGLE 系列器件支持嵌入式存储器模块( ERAM)。 EAGLE 中包括两类 ERAM: ERAM9K 和 ERAM32K。
ERAM9K 每块容量 9Kbits,多个 ERAM9K 模块排成一列,按列分布在 PFB 的阵列中。每个 ERAM9K 的
高度和 2.25 个 PFB 相当。 4 个 ERAM9K 等于 9 个 PFB 的高度。
ERAM32K 每块容量 32Kbits,分布在 IO 空隙中。
ERAM9K 可实现:
单口 RAM/ROM
双口 RAM
简单双口 RAM(也称为伪双口)
FIFO( ERAM9K 内嵌有硬件 FIFO 控制器)
ERAM9K 模块支持的功能特色有:
9216 ( 9K) bits / 每块
A/B 口时钟独立
可单独配置 A/B 口数据位宽,真双口从 x1 到 x9,支持 x18 简单双口(一写一读)
9 或 18 位写操作时带有字节使能( Byte Enable)控制
输出锁存器可选择(支持 1 级流水线)
支持 RAM/ROM 模式下数据初始化(通过初始化文件在配置过程中对 ERAM9K 数据初始化)
支持多种写操作模式。可选择只写( Normal),先读后写( Read before Write),写穿通( Write
through)三种模式。
表 2-2-1 ERAM9K 特色
类别 | 特性 |
容量 | 9K |
配置(深度 x 位宽) | 8192 x 1、 4096 x 2、 2048 x 4、 1024 x 8 或 9、 512 x 16 或 18 |
奇偶位( Parity bits) | 8+1、 16+2 |
字节使能( Byte enable) | 有,可选择 |
输入地址/数据寄存器 | 有 |
单口模式(Single-port mode) | 支持 |
简单双口模式(Simple dual-port mode) | 支持 |
真双口模式(True dual-port mode) | 支持 |
ROM 模式 | 支持 |
FIFO 模式 | 支持 |
数据输出寄存器 | 有,可选择 |
独立数据输出寄存器使能 | 有 |
Read-during-write | 输出旧数据(read before write) 输出写数据( write through) |
工作前 RAM 初始化 | 支持 |
时钟资源
EAGLE 系列 FPGA 包含 3 种时钟资源,第一种是给核心逻辑、嵌入式存储器、 IOL 和 DSP 使用的全局
时钟( GCLK),第二种是支持高速输入/输出接口串并转换的输入输出时钟( IOCLK),第三种是支持时
钟快速输入到 IOCLK 和 PLL 输入的快速时钟。
锁相环 PLL
EAGLE 系列 FPGA 最多内嵌有 4 个多功能锁相环( PLL0~PLL3),可实现高性能时钟管理功能。每个
PLL 都能实现时钟分频/倍频/输入和反馈时钟对准/多相位时钟输出功能。
用户在使用中应关注 PLL 的 Lock 信号是否为高,同时建议用户等待输入信号稳定后,再给锁相环
进行复位以保证锁相环输出时钟信号的频率和相位。
PLL 参考时钟输入有:时钟网络输出、互连输出和内部振荡器输出。
PLL 反馈时钟输入有:时钟网络输出、内部寄存器时钟节点、互连输出、 PLL 内部反馈时钟以及相
移时钟 C0~C4。
数字信号处理(DSP)
EAGLE 器件结合了片上资源与外部接口,这有助于提高性能、减少系统成本,以及降低数字信号处
理(DSP)系统的功耗。 EAGLE 器件本身或者作为 DSP 器件的协处理器,都可用于提高 DSP 系统的性价比。
下图给出了一个嵌入式乘法器列以及相邻的逻辑阵列模块高度对应关系。嵌入式乘法器可以
配置成一个 18 × 18 乘法器,或者配置成两个 9 × 9 乘法器。每个嵌入式乘法器均由以下几个单元
组成:
乘法器级
输入与输出寄存器
输入与输出接口
输入输出逻辑(IOL)
EAGLE 器件的 IOL 逻辑支持多种工作模式。 输入输出逻辑( IOL)中的输入寄存器用来处理高速接口,将其降低为内部核心逻辑可以处理的频率。输入寄存器中均包含可配置延时单元作为数据采样处理辅助。在此基本功能基础上增强了对通用双边沿数据(GDDR)的支持。
输入输出缓冲器(IOB)
EAGLE 具有可配置高性能 I/O 驱动器和接收器,可支持种类繁多的标准接口。强大的功能集包括输
出强度和斜率的可编程控制。
每个 IOB 包含输入、输出和三态驱动器。这些驱动器可以按照各种 I/O 标准配置。差分 I/O 使
用在一个模块中的两个 IOB。
单端 I/O 标准( LVCMOS、 LVTTL、 PCI)
差分 I/O 标准( LVDS、 LVPECL)
IOB 支持上述电平标准的同时, IOB 支持以下配置项:
输出驱动能力调节
输出 Slew Rate 调节
弱上拉/下拉电阻选择配置
PCI Clamp 使能
Bus Hold 功能使能
如图所示为基本 IOB 及其与内部逻辑和器件焊盘的连接。
各 IOB 直接连接 IOL 组成输入输出逻辑对,该逻辑对包含输入和输出逻辑资源,可用于数据和
IOB 的三态控制。
EAGLE FPGA 配置模块
EAGLE FPGA 芯片有两种 IO 布局: EG4A 和 EG4X。配置是通过往芯片内部装载配置数据来实现。 EAGLE
FPGA 芯片有一部分引脚是专用配置引脚,另一部分是复用引脚, TD 软件提供复用引脚的配置功能,在
配置完成之后可以用做一般输入输出。
EAGLE FPGA 支持 5 种配置方式,分别是从动串行,从动并行,主动并行, MSPI 模式和 JTAG 配置模
式。配置模式分别由 MSEL[2:0]和 M[1:0]的模式选择信号来选择.
EAGLE 系列 FPGA 配置位流长度 4.8M~6Mbits,位流长度与 ERAM 初始化数据长度相关,需要配置芯
片容量大于或等于6M bits。配置芯片可以使用工业标准串行 SPI 接口 FLASH,比如 M25Pxx、SST25LFxxx、
S25FLxxx 等。 EAGLE FPGA 支持读命令为 0X03 的 SPI FLASH。
内嵌 ADC 模块
Eagle 内嵌有一个 8 通道 12 位 1MSPS ADC。 ADC 需要独立的 3.3V 模拟工作电压和模拟地以及一个
独立的 VREF 电压输入。 8 个通道输入和用户 IO 复用,用户实际可用通道数随芯片封装而异,当用户不
需要 ADC 时可以用作普通用户 IO,复用 IO 设置相互独立,未使用的 ADC 通道管脚可以作为普通 IO 使
用。
EG4A20NG88、 EG4X20LG144 不支持 ADC 功能。
更多细节请参考DS300_Eagle_Datasheet.pdf
没有回复内容