signal
读信号,dqs 是对齐到dq的边沿, 写信号,dqs 的边沿是对到中间的。
spec 就是这样规定的。我们在dq的最中间的采样,肯定是最安全的。
dqs 是对齐到dq的边沿 , 在silicon 内部,还是通过移位完成的。
rl: read latency
cl : cas latency
al: additive latency
cwl: cas write latency
trrd row to row delay
tccd column to column delay
trcd: row to colum delay
delay: execution will start after a specific time
latency: execution has started. but it' not stable enough, a specific time is required for stabilization
latency: 是已经产生了脉冲,等 它稳定之后,再把信号发到总线上。
简而言之。 我已经发了,但内部逻辑上,我已经发了这个信号了。
在多次传输,想达到更高的带宽,会产生冲突,为什么会冲突呢,因为active 的时候,行列地址都在总线上。
round trip optimize , 其实就是调latency, 就在在现有的情况下,能不能对信号有改善。
basic training : 是要扫所有的pi range.
make signals aligned logically
因为它根本不知道系统是什么样子的
高级的training ,找到了就跳出来
use deselect comand, 如果不用des, 它会一直持续。
相当于人为的引入一些噪声, 让你下面的数据都是无效的,以目前的状态,是否人的margin 还是很好。
basic training 就是把信号对齐。
预备知识差不多了。
cross over
target:
align different clock domain inside mc
method:
buf pi domain, 由一个时钟源,分发给各个时钟,前提是把总开关,调调好,
发现任何一根receive enable 是0的时候,采样停止。告诉硬件,往后的数据就到过来了
是rx的。因为我们不知道,什么时候,送过来。数据的开始,在这个地方,把我们采样的阀门打开。
当任何一个到的时候,我们就固定。 所有17 根的dqs 都到达这个状态的时候。
receive enable:
也就是我们basic training 的第一步,先把ctrl clock 对齐, receive enable. training 对顺序是有要
先把receive enable train 出来
目标:
发出一个读命令, 调整 rcv_en 延时,RTL 还有IO LATENCY , 使得RCV_EN 在DQS preamble 的中间。
方法: 第一步精调, 使得rcv_en 在 dqs assert 的中间。
sweep 128 pi,
第二步, 粗调rtl ( round time latency) , rcv_en 可以采样dqs preamble.
第三步,粗调 IO LATENCY 让rcv_en 可以采样所有的dqs 前导码。
它其实是一个delay. 既然是receive , 就是rx, dimm 送来的dqs 信号, 我mc 知道它啥时候过来的,我啥时候该采样dqs, dq 啊。 dqs 在上生沿, 采样dq, 啥时候去采样dqs, 当经过了rcv en 这样一个delay, 这个delay 其实 是为了节省时间 。 否则,数据还没有送过来,我就开始采, 首先是耗电。 没有经过training , 时延也会受影响。
我读命令发出来了, 接下来,我肯定是期望, data 会发过来。 等到了round trip latency 这个点到了, 我接激活mc 去接下来的工作。 如果置成0, 就是一发读信号,我就开始采样。
在data 没有过来之前,我们进入一个低功耗状态。 该收信号,收信号。 在止之前,我就得等。因为既然是时间, 增加rtl 是什么意思, 其实就是增等待的时候。
我发了一个读信号出去, 数据过来了, memory 自己都还没有ready. 先进我的buffer, 我不发给mc 去处理。 先不做动作, 等 silicon 内部已经stable 了, io lateny 增加, 意味着我在这个地方hold 住 更久的时候。 如果写成0. 就是直通了, 信号一来, 就传出去。
rcv_en 就是采我的dqs. 这个时候一到达, 立马, 半个周期, 就有dqs 过来。
rtl , 先预估一下, 你什么时候过来。
io latency 你过来了, 控制不了DIMM 啥时候过来。 我能控制自己。控制不了dimm 什么时候过来, 但是我能控制我自己。
我憋着,憋多久呢? 再憋 rcv en 这么久。
硬件逻辑就开始工作。
增加io latency , rcv en 就采不到东西。 相当于是进行左移了。 增加 io latency 就相当于信号跑过去了。 采晚了, 会导致miss 掉, 一直不收, 这么多数据 miss 掉了。
preamble 是两个周期的0. 所以preamle 在硬件上就是两个周期的0. 都是perbank 的。
他们的目的是不一样的。
要想达到晚输出的效果,只能调io latency.
三个latency 是如何搭配起来。 rcv _en 的粒度是pi. 一个q clock 是等于64 个pi.
rtl 就是一个assume.到了这个latency 之后, 所有硬件逻辑才开始工作。 信号过来了, 有些先过来,有些后过来,先到的,我就hold 住。rcv en
就是说,第一步, 挪 rcv en 去采样dqs. dqs 高电平才是assert . 采到0 就是0, 最后我就要采出来, 就是把dqs 的样子采出来。 我就能知道 dqs 长这个样子。 我再计算。 当我们知道 dqs 的形状之后。 再计算这两点, 除以2, 就可以让rcv en 采到正中间。
挪到他采到的是一个0为止, 大家都 一起挪, 左移,我们发现任何一根dqs 采到0 的时候,我们停止。 我们就让他先停下来, 至少有一个的dqs rcv en 到了地方。告诉硬件, dqs 就要过来了。 第0个数据。 把我们采样的阀门打开, 就是一个over all 的。 我们就固定了round trip latency. 大概需要经过43 个clock. 这个是一个统领的, 信号有先后顺序, 这时候就去憋。 调io latency. 把信号先憋这么久, 一直什么时候,算结束, 所有18 根的dqs 都达到这个状态。
DDR3 的工作原理
DDR3 的内部是一个存储阵列,将数据填进去,和表格检索原理一样,先指定一个行row, 再指定一个列column, 我们就可以准确的找到
相关文章:
signal
读信号,dqs 是对齐到dq的边沿, 写信号,dqs 的边沿是对到中间的。 spec 就是这样规定的。我们在dq的最中间的采样,肯定是最安全的。 dqs 是对齐到dq的边沿 , 在silicon 内部,还是通过移位完成的。 rl: re…...
深度研究微软的资产负债表和财务状况以及未来投资价值
来源:猛兽财经 作者:猛兽财经 微软股票的关键指标 猛兽财经认为,微软公布的2023财年第三季度财务业绩,有三个关键指标值得投资者关注。 第一个关键指标是利息收入。微软的利息收入目前已经同比增长了44%,从2022财年第…...
Mac电脑删除第三方软件工具CleanMyMac X
经常使用Mac的人都知道,Mac除了可以在AppStore下载应用程序,还有许多软件是需要在网页上搜索下载的第三方软件。那么这类第三方软件软件除了下载方式不同之外还有什么是和从App store下载的软件有区别的吗?答案是肯定的,那就是这些…...
leetcode174. 地下城游戏(java)
地下城游戏 leetcode174. 地下城游戏题目描述 动态规划解题思路代码 动态规划专题 leetcode174. 地下城游戏 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/dungeon-game 题目描述 恶魔们抓住了公主并将她关在了地下城 …...
信号与系统复习笔记——傅里叶变换
信号与系统复习笔记——傅里叶变换 周期信号的傅里叶级数表示 特征函数 假设LTI系统的输入为 x ( t ) e s t x(t) e^{st} x(t)est 输出为: y ( t ) e s t ∗ h ( t ) ∫ − ∞ ∞ e s ( t − τ ) h ( τ ) d τ e s t ∫ − ∞ ∞ e − s τ h ( τ ) d…...
Allegor17.2版本WIN11系统CIS配置提示错误解决方案
错误提示: ERROR(ORCIS-6250): Unable to continue. Database access failed. Contact the database administrator to correct the following error(s), and then retry. ODBC Error Code: -1 Description: 在指定的 DSN 中,驱动程序和应用程序之间的体…...
Java设计模式七大原则-合成聚合复用原则
🧑💻作者:猫十二懿 ❤️🔥账号:CSDN 、掘金 、个人博客 、Github 🎉公众号:猫十二懿 合成-聚合复用原则 1、合成-聚合复用原则介绍 合成/聚合复用原则(Composition/Aggregatio…...
SOFA Weekly|可信基础设施技术分论坛、Layotto 社区会议回顾与预告、社区本周贡献...
SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展 欢迎留言互动~ SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&am…...
Melody 监控(四十九)
当新的世界出现,请立即向他奔去 上一章简单介绍了Spring Boot Actuator详解(四十八), 如果没有看过,请观看上一章 一. JavaMelody 一.一 什么是 Java Melody JavaMelody是一个方便的Java或JavaEE Web 应用程序监控工具。 它允许自动存储由 Web 应用程序的实际操…...
Shell脚本管道符常用搭配命令
1.sort sort命令——以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。 sort [选项] 文件名 cat file | sort [选项] 常用选项 选项作用-n按照数字进行…...
基于html+mysql+Spring+mybatis+Springboot的Springboot宠物医院管理系统
运行环境: 最好是java jdk 1.8,我在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以,如果编译器的版本太低,需要升级下编译器,不要弄太低的版本 tomcat服务器环…...
算法模板(3):搜索(5):其他
搜索 模拟退火 模拟退火一个很关键的是,看看枚举到每一个方案是不是可能的。 3167. 星星还是树 在二维平面上有 n 个点,第 i 个点的坐标为 ( x i , y i ) (x_i,y_i) (xi,yi)。请你找出一个点,使得该点到这 n 个点的距离之和最小。这…...
AWS CodeWhisperer 心得体会:安装与使用
大家好,今天我要和大家分享一下我在使用 AWS CodeWhisperer 这个工具时的心得体会。首先,让我们了解一下什么是 AWS CodeWhisperer。 什么是 AWS CodeWhisperer? AWS CodeWhisperer 是一个用于帮助开发者在 AWS 云平台上更轻松地编写、测试…...
高级查询 — 子查询
关于嵌套查询(子查询) 1.概述 子查询是在一个查询中嵌套另一个查询的查询语句。内部查询从外部查询或数据库中提取数据,然后使用这些数据来执行内部查询。出现在其他语句中的 select 语句,称为嵌套查询或子查询。外部的查询语句…...
霍夫变换(Hough Transform)
文章目录 1. 什么是霍夫变换2. 霍夫直线检测2.1 霍夫直线检测的具体步骤2.2 霍夫直线检测的优缺点2.3 OpenCV中霍夫直线检测的应用2.3.1 标准霍夫检测2.3.2 概率霍夫检测 3. 霍夫圆检测4. 源码仓库地址 1. 什么是霍夫变换 霍夫变换(Hough Transform)是图像处理中的一种特征提取…...
【每日挠头算法题(2)】压缩字符串|仅执行一次字符串交换能否使两个字符串相等
文章目录 一、压缩字符串思路 二、仅执行一次字符串交换能否使两个字符串相等思路1:计数法思路2:模拟法 总结 一、压缩字符串 点我直达~ 思路 使用双指针法 大致过程如下: 使用双指针,分别读(read)&…...
V4L2框架解析
和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、概览二、流程简介三、关键结构体四、模块初始化五、处理用户空间请求 一、概览 相机驱动层位于HAL Moudle与硬件层之间,借助linux内核驱…...
Trie树模板与应用
文章和代码已经归档至【Github仓库:https://github.com/timerring/algorithms-notes 】或者公众号【AIShareLab】回复 算法笔记 也可获取。 文章目录 Trie树(字典树)基本思想例题 Trie字符串统计code关于idx的理解 模板总结应用 最大异或对分…...
【华为OD统一考试B卷 | 200分】跳格子游戏(C++ Java JavaScript Python)
文章目录 题目描述输入描述输出描述用例C++javajavaScriptpython题目描述 地上共有N个格子,你需要跳完地上所有的格子,但是格子间是有强依赖关系的,跳完前一个格子后,后续的格子才会被开启,格子间的依赖关系由多组steps数组给出,steps[0]表示前一个格子,steps[1]表示st…...
该选哪个语言进修呢?
前言: 如今,计算机编程已经成为了许多工作领域中的必备技能。但是,现在的计算机语言有很多,这可能会让我们感到困惑:我应该从哪个语言开始呢?在这篇博客中,我们将详细分析当前流行的一些计算机…...
Maccy更新失败解决指南:3种手动升级方法详解
Maccy更新失败解决指南:3种手动升级方法详解 【免费下载链接】Maccy Lightweight clipboard manager for macOS 项目地址: https://gitcode.com/gh_mirrors/ma/Maccy Maccy是一款轻量级的macOS剪贴板管理器,但有时自动更新可能会失败。本文将为您…...
终极指南:如何扩展GPT2-Chinese中文语言模型生态系统
终极指南:如何扩展GPT2-Chinese中文语言模型生态系统 【免费下载链接】GPT2-Chinese Chinese version of GPT2 training code, using BERT tokenizer. 项目地址: https://gitcode.com/gh_mirrors/gp/GPT2-Chinese GPT2-Chinese是一个基于HuggingFace Transfo…...
cv_resnet101_face-detection_cvpr22papermogface快速上手:5分钟启动本地化人脸预处理系统
cv_resnet101_face-detection_cvpr22papermogface快速上手:5分钟启动本地化人脸预处理系统 你是不是也遇到过这样的问题?想在自己的电脑上跑一个人脸检测程序,结果光是配环境、下模型、写代码就折腾了大半天,最后还不一定能跑起来…...
SeqGPT-560M中文优化深度解析:针对简体中文语义理解的Prompt设计技巧
SeqGPT-560M中文优化深度解析:针对简体中文语义理解的Prompt设计技巧 1. 引言:当AI能“秒懂”你的中文 想象一下,你拿到一个全新的AI模型,不需要准备海量数据,也不需要花几天几周去训练它,只需要告诉它“…...
聊聊原生家庭
边缘型母亲分成了四类: 包括:流浪者(waif)——一个受害者形象,会不断拒绝帮助,有着弥散性的低自尊感; 隐居者(hermit)——本质上是一个受到惊吓、躲避世界的孩子…...
金仓数据库在MySQL迁移中的技术观察:高兼容性与平滑替代路径实践
金仓数据库在MySQL迁移中的技术观察:高兼容性与平滑替代路径实践 2023年底,MySQL 5.7正式停止官方维护支持——这一曾被广泛应用于中小企业核心系统的开源数据库,悄然进入生命周期尾声。对开发者而言,这不仅是版本迭代的常规提示…...
C语言从入门到进阶——第15讲:深入理解指针(5)
文章目录1. 回调函数是什么?2. qsort使用举例2.1 使用qsort函数排序整型数据2.2 使用qsort排序结构数据3. qsort函数的模拟实现1. 回调函数是什么? 回调函数就是一个通过函数指针调用的函数。 如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来…...
【译】 如何使用 .NET MAUI 构建 Android 小部件
▲ 点击上方“DotNet NB”关注公众号回复“1”获取开发者路线图学习分享 丨作者 / 郑 子 铭 这是DotNet NB 公众号的第239篇原创文章原文 | Toine de Boer翻译 | 郑子铭这是Toine de Boer的客座博文。这篇博客将探讨上一篇关于iOS 小部件的博客中创建的交互式小部件的 Andro…...
Anaconda创建虚拟环境总失败?可能是这个隐藏参数在作怪(附避坑指南)
Anaconda虚拟环境创建失败的深度排查与网络优化指南 当你满怀期待地输入conda create -n myenv python3.8命令,却看到刺眼的CondaHTTPError: HTTP 000 CONNECTION FAILED报错时,那种挫败感我深有体会。作为长期使用Anaconda进行多项目管理的数据科学家&a…...
Go语言开发的Kscan vs Nmap:资产测绘工具选型指南(2023最新对比)
Go语言开发的Kscan vs Nmap:资产测绘工具选型指南(2023最新对比) 在网络安全和运维领域,资产测绘工具的选择往往决定了工作效率和结果的可靠性。随着Go语言在系统工具开发中的广泛应用,Kscan作为新兴的全能型扫描器&am…...
