此问题已在 Quartus® II 软件版本 7.2 Service Pack 1 (SP1) 中解决。
如果您在仿真 ALTMEMPHY 或 DDR 或 DDR2 SDRAM 高性能控制器的 VHDL 实例,您可能会收到"已达到的迭代限制"或"故障:--- SIMULATION FAILURE"错误消息,您将无法正确模拟您的系统。Stratix III 或 Cyclone III 设备有时会发生这种情况,但Stratix II、HardCopy® II、Arria® GX 或Stratix II GX 设备会发生。 要解决此错误,您需要修复 ALTMEMPHY VHDL 模拟网络列表,如下所示:
1. 找到包含您的 _phy.vho 文件的目录,此文件将位于您创建 ALTMEMPHY Megafunction 的目录中,该目录包含所需的所有 HDL 文件。
2. 下载此解决方案附带的 tribus_del.pl 文件 ,并将其复制到计算机上任何合适的路径。 此路径应在以下说明中提及为。
单击 此 处下载 tribus_del.pl 文件。
3. 从命令窗口或 shell(Windows 用户选择 开始>所有程序> 附件>命令提示符), 将目录更改为包含您的 _phy.vho 文件的目录。 这应该位于您创建 DDR 或 DDR2 SDRAM 高性能控制器或 ALTMEMPHY 宏功能的目录中。
4. 确保已将 PERL 安装在计算机上,并通过搜索路径访问。 (Windows 用户可能希望从 www.cygwin.com 或 win32.perl.org 安装 PERL。 Linux 用户的发行版本中可能包含了 PERL。)
5. 使用以下内容运行脚本:
对于 CIII 设计:>perl -f /tribus_del.pl _phy.vho
对于 SIII 设计:>perl -f /tribus_del.pl -d _phy.vho
6. 脚本将运行,生成一些输出(并将制作 .vho 的 .bak 副本,如果需要),该副本将以类似以下报告结束:
[tribus_del] tribus_del已成功终止:
[tribus_del] 发现 12 个实例。
[tribus_del] 21 字符串替换。
确切的数字将取决于您的内存接口的宽度和时钟数量。tri_bus实例的数量由:
DQ 引脚数 DQS 引脚数量 DQSN 引脚数量 MEM_CLK引脚数 MEM_CLK_N 针数
字符串替换数量应为tri_bus实例的一到两倍。
7. 现在重新运行模拟,模拟现在应该会拿起新的 _phy.vho 文件并成功运行。