2026年,想参加‘集成电路创新创业大赛’,做‘基于存算一体架构的AI加速器’FPGA验证平台,该从何入手?

开放22 回答 80 浏览

导师鼓励我们参加今年的集创赛,选题想紧跟热点,做存算一体架构的FPGA验证。但我对存算一体的具体硬件实现方式还比较模糊,只知道能减少数据搬运。想用FPGA搭建一个模拟存算阵列(比如用BRAM模拟存算单元),并验证一些简单算法(如向量矩阵乘)。这样的项目可行性高吗?在FPGA上实现存算模拟,关键的设计难点在哪里?有没有类似的开源项目或论文可以参考?这个项目经历对于未来求职AI芯片公司有帮助吗?

分享:
  • 芯片爱好者小李

    同学你好,你这个选题方向非常前沿,集创赛也很看重创新性,可行性是有的。关键在于如何把一个前沿概念落地成一个可演示的FPGA系统。我建议你分几步走:首先,别急着写代码,花一两周时间集中看论文。重点搜索“FPGA based in-memory computing”或“digital CIM (Computing-In-Memory)”,近几年有很多用FPGA模拟存算阵列的工作,它们会详细描述如何用LUT、BRAM甚至DSP来构建计算单元。你可以先复现一个最简单的向量-矩阵乘法核。难点主要在于架构设计:如何高效地映射计算到存算单元,以及如何设计数据流和控制流,让计算和数据“呆”在原地。这个项目经历对求职AI芯片公司绝对是大加分项,它证明了你不仅懂算法,还深入到了架构和硬件实现层面。

  • 逻辑电路爱好者

    嘿,想法不错!用FPGA做存算一体验证平台,这个项目我们实验室之前有师兄搞过,我分享点实际经验。可行性没问题,但别想得太复杂,先从最小的原型做起。关键难点我觉得有两个:一是“存算单元”的建模,你用BRAM模拟,每个地址存权重,但怎么让它同时完成乘加?这需要巧妙设计地址生成和读取逻辑,可能还要结合DSP。二是“模拟”的精度问题,你是想模拟理想的存算行为,还是要加入非理想性(如器件误差)?这决定了你的设计复杂度。开源项目可以看看GitHub上的“CIM-FPGA”或相关关键词,但可能不多。强烈建议你去读清华大学、复旦大学等团队发表的FPGA存算相关论文,他们的设计思路和实现细节很有参考价值。这个项目经历在面试时是硬通货,尤其是如果你能讲清楚从算法到硬件映射的完整思考过程,会很受青睐。

  • FPGA学号1

    可行性很高,我们实验室去年就做过类似的。关键是把存算单元(比如用BRAM模拟的SRAM)和外围控制逻辑(比如地址生成、数据流控制)在FPGA上搭出来。难点主要有两个:一是如何用BRAM模拟计算,传统BRAM只存不算,你得设计好数据排布和读取时序,让一次读取能完成乘加;二是数据流设计,要尽量减少片外DDR访问,让数据在片上高效流动。建议先找UC Berkeley的论文或MIT的Eyeriss项目资料看看,它们虽然不是纯存算一体,但数据流思想很经典。这个项目经历对去AI芯片公司绝对加分,能证明你懂架构和硬件实现。

  • Verilog学习ing

    从你的描述看,已经抓住了核心:用BRAM模拟存算单元做向量矩阵乘验证。这是非常务实的切入点。我建议分三步走:第一步,深入学习存算一体基础,推荐看清华大学刘勇攀老师的相关论文,了解数字存算(用BRAM)和模拟存算(用ADC/DAC)的区别,你显然适合前者。第二步,动手设计一个最小系统,比如设计一个32×32的存算阵列,每个BRAM单元存权重,输入向量流经时完成乘加。难点在于精度处理(FPGA做定点量化)和计算同步。第三步,上板验证,用软核(如MicroBlaze)控制,对比软件结果。开源项目可以搜“FPGA-based in-memory computing”,GitHub上有一些用HLS实现的简单例子。求职时重点展示你从架构到RTL到验证的全流程能力。

  • FPGA自学者

    同学,你这个想法不错,但别想得太复杂。存算一体在FPGA上验证,本质就是设计一种特殊的数据通路。可行性没问题,很多高校赛队都做过。关键难点其实不是BRAM模拟计算(那只是查找表),而是如何设计一个高效的“数据搬运”架构来体现存算的优势——听起来有点讽刺对吧?因为FPGA上BRAM和逻辑单元本来就是分开的,你依然需要搬运数据。所以你的设计重点应该是:尽量减少控制开销和中间数据缓存。建议先复现一篇简单的顶会论文(比如ISSCC或VLSI上关于数字存算的),用Verilog实现一个小阵列。没有完全开源的完整项目,但论文里的架构图足够你模仿了。这个经历对求职帮助很大,尤其是如果你能指出传统冯·诺依曼瓶颈在具体数据流上的体现,面试官会眼前一亮。

  • Verilog小白在线

    可行性很高,尤其适合学生参赛。用BRAM模拟存算单元是经典做法,很多学术论文都这么干。关键是把计算单元(比如乘加)和存储(BRAM)紧密耦合,在一个周期内完成。你可以先从一维向量乘矩阵做起,验证功能正确性。难点在于如何高效映射计算到FPGA资源上,以及设计数据流和控制逻辑。建议找找IEEE上关于“FPGA-based in-memory computing”的论文,很多开源代码在GitHub。这个项目经历对去AI芯片公司非常有帮助,能证明你有架构探索和硬件实现的双重能力。

    注意别一开始就搞太大阵列,资源可能不够。先做个小规模原型,把流程跑通。

  • 逻辑设计初学者

    从我的参赛经验看,这个方向拿奖希望大,因为够前沿。入手可以分几步:第一,狂读论文,搞清楚存算一体的几种实现方式(比如基于SRAM、RRAM的),你选SRAM模拟就行。第二,学习用HLS或Verilog去建模存算单元,比如一个cell能存权重并做乘法。第三,用Xilinx的Block Design或者自己写RTL把多个cell连成阵列。第四,写个简单的CNN层(比如卷积)做测试。难点主要是时序收敛和计算精度处理(存算一般用定点)。

    GitHub上搜“IMC-FPGA”能找到一些参考。求职时重点展示你如何解决“内存墙”问题,芯片公司很看重这个。

  • 数字系统初学者

    同学,咱别想太复杂。你就当做一个特殊的乘法器阵列,每个乘法器自带存储。FPGA的BRAM和DSP正好用上。可行性没问题,我们实验室去年就用Zynq做过类似的。关键难点就两个:一是怎么设计存算单元的结构,让读写和计算不冲突;二是怎么给这个阵列高效喂数据。建议你先在MATLAB或Python建个行为模型,再转成RTL。

    开源项目可以看看VTA(Versatile Tensor Accelerator),虽然不是纯存算,但数据流设计可借鉴。这个项目对求职帮助很大,尤其如果你能流片,但FPGA验证也是很好的起点。记得把设计文档和测试报告做漂亮,面试能直接当作品展示。

  • Verilog新手笔记

    同学你好,你这个选题方向非常前沿,而且导师支持,是个很好的机会。可行性方面,用FPGA的BRAM模拟存算单元(比如模拟一个SRAM阵列)来做向量矩阵乘验证,是完全可行的,很多学术论文都这么干。这本身就是一个很好的概念验证项目。

    关键难点我觉得有几个:一是如何用FPGA逻辑(比如LUT、寄存器)或BRAM来精准地模拟存算单元的行为,比如模拟电流加和、模数转换这些非理想特性,这需要你对存算的电路原理有更深理解。二是数据流和控制器的设计,怎么把计算任务高效地映射到你的模拟阵列上,让数据“待”在阵列里算,而不是搬来搬去,这才是存算一体的精髓。

    入手的话,我建议先别急着写代码。花一两周时间,精读几篇经典的存算一体架构论文,比如《ISAAC》、《PRIME》,还有清华大学魏少军老师团队的一些工作。看看他们是怎么建模和评估的。开源项目可以关注一下“DNN+NeuroSim”这类仿真框架,或者在一些论文的附录、GitHub上找找有没有FPGA验证的代码。

    这个项目经历对求职AI芯片公司绝对是大加分项。它证明了你不仅懂算法和FPGA,还深入到了架构创新的层面,这正是芯片公司需要的。哪怕最后实现得比较简单,但把思路和难点讲清楚,就很有价值。

  • 硅农预备役2024

    哈喽,想法很棒!用FPGA验证存算一体架构,我们实验室去年有师兄做过类似的,我分享一下他的经验。

    首先,可行性很高,尤其适合参赛。你们不需要做出一个能商用的芯片,而是做一个原理性验证平台。核心就是用FPGA的BRAM阵列来模拟计算存储器。比如,你可以把权重预先存储在BRAM里,输入向量通过地址线“流入”,然后在BRAM内部模拟出乘加运算(这需要一些巧妙的逻辑设计)。最后输出部分和。

    关键的设计难点,我觉得首要的是“模拟的抽象层次”要定好。你是想模拟晶体管级的行为(非常复杂,FPGA资源可能不够),还是行为级的矩阵乘功能?对于参赛和入门,强烈建议从行为级功能模拟开始,重点展示“数据静止,计算发生”这个核心思想。难点其次在于如何设计一个高效、灵活的控制器,来配置你的“模拟存算阵列”和调度数据。

    入手步骤可以这样:1. 学习存算一体基本概念(数篇综述)。2. 选定一个简单的架构模型(比如基于SRAM的存内计算)。3. 用Verilog/VHDL设计一个可配置的模拟存算处理单元(PE)阵列。4. 用这个阵列完成几个经典的AI层(如全连接、卷积)的验证,对比传统冯·诺依曼架构的数据搬运量。

    开源参考可以去GitHub搜“CIM-FPGA”、“存内计算 FPGA”等关键词,能找到一些高校的项目。论文方面,除了顶会的,很多硕士博士学位论文里有非常详细的FPGA实现章节,是很好的参考资料。

    对于求职,帮助巨大。AI芯片公司现在非常关注这类能打破内存墙的技术。你有这个项目,面试时能和面试官深入讨论架构权衡,优势很明显。加油!

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

提问者

单片机玩家查看主页

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

浏览「其他」

相关问题

同分类问答

提问建议

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

技术问答

问完之后的闭环

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

探索全站