- 博客(509)
- 收藏
- 关注
原创 如何找出危险的X态问题
设计中的X态要探索的组合太多,但两个极端情况(所有X最小化为1,和所有X最小化为0)应该尝试。这听起来很粗糙但很有效,特别是所有X值设为1的情况(这更可能在if语句或case默认项中走不同的、非X的分支)。编写脚本实现相对直接,先将每个X态赋值转换为标准形式(单比特用1'bX,多比特赋值用{N{1'bX}}),然后用简单的sed脚本替换每个1'bX。将等价性检查工具的默认设置更改为X态等价模式(而不是X态无关模式),可能会发现问题X态。与X态赋值类似的问题是未复位的数据通路寄存器产生的初始化X态。
2025-04-03 22:37:38
138
原创 芯片行业里,怎样的领导才有资格让你掏心掏肺?
他们知道,工程师的成长就是团队的成长,就是公司的竞争力。好的领导不一定是所有领域的专家,但他必须对行业发展有清晰认知,能判断哪些技术值得投入。在无数次技术选型中,更重要的是,他懂得如何用对的人做对的事,不会让一个专注细节的工程师去做架构设计,也不会让创新思维活跃的架构师去写繁琐的测试用例。在芯片行业拼搏的日子里,我们面对的不仅是技术挑战,还有市场压力、量产风险、客户要求。说到底,芯片人的青春就那么几年,与其跟着一个只会压榨你、不懂你的领导耗着,不如找个有真本事、懂尊重人的领导,一起把芯片做好,把人生活好。
2025-04-03 12:55:18
64
原创 DRAM容量与地址分配
DRAM有标准的容量规格,这些规格由JEDEC标准定义。JEDEC是决定DDR内存设计和发展路线的标准委员会。下图来自DDR4 JEDEC规范(JESD79-4B)的2.7节,显示DDR4 DRAM有2Gb、4Gb、8Gb和16Gb几种容量。
2025-04-03 08:51:33
345
原创 芯片公司能走多远?这四种团队氛围要警惕
你还在为国产芯片加油打气?先看看团队内部怎么样。国产芯片刚开始火的时候,有人欢喜有人愁。不少芯片公司拿到大把投资,开始招兵买马。但我们现在看到:前两年风光无限的芯片创业团队,转眼就散了。团队氛围决定了芯片公司能走多远。凡是有这四种氛围的芯片团队,十有八九是走不远的。
2025-04-02 12:29:28
229
原创 DDR4 Bank Groups 概念介绍
DDR4 SDRAM 采用的 bank groups 特性借鉴自 GDDR5 图形内存。要理解 bank groups 的必要性,首先要理解 DDR SDRAM prefetch(预取)的概念。Prefetch 描述的是每次执行列读写命令时获取的数据字数。由于 DRAM 核心比接口慢得多,通过并行访问信息然后串行输出到接口来弥补这一差距。
2025-04-02 08:49:14
522
原创 DDR4 spec Q&A part18
IDD电流是指通过DDR4 SDRAM的所有VDD引脚的时间平均电流,例如IDD0、IDD1、IDD2N等。这些测量值不包含IPP或IDDQ电流。IPP电流与IDD定义相同,但测量的是VPP电源的电流。IDDQ电流是通过DDR4 SDRAM所有VDDQ引脚的时间平均电流,不包含IDD电流。需要注意的是,IDDQ值不能直接用于计算DDR4 SDRAM的IO功率,但可以用于支持将模拟IO功率与实际IO功率相关联。
2025-04-01 12:30:35
119
原创 DDR4 spec Q&A part17
A2: tAA (Internal read command to first data) 是内部读取命令到第一个数据输出的时间,以纳秒(ns)为单位。它与CL (CAS Latency,列地址选通延迟)密切相关,实际上CL是tAA的时钟周期表达。根据文档中的速度规格表,例如在DDR4-3200规格中,当CL=20时,tAA最小值为12.50ns,最大值为18.00ns。CL值越低,tAA值也越低,意味着内存响应读取命令的速度越快。CL的计算基于tAA,遵循JEDEC标准中第13.5节定义的舍入算法。
2025-04-01 12:30:35
216
原创 DDR4 spec Q&A part16
A1: DDR4的Output Driver是输出缓冲器,用于驱动数据线上的信号。它支持两种不同的Ron(输出阻抗)值模式:强模式(strong mode,低Ron)和弱模式(weak mode,高Ron)。Output Driver由上下拉电阻组成,分别称为RONPu(上拉电阻)和RONPd(下拉电阻)。这两个参数定义了输出阻抗的特性,其中RONPu定义为(VDDQ-Vout)/Iout(当RONPd关闭时),RONPd定义为Vout/Iout(当RONPu关闭时)。
2025-04-01 12:30:35
207
原创 DDR4 spec Q&A part19
A: Silicon pad I/O Capacitance是指DDR4 DRAM芯片硅片上输入/输出引脚的电容值。这些参数对于高速信号完整性至关重要,因为它们会影响信号传输质量和时序。在DDR4标准中,这些电容值随着速度等级的提高而有所不同,例如对于DDR4-3200,CIO(输入/输出电容)的规格为0.55-1.00 pF。这些参数通常不通过生产测试验证,而是通过设计和表征来确认。测量时需要施加VDD、VDDQ、VSS、VSSQ电压,同时让其他信号引脚浮空。
2025-04-01 12:30:35
258
原创 DDR4 spec Q&A part21
A1: Write Leveling是DDR4 SDRAM的一项重要功能,主要用于解决高速数据传输中的信号时序对齐问题。当系统运行在高频率时,由于PCB走线长度不同,DQS信号和时钟信号之间可能存在偏差。Write Leveling允许DRAM在初始化阶段向控制器反馈时序信息,帮助控制器调整每个DQS组的写入时序,以确保数据写入DRAM时能够正确捕获。文档中提到所有的x4、x8和x16组织结构的DDR4芯片都支持此功能,而且在所有速度等级(1600Mbps至3200Mbps)都可用。
2025-04-01 12:30:35
164
原创 DDR4 spec Q&A part22(完结)
从JESD79-4B到JESD79-4C的修订中,我们可以看到多方面的改进,包括输入电平规范、overshoot和undershoot规格、时序参数优化等。标准需要不断修订的原因包括:1)随着技术发展,需要支持更高容量(如文档中提到的16Gb设备的tRFC更新);JESD79系列标准具体定义了DDR SDRAM内存的规格,文档中提到的JESD79-4C标准专门针对DDR4内存技术,定义了其电气特性、时序要求、信号完整性参数等技术规范,使得不同厂商生产的DDR4内存模块能够在各种系统中正常工作。
2025-04-01 12:30:35
130
原创 DDR4 spec Q&A part20
A: AC Timing参考负载是用来定义DDR4 SDRAM设备相关AC时序参数的有效参考负载。根据文档,DDR4使用50欧姆的参考负载来定义AC时序参数和输出斜率测量。DQ、DQS_t和DQS_c驱动器的Ron标称值为34欧姆。这个参考负载会影响输出信号的电平,使最大DC高电平为1.0 * VDDQ,最小DC低电平约为0.4 * VDDQ,输出信号的标称参考电平约为0.7 * VDDQ。这个参考负载不是对特定系统环境的精确表示,而是提供一个测试基准。
2025-04-01 12:30:35
131
原创 芯片验证工程师的焦虑:我是个“守门人“
在芯片行业里,有一群人,他们的工作超级焦虑。他们就是芯片验证工程师。说起来,这个职业好像挺体面的,但只有我们自己知道,验证工程师的日常,简直就是一场无尽的"bug寻找之旅"。
2025-04-01 07:09:36
337
原创 芯片验证工程师的焦虑:我是个“守门人“
在芯片行业里,有一群人,他们的工作超级焦虑。他们就是芯片验证工程师。说起来,这个职业好像挺体面的,但只有我们自己知道,验证工程师的日常,简直就是一场无尽的"bug寻找之旅"。
2025-04-01 07:09:36
214
原创 芯片验证工程师的焦虑:我是个“守门人“
在芯片行业里,有一群人,他们的工作超级焦虑。他们就是芯片验证工程师。说起来,这个职业好像挺体面的,但只有我们自己知道,验证工程师的日常,简直就是一场无尽的"bug寻找之旅"。
2025-04-01 07:09:36
251
原创 DDR4 spec Q&A part13
A: DDR4 SDRAM的ODT (On-Die Termination) 是一种内置终端电阻功能,允许DRAM通过ODT控制引脚、写命令或默认停靠值结合MR设置来改变DQ、DQS_t、DQS_c和DM_n信号线的终端电阻值。对于x4和x8配置,ODT应用于这些信号线;对于x16配置,则应用于DQU、DQL、DQSU_t、DQSU_c、DQSL_t、DQSL_c、DMU_n和DML_n信号线。
2025-03-31 18:30:57
274
原创 DDR4 spec Q&A part14
在推荐工作条件下,VDD和VDDQ的典型值为1.2V(范围1.14-1.26V),而VPP的典型值为2.5V(范围2.375-2.75V)。在AC参数测量时,VDD和VDDQ是绑定在一起的,且VDDQ必须始终小于或等于VDD。长时间暴露在绝对最大额定条件下可能会影响设备的可靠性。文档中指出VDD和VDDQ电压范围为-0.3~1.5V,VPP电压范围为-0.3~3.0V,存储温度TSTG范围为-55至+100°C。在实际应用中,应确保设备在推荐的工作条件范围内运行,以确保其长期稳定性和可靠性。
2025-03-31 18:30:57
185
原创 只有少数芯片人打了翻身仗,大部分都在参与“劳动密集型“工作
"时序收不住"、"流片前大冲刺"、"回归BUG修不完"...这些都是芯片人再熟悉不过的场景。芯片设计的"路"已经被大公司铺好,大部分工程师只是在这条路上前行,很少有机会开辟新径。那些能够参与架构设计的人,那些能够提出创新解决方案的人,那些对产业有全局把握的人。"久而久之,你会发现自己只是掌握了一套模式化的操作,而不是真正的核心技术。"说真的,我每天就是搬砖,就是劳动密集型。就像鲁迅先生说的:"其实世界上本没有路,走的人多了,也便成了路。只是我们的工厂,有着更高的天花板,更亮的灯光,更舒适的椅子。
2025-03-31 12:26:31
627
原创 只有少数芯片人打了翻身仗,大部分都在参与“劳动密集型“工作
"时序收不住"、"流片前大冲刺"、"回归BUG修不完"...这些都是芯片人再熟悉不过的场景。芯片设计的"路"已经被大公司铺好,大部分工程师只是在这条路上前行,很少有机会开辟新径。那些能够参与架构设计的人,那些能够提出创新解决方案的人,那些对产业有全局把握的人。"久而久之,你会发现自己只是掌握了一套模式化的操作,而不是真正的核心技术。"说真的,我每天就是搬砖,就是劳动密集型。就像鲁迅先生说的:"其实世界上本没有路,走的人多了,也便成了路。只是我们的工厂,有着更高的天花板,更亮的灯光,更舒适的椅子。
2025-03-31 12:26:31
298
原创 只有少数芯片人打了翻身仗,大部分都在参与“劳动密集型“工作
"时序收不住"、"流片前大冲刺"、"回归BUG修不完"...这些都是芯片人再熟悉不过的场景。芯片设计的"路"已经被大公司铺好,大部分工程师只是在这条路上前行,很少有机会开辟新径。那些能够参与架构设计的人,那些能够提出创新解决方案的人,那些对产业有全局把握的人。"久而久之,你会发现自己只是掌握了一套模式化的操作,而不是真正的核心技术。"说真的,我每天就是搬砖,就是劳动密集型。就像鲁迅先生说的:"其实世界上本没有路,走的人多了,也便成了路。只是我们的工厂,有着更高的天花板,更亮的灯光,更舒适的椅子。
2025-03-31 12:26:31
182
原创 DDR4 spec Q&A part9
A1: Burst Read Operation(突发读取操作)是DDR4内存中的一种读取数据模式,它允许连续读取多个内存单元的数据。而Precharge(预充电)操作则是为下一次访问做准备,它会将指定Bank的所有位线重置到一个预定义的电压水平。在DDR4中,这两种操作通常配合使用:当一次突发读取完成后,需要通过Precharge命令来关闭激活的行,为下一次访问做准备。
2025-03-31 07:32:18
256
原创 DDR4 spec Q&A part10
根据文档,写入操作遵循特定的时序要求:写命令后,数据输入必须等待写延迟(WL = AL + CWL)个时钟周期才开始传输。DDR4支持不同的突发长度模式:BL8(8个数据)和BC4(4个数据),可以通过模式寄存器MR0配置。文档中的图表展示了不同场景下的写入时序,包括不同Bank Group间的写入、同一Bank Group内的写入,以及支持DBI(Data Bus Inversion)、CRC(Cyclic Redundancy Check)和DM(Data Mask)功能的写入操作时序。
2025-03-31 07:32:18
310
原创 DDR4 spec Q&A part12
A: Connectivity Test (CT) Mode是DDR4 SDRAM中的一种测试模式,主要用于验证芯片与系统之间的连接性。在CT模式下,DRAM会接受特定的测试输入信号,并产生相应的测试输出信号,以便系统可以验证连接是否正常。CT模式的使用场景通常是在系统集成和组装后的初步测试阶段,用于检测硬件连接问题。根据文档说明,CT模式可以在DRAM完成上电后使用,但必须在DRAM初始化完成和VREFdq校准之前使用。一旦DRAM被初始化并且VREFdq被校准,CT模式就不能再被使用。
2025-03-31 07:32:18
112
原创 DDR4 spec Q&A part11
A: Self-Refresh模式是DDR4 SDRAM的一种低功耗状态,其主要目的是在系统其他部分断电的情况下保留DRAM中的数据。当DDR4 SDRAM处于Self-Refresh模式时,即使没有外部时钟信号,它也能保持数据。具体来说,DDR4 SDRAM内置了一个定时器来实现自刷新操作。
2025-03-31 07:32:18
232
原创 DDR4 spec Q&A part7
A1: Gear-down Mode是DDR4中的一种工作模式,也称为2N模式。它允许命令和地址信号以更低的频率运行,相当于内存控制器的命令接口以内存时钟一半的速率工作,而数据接口仍保持全速运行。启用Gear-down Mode后,命令信号的建立和保持时间会更宽松,提高高频工作时的系统稳定性。文档中展示了Gear-down模式的进入序列,包括初始化期间和从Self Refresh退出后的进入方式。进入该模式需要满足特定的时序要求,如tGEAR_setup、tGEAR_hold和tSYNC_GEAR等参数。
2025-03-30 19:59:46
177
原创 DDR4 spec Q&A part8
A1: tRPRE是DDR4 SDRAM中READ Preamble的时间参数,表示在读取数据前DQS信号的准备时间。在读取操作开始时,DQS信号从高阻态转变为有效状态的过渡期间就是preamble阶段。tRPRE确保接收方有足够的时间准备接收即将到来的数据。根据文档描述,tRPRE的计算方法是基于差分信号的脉冲宽度,其参考电压点在(0.30±0.04)×VDDQ,其中VDDQ是I/O供电电压。正确的preamble时序对于确保可靠的数据捕获至关重要。
2025-03-30 19:59:46
272
原创 DDR4 spec Q&A part6
Q1: 什么是DDR4 SDRAM中的CRC功能,它的主要目的是什么?A1: DDR4 SDRAM中的CRC(循环冗余校验)功能是一种错误检测机制,主要用于写操作过程中的数据完整性验证。它的主要目的是检测数据传输过程中可能发生的错误,确保写入DRAM的数据准确无误。当启用CRC时,控制器会为传输的数据计算校验和,并将其作为数据帧的一部分发送。DRAM接收到数据后,会重新计算校验和并与收到的校验和进行比较,如果发现不匹配,则通过ALERT_n信号报告错误。
2025-03-30 19:59:46
305
原创 DDR4 spec Q&A part5
Vref的步进大小(stepsize)范围从0.5% VDDQ到0.8% VDDQ,具体设计中DRAM会有一个落在此范围内的固定步进值。A1: ZQ Calibration 是DDR4存储器中的一项重要校准功能,主要用于校准输出阻抗和终端电阻值,确保信号完整性和系统稳定性。Vref的操作范围由Vrefmin和Vrefmax定义,这是DDR4 DRAM设备所需的最小参考电压设置范围。Range 1: Vref_min_R1为60% VDDQ,Vref_max_R1为92% VDDQ。
2025-03-30 11:28:51
408
原创 DDR4 spec Q&A part4
在固定4x刷新率模式或可切换1x/4x刷新率模式下,建议在进入Self Refresh前应有4的倍数个REF4x命令。但退出Self Refresh模式时,可能需要额外的Refresh命令,取决于进入Self Refresh时的条件。在固定2x刷新率模式或可切换1x/2x刷新率模式下,建议在进入Self Refresh前应有偶数个REF2x命令。可以在1x、2x和4x模式下随时进入Self Refresh模式,无需考虑之前发出的Refresh命令数量。在固定1x刷新率模式下没有特殊限制。
2025-03-30 11:28:51
119
原创 DDR4 spec Q&A part2
DDR4 SDRAM的读写操作是突发导向的,从选定位置开始,按编程序列继续进行8位长度的突发传输或"截断"的4位突发传输。A0-A17选择行)。与Read或Write命令同时注册的地址位用于选择突发操作的起始列位置,确定是否发出auto precharge命令(通过A10),以及在mode register启用的情况下"即时"选择BC4或BL8模式(通过A12)。状态图通过箭头连接各状态,并标明了执行状态转换所需的命令,如ACT(激活)、PRE(预充电)、Read(读取)、Write(写入)等。
2025-03-30 11:28:51
346
原创 DDR4 spec Q&A part3
根据Command Truth Table,主要的控制信号包括CS_n、ACT_n、RAS_n/A16、CAS_n/A15、WE_n/A14和CKE。当ACT_n为高电平时,RAS_n/A16、CAS_n/A15和WE_n/A14用作命令引脚;此外,BG(Bank Group)和BA(Bank Address)决定操作哪个bank group内的哪个bank,而对于MRS命令,BG和BA则选择特定的Mode Register位置。CKE的状态变化必须满足特定的时序要求,如tCKEmin等。
2025-03-30 11:28:51
286
原创 DDR4 spec Q&A part1
A1: Bank Group是DDR4中引入的一种组织结构,它将多个Bank分组管理。在DDR4中,x4和x8配置有4个Bank Group(通过BG0~BG1寻址),而x16配置则有2个Bank Group(仅通过BG0寻址)。每个Bank Group内部包含多个Bank(通过BA0~BA1寻址),这种层次化设计可以提高内存访问的并行性和整体性能。A3: DDP(Dual Die Package)是一种将两个独立的芯片封装在同一个物理封装中的技术。
2025-03-30 07:09:53
369
原创 芯片打工人的囧境:当高薪成为“温柔陷阱“
聊聊那个大家心知肚明却不愿说破的问题:我们的收入结构太单一,抗风险能力实在堪忧。这话听着刺耳,但看看周围的同事,再想想自己,是不是有那么点扎心?
2025-03-30 07:09:53
287
原创 芯片打工人的囧境:当高薪成为“温柔陷阱“
聊聊那个大家心知肚明却不愿说破的问题:我们的收入结构太单一,抗风险能力实在堪忧。这话听着刺耳,但看看周围的同事,再想想自己,是不是有那么点扎心?
2025-03-30 07:09:53
328
原创 芯片打工人的囧境:当高薪成为“温柔陷阱“
聊聊那个大家心知肚明却不愿说破的问题:我们的收入结构太单一,抗风险能力实在堪忧。这话听着刺耳,但看看周围的同事,再想想自己,是不是有那么点扎心?
2025-03-30 07:09:53
262
原创 芯片圈打工人的迷思:平台的能力≠你的能力
作为芯片行业的打工人,我们要时刻提醒自己:区分平台能力和个人能力,不要被表面的光环迷惑。真正的技术实力,是离开平台加持后仍能解决问题的能力;是理解原理而不仅仅是操作工具的能力;是能够在不同环境下都能创造价值的能力。对了,这篇文章不是为了打击信心,而是希望大家有更清醒的自我认知。毕竟,认清现实才是进步的开始。看完文章,你有什么想法?欢迎在评论区分享你的经历和感悟。
2025-03-29 22:12:57
668
原创 Verilog中X态的危险:仿真漏掉的bug
综合工具不会警告这个“锁存行为”,但当RTL验证仅因为这种X态解释而通过某些测试用例时,RTL和网表仿真之间的差异就变得危险了。上面的例子中,用Verilog RTL中的case语句描述了一个简单的AND函数,它被综合成AND2门。当w1信号上出现任何X值时(可能来自显式的X赋值或未初始化的寄存器),仿真差异就会发生。在这个例子中,输出o1上的X只会选择else分支,后续暴露i2被赋值给o2时的问题。由于Verilog中X态的微妙语义,RTL仿真可能PASS,而网表仿真却会fail。
2025-03-29 16:17:58
344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人