DDR PHY
1.ddr phy架构
1.pub(phy unility block)
支持特性:
(1)不支持SDRAM的DLL off mode
(2)数据位宽是以8bit逐渐递增的(这样做的目的是因为可能支持16/32/64bit的总线位宽)
(3)最多支持4个rank(channel -> rank -> bank -> raw/column)
(4)支持single data channel或者dual data channel(可配置,在dual data channel的模式下,是支持一个channel处理一半数据的特性)
(5)可以完成PHY的初始化,training(比如,automatic DQS gate training,delay line calibrations,VT compensation,write leaving, write read data bit deskew, DQ/DQS eye training),控制的逻辑
主体结构框图:
DRAM command unit模块主要是用于:软件配置相关命令之后,命令来到此模块,随后可以发起对DDR颗粒的一些操作,比如refresh,active等,他是不走控制器的DFI接口总线的,这个模块主要还是用于调试。
初始化主要包含的步骤如下(这一步骤是pub的主要功能):
delay calibration:延迟链的校准
impedance calibration:阻抗校准(ODT calibration)
SDARM initialization:phy初始化之后,发出命令给片外的颗粒,对颗粒进行初始化
从write leaving开始到data eye training,统称为training,前面步骤主要是对各个部分进行初始化
接下来针对各个步骤逐一看:
pll初始化:
延迟链校准(delay line calibration)
delay line在每个数据单元中,也就是在这些data phy里面,放在这个位置是为了对数据采集的时候 的相位进行补偿。
延迟链实际就是一些逻辑门,在进行延迟链校准的时候,实际上做的就是得到周期和延迟单元之间的关系。假设一个周期是2ns,经过一个延迟单元需要0.5ns,那么延迟链校准就是相当于把2/0.5= 4这个值告诉pub。
master delay linle/local delay line分别指什么,两者的区别是什么?
local delay line只在初始化的时候做一次周期测量,而对于mater delay line来说,在后面的操作过程中他是会不停的做周期测量,MDL也是有寄存器配置可以将其关掉的,也就是使得其不一直做周期测量,但是我们一般都是会让他一直打开的,为什么? 参考下面drift detection and compensation
对于上面架构中的一个data phy的结构如下,其中WL LCDL表示的就是write leveling local calibration delay line。
drift detection and compensation(漂移检测和补偿)
这一操作实际是由于一个信号经过延迟单元的延迟值受到温度和电压的影响,因此在一些需要固定相位之间的信号上,需要检测出这个偏移值,同时针对这个偏移值进行补偿。前面说的MDL会在每次操作的时候进行周期测量,在一开始初始化的时候,他会得到一个周期测量值和对应需要几个delay单元的比例,在随后进行周期测量的时候,他会把这个值进行周期性变化,传递给PUB。
同时,他MDL还会将周期性变化的值传递给LDL,由于LDL仅仅在初始化的时候做一次周期测量,后续温度/电压发生变化的时候,实际上是通过MDL给到自己的信息来改变delay。(理解不够全面,说的两个值的比例究竟是哪两个值的比例?)
需要指出的是,在MDL检测到漂移的时候,他不是立刻就告诉LDL让其进行补偿的,原因在于立刻进行补偿可能对当时的时序造成影响,具体什么时候进行补偿需要看phy是如何设计的。
impedance calibration阻抗校准(类似DDR颗粒那边的ZQ calibration)
这个操作和ODT相关,首先介绍下为什么需要ODT:
一个DDR通道,通常会挂接多个Rank,这些Rank的数据线、地址线等等都是共用;数据信号也就依次传递到每个Rank,到达线路末端的时候,波形会有反射,从而影响到原始信号;因此需要加上终端电阻,吸收余波。之前的DDR,终端电阻做在板子上,但是因为种种原因,效果不是太好,到了DDR2,把终端电阻做到了DDR颗粒内部,也就称为On Die Termination,Die上的终端电阻,Die是硅片的意思,这里也就是DDR颗粒。
这个操作实际就是上电的时候根据上电的电压,对自己内部的电阻进行校准。(不是特别理解)
SDRAM initialization
write leaving
为什么DDR布局布线的时候会采用fly by的方式?
总结就是挂在多个DDR颗粒的时候采用T型的布局布线一方面会导致占用空间较多,另一方面会导致切换噪声较大。
DDR3 T型拓扑和Fly-by拓扑和Write leveling详解_flyby拓扑结构_Tech-Wang的博客-CSDN博客
DDR3 | 神了,Fly_by 结构原来就这么回事儿! - Red_Point - 博客园 (cnblogs.com)
Write Leveling的功能是调整DRAM颗粒端DQS信号和CLK信号边沿对齐;具体步骤如下:
相关文章:
DDR PHY
1.ddr phy架构 1.pub(phy unility block) 支持特性: (1)不支持SDRAM的DLL off mode (2)数据位宽是以8bit逐渐递增的(这样做的目的是因为可能支持16/32/64bit的总线位宽ÿ…...
XSS攻击是怎么回事?记录一下
title: XSS攻击 date: 2023-08-27 19:15:57 tags: [XSS, 网络安全] categories: 网络安全 今天学习了一个网络攻击的手段,XSS攻击技术,大家自建网站的朋友,记得看看是否有此漏洞。 🎈 XSS 攻击 全称跨站脚本攻击 Cross Site Sc…...
FFmpeg支持多线程编码并保存mp4文件示例
之前介绍的示例: (1).https://blog.csdn.net/fengbingchun/article/details/132129988 中对编码后数据保存成mp4 (2).https://blog.csdn.net/fengbingchun/article/details/132128885 中通过AVIOContext实现从内存读取数据 (3).https://blog.csdn.net/fengbingchun/…...
一文搞懂深度信念网络!DBN概念介绍与Pytorch实战
目录 一、概述1.1 深度信念网络的概述1.2 深度信念网络与其他深度学习模型的比较结构层次学习方式训练和优化应用领域 1.3 应用领域图像识别与处理自然语言处理推荐系统语音识别无监督学习与异常检测药物发现与生物信息学 二、结构2.1 受限玻尔兹曼机(RBM࿰…...
MyBatis:使用注解让数据库操作更简单
目录 一、简介 二、配置 三、基于注解的基本使用 四、测试 总结 一、简介 在Java开发中,数据库操作是一个常见而重要的任务。为了方便地执行SQL语句,获取结果集,处理异常等,我们通常需要使用JDBC(Java Database …...
基于PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化
我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB,遥感大数据时…...
4.网络设计与redis、memcached、nginx组件(一)
网络组件系列文章目录 第四章 网络设计与redis、memcached、nginx组件 文章目录 网络组件系列文章目录文章的思维导图前言一、网络相关的问题,网络开发中要处理那些问题?网络操作IO连接建立连接断开消息到达消息发送网络操作IO特性 二、网络中IO检测IO函…...
leetcode分类刷题:矩阵顺时针模拟
1、这种题目是对代码熟练度考察,模拟顺时针建立或访问矩阵,需要注意矩阵是否为方阵 2、具体思路:以圈数为循环条件,每一圈都坚持左闭右开的区间规则;当小的行列值为奇数,最后一圈为一行或一列或一个数字的不…...
Java8新特性整理记录
1、list实体集合根据某个属性分组后求和 方法一: list.stream().collect(Collectors.groupingBy(e -> e.getId())).values().stream().map(d -> {DemoEntity sampleData d.get(0);sampleData.setPremium(d.stream().map(s -> new BigDecimal(s.getPrem…...
43.227.196.1 RAID技术有什么意义?
RAID(Redundant Array of Inexpensive Disks)技术是一种数据存储技术,它通过将多个硬盘组合在一起,来提高数据存储的性能、可靠性和容错性。 RAID技术的主要意义包括: 提高数据读写性能:RAID技术可以将多…...
c++ qt--信号与槽(一) (第三部分)
c qt–信号与槽(一) (第三部分) 一.用qt自带的方法添加信号槽 1.第一种 1.如何添加 2.在何处进行绑定 2.第二种 1.如何添加 2.在何处进行绑定 而且会在mainwindow.h中添加槽函数的声明,在mainwindow.cpp中添加槽函数的定义 在mainwindow…...
LLM学习《Prompt Engineering for Developer》
Prompt 如何构造好的Prompt 分割符:分隔符就像是 Prompt 中的墙,将不同的指令、上下文、输入隔开,避免意外的混淆。你可以选择用 ,“”",< >, ,: 等做分隔符,只要能明确…...
nginx-获取客户端IP地址
上有服务器与客户端中间是有nginx代理服务器的,上游服务器如何获取客户端真实ip地址? nginx代理服务器设置X-Forwarded-For的header参数,代理服务器通过remote_addr获取客户端ip地址,将ip地址写入nginx代理服务器的X-Forwarded-Fo…...
Redis 高可用之集群搭建和数据分片
Redis 高可用之集群搭建和数据分片 一、简介1. Redis 集群:2. 集群搭建: 二、Redis 集群搭建1. 单机 Redis 升级为 Redis Clustera. 搭建方法b. 搭建方式说明 2. 环境准备3. 配置修改4. 启动集群 三、Redis数据分片的实现Redis数据分片概念说明数据分片的…...
兄弟,王者荣耀的段位排行榜是通过Redis实现的?
目录 一、排行榜设计方案1、数据库直接排序2、王者荣耀好友排行 二、Redis实现计数器1、什么是计数器功能?2、Redis实现计数器的原理(1)使用INCR命令实现计数器(2)使用INCRBY命令实现计数器 三、通过Redis实现“王者荣…...
Linux系统编程--文件编程--打开创建文件
创建文件需要包含以下3个头文件 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> 打开、创建文件有以下3个API open的返回值——文件描述符(索引作用),是一个小的非负整数 int open(const char*pathn…...
http协议与apache
http概念: 互联网:是网络的网络,是所有类型网络的母集 因特网:世界上最大的互联网网络。即因特网概念从属于互联网概念 万维网:万维网并非某种特殊的计算机网络,是一个大规模的、联机式的信息贮藏库&…...
搜索二叉树的算法解析与实例演示
目录 一.搜索二叉树的特性与实现1.特点2.实现二.搜索二叉树的性能 一.搜索二叉树的特性与实现 1.特点 二叉搜索树是特殊的二叉树,它有着更严格的数据结构特点: (1)非空左子树的所有键值小于其根结点的键值。 (2&…...
研磨设计模式day13组合模式
目录 场景 不用模式实现 代码实现 有何问题 解决方案 代码改造 组合模式优缺点 思考 何时选用 场景 不用模式实现 代码实现 叶子对象 package day14组合模式;/*** 叶子对象*/ public class Leaf {/*** 叶子对象的名字*/private String name "";/**…...
Linux命令(73)之zip
linux命令之zip 1.zip介绍 linux命令zip是用来压缩文件及解压缩文件名称后缀为".zip"的文件 2.zip用法 zip [参数] filename[.zip] zip常用参数 参数说明-r压缩递归处理-d从压缩文件内删除指定的文件-T检查备份文件是否正确无误-u更换较新的文件到压缩文件内-q不…...
深入理解Reactor模型的原理与应用
1、什么是Reactor模型 Reactor意思是“反应堆”,是一种事件驱动机制。 和普通函数调用的不同之处在于:应用程序不是主动的调用某个 API 完成处理,而是恰恰相反,Reactor逆置了事件处理流程,应用程序需要提供相应的接口并…...
微信小程序开发的投票评选系统设计与实现
摘要 越来越多信息化融入到我们生活当中的同时,也在改变着我们的生活和学习方式,当然,变化最明显的除了我们普通民众之外,要数高校学生的生活方式以及校园信息化的变革。智慧是改变生活和生产的一种来源,那么智慧的体…...
【校招VIP】算法考点之堆排
考点介绍: 排序算法属于数据结构和算法的基础内容,并且也是大厂笔试中的高频考点。 堆排序是使用一棵树存储序列这个课树只保证跟节点是这棵树中的最小值,但并不保证其他节点是按顺序的。因此他的排序是每次从堆中取得堆顶,取得 n…...
关于yarn安装时报“node“ is incompatible with this module的解决办法
前提: 在用vue写一个h5页面时,当在用yarn安装时,提示如下错误: The engine “node” is incompatible with this module. Expected version "^14.18.0 || ^16.14.0 || >18. 解决办法 我是使用命令忽略错误:…...
开源利器推荐:美团动态线程池框架的接入分享及效果展示
前言 蛮早前有些过关于线程池的使用及参数的一些参考配置,有兴趣的可以翻看以前的博文,但终究无法解决线程池的动态监控和实时修改。 以前读过美团早期发布的动态线程池框架的思路相关文章,但想要独自实现不是一件容易的事。 去年,…...
Linux目录结构与文件管理 (02)(四)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、查看文件内容 二、创建文件 三、删除文件 四、 移动文件 五、复制文件 六、编辑文件内容 总结 前言 今天是在昨天的基础上继续学习,主要…...
对1GHz脉冲多普勒雷达进行快速和慢速处理生成5个移动目标的距离多普勒图研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
uni.uploadFile上传 PHP接收不到
开始这样,后端$file $request->file(file);接收不到 数据跑到param中去了 去掉Content-Type,就能接收到了 param只剩下...
2023年高教社杯 国赛数学建模思路 - 复盘:光照强度计算的优化模型
文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米,宽为12米&…...
Netty简易聊天室
文章目录 本文目的参考说明环境说明maven依赖日志配置单元测试 功能介绍开发步骤 本文目的 通过一个简易的聊天室案例,讲述Netty的基本使用。同时分享案例代码。项目中用到了log4j2,junit5,同时分享这些基础组件的使用。项目中用到了awt&…...
在柬埔寨做网站彩票推广/google play服务
让两个对象间建立weak关系 这是为了给两个对象间建立weak关系,当一个对象被释放时,另外一个对象再获取这个值时就是nil,也就是不持有这个对象:) 源码: WeakRelatedDictionary.h 与 WeakRelatedDictionary.m // // WeakRelatedDic…...
网站首页布局设计原理/网站建设公司哪家好
文章目录1.基础知识1.1.常规命令1.2.重定向符号,管道符号,通配符号,&&符号1.3.vim文本编辑器1.4.定时任务1.5.防火墙firewall-cmd命令1.6.scp远程上传下载文件2.查询服务器硬件信息3.systemctl服务管理命令4.资源监控命令4.1.查看系统的负载信息4.2.查看内存…...
网站托管维护代运营/如何优化推广中的关键词
php获取文件扩展名/后缀名的代码。复制代码 代码示例://取文件后缀名//by www.jbxue.com$file_name "jbxue.com.txt";echo get_exname($file_name);/*** 获取文件扩展名* param unknown_type $file_name* return $ex_name*/function get_exname($file_name){if(empt…...
苏州招聘网站建设/杭州百度推广开户
题解在下已经写过一次了,所以就不再写了,下面只有代码 题解下载(1):http://pan.baidu.com/s/1hsAUjMs 题解下载(2):http://pan.baidu.com/s/1mhC7EYk A 卿学姐与公主 代码 #include <iostream> #include <cstdio> #include <a…...
包头网站公司/宁波网站制作与推广价格
大数据分析与数据分析这几年一直都是个高频词,很多人都开始纷纷转行到这个领域,也有不少人开始跃跃欲试,想找准时机进到大数据或数据分析领域。如今大数据分析和数据分析火爆,要说时机,可谓处处都是时机,关…...
政府网站建设存在问题/教育培训机构排名前十
需求背景: 从规范商家行为和让商家感觉到平台和他们互动出发点。 流程图&消息来源 消息来源:运营活动,违规通知,充值通知等 产品维度消息中心设计: 技术设计: crm新建任务流程图 服务调用࿱…...