zynq7000中ddrc的配置

原创 2016年05月31日 16:54:34

目标:为新项目中配置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提醒,其实是配置寄存器中已经存放了默认参数信息了。。。


版权声明:本文为博主原创文章,未经博主允许不得转载。

TCP/IP 协议栈和主要层

TCP/IP 协议栈和主要层TCP/IP协议栈,指的是整个四(五)层协议组(protocol suite)。TCP/IP RFCsA TCP/IP Tutorial: https://tools.ie...
  • Tyronne
  • Tyronne
  • 2016年02月19日 16:16
  • 1294

什么是线程安全和线程不安全

首先要明白线程的工作原理,jvm有一个main   memory,而每个线程有自己的working   memory,一个线程对一个variable进行操作时, 都要在自己的working   me...

zynq-7000学习笔记(十)——Linux下通过UIO配置FAST corner寄存器

PC平台:WINDOWS 10 64位 + 虚拟机Ubuntu 14.04 Xilinx设计开发套件:Xilinx_vivado_sdk_2015.4 开发板:Zed Board USB摄像头:...

ZYNQ7000 芯片Linux下的SPI接口与驱动配置

本文将介绍如何利用Vivado和petalinux开发Zynq7000系列芯片的SPI外设接口。        开发环境: Vivado 2015.4 Petalinux 2015.4   ...

【ZYNQ-7000开发之十二】中断:PS接收来自PL的中断

本篇文章主要介绍外设(PL)产生的中断请求,在PS端进行处理。 在PL端通过按键产生中断,PS接受到之后点亮相应的LED.本文所使用的开发板是Miz702(兼容zedboard) PC 开发环境...
  • RZJMPB
  • RZJMPB
  • 2016年02月25日 13:10
  • 5281

"30年---我与赛灵思FPGA的故事”:ZYNQ-7000使用总结(6) ——AXI接口简述

由 allan 于 星期五, 06/27/2014 - 17:35 发表 在前面的几个例子中,我们经常会看到AXI接口或是总线,那么AXI到底是什么呢?如果你想进行系统的了解,可以查阅X...

"30年---我与赛灵思FPGA的故事”—— ZYNQ-7000使用总结(9) ——PS和PL的通信

由 allan 于 星期二, 07/08/2014 - 13:21 发表 PS与PL通信概述 传统的SoPC设计无外乎两种方式:(1)在FPGA上设计一个软核,比如Altera的N...

【ZYNQ-7000开发之六】使用PS控制DDR3的读写

本编文章的目的主要用简明的方法对DDR3进行读写,当然这种方式每次读写都需要CPU干预,效率是比较低的,但是这是学习的过程吧。本系列文章尽可能的让每一个实验都相对独立,过程尽可能保证完整性,保证实验的...
  • RZJMPB
  • RZJMPB
  • 2015年12月25日 12:46
  • 4896

如何将zynq7000自带的ramdisk8M文件系统扩到ramdisk24M制作

由于zynq7000自带的文件系统(ramdisk)大小为8M的,在开发过程中需要移植一些库到文件系统, 所以需要给文件系统扩容,从新自己制作新的文件系统,现在把制作方法介绍如下: 1.用dd命令制作...

"30年---我与赛灵思FPGA的故事”:ZYNQ-7000使用总结(3) ——PS和PL部分配合使用

由 allan 于 星期五, 06/20/2014 - 14:37 发表 前面在《ZYNQ-7000使用总结(2)——PS部分的使用》中讲述了ZYNQ-7000中PS部分的用法,主要是对...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:zynq7000中ddrc的配置
举报原因:
原因补充:

(最多只允许输入30个字)