1. 概述
FPGA(Field Programmable Gate Array:现场可编程逻辑门阵列),是一种可编程的集成电路,通过对芯片中门电路进行编程,实现相应的逻辑功能,进而实现相应的电气功能。FPGA具有很大的灵活性,行业应用广泛,如通信、安防、工控、国防军工等,有大量的电气设备都使用到FPGA芯片。
2. FPGA调管脚的目的
PCB设计过程中,通过调整FPGA的IO管脚,实现线路短、顺畅,保证信号有更佳的层面分配、更好的电气性能…,从而保证更好满足板厚要求、层数要求、阻抗要求,降低生产成本等。
3. 调管脚的一般原则(调管脚上网络)
a) 专用管脚不能调,如Config部分管脚;IO管脚可以交换,见图1.
图1 配置管脚
b) 同电压bank的IO可以交换管脚,不同电压bank的IO不能交换管脚。 c) 交换管脚时,优先在同一bank内进行,其次是bank间。
d) 全局时钟只能在全局时钟之间交换管脚,不能和IO交换管脚上网络。
e) 差分线调管脚时需要注意:原则上P对P、N对N,且是一对一对交换,不能一对
差分的两根线分别交换到其他两队差分的各一根线。 f) 在布线前,把自己的交换需求、交换原则和客户沟通清楚。
g) 交换管脚后,需要客户确认并更新原理图;PCB设计师需要根据更新后的原理图进
行网表更新,并核对。
1
4. Bank划分
做完扇出后,根据原理图,对bank进行物理区分,建议在PCB中分出区域,便于识别。如图2所示,对将要进行调管脚的bank进行了“分割”,每个区域对应一个bank。
图2 bank划分
2
5. 对bank中管脚基本功能的认知与分析
FPGA的管脚通常可以实现多种逻辑功能,在不同应用下,要求有所不同。例如图3所示:
a. 如果都用作普通IO,管脚是没有区别的;
b. 如果是分配给DDR3,那么DQS信号就需要放在专用的管脚上来; c. 如果使用差分,需要注意对应的P和N,除非客户说明没区别。
d. MRCC是全局时钟,可为本bank和相邻bank提供时钟,srcc是局部时钟,只
能供本bank。时钟是输入,如果bank需要工作时钟,那么时钟只能分配在时钟管脚上。
e. 如果有其他功能,分析方式类似。
图3 FPGA IO功能
3
6. 去耦电容摆放
通常每个bank都会对对应的电源放置去耦电容,去耦电容摆放时,严格按照bank进行分配和摆放;尽量不要出现“混用”的情况。
例如图4所示,去耦电容靠近对应bank的电源管脚摆放,不用出现混用情况。
图4 FPGA滤波电容
4
7. 特殊要求处理注意事项
a) 赛灵思高速bank的校准电阻两端出线要等长;如果使用了GTX信号,严格按要求
等长;如果没有使用GTX信号,优先等长,没有做等长也不会有问题。如图5、图6所示:
图5 校准电阻
图6 校准电阻走线
b) FPGA上可能不止一个校准电阻。对于大规模FPGA,对多个校准电阻的处理方式要
求一样。
c) 如果FPGA有pin delay,在等长设时需要加上pin delay信息。根据目前情况,
Xilinx、Altera的FPGA都有过pin delay的要求。具体设计时,和客户沟通确认。
5
8. 其他:
a) FPGA调管脚出线比较多时,要充分利用走线通道,通道使用率越高越好,见图7。
图7 FPGA走线通道
b) 多片FPGA,相同功能模块时,期望每块的FPGA调管脚方式一样(方便调原理图);
如下图,相同模块,出线方式一致,可以方便布线、调管脚、更新原理图,编写FPGA功能等。
图8 多块相同功能FPGA
c) 有些情况下,功能已经固定,客户不期望调整管脚,特殊情况除外。例如,不调会
导致增加多层,成本的上升无法接受;
综述
对于使用了FPGA的项目设计,布线前要做好规划,比如如何调管脚,摆放电路模块等,将FPGA在PCB设计中的优势发挥出来。
6
因篇幅问题不能全部显示,请点此查看更多更全内容