在 Quartus® II 软件版本 7.1 中,ALTMEMPHY 宏功能时序限制文件(以 SDC 格式)出现一些已知问题。这些问题会影响Stratix® II 设计实施多个内存控制器的时序收敛,它采用专用的 PLL 时钟输出来驱动启用内存时钟选项。要对多个 DDR 控制器(或 ALTMEMPHY 实例化)执行正确的时序分析,请在您的项目中添加一个额外的 SDC 文件,为所有 实例正确设置时钟。
在下面的示例中,设计有两个 DDR2/DDR 高性能控制器 MegaCore®实例,其中包装器名称为core1和core2。MegaWi® 插件管理器会创建两个文件,core1_phy_ddr_timing.sdc和 core2_phy_ddr_timing.sdc来约束内存接口。如果您的设计直接(使用您自己的控制器)实现了 ALTMEMPHY 宏功能,则文件名将不包括文件名的_phy部分。
该设计需要一个称为 altemphy_general.sdc 的新 SDC 文件,该文件包含以下限制:
set pll_inclk *core1_phy_alt_mem_phy_sii_inst|clk|*|altpll_component|pll|inclk\[0\]
foreach_in_collection c [get_pins -compatibility_mode ] { }
set pll_ref_clk [get_node_info -name ]
create_clock -period 10.000
set pll_inclk *core2_phy_alt_mem_phy_sii_inst|clk|*|altpll_component|pll|inclk\[0\]
foreach_in_collection c [get_pins -compatibility_mode ] { }
set pll_ref_clk [get_node_info -name ]
create_clock -period 10.000
本例展示了控制器/PHY 的两个实例。对于您的设计,创建一个对时钟正确约束的类似 SDC 文件。对于每个控制器/PHY,请更改上面 SDC 命令中的名称与您的实例名称相匹配,并更改create_clock行中的时钟周期,以匹配提供给 ALTMEMPHY 宏功能的参考时钟周期。 对于具有两个以上实例的设计,重复每个实例所需的 4 行。