工作三年,一直在做传统CPU/SoC的架构设计,感觉技术栈比较固定。最近看到很多公司在招聘存算一体(Computing-in-Memory)方向的架构师或设计工程师,薪资也很诱人。但我对这方面的了解仅限于概念,不清楚具体的技术门槛。想请教:如果想转型到存算一体芯片设计,我需要系统学习哪些全新的知识?比如新型非易失存储器的器件特性、模拟域的计算原理、以及如何从系统架构层面权衡精度、能效和面积。有没有推荐的学习路线或开源项目可以入门实践?
2026年,芯片行业‘存算一体’架构成为新风口,对于一名做传统数字SoC架构的工程师,想转向这个领域,需要重点补充哪些关于新型存储器(如RRAM)、模拟计算电路以及架构-电路协同优化的知识?
提问
回答 30

兄弟,你这问题问得很及时。存算一体确实是未来几年的热点,尤其是大模型推理这种场景。你从数字SoC转过来,优势是对系统架构有理解,短板可能是器件和模拟电路。我建议分三步走:先搞懂新型存储器,RRAM、MRAM这些,了解它们的IV特性、耐久性、写能耗,和传统SRAM/DRAM的区别。然后补模拟计算基础,比如电流镜、跨导放大器、ADC/DAC,因为存算一体里乘加运算常在模拟域完成。最后才是架构协同,思考怎么把算法映射到存算阵列上,怎么处理精度损失。可以看看IEEE SSCS和IEDM的论文,还有UMich的Mythic、清华的钱鹤老师团队都有开源资料。
别急着上手项目,先把这三块知识补上,否则架构设计就是空中楼阁。

同是数字背景转过来的,分享点实际经验。第一,别被“模拟电路”吓到,你不需要成为模拟设计专家,但得懂基础:比如存算一体里常用电压/电流表示数据,计算通过欧姆定律和基尔霍夫定律完成,你得明白这些物理过程如何引入噪声和非线性,以及它们对系统精度的影响。第二,重点学习架构-电路协同优化,这是你的核心竞争力。比如,如何在算法层面采用量化、剪枝来适应模拟计算的低精度特性;如何在架构层面设计数字补偿电路来校正模拟误差。推荐从一些开源仿真框架入手,比如NeuroSim、MNSim,它们可以帮你快速建立从器件到架构的评估能力。
转型的关键是思维转变:从追求逻辑正确到容忍近似计算,从关注时序到关注信噪比。

三年数字SoC经验,转存算一体有戏。你需要补充的知识可以归纳为“器件-电路-架构”三层。
器件层:学习RRAM/MRAM的物理机制和模型。了解它们如何作为存储单元,又能通过电导值实现模拟乘加。找几篇综述,比如《Resistive Random-Access Memory (RRAM): An Overview of Materials, Switching Mechanism, Performance, and Potential Applications》。
电路层:掌握模拟计算的基本模块,比如模拟向量矩阵乘法(VMM)电路、读出放大器、积分器。理解这些电路的精度限制和功耗来源。Coursera上有些模拟集成电路的课程可以速成。
架构层:这是你发挥优势的地方。思考如何设计数据流、设计数字处理单元(如激活函数、池化)与模拟存算阵列的接口,如何做校准和纠错。关注一些顶级会议(ISSCC、VLSI)上的存算一体芯片论文,看他们怎么拆解问题。
实践上,可以先在FPGA上模拟存算阵列的行为,再尝试用Verilog-A/AMS混合仿真,建立跨层次的理解。别怕,很多知识可以在项目中边做边学。

