Arria10_emif
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的更多相关文章
随机推荐
- MyBatis高级映射查询(3)
一.数据库数据和项目搭建过程 1.主要要四张表,分别为user用户信息表.items商品表.orderdetail订单明细表.orders订单表.表的结构和数据如下: 表结构 CREATE DATAB ...
- windows核心编程
第一章 函数返回值: void:不可能失败.极少数会返回VOID BOOL:失败返回0 HANDLE:失败会返回NULL 或INVALID_HANDLE_VALUE PVOID:失败返回NULL wa ...
- mysql decimal(10,2)对应java类型
下面我给出MYSQL类型与JAVA类型对应表,希望能够帮到您: 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.S ...
- CMakeLists.txt的写法
[1]ADD_LIBRARY: Add a library to the project using the specified source files.要求CMake根据指定的源文件生成库文件 . ...
- C#执行javascript代码,执行复杂的javascript代码新方式
1. 使用nuget 包"Jurassic", 注意,如果 nuget上的包 用起来出现错误,请自行下载 github代码,自行编译最新代码成dll,再引用. 官方的nuget包 ...
- Employee类
package demo; import java.time.LocalDate; public class Employee { private String name; private doubl ...
- 单元测试使用spring注解获取bean
在实际项目开发中经常会有单元测试,单元测试中经常会用类似这样的代码片段获取spring管理的bean @Test public void testSendEmail(){ MessageService ...
- c#networkcomms protobuf-net 文件加载出现问题
服务器端里添加客户管理添加了些功能, 客户端私活连不上了,老程序没问题, 在服务器端程序里边也接受不到事件,客户端就提示链接中断了, 在客户端里边查了 链接中断是客户端上做的,当传回的包为0 事,程序 ...
- Oracle_SQL(4) DDL 表和约束
数据库对象分为占存储空间的对象和不占存储存储空间的对象.占存储空间的对象主要包括:表.索引等.select distinct segment_type from dba_segments order ...
- CentOS 7系统关闭yum自动下载更新
安装CentOS 7后,系统yum自动更新状态默认为开启,若禁止系统自动更新需要手动关闭. 1.进入yum目录 [root@localhost ~]$ cd /etc/yum 2.编辑yum-cron ...