DDR调试不通?先别扔,这个操作可能帮你逆袭!

news2024/12/28 3:46:32

作者:一博科技高速先生成员 黄刚

相信大家过完一个美美的春节后,学习的热情一定会暴涨,反正高速先生给大家分享技术文章的热情是非常高涨的哈!打从推出这个系列的仿真和理论相结合的话题后,文章受到了很多忠实粉丝的喜爱,大家纷纷表示既能学到理论知识,还知道怎么从仿真中去验证,甚至有一些小伙伴们已经深深的陷入到仿真里面去,无法自拔了。因此高速先生趁热打铁,在春节后再加推几期,继续围绕着这个话题分享文章!

经过高速先生对粉丝文章喜爱度的研究发现,DDR方面的话题始终受到大家的热捧,原因可能包括了大多数产品都会有DDR内存系统,然后DDR系统又是很关键且容易出问题的一个模块,还有就是DDR的原理和应用特别让人着迷等等吧。All right,那今天就再给大家分享一个DDR仿真和测试完美对应的经典案例吧!

不知道现在大家做的DDR4系统的指标是怎么样了?从高速先生和最近众多客户的配合来看,从一个通道的总容量和速率上都基本上拉到了极限,从单个颗粒的容量,很多已经从8Gb提升到了16Gb,运行速率也从typical的2400M拉到3200M了。下面要分享的这个案例就是这个的一个case!

这个客户的一个DDR通道是1拖5的结构,每个颗粒的16Gb是容量,需要跑到的速率是3200M,通过这个描述,就知道这个系统的PCB设计不会很好做!这个项目是我司设计部门的同事设计的,而且也有相关的内部指导可以遵照,因此设计完就去生产加工了。等板子贴片回来后,客户下载程序去测试时,就猛然发现运行不到额定的3200M的速率!

客户也测试了好几片板子,情况都差不多,大概只能运行到2400M左右,再往上就不稳定了。由于我们和这个客户合作比较久了,大家也都没有太慌,经过和客户详细的沟通,我们把调试的方向转到了主芯片的驱动配置上。这款型号主芯片客户用得比较多,驱动配置的页面,如下所示:

像这种一拖多的DDR系统,我们最先会把debug方向放在地址控制信号和CLK上面,这个原因在之前很多篇文章已经说过了。我们看到客户已经遍历了上面红框的驱动内阻,从可以选择的40,48,60等多种驱动选出了较好的40欧姆内阻驱动,但是依然不能稳定的跑到3200M上。连驱动内阻的配置都遍历过,感觉好像没有其他有效的设置了吧,真的要立马重新改板设计了?

先别慌,还好高速先生也对这款芯片灰常的了解,除了传统的驱动内阻可以配置外,Slew Type也是一个很重要的点!没错,就是下面这个配置项!

该芯片有FAST,MEDIUM和SLOW三个配置可以选择!而且我们也拿到了该芯片的仿真模型,模型比较齐全,也同样有这几项配置可以选,于是高速先生打算通过仿真去进行验证,看看能不能顺便把问题一并解决了。

于是我们迅速在仿真软件把仿真拓扑搭起来,就是下面这样的拓扑!

我们先按照客户原始的配置,地址控制和时钟CLK都是FAST模式,40欧姆内阻去选择仿真模型,如下所示:

发现最差的颗粒信号质量的确是有问题,存在明显的ring back,从而也导致时钟采样出现问题,同时也能发现,时钟采样的时序本身没有问题,只是地址控制信号质量的问题。

这和客户的测试结果也挺吻合的!

那我们就换成地址控制MEDIUM模式,时钟CLK还是FAST模式仿真看看,结果就变成下面这样了。好开森,地址控制信号的信号质量全部都没问题了!!!

是不是在仿真中意味着就ok了,人往往在最开心的时候容易受到暴击,的确,地址控制信号的信号质量都ok了,但是时钟又出来搞事了!地址控制信号的质量都没问题,

CLK时钟的信号质量也没问题,但是时序却出错了,从上升沿的采样位置能明显看到,建立时间裕量又不够了!

但是我们还是壮着胆子让客户试试这种地址控制MEDIUM模式,时钟CLK选FAST这样的配置,果不其然,客户很快就传来了测试结果!

的确,从仿真结果来看,单纯的地址和CLK的信号质量都是满足要求的,只是建立时间的时序裕量不足,我们知道,时序裕量问题的确也是可以通过降频来弥补的,因此我们对仿真的精度有了更大的信心!

