该解决方案描述了使用基于 UniPHY 的内存控制器的设计中删除片上终端 (OCT) 的步骤。将 OCT 从内存接口 I/O 中移除的最大动力是节省电源。请注意三件事:
- 不要在任何至少运行 300 MHz 的内存 I/O 上删除FPGA(芯片或主板)终止。
- 请勿删除信号的终止
mem_clk
。 - 删除 OCT 后,执行信号完整性模拟以检查信号质量。
以下步骤描述如何删除 OCT。这些步骤适用于:
- 适用于 Stratix® V、Arria® V 和 Cyclone® V 的 DDR3
- 适用于 Stratix V 和 Arria V 的 QDR II
- RLDRAM II(适用于 Stratix V)
在开始对项目进行修改之前,请确保您的项目已编译而无错误。
- 打开 project_name>.qsf 文件。在 Quartus® II 设置文件 (.qsf) 或分配编辑器中删除或评论终止 IO 分配。例如,评论以下行:
要评论 QSF 分配,在生产线的开头添加一个分条指示牌 (#)。set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION"
set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION” - 仅适用于 RLDRAM II 和 QDRII/QDRII:从开始删除任何 QSF 限制
set_instance_assignment -name TERMINATION_CONTROL_BLOCK”
- 开始 Quartus 编译。编译过程将无法在设计中出现一堆错误。双击以"Output Buffer atom"开头的第一个错误,然后指出 altdq_dqs2_stratixv.sv 中的输出缓冲区实例化。从该输出缓冲区实例化中移除以下连接。
- 并行管理控制
- 系列管理控制
- 动态管理控制
.parallelterminationcontrol (parallelterminationcontrol_in),
自.parallelterminationcontrol (),
根据您正在使用的内存协议,可能需要删除这些连接的多个实例。重复步骤 3,直到摆脱从"输出缓冲区凌动"开始的所有错误- 仅适用于 DDR2 和 DDR3:open altdq_dqs2_stratixv.sv。查找名称为"stratixv_pseudo_diff_out"的实例。评论一下"dtcin"定义的行。改变:
自.dtcin(delayed_oct),
//.dtcin(delayed_oct),