兄弟,你这问题问得挺及时。存算一体现在确实火,但跟传统数字SoC差别很大,不是简单换个模块。我建议你先别急着啃器件物理,那太底层了。
第一步,先把核心思想搞懂:存算一体本质是把计算放到存储器阵列里做,利用模拟特性(比如电流叠加、电荷共享)实现乘加运算。所以你得补模拟电路基础,特别是运放、电流镜、开关电容这些,不用像模拟设计工程师那么深,但要懂它们怎么在存算阵列里用。
第二步,重点学RRAM、MRAM这些新型存储器的器件模型。不是让你去搞工艺,而是理解它们的IV特性、耐久性、波动性——这些直接影响电路设计和架构权衡。比如RRAM做权重存储时,电导值会漂移,你得在架构里加校准或纠错。
第三步,找开源项目动手。推荐MIT的‘NeuroSim’框架,或者UMich的‘MAGNet’。它们能仿真存算阵列的性能和能效,你改改参数就知道架构选择的影响了。
最后提醒:转型初期别指望马上做架构师,很可能从电路-架构交界处的岗位切入,比如做阵列控制器设计。所以数字设计功底别丢,反而要加强,因为接口和数字校准部分还是你的优势。

同是数字背景转过来的,分享点实际经验。我觉得最大的门槛不是技术细节,而是思维转换——从‘存储-计算分离’的冯·诺依曼思维,转向‘存储即计算’的模拟思维。
你需要补充的知识可以分三块:
1. 新型存储器知识:重点看RRAM和NOR Flash(后者其实很多存算芯片在用)。关键学它们的‘多值存储’特性,比如一个RRAM单元能存4-bit权重,这怎么映射到电路上。推荐看论文《Memory Devices and Technologies for Neural Networks》,先建立概念。
2. 模拟计算电路:存算核心是模拟乘加器(MAC)。你得弄懂怎么用存储器单元的电流/电压做乘法,用模拟加法器(比如电流求和线)做累加。这部分建议看ISSCC上存算芯片的电路图,哪怕一开始看不懂,慢慢就通了。
3. 协同优化:这是架构师的价值所在。比如精度问题——模拟计算有噪声,你得在架构层面决定:是每个阵列输出后就做ADC转数字,还是多个模拟结果累加后再转?这直接影响能效和面积。学习路线:先花一个月看综述论文(搜‘Computing-in-Memory survey’),再用Verilog-A或PyTorch+NeuroSim搭个简单向量矩阵乘法仿真,体验从器件非理想性到系统误差的链条。千万别一上来就钻器件物理,容易劝退。

三年SoC经验转这个方向很有优势,因为系统视角正是存算一体需要的。我招人时就喜欢有数字架构背景的。
你需要补充的知识,按优先级排:
首先是‘模拟-数字混合电路设计基础’。存算一体芯片本质是混合信号芯片,你得知道模拟模块(存算阵列)和数字模块(控制器、ADC)怎么交互。重点学ADC/DAC,因为存算阵列的输入输出都要经过数据转换,ADC的精度和功耗往往是瓶颈。
其次是新型存储器的‘应用级特性’。比如RRAM的写延迟高、写能耗大,那架构上就要避免频繁更新权重;MRAM读写快但密度低,适合做缓存。这些特性决定了架构选择。
最后是‘近似计算与容错架构’。模拟计算不精确,但神经网络能容忍误差。你需要学习如何利用这种容忍度,比如在架构里引入跳过轻微计算误差的机制,或者用数字电路补偿模拟漂移。
推荐两个实践入口:1. 用Cadence或Synopsys的混合信号仿真工具(如果有条件),把一个小型存算阵列(比如32×32)从电路到RTL建模跑通;2. 关注IEEE SSCI会议,里面很多存算一体workshop材料是入门友好的。
转型建议:存算一体还在早期,很多公司其实需要懂传统SoC的人来把存算核心集成进系统。所以不妨突出你的集成能力,同时慢慢补新知识,这样转型风险小。

