2026年,芯片行业‘近存计算’与‘存内计算’概念区分模糊,对于一名数字IC设计工程师,想了解这两个前沿方向并评估自己的转型可行性,应该从哪些核心论文、开源项目或仿真平台入手,建立清晰的技术认知图谱?

开放23 回答 44 浏览

最近读行业新闻和招聘信息,总看到‘近存计算’和‘存内计算’,感觉都和打破内存墙有关,但具体技术路径和硬件实现好像差别很大。我做了五年传统数字前端设计,主要做CPU子系统,想看看这些新方向有没有机会。但不知道从哪里开始系统学习,怕走弯路。希望有先行者能指条路,比如推荐几个标志性的学术会议(如ISSCC、VLSI)、关键论文或者像Gem5-Aladdin这样的仿真框架,帮助快速建立知识体系。

分享:
  • Verilog小白在路上

    五年CPU子系统经验,这个背景转近存/存内计算其实挺有优势的,因为你懂处理器怎么和内存打交道,痛点你肯定懂。这两个概念现在确实有融合趋势,但核心区别还是计算发生的位置:近存是把计算单元挪到内存控制器附近或堆叠在内存上(比如HBM),存内是直接利用内存阵列本身做计算(比如用SRAM/DRAM/ReRAM的单元做乘加)。

    建议你先从宏观综述入手,建立框架。论文方面,必读的两篇:1. 《A Survey of Near-Data Processing Architectures, Algorithms, and Opportunities》(IEEE TCAD 2020左右),这篇把近存计算(NDP)的分类、架构讲得很清楚。2. 存内计算可以看《In-Memory Computing: A New Frontier for AI Hardware》(ISSCC 2018的tutorial slides或后续期刊版),了解从SRAM到非易失存储的各种实现。

    仿真平台,近存计算强烈推荐Gem5-Aladdin,它能在架构层面模拟计算单元放在内存不同位置的效果,你写个简单的加速kernel就能跑,对数字前端工程师很友好。存内计算的开源仿真工具少一些,但可以关注MLSim(针对基于SRAM的存内计算)或一些大学开源的项目,比如UIUC的DNN+NeuroSim框架(虽然偏模拟电路,但能帮你理解系统级trade-off)。

    转型可行性上,近存计算更需要你现有的数字设计技能,主要是设计靠近内存的专用加速器(比如向量单元);存内计算则更底层,涉及混合信号甚至器件,转型难度大。建议你先用仿真工具模仿几篇论文的架构,看看自己兴趣再决定深入哪个。

  • 芯片设计入门

    同是数字前端,感觉你被那些营销术语绕晕了。别管概念模糊不模糊,咱们工程师就关心两件事:1. 这玩意儿硬件怎么实现?2. 我现有的RTL/架构经验能用上多少?

    直接给你划个学习路径:

    第一步,去ISSCC和VLSI这两个会议的官网,搜“near-memory”和“in-memory computing”关键词,把最近三年相关的session都扫一遍。不用细读,就看那些架构图和数据流,特别关注哪些模块是数字电路实现的(比如近存计算里的可编程加速器、存内计算里的数字外围电路)。这是最快建立直觉的方法。

    第二步,找几个具体的开源实现看看代码。近存计算可以看IBM的OpenCAPI架构文档(虽然不是完整开源,但接口定义很详细),或者学术界像CMU的NDP加速器框架。存内计算的开源项目确实少,但可以看看MIT的“MAGNet”或“Simba”项目的论文和架构描述,了解SRAM存内计算阵列怎么和数字控制器协同。

    第三步,评估转型。如果你喜欢在架构层面优化数据搬运和并行性,近存计算更合适,你的CPU子系统经验能直接复用。如果你能接受学习一些模拟/混合信号基础(比如ADC/DAC在存内计算里的作用),那存内计算也有数字电路的设计空间(比如编解码、时序控制)。

    别怕走弯路,先用两周时间把ISSCC的教程和 keynote 过一遍,你自然就知道该往哪使劲了。

  • 逻辑综合小白

    做数字前端五年,底子肯定扎实,不用太担心。近存和存内虽然都针对内存墙,但硬件架构差异很大。近存计算核心思路是把计算单元和存储单元在物理上拉近,比如HBM堆叠逻辑芯片或者3D IC里把SRAM紧挨着ALU,本质上还是冯诺依曼的变种,通信距离缩短但存储介质本身没变。存内计算则更激进,直接在存储阵列内部做计算,比如RRAM或者SRAM阵列里做向量矩阵乘法,彻底消除数据搬运。

    对你来说,转型近存计算门槛更低,因为时序、总线协议、物理设计这些经验和CPU子系统经验很对口。建议先看ISSCC 2023到2025年关于近存加速器的论文,比如三星的HBM-PIM系列,还有台积电的3D Fabric相关文章。仿真工具的话,Gem5-Aladdin确实经典,但它更偏体系结构,前端设计的话建议先用SystemC搭个近存互连模型,再结合开源RTL比如PULP平台里的近存模块。

    存内计算更偏向模拟/混合信号和新型器件,数字前端工程师直接做纯数字存内计算也有机会,比如基于SRAM的存内计算宏,但需要理解位线、字线这些模拟概念。可以关注ISSCC里关于SRAM CIM宏的论文,比如台积电和联发科近两年的工作。开源项目较少,但有个叫Compute-in-Memory的GitHub仓库收集了一些仿真脚本,可以看看。

    建议路径:先精读3-5篇近存综述和3-5篇存内综述,然后用Gem5做近存仿真,再用开源RTL实现一个简单的近存加速器。存内计算可以先跑跑基于Verilog-A的宏模型仿真。这样半年内就能摸清门路。

  • 逻辑综合学习者

    你这个问题问得很准。我做了三年存算一体加速器验证,刚入行时也分不清近存和存内。简单说,近存计算是让计算单元和存储单元在物理上靠近,比如HBM堆叠在逻辑die旁边或者把SRAM macross放到计算单元附近,典型代表是三星的HBM-PIM。存内计算则是直接在存储阵列里做计算,比如利用ReRAM crossbar做向量矩阵乘法,代表性工作是UCSB的ISAAC。

    对于数字IC设计工程师,转型最稳妥的切入点是近存计算,因为它更接近传统数字设计,主要改动在访存调度和片上网络。建议你先看ISSCC 2021-2023年关于近存计算的session,特别是三星HBM-PIM和SK海力士的AiM。仿真平台用Gem5-Aladdin确实是最成熟的,但注意它侧重近存,对存内计算支持有限。存内计算你需要看Nature Electronics上关于compute-in-memory的综述,以及VLSI Symposium上关于SRAM-based CIM的论文。开源项目推荐一个叫NeuroSim的PyTorch扩展,可以模拟存内计算的精度和功耗。

    最后给个实操建议:先拿一个简单的CNN加速器,用SystemVerilog实现近存计算的数据流控制,再对比传统冯诺依曼架构的功耗,这样你就能直观感受到差异了。

  • 嵌入式学习者

    我是做模拟IC的,但前两年被拉去参与了一个存内计算项目,踩了不少坑。你的背景做近存计算转型确实更顺,因为存内计算涉及模拟电路设计(比如ADC精度、存储单元的非理想特性),数字工程师单独啃会非常吃力。

    建议你从ISSCC 2022年的Tutorial开始看,有个叫“Compute-in-Memory: From Devices to Systems”的专题,讲得很清楚。论文的话,必读的是M. Kang的“A 19.4nJ/decision 960×960 RRAM-based Compute-in-Memory Accelerator for Deep Neural Networks”(VLSI 2023)。仿真平台方面,除了Gem5,推荐用CACTI-3DD和NVSim做能耗评估,虽然老但够用。开源项目可以看UCSB的“RRAM-based CIM”仿真器,在GitHub上能找到,但需要自己调工艺参数。

    一个小建议:不要急着转存内。先拿一个近存计算的小项目练手,比如在FPGA上实现一个基于HBM的卷积加速器,用Vivado HLS写。等你对数据搬移的瓶颈有体感了,再去看存内计算的论文,你会更理解为什么存内要牺牲精度来换能效。

  • 芯片爱好者小陈

    我是做EDA工具链的,和你们做设计的视角可能不太一样。从工具支持角度看,近存计算和存内计算目前最大的区别是:近存计算有成熟的RTL-to-GDS流程,而存内计算需要定制化设计方法学。

    建议你从两个维度建立知识体系:第一,读一篇综述,比如ACM Computing Surveys上2023年的“A Survey of Near-Memory and In-Memory Computing: Architectures, Applications, and Design Tools”,它能帮你画出一张技术地图。第二,跑通一个开源仿真框架。对于近存计算,推荐用gem5-aladdin + DRAMsim3的组合,这个我在工作中验证过,能模拟近存架构的延迟和带宽。对于存内计算,你可以试试DNN+NeuroSim,它基于PyTorch,能模拟不同非易失存储器的计算精度。

    注意一个坑:很多论文里的存内计算结果是用理想器件模型跑的,实际芯片测试结果往往差一个数量级。所以你看论文时要特别关注他们用的是什么工艺、什么存储单元,比如是SRAM、RRAM还是MRAM。作为数字设计工程师,你可以重点关注SRAM-based CIM,因为它的工艺和数字CMOS兼容,风险最小。推荐看台积电在ISSCC 2023上那篇关于SRAM CIM macro的论文,他们用了16nm FinFET,给出了很详实的测试数据。

  • 芯片设计新人

    五年CPU子系统经验,转型这两个方向其实有天然优势——你对内存访问瓶颈的痛肯定深有体会。别被术语吓到,核心就一点:数据搬移能耗太大。近存计算是把计算单元尽可能贴近内存(比如3D堆叠的HBM),存内计算是直接利用内存单元做计算(比如用SRAM/ReRAM做乘加)。建议先看ISSCC 2017年左右的存内计算tutorial,还有HPCA 2020年近存计算的survey。仿真可以玩一下UCSB的MNSIM(存内)和CMU的Aladdin(近存),跑几个例子对比带宽和能耗数据,感受会非常直观。转型的话,数字设计背景更适合近存,因为架构和传统SoC更接近;存内需要多了解模拟电路和器件特性。

  • 逻辑综合学习者

    我去年开始跟组里做存内计算芯片,说点实在的。这俩概念现在确实有融合趋势(比如存内计算块周围加近存控制逻辑),但入门时一定要分开学。先啃两篇经典:存内看《Memory devices and applications for in-memory computing》(Nature Nanotechnology, 2020),近存看《Near-Memory Computing: Past, Present, and Future》(MICRO 2019教程)。开源项目推荐MIT的Magic(存内仿真工具链)和Shuhai(近存架构仿真器),虽然文档糙但能跑通流程。你五年数字前端经验,转型最大门槛可能是电路级知识——存内计算里ADC/DAC设计、非理想效应建模都是新坑。建议先从数字存内架构(比如基于SRAM的数字乘加单元)入手,再慢慢往混合信号扩展。

  • FPGA小学生

    别急着读论文,容易懵。我当初是先拉了个对比表:1. 数据移动距离(存内零移动/近存短距离)2. 计算精度(存内一般8bit以下/近存可支持浮点)3. 工艺依赖(存内和器件强相关/近存更依赖封装)。然后直接去GitHub搜“IMC”“NMC”标签,看最近一年star多的项目——比如IBM的Analog-AI(存内)和ETH的PULP(近存平台)。仿真强烈推荐用Scale-Sim(存内)和MCPAT+Gem5(近存)做对比实验,改几个参数就能看到内存墙缓解效果。转型可行性方面,你CPU子系统的经验对设计近存的数据调度器特别有用;如果想搞存内,得补半导体器件和混合信号设计基础。有个取巧办法:先参与开源项目的数字接口模块开发,边做边学底层。

  • FPGA学号2

    我是做了三年存储接口设计的,刚开始也跟你一样困惑。其实这两个概念的核心区别很好记:存内计算是直接在存储单元里做计算,比如ReRAM交叉阵列做矩阵乘法,数据几乎不移动;近存计算则是把计算单元和存储单元封装在一起或堆叠起来,比如HBM搭配逻辑die,数据移动路径缩短但没完全消除。

    对于数字前端工程师,我建议你先从架构级论文入手。近存计算可以看UCSB的Xie Yuan团队在ISCA 2015发表的《Processing-in-Memory: A Workload-Driven Perspective》,这篇把PIM分类讲得很清楚。存内计算则强烈推荐Nature 2020年那篇《A 40nm 64Kb 28.6TOPS/W RRAM-based in-memory computing macro》,硬件实现细节非常完整。

    仿真平台的话,Gem5-Aladdin确实适合做近存计算的系统级评估,但配置起来有点麻烦。你可以先玩一下MemPool,这是一个开源的近存计算RISC-V平台,GitHub上有Verilog源码,直接看顶层互联和内存控制器设计,跟你的CPU子系统经验很对口。存内计算仿真建议用MNSIM,这个是清华团队开源的,专门模拟ReRAM存内计算宏单元。

    一个很重要的建议:不要一上来就啃ISSCC论文里的具体电路细节,先看各个课题组网站上的Overview talk。UCSB、ETH Zurich和清华的存储计算组都有很好的教程视频,比你直接读论文快得多。

登录后可在本页底部提交回答

提问者

单片机初学者查看主页

描述场景与已尝试方案,更容易获得有效解答

浏览「其他」

相关问题

同分类问答

提问建议

  • 标题写清核心疑问,避免「求助」「请问」等空泛用语
  • 正文补充环境、版本、报错信息或截图
  • 先搜索本站是否已有相近问题,减少重复提问
  • 若与课程相关,请标明课时或章节便于讲师定位

技术问答

问完之后的闭环

  • 关联课程精学高频问题往往对应章节,建议回到课程补基础。
  • 产出与互助解决过程可写成笔记,帮助后续同学。

探索全站