自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 LPDDR4---retraining

LPDDR4在设计的时候,为了降低功耗,在颗粒内部没有放置DLL用于稳住CK与DQS之间的相位对齐,DQS和CK之间的相位会随着温度变化而发生偏移。所以对于读来讲,CK与DQS之间的延迟参数tDQSCK是会随着温度而发生变化,从而影响PHY端准确地将DQ数据采样。在写方面为了降低功耗,DQ与DQS之间在颗粒内部没有做延迟对齐。所以DQ与DQS之间的颗粒内部的延迟tDQS2DQ也会随着温度发生偏移。所以为了防止偏移导致读写时序不满足,所以需要及时做retraining进行补偿。

2024-04-27 18:02:06 187

原创 RAS lockout

但是为了简化控制器的设计,所以颗粒这边设计ACT到读写带auto-precharge的时间满足tRCD即可。主要是为了解决ACT到读写带auto-precharge两者之间的时序参数与ACT到读写不带percharge的时序参数不一致的问题。所以正常情况下ACT到读写带auto-precharge的时序参数应该为tRAS。这样的话,控制器这边ACT到读写的时序参数只需要一个时序参数tRCD即可。正常情况下,相同bank下,ACT到读写的时序参数是tRCD。ACT到PRECHARGE的时序参数是tRAS。

2024-04-07 10:14:27 136

原创 GDDR6 (3)

(1) GDDR6给输出提供自动校准阻抗和对输入提供ODT。方便用户在给定的一个范围内调节外部ZQ连接一个120欧姆的电阻连接到地。相当于40欧姆下拉电阻和60/48欧姆的上拉电阻。(2)输出驱动和ODT可以在REFab期间进行更新。(3)GDDR6提供的阻抗偏移值,包括PD PU,DQ/DBI/WCK ODT和 CA ODT(4) 阻抗偏移值不是线性的。对于驱动来讲,负向偏移是增大阻抗,正向偏移是降低阻抗。但对于ODT来讲,负向偏移是降低阻抗,正向偏移是增加阻抗。

2024-03-16 16:50:51 929

原创 GDDR6 (2) training

GDDR6的training是包括CA training的,但与LPDDR4不一致,在CA training之前,LPDDR4是通过低频时钟对颗粒内部的MR寄存器进行设置。GDDR6没有低频时钟,通过复位释放前,通过CA等引脚,将CA ODT等参数,静态设置完毕。并提供了一个特殊的MR15寄存器,用于使能CA training。并且CAT命令是通过CKEN 单边沿采样的。

2024-03-14 18:22:45 811

原创 GDDR6 协议 (1)

(1)x16和x8的区别在于row地址位宽不一致。(2)理论上GDDR6最大能到32Gb。

2024-03-12 17:09:47 883

原创 GDDR6 协议(0)

GDDR的全称叫Graphics Double Data Rate;就是专门用于图像处理的DDR。GDDR相对于DDR的优势和缺点:优点GDDR 传输速率更高,GDDR6能到20Gbps缺点(1)GDDR没有rank,芯片容量扩展困难。只能靠clamshell进行翻倍(2)GDDR的延迟相对DDR较大。综上看,GDDR适合于大带宽,对延迟不敏感的场景。所以GDDR一般只用于GPU;对于复杂场景的SOC,一般都是选择DDR或者LPDDR。

2024-03-09 11:26:15 470

原创 DDR ECC分类

为了在运行时处理这些内存错误,内存子系统必须具有先进的 RAS(可靠性、可用性和可维护性)功能,以在发生内存错误时进行修正,延长整个系统的正常运行时间。如果没有 RAS 功能,系统很可能会因为内存错误而崩溃。但是,RAS 功能允许系统在出现可纠正的错误时继续运行,同时记录不可纠正错误的详细信息,以便将来进行调试。作为内存 RAS 功能的 ECC内存子系统中较常用的一种 RAS 方案是纠错码 (ECC) 内存。

2023-11-08 16:14:18 344

原创 DDR ECC

ECC是用于校验数据传输是否正确的一种算法,ECC一般采用汉明码的基础上,调价一位校验位,采用(8,4)汉明码的形式,可以实现对单bit错误进行检测并矫正,对2bit错误进行检测。

2023-11-08 16:00:07 233

原创 DDR3 DDR4的DLL 与LPDDR4中的OSC 对读写DQS与DQ之间的延迟的影响

