由于 Quartus® II 软件版本 10.1 及更高版本出现问题,针对Arria® II GZ EP2AGZ225 设备的设计可能无法成功放置内存。这种故障可能会对块类型设置为 Auto 的大型内存出现。Quartus II 集成合成可能会错误地将这些内存划分为适合 EP2AGZ225 设备中不可用的 M144K 模块大小。出现此故障时还附带以下消息:
Error (170039): Cannot place 32 RAM cells or portions of RAM cells in the design
Info (170038): Cannot place following RAM cells or portions of RAM cells -- a legal placement which satisfies all the RAM requirements could not be found
要解决此问题,使用以下方法之一将内存定位为 M9K(或其他内存类型):
- 如果内存是使用 MegaWielectd 插件管理器创建的,选择 M9K 以选择 内存模块类型是什么?
- 如果内存是从 VHDL 或 Verilog HDL 代码中推断的,请使用带有"M9K"值的合成属性 ramstyle。 请参阅 Quartus II 手册 Quartus II 集成合成 (PDF) 章节,了解有关 ramstyle 属性的详细信息。
- 要针对 M9K 内存的特定实例,将以下分配添加到您的 Quartus II 设置文件 (.qsf):
set_parameter -name RAM_BLOCK_TYPE M9K -to ""
此问题计划在 Quartus II 软件的未来版本中解决