好!最后再试一种组合,一定要成功!就是地址控制信号和CLK时钟都选用MEDIUM模式,我们先来看看仿真结果!这下厉害了,地址控制信号ok,上面的仿真已经知道,现在把CLK时钟也变成MEDIUM后,时钟本身满足信号质量的同时,时序也变ok了,结果列表没有出现裕量不足的提醒了,完美!

然后再反馈到调试去,客户终于传来了好消息!

最后总结下,这又是一个仿真和测试互相配合验证从而通过仿真指导调试来解决问题的经典案例,在初始配置调试不通过的时候要保持冷静,找到入口去尝试更多的芯片配置。从案例中我们展示了仿真和测试的配合,其实选择配置的过程也是理论应用于实际的过程,有了理论的支撑,我们才能更好的去选择仿真的配置和调试的配置,从而解决问题,大家都get到了吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ThinkPHP6 获取上传文件属性及自定义文件验证及上传处理

TP^6.1文件上传有封装方法,如果不想用封装的,自定义上传怎么获取文件属性呢 目录 TP文件信息 打印上传文件信息 获取文件属性方法 1.获取文件大小(单位bytes) 2.获取文件后缀 3.获取文件上传路径 4.获取文件名称 5.上传文…

XSS Challenges通关教程

11.XSS Challenges通关教程 Stage#1 直接在search 输入框中输入payload&#xff1a; <script>alert(document.domain)</script> 点击search就XSS攻击成功了。 Stage #2 尝试直接输入<script>alert(document.domain)</script>&#xff0c;发现并未…

【2005NOIP普及组】T4.循环 代码解析

【2005NOIP普及组】T4.循环 代码解析 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 乐乐是一个聪明而又勤奋好学的孩子。他总喜欢探求事物的规律。一天,他突然对数的正整数次幂产生了兴趣。 众所周知,2的正整数次幂最后一位数总是不断的在重复2,4,8,6,2,…

使用PyTorch构建卷积神经网络(CNN)源码(详细步骤讲解+注释版) 01 手写数字识别

1 卷积神经网络&#xff08;CNN&#xff09;简介 在使用PyTorch构建GAN生成对抗网络一文中&#xff0c;我们使用GAN构建了一个可以生成人脸图像的模型。但尽管是较为简单的模型&#xff0c;仍占用了1G左右的GPU内存&#xff0c;因此需要探索更加节约资源的方式。 卷积神经网络…

vue 文件.env.production、.env.development简析

静下来 慢慢看 首先 我们需要搭建一个项目 依赖包会自动下载好 无需自己 npm i .env 无论什么环境都会加载 .env.production 生产环境加载 .env.development 测试开发环境加载 我们下面的例子分开来写 只用 .env.production .env.development 在项目根目录新建两个文件 分别…

Git和SVN

一&#xff1a;两者的区别 ——Git是分布式版本控制系统&#xff0c;SVN是集中式版本控制系统 ——集中式版本控制系统 早期出现的版本控制系统有&#xff1a;SVN、CVS等&#xff0c;它们是集中式版本控制系统&#xff0c;集中式版本控制系统有一个单一的集中管理的服务器&…

【微服务】分布式搜索引擎elasticsearch(2)

分布式搜索引擎elasticsearch&#xff08;2&#xff09;1.DSL查询文档1.1.DSL查询分类1.2.全文检索查询1.2.1.使用场景1.2.2.基本语法1.2.3.示例1.2.4.总结1.3.精准查询1.3.1.term查询1.3.2.range查询1.3.3.总结1.4.地理坐标查询1.4.1.矩形范围查询1.4.2.附近查询1.5.复合查询1…

Power BI饼图

饼图展现的是个体占总体的比例&#xff0c;利用扇面的角度来展示比例大小。 在PowerBI默认的可视化对象中当然也有这种标准饼图&#xff0c;通过点击拖拽轻松生成&#xff0c; 通过对标题和图例的格式稍加设置&#xff0c;一个简单而不失专业的饼图就可以用了&#xff0c; 饼…

学术加油站|HIST,面向海量数据的学习型多维直方图

编者按 本文系东北大学李俊虎所著&#xff0c;也是「 OceanBase 学术加油站」系列第九篇内容。 「李俊虎&#xff1a;东北大学计算机科学与工程学院在读硕士生&#xff0c;课题方向为数据库查询优化&#xff0c;致力于应用 AI 技术改进传统基数估计器&#xff0c;令数据库选择…

