FPGA 引脚信号的分配原则与需要考虑的主要因素

2017-08-18 86 0

现在的 FPGA 正变得越来越复杂,向引脚分配信号这项曾经很简单的任务也变得相当繁复。下面这些用于向多用途引脚指配信号的指导方针,有助于设计师按“从约束最多到约束最少”的顺序提前考虑信号分配,并减少反复的次数。这里有一个前提,即假定设计师已经根据设计的大概规模和信号要求确定了目标器件范围和型号;对以下每一步都应在考虑单端信号之前优先考虑差分对信号。

一、信号分配的基本顺序

最先分配那些只能在特定引脚上工作的特殊信号,正常情况下是指串行 I/O 信号和全局时钟信号;其次分配大型和/或高速信号总线,特别是那些要跨越多个库(bank)或区域的信号。如果总线需要局部时钟,那么就要考虑具有更多局部时钟引脚的库或区域,并先分配局部时钟。

如果针对 FPGA 器件采用了多种 I/O 标准,设计师还必须先考虑将 I/O 信号映射到库/区。这一步需要慎重考虑,因为许多 I/O 标准和参考电压是不兼容的;一些 I/O 标准要求在特殊引脚上输入参考电压,使这些引脚不能再用于一般用途。将高速输出和双向信号分开分配,在一定程度上可避免同时开关输出噪声(SSO)问题。

第三,采用与第二步相同的基本规则分配速度较慢、约束较少的总线,但不必过多考虑 SSO 等问题;第四,最后完成个别信号的分配。如果只剩下少量引脚,或在第一次反复时用完了所有的引脚,可以考虑选用具有更多 I/O 数量的下一种器件,因为根据市场情况很可能还会临时增加某些功能,而重新做一遍分配过程对设计进度不利。

在以上每一步中,都要建立含有正确信号分配和 I/O 标准的约束文件,以及含有 I/O 设计部分的 HDL 文件,然后再开始布局和布线,因为按从最多约束信号到最少约束信号的顺序可以更好地发现错误。

二、引脚分配需要考虑的主要因素

在芯片研发环节,FPGA 验证是其中的重要组成部分,如何有效利用 FPGA 资源、如何进行管脚分配也是必须考虑的重要问题。较好的方法是在综合过程中通过时序约束让对应的工具自动分配,但从研发的时间段上考虑,这种方法往往不可取:RTL 验证与验证板设计必须同步进行,验证代码出来时验证单板也必须设计完毕,也就是管脚分配必须在设计代码出来之前完成。因此管脚分配更多依赖人而非工具,需要综合考虑各方面因素。

1. FPGA 所承载逻辑的信号流向

IC 验证中所选用的 FPGA 一般逻辑容量都很大,外部管脚数量也相当丰富,这时必须考虑 PCB 设计时的布线难度。如果管脚分配不合理,PCB 设计时可能出现大量交叉的信号线,给布线带来很大困难甚至走不通;即便布线走通,也可能由于外部延时过大而不满足时序要求。因此在管脚分配前要对 FPGA 的工作环境相当熟悉,清楚其中的信号来自哪里、去向何方,按照连线最短的原则把对应的信号分配到与外部器件连线最近的 bank 中。

2. 掌握 FPGA 内部 bank 的分配情况

现在 FPGA 内部都分成几个区域,每个区域中可用的 I/O 管脚数量各不相同。IC 验证中常用的是 ALTERA 与 XILINX 系列 FPGA,这两个厂商的 FPGA 内部 bank 分配有一定差异,设计时需查阅相关手册。图 1 以 ALTERA Stratix II 系列 FPGA 内部 bank 的分配为例,详细说明了内部 bank 的分配情况以及每个 bank 所支持的 I/O 标准。

FPGA 引脚信号的分配原则与需要考虑的主要因素

图 1 FPGA 内部 bank 的分配及所支持的 I/O 标准

根据 FPGA 内部 bank 的分配情况,同时结合信号的流向,就可以大体固定 FPGA 在单板中的方向,并按就近原则把相关信号分配到相关的 bank 中,从而完成一般信号的分配。

3. 掌握所选 FPGA 每个 bank 支持的 I/O 标准

FPGA 内部每个 bank 所支持的 I/O 标准不尽相同,因此管脚分配时要把支持相同标准的管脚集中到一个 bank 中,因为 FPGA 中同一个 bank 一般不同时支持两种 I/O 标准,当然也有例外,这就需要查阅相关 I/O 标准所要求的工作条件。

4. 关注特殊信号的管脚分配

这里的特殊信号主要是指时钟信号与复位信号,或者一些要求驱动能力较高的信号。时钟信号一般都要求分配到全局时钟管脚,这样获得的延迟最小、驱动也最强;复位信号因为要求同步性好、驱动能力强,一般情况下也从全局时钟管脚送入。分配时钟时,根据时钟数量的多少,策略差别很大,也需要重点关注,需要查阅相应的手册看哪些时钟分别能到达哪些区域。一般时钟都是差分时钟,如果所用不是差分时钟,就要注意 P 端与 N 端一般不能同时分配给不同的时钟信号:成对的时钟如果同时采用,就不能到达相同的区域,因为到达相同区域的时钟线只有一根。所以在时钟较少时,成对的 P、N 端最好不要同时使用,只选择 P 端或 N 端即可避免冲突。

5. 兼顾信号完整性的考虑

分配中常常出现总线分配的情况,而大量总线又可能同时翻转,由此带来一系列信号完整性问题,因此在管脚分配时应尽量把大量同时翻转的信号分开。

相关文章

压敏电阻的参数、特性与应用
基于 STC12C 与 SIM300 的智能家电防盗系统电路设计
基于 nRF24L01 与 DHT11 的无线温湿度测试系统电路设计
电冰箱电子温控器的原理与半自动除霜电路
基于 586-Engine 的无人机飞行控制器电路设计
三极管开关电路的改进接法:加速电容、图腾柱与驱动电路

发布评论