(1)DDR中对于读操作,利用DLL实现读DQS与外部时钟的对齐。这样读的DQS与PHY上的时钟相位是对齐的,这样可以降低PHY的设计复杂度。(2)对于LPDDR4,为了节省功耗,所以不采用DLL。但这样读DQS是与PHY上的时钟是异步的,所以需要PHY这边用异步FIFO完成传输。(3)对于写操作,DDR内部DQS与DQ的传输延迟是比较小的,所以对于写DQS2DQ的延迟无需太多关注。但对于LPDDR4,为了减少功耗,所以对于写,DQ先采到,DQS后面采到;所以中间的延迟会比较大。

2023-11-08 15:45:00 453

原创 verilog -- generate 后面不能加begin end

一个generate RTL代码里面if判断是参数判断。正常仿真能过,但DC编译报错。DC 报错 syntax error on a obsolute verilog 2001 construct standalone generate block (VER-946)网上论坛有人同样遇到了,但没有啥确切结论。代码类似写法如下:generatebegina = ……;b = ……;b = ……;endend。

2023-10-12 14:04:45 321

原创 AXI outstanding out-of-order interleaving

最近把AXI的out-of-order忘记了,惭愧惭愧。记一下笔记。

2023-09-20 16:15:19 178

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(十五)

对于DRAM的性能提高,做出的策略。

2023-09-14 16:10:44 109

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(十四)

行管理策略 open-page close-page;还有地址映射。

2023-09-14 13:44:31 125

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(十三)

简单介绍了SDRAM DDR DDR2 DDR3

2023-09-13 10:36:21 79

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(十二)

介绍了 tRRD和tFAW

2023-09-12 17:44:22 82

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(十一)

介绍了读写,refresh precharge 之间的操作时序要求。

2023-09-12 16:47:42 193

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(十)

介绍了ddr基本操作的时序

2023-09-11 16:52:02 190

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(九)

第九章,主要整理了两个知识点:(1)读写操作中DQS与DQ的对齐位置不一致。(2)DLL的作用。

2023-09-11 11:39:48 191

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(八)

无论DRAM内存控制器的位置如何,其功能是接受对内存中给定地址的读取和写入请求,将请求翻译为一个或多个命令发送到内存系统,按正确的顺序和正确的时序向DRAM设备发出这些命令,并代表处理器或系统中的I/O设备检索或存储数据。这个安排意味着从内存控制器的角度来看,一行的大小只是给定rank中所有DRAM设备的大小,即一行在给定的DRAM设备中的大小乘以给定rank中的DRAM设备数量,并且DRAM行跨越给定rank中多个DRAM设备。本章的文本将探讨在更大的内存系统中多个DRAM设备的构建、组织和操作。

2023-09-08 17:44:48 196 1

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(七)

了解为主

2023-09-08 16:02:04 157 1

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(六)

介绍了DRAM借本单元和执行读写操作时,内部的操作流程

2023-09-08 14:06:59 244 1

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(五) DRAM Device Organization: Basic Circuits and Arch

现代DRAM中的基本单元和array的架构

2023-09-06 20:36:29 178 1

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(四) DRAM Device Organization: Basic Circuits and Arch

FPM DRAM 了解即可

2023-09-05 23:30:22 105 1

原创 PLL&DLL

链接:后续补充整理。

2023-09-05 14:28:57 273 1

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(三)

简单了解DRAM发展

2023-09-04 19:36:51 141 1

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(二)

DRAM 的发展史

2023-09-03 11:30:35 171

原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(一)

而rank表示更大层次的并行,表示DIMM层次的并行,比如先对rank0进行操作,然后紧接着对rank1进行操作,然后rank0准备好,发送或者接受数据,发送完后,rank1也准备好了,再发送rank1的。大多数DRAM的地址引脚仍然是复用的,因为一个系统可以拥有多个DIMM模块,每个DIMM模块可以被视为一个独立的"bank"(内存块),而每个DIMM模块上的DRAM设备可以在内部实现多个独立的"bank",因此引入了"rank"这个词来区分DIMM级别的独立操作与内部"bank"级别的独立操作。

2023-09-02 20:41:05 352

转载 DDR颗粒内部读写原理

