- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 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
201
原创 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
1124
原创 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
1056
原创 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
794
原创 DDR ECC分类
为了在运行时处理这些内存错误,内存子系统必须具有先进的 RAS(可靠性、可用性和可维护性)功能,以在发生内存错误时进行修正,延长整个系统的正常运行时间。如果没有 RAS 功能,系统很可能会因为内存错误而崩溃。但是,RAS 功能允许系统在出现可纠正的错误时继续运行,同时记录不可纠正错误的详细信息,以便将来进行调试。作为内存 RAS 功能的 ECC内存子系统中较常用的一种 RAS 方案是纠错码 (ECC) 内存。
2023-11-08 16:14:18
929
原创 DDR ECC
ECC是用于校验数据传输是否正确的一种算法,ECC一般采用汉明码的基础上,调价一位校验位,采用(8,4)汉明码的形式,可以实现对单bit错误进行检测并矫正,对2bit错误进行检测。
2023-11-08 16:00:07
513
原创 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
955
原创 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
540
原创 AXI outstanding out-of-order interleaving
最近把AXI的out-of-order忘记了,惭愧惭愧。记一下笔记。
2023-09-20 16:15:19
397
原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(十四)
行管理策略 open-page close-page;还有地址映射。
2023-09-14 13:44:31
226
原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(十一)
介绍了读写,refresh precharge 之间的操作时序要求。
2023-09-12 16:47:42
494
原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(九)
第九章,主要整理了两个知识点:(1)读写操作中DQS与DQ的对齐位置不一致。(2)DLL的作用。
2023-09-11 11:39:48
326
原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(八)
无论DRAM内存控制器的位置如何,其功能是接受对内存中给定地址的读取和写入请求,将请求翻译为一个或多个命令发送到内存系统,按正确的顺序和正确的时序向DRAM设备发出这些命令,并代表处理器或系统中的I/O设备检索或存储数据。这个安排意味着从内存控制器的角度来看,一行的大小只是给定rank中所有DRAM设备的大小,即一行在给定的DRAM设备中的大小乘以给定rank中的DRAM设备数量,并且DRAM行跨越给定rank中多个DRAM设备。本章的文本将探讨在更大的内存系统中多个DRAM设备的构建、组织和操作。
2023-09-08 17:44:48
391
1
原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(六)
介绍了DRAM借本单元和执行读写操作时,内部的操作流程
2023-09-08 14:06:59
640
1
原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(五) DRAM Device Organization: Basic Circuits and Arch
现代DRAM中的基本单元和array的架构
2023-09-06 20:36:29
420
1
原创 Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(四) DRAM Device Organization: Basic Circuits and Arch
FPM DRAM 了解即可
2023-09-05 23:30:22
206
1
原创 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
598
原创 几个vim插件的使用
对齐代码:(1)先进入列操作,选择要对齐的行数。(2)然后shift+:进入列操作命令输入模式(3)输入Tab/ 要对齐的参考点。:Tabularize 可简化为 :Tab,以下都省略了选中区域后自动生成的 ‘:冒号对齐::Tab /:逗号对齐 :Tabularize /,运行上一个对齐命令 :Tab// 对齐(需要 escape): :Tab ///:Tabularize /,/r1c1l0 含义是:对齐指定区域的文本,以逗号分割。
2023-08-24 19:07:00
449
1
原创 gvim verilog 插件,服务器无网安装
网上大部分教程都是联网直接从github上下载;但是公司服务器的网是不能连网的。找了半天博客。参考了这两篇:一篇是IC工程师 常用插件推荐(该博主讲LPDDR5/5X的文章也很好,入门LPDDR5的好文章):链接:另外一篇是教我们如何离线安装gvim插件的:链接:这篇介绍的很详细了。但想记录自己的安装流程。方便后续查找安装。
2023-08-24 18:58:45
661
3
原创 芯片中PVT模块
如果初始触发时候给为“1”,那最后输出就是“0”,然后输入自然也就是“0”,然后输出又变成“1”,如此实现“0”和“1”的固定频率交替振荡输出。process是指芯片中的cell比如buf从低/高电平到高/低电平所需的时间,一般指的是cell的延时。(扩展一下,一般如何提高电流呢,一般会选择升压,这就是为什么对于高频电路,我们会选择升压的原因。在对于功耗要求高的芯片,如果测得process延时小,在ff区域,此时可能不需要这么高的电压就可以满足,那么我们可以降压使其降低功耗。延时越大,频率越慢。
2023-08-02 14:36:21
1416
原创 后仿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
1716
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
1264
原创 【gvim】常用操作
vsp打开在同一个窗口下打开新窗口:E 打开要粘贴内容进去的文件在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行然后在需要粘贴的文件中按p。
2022-11-07 17:46:58
438
原创 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
2423
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人