描述
问题版本:Vivado 2020.2
已解决问题的版本:请参阅(赛灵思答复记录 75764)
本设计咨询涵盖如下 Versal DDRMC 设计:使用对应 LPDDR4 和 x8 或 x16 DDR4 组件接口的 DQS 字节组管脚交换所生成的设计。
执行 DQS 字节组交换时,根据 Versal DDRMC 架构,要求 DQS 对必须与 DQS 对进行交换,同样地,DM 管脚也必须与 DM 管脚进行交换。 在 Vivado 2020.2.2 版及所有更低版本中,原先正确遵循此要求执行交换后,会生成如下 DRC 消息。 用户在此之后如果又将 DQS 对与 DM 进行交换(此操作违反 DDRMC 管脚规则,请参阅如下示例),则此 DRC 消息会消失,且可能生成器件镜像。
正确完成交换的情况下不应生成此 DRC 消息,仅在执行错误交换后,才应生成此消息。此问题在 Vivado 2020.3 中已得到解决。
[Mig 66-441] Memory/Advanced IO Wizard core Error - [ddrmc_CH3/axi_noc_0/inst/MC0_ddrc] Strobe ports (CH3_DDR4_dqs_t[5],CH3_DDR4_dqs_c[5]) of this instance placed in nibble-0 of nibble pair(0,1) of the I/O bank 711. These ports must be placed in the other nibble of the nibble pair. Nibble pairs are (0,1)/(2,3)/(4,5)/(6,7).
[Mig 66-441] Memory/Advanced IO Wizard core Error - [ddrmc_CH0/axi_noc_0/inst/MC0_ddrc] Strobe ports (CH0_DDR4_dqs_t[6],CH0_DDR4_dqs_c[6]) of this instance placed in nibble-3 of nibble pair(2,3) of the I/O bank 702.These ports must be placed in the other nibble of the nibble pair.Nibble pairs are (0,1)/(2,3)/(4,5)/(6,7).
[Mig 66-441] Memory/Advanced IO Wizard core Error - [ddrmc_CH1/axi_noc_0/inst/MC0_ddrc] Strobe ports (CH1_DDR4_dqs_t[6],CH1_DDR4_dqs_c[6]) of this instance placed in nibble-3 of nibble pair(2,3) of the I/O bank 705.These ports must be placed in the other nibble of the nibble pair.Nibble pairs are (0,1)/(2,3)/(4,5)/(6,7).
对于 LPDDR4/X 也同样如此,给定 LPDDR4 数据通道的 DQS 字节组必须保留在该数据通道内。在 Vivado 2020.2.2 版及所有更低版本中,DRC 下并未涵盖跨 LPDDR4 数据通道的 DQS 字节组交换,由此导致允许用户生成无效的 LPDDR4/X 管脚分配。
如果 Versal ES 和量产设计原先以此错误方式执行了管脚交换,则必须在 Vivado 设计和 PCB 布局/原理图中修复管脚分配。
具有此错误管脚交换的设计将在硬件中出错,并呈现 DQS 门电路 (DQS Gate) 或写入均衡 (Write Leveling) 校准错误。
以下设计不受影响,无需复查:
注:命令、控制和地址 site 位置均已固定,无法交换。
如需了解有关如何订阅新“设计咨询”通知的更多信息,请参阅(赛灵思答复记录 18683)。
解决方案
以下管脚分配旨在演示位级别交换和字节级别交换的示例。左图显示的是有效的字节交换,其中虽已遵循 DQS 和 DM 管脚位置,但 Vivado 2020.2.2 版本及所有更低版本的工具仍会错误生成 DRC。
右图显示的是无效的管脚分配交换,但不生成 DRC 错误。
注:两个示例演示的 DQ 位交换均有效。
对于 LPDDR4/X,每个数据通道位宽均为 16 位,对于 x32 LPDDR4 组件,则有 2 条 16 位数据通道。
这 2 条通道分别以 DQ_A[15:0] 和 DQ_B[15:0] 来表示。如果存在 ECC 器件,那么还需要另一条 16 位数据通道用于 LPDDR4 ECC 组件,此附加通道以 DQ_A[31:16] 来表示。
设计仅允许将 DQS 字节组交换包含在其各自的 16 位数据通道内,且仅限在此情况下 DQS 字节组交换才有效。即,DQ_A[7:0] 对应 DQ_A[15:8],DQ_B[7:0] 对应 DQ_B[15:8],DQ_A[31:24] 对应 DQ_A[23:16]。
此 DRC 问题在 Vivado 2020.3 中已得到解决。建议升级到 2020.3 版本。
如需使用低于 2020.3 的版本,请使用本答复记录中随附的补丁,确保按正确方式生成 Vivado DRC 错误,并允许含正确管脚交换的组件设计成功完成器件镜像生成操作。