关于DDR颗粒内部工作介绍的文章很少。只看官方文档,很难理解颗粒内部的运行状态。虽然不影响正常的设计控制器和SOC集成使用。所以平时也没有在意。昨天给公司小伙伴,分享DDR知识的时候,小伙伴太积极,直接把我问懵了。问我读操作会消耗电容的电荷量,颗粒是怎么进行补充的。当时没答上来,就说bitline去补充的。会后立马去查了一下。发现了一篇介绍DDR内部颗粒的好博客这篇博客参考的这本书:Memory Systems - Cache Dram and Disk;

2023-08-31 11:51:52 328

原创 几个vim插件的使用

对齐代码:(1)先进入列操作,选择要对齐的行数。(2)然后shift+:进入列操作命令输入模式(3)输入Tab/ 要对齐的参考点。:Tabularize 可简化为 :Tab,以下都省略了选中区域后自动生成的 ‘:冒号对齐::Tab /:逗号对齐 :Tabularize /,运行上一个对齐命令 :Tab// 对齐(需要 escape): :Tab ///:Tabularize /,/r1c1l0 含义是:对齐指定区域的文本,以逗号分割。

2023-08-24 19:07:00 279 1

原创 gvim verilog 插件,服务器无网安装

网上大部分教程都是联网直接从github上下载;但是公司服务器的网是不能连网的。找了半天博客。参考了这两篇:一篇是IC工程师 常用插件推荐(该博主讲LPDDR5/5X的文章也很好,入门LPDDR5的好文章):链接:另外一篇是教我们如何离线安装gvim插件的:链接:这篇介绍的很详细了。但想记录自己的安装流程。方便后续查找安装。

2023-08-24 18:58:45 481 3

原创 芯片中PVT模块

如果初始触发时候给为“1”,那最后输出就是“0”,然后输入自然也就是“0”,然后输出又变成“1”,如此实现“0”和“1”的固定频率交替振荡输出。process是指芯片中的cell比如buf从低/高电平到高/低电平所需的时间,一般指的是cell的延时。(扩展一下,一般如何提高电流呢,一般会选择升压,这就是为什么对于高频电路,我们会选择升压的原因。在对于功耗要求高的芯片,如果测得process延时小,在ff区域,此时可能不需要这么高的电压就可以满足,那么我们可以降压使其降低功耗。延时越大,频率越慢。

2023-08-02 14:36:21 926

原创 后仿sdf

一般会现在跑两个corner : ss 和ff常见的选择:电压:0.81v 低电压 (标准电压是0.9v,低电压为-10%)温度 : -40摄氏度C :只考虑电容影响(只有射频才会可能考虑R电阻的影响)worst :最差的延时情况MAXIMUM :cell的最大延时用于分析setup 违例电压:0.99v 高电压 (标准电压是0.9v,低电压为+10%)温度 : 125摄氏度C :只考虑电容影响(只有射频才会可能考虑R电阻的影响)

2023-07-31 10:24:38 877 1

原创 【VCS编译】-v 不能随便加

在vcs文档中,-v选项的描述:-v是将该文件设置为lib文件,我们design 文件中例化的module从lib中搜索。但是lib文件中的module中不能有例化其他文件的module,不然不能作为lib文件。那么-v文件有什么作用呢?它的初衷是为了统一标准库module。比如一个乘法器叫mul,另外一个也叫mul,那么就会冲突,这个时候我们把一个mul的.v作为lib,那么我们design文件调用例化的时候就会从lib中调用。

2023-06-27 16:31:31 880

原创 【gvim】常用操作

vsp打开在同一个窗口下打开新窗口:E 打开要粘贴内容进去的文件在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行然后在需要粘贴的文件中按p。

2022-11-07 17:46:58 189

原创 GVIM verilog例化模块

GVIM verilog例化模块@TOCgvim中有一个插件vlog_inst_gen.vim;在git上有下载地址https://download.csdn.net/download/qq_33473931/24417589配置说明1.需要修改vlog_inst_gen.vim(1)打开文件,然后在命令行模式下,先输入 :%s/然后按ctrl+v ,在底层命令行出现^然后按ctrl+M, 在底层命令行出现M最后命令行显示为:%s/^M//g然后运行指令,把^M都删除掉。(2)

2021-09-24 17:15:31 2219

vim插件,IC工程师常用

我的博客文章所用插件

2023-08-24

vlog_inst_gen.vim

verilog顶层例化

2021-09-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除