FPGA的IO选择——最短路径原则

关于FPGA的IO选择,前段时间在教科书上了解到这样一个说法:

一个优秀的FPGA IO布局设计应将用于传输高速多位宽信号的IO口(估计是指600MT/s以上)布置在芯片左右侧的Bank内;而将传输低速控制信号的IO口(如:AD/DA、DDS、PWM、普通SPI、URAT和开关量信号等)布置在芯片上下侧的Bank内。

这是因为在FPGA内BRAM和DSP乘加器都是自上而下呈条带状分布的,在水平方向上进行数据的传输和处理可以实现布线的“最短路径”,从而获得最低的延迟,提高设计的时序性能。

           

                                                       图 1 Spartan-6 LX16 FPGA内部资源布局

                                                        图 2 从IO到内部逻辑数据流动的最短路径示意图

查阅数据手册找到引脚分布图,又在Bank 0和Bank 2上发现了一系列特殊的多用途引脚,D0~15和A0~15,但经过进一步查阅后发现此类引脚和上述数据传输应用无关,而是专门用于上电后配置FPGA的地址和数据引脚。

                                     

                                                                  图 3 Spartan-6 GSC234封装的引脚分布

                         

在Alinx开发板教程的SPI Flash实验中,FPGA与Flash的SPI总线连接IO的就选用了位于Bank2的多功能IO(D0~D15)。而由于SPI是串行总线,只用到了4个数据IO口。

继续探讨,在教程的AD/DA试验中,又只用了FPGA位于Bank2的普通IO输出50MHZ的数据,驱动DA芯片输出100KHz的正弦信号。此外,还发现ISE提供的DDS IP核仅支持正弦信号的输出,无法满足PQMSAM的需求!最后,即便是在具有高速传输要求的并串转换LVDS试验中,也只是调用了Bank2的普通IO进行串行数据的输出!

然而,在DDR3的教程中,其调用的MIG IP核则又使用了Bank 1和Bank 3上的大量普通IO口进行数据的传输。由此可见,即便是普通的IO也具有足够高的速度(从MIG配置中可了解到,IO总线的时钟最高可达333.33MHz)(表 1而关于MIG对Bank的选择,想必也是因为在这两个Bank附近存在MCB模块,而同时也考虑了前文所述的“最短路径”原则吧!

                                                  

                                                                           图 4 MGI IP核的Bank选择

                                        

                                                                    图 5 MGI IP核的DDR3接口IO约束

                                                                     表 1 DDR SDRAM速率性能对比

                         

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值