10.1 EDK,MPMC v4.00.a - Spartan-3 BSB设计难以满足时序要求

问题描述

Spartan-3 BSB设计难以满足时序要求,例如Spartan-3A DSP 1800板。我该如何解决这个问题?

解决/修复方法

在从BSB生成的UCF中,MPMC部分没有正确的U_SET值集。

例如,初始UCF可能包含以下内容:

INST“* / mpmc_core_0 / gen_s3_ddr * .mpmc_phy_if_0 / infrastructure / cal_top / tap_dly / gen_no_sim.l0”RLOC = X0Y6;

INST“* / mpmc_core_0 / gen_s3_ddr * .mpmc_phy_if_0 / infrastructure / cal_top / tap_dly / gen_no_sim.l0”U_SET =“* / mpmc_core_0 / gen_s3_ddr * .mpmc_phy_if_0 / infrastructure / cal_top / tap_dly * / l0”;

...

INST“* / mpmc_core_0 / gen_s3_ddr * .mpmc_phy_if_0 / infrastructure / cal_top / tap_dly / gen_no_sim.gen_tap1 [0] .r”RLOC = X0Y6;

INST“* / mpmc_core_0 / gen_s3_ddr * .mpmc_phy_if_0 / infrastructure / cal_top / tap_dly / gen_no_sim.gen_tap

1 [0] .r“U_SET =”* / mpmc_core_0 / gen_s3_ddr * .mpmc_phy_if_0 / infrastructure / cal_top / tap_dly / gen_no_sim.l0“;

正确的UCF应该是:

INST“* / mpmc_core_0 / gen_s3_ddr * .mpmc_phy_if_0 / infrastructure / cal_top / tap_dly / gen_no_sim.l0”RLOC = X0Y6;

INST“* / mpmc_core_0 / gen_s3_ddr * .mpmc_phy_if_0 / infrastructure / cal_top / tap_dly / gen_no_sim.l0”U_SET =“delay_calibration_chain”;

INST“* / mpmc_core_0 / gen_s3_ddr * .mpmc_phy_if_0 / infrastructure / cal_top / tap_dly / gen_no_sim.gen_tap1 [0] .r”RLOC = X0Y6;

INST“* / mpmc_core_0 / gen_s3_ddr * .mpmc_phy_if_0 / infrastructure / cal_top / tap_dly / gen_no_sim.gen_tap1 [0] .r”U_SET =“delay_calibration_chain”;

修复此问题可确保MIG PHY中抽头延迟逻辑的LUT和FF位于同一片中,从而使时序结果更具可预测性。

从使用EDK 10.1,Service Pack 2的BSB生成的新设计开始,此问题已得到解决。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-08-18 20:23:11 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它