问题描述
用于捕获MIG输出的所有Spartan-3系列存储器设计中的数据的本地时钟方案需要布局和布线(PAR)模板布线以正确放置延迟的选通和数据位。
解决/修复方法
从MIG 2.1版本开始,可在MIG用户指南> DDR2调试指南中找到此信息。有关详细信息,请参阅MIG用户指南。
需要模板布线才能正确布线延迟选通(dqs * _delayed_col *),以及MIG Spartan-3系列DDR和DDR2 SDRAM设计中的数据(dq位)。
要正确布线数据位,必须在运行PAR时启用环境变量XIL_ROUTE_ENABLE_DATA_CAPTURE。
此环境变量在“/ par”MIG输出目录中提供的实现脚本文件(“ise_flow.bat”)中设置。
为了正确布线延迟选通,选通位于本地时钟布线上。
PAR会自动将本地时钟视为模板布线,并在不使用环境变量的情况下正确锁定布线。
数据位
通过环境变量设置的模板布线器确保数据位从PAD布线到分布式存储器,以使用本地时钟来捕获异步FIFO中的数据以写入数据,并使用全局时钟来读取数据。
这些布线需要一个模板来保证所有数据位之间的延迟保持不变。
设计完成后,将其加载到FPGA编辑器中,以可视方式验证数据位的模板布线,如下所示:
1.通过选择开始 – >程序 – > Xilinx ISE 9.1i – >附件 – > FPGA编辑器,在FPGA编辑器中打开设计。
2.选择文件 – >打开,然后浏览到设计的“.ncd”和“.pcf”文件以启动设计。
3.在某些情况下,关闭Stub Trimming将提供更好的布线图。
4.在“List1”窗口中搜索“All Nets”下拉列表中的“* dq *”。
图1. DQ放置(顶部/底部)
图2. DQ放置(左/右)
5.接下来,验证网络上的延迟是否一致。
如果您愿意,可以导出延迟信息以在Excel电子表格中查看报告。
延迟频闪
Spartan-3系列DDR / DDR2设计中的延迟选通(dqs * _delayed_col *)使用器件中可用的本地时钟资源进行时钟布线。
使用的本地布线资源取决于在MIG工具中生成期间指定的引脚布局。
具有低偏斜的全六角线位于整个器件中。
左右实现使用垂直全十六进制(VFULLHEX)线进行本地时钟布线。
顶部和底部实现使用VLONG,VFULLHEX和HFULLHEX线路进行本地时钟布线。
从本地时钟PAD到一系列LUT的PAR布线实现在XAPP768c中详细说明的方案,位于: http : //www.xilinx.com/support/software/memory/protected/XAPP768c.pdf
从最终LUT延迟的输出,延迟选通/本地时钟(dqs * _delayed_col *)将布线到所有FIFO位。
要验证模板布线器的引脚和使用情况,本地时钟的净偏差和最大延迟(dqs * _delayed_col *)必须在规范内。
要验证这些值,请打开PAR报告(.par文件)并滚动到“时钟报告”部分。
对于大多数Spartan-3系列,“Net Skew”小于40 ps,“Max Delay”大约为550 ps。
对于Spartan-3A和Spartan-3A DSP器件,“Net Skew”将小于65 ps,“Max Delay”大约为400 ps。
有关引脚布局的信息,请参阅(Xilinx答复24935) 。
然后,您可以再次使用FPGA编辑器查看本地时钟位置。
要查看延迟选通的模板路径,请在“List1”窗口中搜索“All Nets”下拉列表中的“* dqs * _delayed_col *”。
选择所有网络(ex-main_00 / top0 / data_path0 / dqs0_delayed_col0)并从右侧列中选择“hilite”。
此命令突出显示感兴趣的网络。
然后,您可以放大此突出显示的信号范围以查看位置。
如果使用本地时钟,您将看到以下两种结构之一:
图3.“ dqs * _ delayed_col *”LUT延迟元件的 本地时钟(左/右)
图4.“ dqs * _ delayed_col *”LUT延迟元件的 本地时钟(顶部/底部)
如果偏移和延迟在规范内,并且本地时钟和数据位的布局与上述数字匹配,则模板布线已正确实现。
没有回复内容