在芯片的研发环节,FPGA验证是其中的重要的组成部分,如何有效的利用FPGA 的资源,管脚分配也是必须考虑的一个重要问题。一般较好的方法是在综合过程中通过时序的一些约束让对应的工具自动分配,但是从研发的时间段上来考虑这种方法往往是不可取的,RTL验证与验证板设计必须是同步进行的,在验证代码出来时验证的单板也必须设计完毕,也就是管脚的分配也必须在设计代码出来之前完成。所以,管脚的分配更多的将是依赖人,而非工具,这个时候就更需要考虑各方面的因素。 综合起来主要考虑以下的几个方面:
1、 FPGA所承载逻辑的信号流向。
IC 验证中所选用的 FPGA一般逻辑容量都非常大,外部的管脚数量也相当的丰富,这个时候就必须考虑到 PCB 设计时的布线的难度,如果管脚的分配不合理,那么有可能在PCB 设计时出现大量的交叉的信号线,这给布线带来很大的困难,甚至走不通,或者是即便是布线走通了,也有可能由于外部的延时过大而不满足时序方面的要求。所以在管脚分配前对 FPGA工作的环境要相当的熟悉,要对其中的信号来自哪里去向何方非常的清楚,这就按照连线最短的原则将对应的信号分配到与外部器件连线最近的 BANK 中。
2、 掌握 FPGA 内部 BANK 的分配的情况。
现在 FPGA 内部都分成几个区域,每个区域中可用的 I/O 管脚数量各不相同。在 IC 验证中都是采用了ALTERA 与XILINX系列的FPGA ,这两个厂商的FPGA中内部BANK的分配有一定的差异,这可以在设计中查阅相关的手册。下面与 ALTERA 中 Stratix II系列的 FPGA内部 BANK 的分配为例来进行说明。
图中详细说明了 FPGA 内部 BANK 的分配情况和每个 BANK 中所支持的 I/O标准。根据 FPGA中内部 BANK 的分配的情况,同时结合图 1 中信号的流向也就可以大体固定FPGA在单板中的方向,同时按照就近的原则将相关的信号分配到相关的 BANK 中,这样的方法可以完成一般信号的分配。 |