兄弟,你这问题问得很及时啊。存算一体现在确实是风口,但技术栈和传统SoC差别挺大的。我建议你先别急着啃论文,从基础概念和仿真工具入手。
首先,新型存储器这块,RRAM、MRAM、PCM这些,你得了解它们的器件物理特性,比如阻变机理、读写速度、耐久性、多值存储能力。这些特性直接决定了你在架构设计时能玩出什么花样。光看参数不行,最好能用Verilog-A或者SPICE搭个行为级模型,感受一下它的非线性、噪声和波动。很多论文里给的理想模型和实际差距很大,这是第一个坑。
模拟计算电路是另一个核心。传统数字电路工程师对‘模拟’往往有点发怵。你需要补的是模拟前端的基础:运算放大器、电流镜、积分器、ADC/DAC,尤其是低功耗、高能效的设计方法。存算一体里的乘累加(MAC)操作经常在模拟域完成,用欧姆定律和基尔霍夫定律直接算,精度受器件非理想性影响极大。建议你找些开源模拟电路设计教程,比如Coursera上Berkeley的模拟集成电路课程,跟着做几个小项目。
架构-电路协同优化是关键。你不能像传统SoC那样把存储器和计算单元割裂开考虑了。需要学会在系统层面建模,分析数据流、精度损失(比如由于ADC量化或器件波动)、能效瓶颈。可以尝试用Python或MATLAB搭建一个从算法到硬件的评估框架,把新型存储器的非理想性、模拟计算误差、数据转换开销都建模进去,快速评估不同架构的权衡。
学习路线的话,可以先看几篇综述,比如《Computing-in-Memory: A Architecture Perspective》。然后找一两个开源项目动手,比如MIT的‘MAGNet’或者一些基于FPGA的存算一体加速器仿真平台。别指望一开始就搞芯片流片,先用仿真和FPGA验证把流程跑通。
最后提醒一句,这个领域还在快速演变,很多技术路线还没收敛。保持学习心态,多和做器件、电路的人交流,协同设计思维比单纯学知识更重要。

同是数字背景转过来的,分享一下我的经验。最大的转变是从‘数字确定性思维’转向‘模拟统计性思维’。
你需要补充的知识可以分三层:器件、电路、架构。
器件层:重点理解RRAM等器件的‘非理想性’。这不是缺点,而是设计时必须处理的约束。比如阻值分布不是固定的,有写噪声、读噪声、漂移。这些特性会导致计算精度下降。建议读一些器件物理的入门材料,不用太深,但要知道这些效应如何建模。
电路层:模拟计算电路是核心。存算一体阵列本质上是一个巨大的模拟乘法累加器。你需要学习模拟矩阵乘法的实现方式,比如电压模式、电流模式、时间模式。关键是要理解精度、速度和功耗之间的折衷。数字电路里靠增加位宽就能提高精度,但模拟电路里精度提升代价巨大。可以玩一下Cadence Virtuoso之类的工具,仿真一个简单的存算单元(1T1R)的读写和计算过程。
架构层:这是你的优势所在。传统架构经验可以迁移,但设计目标变了。存算一体架构优化目标是最大化能效和吞吐,同时将精度损失控制在应用可接受范围内。你需要学习如何划分计算任务,哪些部分放在存算阵列里做模拟计算,哪些部分还需要传统的数字逻辑。数据复用、数据映射、流水线设计这些概念依然有用,但实现方式不同。
实践建议:从算法映射开始。选一个简单的算法(比如图像处理的卷积),尝试为它设计一个存算一体的数据流。然后用高层次综合(HLS)或SystemC建模,加入你学到的器件和电路非理想性模型,看看性能怎么样。开源项目可以关注清华‘Thinker’芯片的相关资料,或者一些大学发布的仿真框架。
转型不容易,但数字架构的背景让你在系统权衡方面有独特优势。模拟电路知识可以慢慢补,关键是建立跨层优化的思维模式。

