FPGA 101 手把手课堂:Vivado IPI 为 Aurora 设计开放 FPGA 共享资源
时间:01-20
来源:互联网
点击:
16 信道 Aurora 设计 | ||
器件中提供的数量 | Aurora 使用的数量 | |
资源 | ||
MMCME2_ADV | 10 | 1 |
IBUFDS_GTE2 | 8 | 2 |
GTE2_COMMON | 4 | 4 |
GTXE2_CHANNEL | 16 | 16 |
为实现更好的布局以及在功耗和资源方面精心优化的解决方案,所选的四个 GT 应来自同一个 GT Guad。
如果没有共享逻辑特性,而是通过手动处理所生成的设计来满足该要求,需要花费很大精力。要想有效使用共享逻辑特性,您需要生成一个主机模式的 Aurora 内核以及其它三个从机模式的 Aurora 内核,如图 2 所示。另外,还有一些其它的系统级考虑因素,例如主机内核控制了进入从机内核的时钟,所以需要对内核复位。只有用相同的线路速率配置 Aurora 内核,才能立即实现这种配置和资源优化。表 2 定量地说明了在系统中为四个单信道设计使用共享逻辑特性所能实现的优势。
图 2–使用一个主机 Aurora 内核(左)和三个从机的共享逻辑设计
占用 12 个 GT 通道的设计
对于 7 系列 FPGA 而言,基于南北时钟的要求是如果从中间 Guad 中选择单个参考时钟源,其最多可服务 12 个 GT 通道。
让我们考虑下这种使用情况,其需要 12 个单信道设计使用尽可能少的时钟资源。
如果您将图 2 所示的“一个主机加三个从机”配置进行延伸,便可节省时钟资源。如果将这种 1+3 配置延伸为三个 Guad,那么设计一共需要六个差分时钟资源。不过,如果您选择让其中两个主机设计接受一个单端 INIT_CLK 和一个 GT 参考时钟,那么还能节省更多资源。这样我们可将该系统的差分时钟输入从六个减少至两个,从而节省 IBUFDS/IBUFDS_GTE2 资源需求(参见表 3)。设计中的 IBUFDS_GTE2 资源节省实际上还意味着可以节省外部时钟资源以及设计管脚。
表 2–在包含四条单信道的设计中使用共享逻辑所实现的资源利用率优势
具有四条单信道的设计 | ||
无共享逻辑 | 有共享逻辑 | |
资源 | ||
MMCME2_ADV | 4 | 1 |
IBUFDS_GTE2 | 4 | 1 |
GTE2_COMMON | 4 | 1 |
GTXE2_CHANNEL | 4 | 4 |
此外,还可针对 MMCM 进行类似的优化。
表 3–在包含 12 条单信道的设计中使用共享逻辑功能所实现的资源优势
具有 12 条单信道的设计 | |||
有共享逻辑(使用单端主机输入时钟) | |||
有共享逻辑(默认) | |||
资源 | 无共享逻辑 | ||
MMCME2_ADV | 12 | 3 | 3 |
IBUFDS_GTE2 | 12 | 3 | 1 |
GTE2_COMMON | 12 | 3 | 3 |
GTXE2_CHANNEL | 12 | 12 | 12 |
3X4 信道设计
假设需要 3 个四信道设计,如果没有共享逻辑特性,您可能要创建 3 个主机模式的四信道 Aurora 内核,然后对生成的设计进行手动处理,以获得最佳的时钟资源利用率。如果您能直接实现同样的结果呢?您可按图 3 所示对一个主机内核和两个从机内核进行定制,以实现此目的。
而更大尺寸(16 个或以上)的单信道 Aurora 设计就更加需要共享逻辑。有时候甚至需要 48 个单信道独立双工链路。允许的 Aurora单信道链路数量仅受所选器件的可用 GT 资源数量限制。在这种情况下,如果不有效利用共享逻辑特性,很难实现这类系统设计。
该设计覆盖 12 个 Guad,因此需要 2*12 个差分时钟资源,从电路板设计角度看,这实在是项令人生畏的艰巨任务。您可利用“12 条单信道设计”案例中所提到的技术方法,减少整个系统的差分时钟和 MMCM 需求(参见表 5)。
非对称信道和其它定制优化
在视频投影机这样的设备中,主流数据以高吞吐量单方向流动,而吞吐量较低的反向通道则用来传输辅助或控制信息。在此类应用设备中,采用全面的双工链路意味着使用更少的带宽,本质上会降低系统设计的投资回报率。这种问题的理想解决方案是:如图 4 所示,采用非对称的链路宽度以及最优的 GT 资源利用率,其中,具有较高吞吐量的数据流方向上的信道数量要多于具有较低吞吐量的数据流方向上的信道数量。
图 3–面向 3 个连续 Guad 上四信道 Aurora 设计的“1 个主机和 2 个从机”配置
由于 Aurora 内核中现有的数据流模式(单工/双工),目前只能以相同的 TX 和 RX 信道数量来配置内核。要想使两个方向的信道数量不同,您需要为每个方向生成两个 Aurora 单工内核。赛灵思应用指南 1227,“采用 Aurora 64B/66B IP 核的非对称信道设计” (XAPP1227) 中介绍了在 7 系列 FPGA 上构建非对称信道设计的方法。
另外一个有用的设计策略是 BUFG 资源优化。通常,为了实现在相同或不同线路速率下工作的多个 Aurora 内核,系统设计人员需要知道器件具体的时钟要求和限制。要想实现很多条 Aurora 链路,就需要为每条链路生成时钟。节约时钟资源会提高系统的性价比。如果系统设计具有多个模块,而且时钟资源 (BUFG) 紧张,那么应考虑用 BUFR/BUFH 代替 BUFG。建议您使用相同类型的缓冲器驱动 GT 内核的两个 TX 路径用户时钟。
表 4–3 个四信道设计的最优信道选择
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)
- FPGA可帮助搜索引擎降低功耗和碳排放(09-12)
- 基于Spartan-3A DSP的安全视频分析(05-01)
- 赛灵思新版视频入门套件加快视频开发速度(05-29)
- 赛灵思“授之以渔”理论:危机中如何巧降成本(06-04)
- 赛灵思详解新近推出的FPGA领域设计平台(12-16)