MIG v2.2  – 为什么Spartan-3代DDR / DDR2 SDRAM设计需要环境变量“XIL_PAR_ALIGN_USER_RPMS”,是否可以将其删除?-Altera-Intel社区-FPGA CPLD-ChipDebug

MIG v2.2 – 为什么Spartan-3代DDR / DDR2 SDRAM设计需要环境变量“XIL_PAR_ALIGN_USER_RPMS”,是否可以将其删除?

问题描述

Spartan-3系列DDR / DDR2 SDRAM MIG设计包括物理层内的抽头延迟电路;有关详细信息,请参阅 Xilinx XAPP454 ):“用于Spartan-3系列FPGA的DDR2 SDRAM接口”: http//www.xilinx.com/support/documentation/application_notes/xapp454.pdf

适当的抽头延迟实现要求将电路逻辑放在一列中。为了强制实现工具始终将电路放在一列中,MIG v2.2设置了XIL_PAR_ALIGN_USER_RPMs环境变量。这是在位于生成的MIG输出的“par”目录中的ise_flow.bat脚本文件中设置的。 注意: MIG v2.3设置RLOC_ORIGIN约束而不是使用XIL_PAR_ALIGN_USER_RPMS环境变量。

解决/修复方法

如果未使用XIL_PAR_ALIGN_USER_RPMs环境变量,则必须创建RLOC_ORIGIN约束。此约束的值取决于MIG GUI中设置的system_clock存储区选择。 MIG允许system_clocks放置在顶部或底部库中。

顶级Bank选择

MIG输出UCF在cal_ctl上包含AREA_GROUP约束。此约束的RANGE中的第一个值是添加的RLOC_ORIGIN约束中的值。以下是MIG输出UCF的示例AREA_GROUP: Bottom Bank Selection

MIG输出UCF在cal_ctl上包含AREA_GROUP约束。要计算RLOC_ORIGIN约束,请取AREA_GROUP RANGE中的第一个值,并将10添加到X坐标。以下是来自MIG输出UCF的示例AREA_GROUP: 验证抽头延迟电路布局要验证tap_dly电路的放置,请按照下列步骤操作:

2.从位于左上角的列表窗口中选择“布线网络”。这显示了设计的所有布线网名。

3.在“名称过滤器”窗口中输入“* tap_dly * / tap *”以选择tap_dly链。

4.选择显示的所有网络,然后单击“名称过滤器”窗口右侧的“应用”按钮。

5.放大阵列窗口中突出显示所选路径的区域。

如果适当约束,逻辑将位于四个连续CLB中的单个列中。这表明RLOC_ORIGIN是正确的。

以下屏幕截图显示了tap_dly电路正确放置的示例:

注意:上面显示的层次结构和命名约定是指MIG生成的设计。应考虑设计层次结构和命名约定的任何更改。

请登录后发表评论

    没有回复内容