兄弟,你这问题问得很及时。存算一体确实是未来几年的热点,尤其对传统数字SoC工程师来说,转型既是机会也是挑战。我理解你的痛点:感觉技术栈固定,想切入新领域但不知从何下手。
核心需要补充的知识有三块,按重要性排序:
第一,新型存储器器件知识。RRAM、MRAM、PCM这些,你得理解它们的物理机制、电学特性(比如IV曲线、阻态分布、耐久性、保持时间)。重点不是深究物理,而是掌握它们作为“计算元件”时的行为模型:比如多值存储(模拟权重)、写噪声、器件涨落对计算精度的影响。建议从学术综述论文看起,比如《Nature Electronics》上近几年的存算一体综述。
第二,模拟计算电路基础。这是和传统数字设计差异最大的地方。你需要补课模拟电路基础:电流镜、运放、积分器、ADC/DAC(尤其是低精度、高能效的SAR ADC)。存算一体中,乘累加(MAC)操作常在模拟域完成,比如用电流/电压求和。可以看一些经典教材如《模拟集成电路设计》(拉扎维)的部分章节,重点理解噪声、非线性、失配对计算误差的影响。
第三,架构-电路协同优化。这是架构师的核心价值。你需要学会在精度(比如8bit还是4bit)、能效(pJ/op)、面积、速度之间做权衡。比如,如何通过算法-硬件协同设计(如训练时量化、误差补偿)来容忍模拟电路的非理想性。建议研究一些开源项目,比如MIT的“MAGNet”或清华的“Thinker”系列架构,看看他们如何设计数据流、安排ADC共享、处理部分和累加。
学习路线建议:先花1-2个月读综述和教材建立概念;然后找一个开源RTL/SPICE混合仿真项目(比如用Verilog-A模型模拟RRAM阵列),尝试修改架构参数观察精度/能效变化;最后如果有条件,可以尝试用EDA工具(如Cadence)做一个小规模阵列的电路仿真。转型初期,不必追求全栈精通,可以先从“架构-电路接口”这个角色切入,比如专门做存算一体的建模和评估。

同是传统SoC转过来的,分享一下我的经验。最大的门槛不是具体技术点,而是思维模式的转变:从“确定性的数字世界”跳到“非确定性的模拟/混合信号世界”。
你需要重点补充的知识:
1. 新型存储器方面:别一开始就钻器件物理。先理解RRAM等器件在电路层面的等效模型——它们本质是一个可编程电阻。重点学它的“非理想特性”:阻值变化是连续的还是离散的?写操作功耗和延迟多大?器件间一致性如何?这些特性直接决定了架构设计。推荐看几篇IEDM或VLSI上的器件集成论文,了解实际制造中的挑战。
2. 模拟计算电路:对于架构师,不需要像模拟设计工程师那样画版图,但必须懂基本原理和代价。关键点:模拟计算通常省电但精度有限。你需要熟悉典型模拟MAC电路的结构(比如基于电流镜的阵列),明白精度主要受哪些因素限制(晶体管失配、热噪声、非线性)。建议用MATLAB或Python搭建行为级模型,把非理想效应加进去,感受一下精度如何随电路参数变化。
3. 协同优化:这是你作为架构师最能发挥价值的地方。存算一体芯片设计是个“自上而下”和“自下而上”反复迭代的过程。比如,器件特性决定了阵列大小和ADC精度需求;而系统精度要求又反过来约束器件和电路设计。你需要学会用评估工具链(如NeuroSim、MNSim等开源框架)快速评估不同设计点的能效和精度。
实践建议:先找一个简单的任务(比如MNIST分类),用PyTorch训练一个神经网络,然后尝试用存算一体架构映射它,考虑权重映射策略、激活量化、误差补偿。开源项目可以关注“DNN+NeuroSim”的联合仿真平台,它能帮你理解从算法到器件的全链路。
最后提醒:转型初期可能会感到知识缺口很大,但别慌。很多公司招聘时也知道完全对口的人少,他们看重的是你的数字架构基础+学习能力。面试时如果能展示出你对非理想效应的理解,以及如何从架构层面规避或容忍它们,就会很有竞争力。
发表回答
登录后可在本页底部提交回答
