DDR3 由排(Rank),体(Bank),行(Row),列(Column)组成的四维结构。

Arria10是第一批支持ddr4的altera

Arria10与老器件相比的新结构

(1)  更多的硬(核)件资源

硬phy

用于校准的硬Nios II处理器

一些协议还有硬核控制器

(2)  专门的硬件资源实现EMIF,包括快速IO逻辑和专门的时钟结构

(3)  高的时序性能使时序收敛变的简单

Arria10实现外部内存接口的独特的架构性特征

在老的器件中IO里的大部分PHY接口和读写通路都是硬的,但是控制器和校准算法是软逻辑实现的。在第10代器件一些内存协议的整个接口,除了访问内存的用户逻辑,都是用器件的硬资源。

Arria10最多有4个列,中间两列是IO,两边两列是高速收发器。每个列中最多达13个Banks

TheI/O subsystem provides the following features:
• General-purpose I/O registers and I/O buffers
• On-chip termination control (OCT)
• I/O PLLs for external memory interfaces and user logic
• Low-voltage differentialsignaling (LVDS)
• External memory interface components, as follows:
• Hard memory controller
• Hard PHY
• Hard Nios processor and calibration logic
• DLL

 IO列

Arria 10 EMIF Architecture: I/O Bank

每个bank连接到48 IO个脚,48个IO管脚被分为4个IO lanes(12 IO per lane),每个Lane包括标准的单端或者差分GPIO Buffer逻辑,SERDES和动态CPA电路也一样。

每个Bank包含自己的PLL和独立的硬内存控制器块。硬内存控制器块包含实现内存接口所需要的所有资源。这个包括控制本身,校准逻辑,DLL和CPA电路。

硬内存控制块包含:

Controller

Sequencer

DLL

Clock phase alignment(CPA)

在多Bank接口中,只有一个Bank的的内存控制器会被用到,其余Bank中的则被关闭。

Arria 10 EMIF Architecture: I/O Lane

每个IO lane 可以实现一个x8/x9的

2、I/O AUX

每个IO column顶部都一个叫做I/O AUX特定模块。下图是一个column

IO AUX模块包括一个hard的niosii子系统,子系统通过avalon内存映射连接到每一个bank。IO AUX的时钟由DIE内的oscillator提供。

子系统的校准方式和老器件相同。NIOSII处理器实现内存初始化时的校准算法,用以修正数据和时钟之间的skew。跟以前一样,校准算

法给出了DQ和DQS之间的时序裕量。校准的代码是固化编程在IO AUX模块里。因为每个column都只有一个IO AUX,所以校准是顺

序进行的,而老的器件,校准是并行的,因为每个接口有自己的用软件实现的校准系统。IO AUX是针对内存接口的特定资源,其他设计

都没有办法使用。

3、Clocking

对于Arria10器件,每一个bank有自己的PLL,且PLL和时钟网络只驱动本bank的IO。这有利于降低时钟网络的jitter。

没有被用于内存接口的PLL可以驱动其他逻辑。对于多Bank的使用,就需要平衡参考时钟树来同步不同BANK之间的

时钟,参考时钟树驱动每一个BANK里的PLL参考时钟。通过平衡的参考时钟树分支来保证参考时钟到达每一个PLL是

同时的。BANKS之间的时钟进一步通过内存IP调整每一个PLL的参数达到同步。

Clock Phase Alignment(CPA)

改善用户逻辑与EMIF PHY之间的接口时序。

DQS Clock Tree

DQS时钟树均匀地分发给读捕获的输入DQS Strobe信号。它基于内存数据组的宽度。

DQ与DQS的对齐方式

The DQ signals are edge-aligned with the DQS signal during a read from the

memory and are center aligned with the DQS signal during a write to the memory.

The memory controller shifts the DQ signals by –90 degrees during a write

operation to center align the DQ and DQS signals. The PHY IP delays the

DQS signal during a read, so that the DQ and DQS signals are center

aligned at the capture register. Altera devices use a phase-locked

loop (PLL) to center-align the DQS signal with respect to the DQ signals

during writes and Altera devices use dedicated DQS phase-shiftcircuitry

to shift the incoming DQS signal during reads

