错误Arria® 10 EMIF IP global_reset_n端口信号连接或启用系统源代码和探测 (ISSP) 可能会导致这些类型的 fitter 错误:
错误 (12934):Fitter 无法放置 EMIF/PHYLite 系统
Error (14566):由于与现有限制的冲突,Fitter 无法放置 1 个外围组件 (1 IO_AUX)。
Error (175020):Fitter 不能将属于Arria 10 个外部内存接口的逻辑IO_AUX放置ed_synth_altera_emif_in 区域 to 受限,因为该区域没有此类逻辑的有效位置。
错误 (175005):找不到位置:RST_SRC_ID(1 个位置受影响)
这些错误消息及其分辨率的常见原因如下:
1) Quartus® Prime 项目包含多个外部内存接口,这些接口被放置在同一 I/O 列中,但有不同的重置信号连接到其global_reset_n端口。
分辨率:在同一 I/O 列中放置在 I/O 组中的多个接口必须具有连接到其global_reset_n端口的通用重置信号。
2) 启用了 Quartus Prime 项目ALTERA_EMIF_ENABLE_ISSP。如果项目中实例化了多个Arria 10 EMIF 示例设计,则通常会出现这种情况。
qsf 文件限制示例是
set_global_assignment - 名称VERILOG_MACRO"ALTERA_EMIF_ENABLE_ISSP=1"
分辨率:删除上面的 qsf 限制,不要选择Arria 10 个外部内存接口 IP 诊断 选项卡 - > 示例设计 - > 启用系统内源和探测 选项。
如果按照上述指南仍然看到 fitter 错误,请检查内存接口信号是否符合引脚放置指南。
建议的起点是使用最小布局限制,让 Quartus fitter 放置其余的接口信号,然后再优化引脚。
建议的最小布局限制包括:
- 一个地址信号、PLL 参考时钟和为地址/命令信号选择的 I/O 组中的 RZQ 引脚。
- 内存数据总线信号选定的 I/O 组中的 DQS 信号。
有关引脚放置的更多信息,请参阅外部内存接口手册中的以下部分:
第 2 卷 第 1 章 - Arria 10 个外部内存接口 IP 的指南
第 3 卷 第 2 章 - DDR4 外部内存接口实施示例(其他内存接口协议适用类似规则)。