mysql逻辑架构和数据库缓冲池

逻辑架构 典型的CS架构&#xff0c;服务端程序使用的是mysqld 客户端进程向服务器进程发送一段文本&#xff08;SQL语句&#xff09;&#xff0c;服务器进程处理后再向客户端进程发送文本&#xff08;处理结果&#xff09; # 应用连接层: # 连接处理,用户鉴权(username,host…

分享|2023年全球市场准入认证咨讯

作为全球应用安全科学专家&#xff0c;UL Solutions服务全球100多个国家和地区的客户&#xff0c;将产品安全、信息安全和可持续性挑战转化为客户的机遇。UL Solutions 提供测试、检验、认证&#xff08;TIC&#xff09;&#xff0c;以及软件产品和咨询服务&#xff0c;以支持客…

Deep Learning for 3D Point Clouds: A Survey - 3D点云的深度学习:一项调查 (IEEE TPAMI 2020)

Deep Learning for 3D Point Clouds: A Survey - 3D点云的深度学习&#xff1a;一项调查&#xff08;IEEE TPAMI 2020&#xff09;摘要1. 引言2. 背景2.1 数据集2.2 评估指标3. 3D形状分类3.1 基于多视图的方法3.2 基于体积的方法3.3 基于点的方法3.3.1 逐点MLP方法3.3.2 基于卷…

AI助力多文档审查丨合同风险审查、招投标文件、合同和中标通知书一致性审查

当下&#xff0c;企业管理的数据和文档管理中充斥着大量有复用价值的数据、资料和内容性信息。每一家企业都有许多商业文档和法律文档需要使用和维护&#xff0c;其中包含了不同语言文字、手写体、数字、公式等。然而&#xff0c;目前企业的各种文档资料仍主要依靠人工手段进行…

【Redis】Redis面试题详解与使用案例(金三银四面试专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;2022博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建工设优化。 文章内容兼具广度深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于知名金融公司…

ipv6实验

r1的配置为 [r1]int g0/0/0 [r1-GigabitEthernet0/0/0]ip address 12.1.1.1 24 [r1]int lo0 [r1-LoopBack0]ip address 1.1.1.1 32 [r1]ip route-static 0.0.0.0 0 12.1.1.2 r2的配置为 [r2]int g0/0/0 [r2-GigabitEthernet0/0/0]ip address 12.1.1.2 24 [r2]int lo0 […

小红书破局品牌增长:4大阶段+8个种草建议

品牌如何从激烈的竞争中突围&#xff0c;成为快速增长的“黑马”&#xff1f;本文就和大家一起聊聊围绕产品面对不同阶段的人群“种草”策略&#xff0c;希望能够帮助品牌更好地与用户沟通并提升营销效率&#xff0c;实现品效合一。 1、种草1.0 —— 立住产品&#xff0c;抢占赛…

Minecraft 1.19.2 Fabric模组开发 10.建筑生成

我们本次尝试在Fabric 1.19.2中生成一个自定义的建筑。 效果展示效果展示效果展示 由于版本更新缘故&#xff0c;1.19的建筑生成将不涉及任何Java包的代码编写&#xff0c;只需要在数据包中对建筑生成进行自定义。 1.首先我们要使用游戏中的结构方块制作一个建筑,结构方块使用…

企业内部沟通即时通讯软件要怎么选?

随着企业信息化的快速发展&#xff0c;为了工作效率的提高&#xff0c;即时通讯工具已经成为了众多企业办公时的标配&#xff0c;同时&#xff0c;各大企业对即时通讯功能的要求也越来越高。但是&#xff0c;现在市场上即时通信软件众多&#xff0c;各种功能和服务都是参差不齐…

python爬虫基本库的使用

博主简介&#xff1a;博主是一个大二学生&#xff0c;主攻人工智能领域研究。感谢缘分让我们在CSDN相遇&#xff0c;博主致力于在这里分享关于人工智能&#xff0c;C&#xff0c;python&#xff0c;爬虫等方面的知识分享。如果有需要的小伙伴&#xff0c;可以关注博主&#xff…

Java面试基础篇

目录 一、集合 1.集合与集合之间的区别 2.集合子类之间的区别&#xff08;数据结构&#xff09; 二、线程 三、面向对象 继承 多态 四、异常 五、IO流 六、序列化与反序列化 今天给大家分享 Java基础篇的面试题&#xff0c;小编给大家稍微整理了一下&#xff0c;希望即…