DQS,DQ和DM的板上布线要求严格匹配

TheDQS, DQ, and DM board trace lengths need to be tightly matched (within 20 ps)

DM信号的生成

To generate the DM signal,Altera recommends that you use the spare DQ pin within the same DQS group as the respective data, to
minimize skew.

DQ和DQS信号的分配

同一个DQS组的DQS和DQ信号要分配到一个lane

不同DQS组的DQ信号不能分配到同一lane

 Bank 2A

从上图中看到Bank 2A与别的Bank似乎有不同的地址,

外部存储器接口的 I/O Bank 2A 的使用

除了通用 I/O 的使用,Arria 10 器件也将 I/O bank 2A 用于操作相关的器件配置。由于配置相关的

使用,必须遵循几个指南以使用外部存储器接口的 I/O bank 2A。
• 不要将配置相关操作所要求的 I/O bank 2A 的管脚用作外部存储器接口管脚,即使配置已经完成。例如:
  • 用于快速被动并行(FPP)配置总线的管脚
  • 用于部分重配置控制信号的管脚
• 确保外部存储器接口 I/O 电压与配置 I/O 电压兼容。
• 运行 Quartus Prime 适配确定器件的外部存储器接口的管脚布局是否有效。

I/O bank 中 I/O 管脚的数量,以及可用的 I/O bank 的可用性,在不同的器件封装中有所不同。只有 48 个I/O 管脚的 I/O bank 对外部存储器接口可用。

EMIF IP的时钟域

EMIF只有一个单独的时钟域,这个时钟与存储器时钟接口速率比是有关系的。如果是Quartuer-rate接口,选择存储器接口时钟为800M,那么EMIF的时钟为200M。

由同一个参考时钟驱动的每个EMIF,都有自己的独立核时钟,如果要实现多个EMIF接口,需要用到以下策略:

1、把每个EMIF时钟为异步的

2、使用Core clock Shareing 选项强制每个EMIF使用同一个核时钟

Arria10 EMIF 和SmartVID

EMIF与SmartVID 电压管理系统共用,可以降低功耗。EMIF与SmartVID控制器共同使用,可以通过握手协议保证电压调整完之后再去实现EMIF校准。

Arria10_emif的更多相关文章

随机推荐

  1. udevadm命令详解

    udevadm 后接一个命令和命令指定选项.它控制了udev运行的行为,处理内核事件,控制事件队列,并且提供简单的调试机制. 选项: --debug 打印错误信息 --version 打印版本信息 - ...

  2. shell条件控制和循环结构

    一.简介 Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for.while和until.while循环和for循环属于“当型循环”,而until属于“直到 ...

  3. wget: command not found

    支持yum yum -y install wget 不支持yum a.查看当前linux版本 cat /etc/issue && uname -a b.根据版本下载相应的rpm htt ...

  4. bootstrap之双日历时间段选择控件—daterangepicker(汉化版)

    jQuerybootstrapdaterangepicker汉化版 双日历时间段选择插件 — daterangepicker是bootstrap框架后期的一个时间控件,可以设定多个时间段选项,也可以自 ...

  5. zh-cn 与 zh-hans 是什么关系、有什么区别

    回答一: 作者:知乎用户 链接:https://www.zhihu.com/question/21980689/answer/19923726 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权 ...

  6. 10.17JS日记

    1.变量提升 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域,叫window, window分为两个模块,一个叫做内存模块,一个叫做运行模块,内存模块找到当前作用域下的 ...

  7. 201621123008 《Java程序设计》第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 分 ...

  8. 厉害了,他用PS不是P照片而是……

    今儿要介绍的主角是战斗民族的设计师 Dmitriy Glazyrin,他这个人用PS做设计有个特点,专门P3D软件做出来的白模. 大家可以想象一下,一个什么颜色什么材质都没有的东西,把它楞是用PS加上 ...

  9. js生成简单二维码

    js文件下载地址:https://download.csdn.net/download/weixin_38296752/10554485 一.引入qrcode.js文件 <script type ...

  10. myeclipse 上安装 Maven3

    myeclipse 上安装 Maven3   环境准备: JDK 1.6 Maven 3.0.4 myeclipse 8.6.1 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Mav ...