由于 Quartus® II 软件 12.1 版及更高版本存在一个问题,如果在未共享 OCT 的情况下实例化了多个基于 UniPHY 的内存控制器,拟合器可能会将每个接口的mem_reset_n引脚分配给一个 OCT 控制模块。
这将导致错误,因为只有一个 OCT 控制块可以驱动 I/O 组。
要验证这是否是问题所在,请在编译报告中转至 Fitter -> 资源部分 -> 输出引脚,然后滚动至具有mem_reset_n信号的行。向右滚动并验证引脚分配给哪个 OCT 控制块。
要变通解决此问题,请在 .qsf(Quartus II 设置文件)中创建一个实例赋值,并对每个mem_reset_n信号进行以下赋值:
set_instance_assignment -name TERMINATION_CONTROL_BLOCK“<端接控制块>” -到<重置引脚名称>