问题描述
一般问题描述:
使用OPB_DDR控制器实现Spartan-3 EDK系统时,会发生以下错误:
“错误:MDT – opb_ddr(opb_ddr_0) – C:\ system.mhs:217 – 架构’spartan3’不支持!”
数据表指出Spartan-3是受支持的架构。为什么会出现此错误?如何在Spartan-3和EDK中使用DDR内存?
解决/修复方法
Spartan-3的DDR SDRAM官方支持计划用于EDK 7.1 Service Pack 2(2005年第2季度)。
虽然OPB_DDR控制器在功能上是正确的,但根据使用情况,它可能不满足所选DDR存储器的最小时钟周期(即,不满足Spartan-3中的内部FPGA时序)。因此,此时正在从核心移除对OPB_DDR的官方支持。
可以手动重新启用对DDR控制器的支持。由于内存时钟频率较慢,并且通过设计优化的努力,可能会使用针对Spartan-3器件的不支持的OPB DDR Core:
1.将现有DDR控制器从EDK安装区域(通常为C:\ EDK \ hw \ XilinxProcessorIPLib \ pcores ) 复制到pcores目录。如果尚不存在,则在项目的根目录中创建pcores目录。
2.修改<myproject> \ pcores \ opb_ddr_v1_10_a \ data \ opb_ddr_v2_1_0.mpd 。修改ARCH_SUPPORT选项以包含spartan3,例如:
选项ARCH_SUPPORT = qrvirtex2:qvirtex2:virtex2:virtex2p:virtex4:spartan3
3.保存文件,重新启动XPS以重新加载核心,然后重建系统。
4.验证是否将有效时序约束应用于系统,并在PAR报告中或通过时序分析器满足这些约束。
请注意,必须满足DDR RAM的最低频率才能可靠运行。选择RAM器件可能有助于降低最低频率。还必须满足内部Xilinx时序约束。通过启用opb IPIF中的其他流水线级,可以改善内部Xilinx时序。
要启用其他管道寄存器:
1.将<myproject> \ pcores \ opb_ddr_v1_10_a \ hdl \ opb_ddr.vhd文件修改为“7”(最大)管道,如下所示:
– IPIF管道型号
常量PIPELINE_MODEL:整数:= 7;
2.保存文件并重新生成硬件。请注意,OPB_DDR控制器会有额外的延迟。
3.验证是否满足静态时序约束。
没有回复内容