zynq7000中ddrc的配置

目标:为新项目中配置ddrc参数,使ddr能正常工作

工作环境:Win7sp1-64bit

工具:Vivado2015.4

1. 问题简介

       使用zynq7000系列SoC时,若使用DDR需对DDRC进行配置。Xilinx预设了几乎全是镁光的DDR芯片参数,因此若项目使用的就是镁光ddr,memory时序配置无需考虑,配置的只有pcb延时部分。
        Xilinx官方AR#46778(http://china.xilinx.com/support/answers/46778.html)指出了ddr延时由及trace lengths和package length两部分组成,前者对应ddrc中Length,后者对应Package Delay(Vivado)/Package Length(XPS)。
对于package length,Vivado或XPS均提供了依据所选芯片默认提取的参数(其实可以不用修改),但对有强迫症的童鞋(比如me)还是希望能有个详细的说明,但很不幸,Xilinx官方并未提供相关手册说明每个pin的package length,但我们可以通过Vivado的write_csv tcl命令得到

2. package length获取

这里举个例子,对ZedBoard上xc7z020clg484-1器件提取其参数

步骤:

a. 在Vivado下生成工程,并建立block design,添加zynq系统,使用ZedBoard预设参数。由于不存在PL部分,因此去除无用的PL时钟和连线,设置为顶层HDL

b. RTL Analysis -> Open Elaborated Design

c. 在Tcl Console(屏幕下方)中输入 write_csv C:/test.csv,这就在C盘输出了test.csv。这里有个bug,csv表里的Min Trace Delay和Max Trace Delay的单位其实是mil而不是ps

3. 实际工程应用

        上面那个表其实没啥用,因为vivado/xps其实都提供了默认package length,Xilinx的默认Propagation Delay(inch/ps) 是160,而镁光DDR Datasheet里是6.5ps/mm,即165.1inch/ps(按1inch=25.4mm)也差不多。
因此,需要填的其实也就是Length那一项(pcb上线长)。
此外,关于DRAM Training提供了3个算法,一般就都打开吧,能帮着计算延时参数,这时候上面提供的参数就作为搜索的初始值存在了!
我试过分别关闭DRAM Traing、不提供Length、不在最佳工作频率(如1066MHz)等措施,其实当pcb足够流弊时都不是问题(笑)huyanjackson提醒,其实是配置寄存器中已经存放了默认参数信息了。。。


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tc_xjyxhd/article/details/51547190
文章标签: ZedBoard zynq
个人分类: FPGA
相关热词: zynq7000
上一篇projectne10向ZedBoard移植
下一篇Linux内核模块编程
想对作者说点什么? 我来说一句

zynq-7000芯片综述

2014年05月11日 621KB 下载

没有更多推荐了,返回首页

关闭
关闭