我们是双非大二队伍,报名了2026年集创赛,原本想用高云GW5A做RISC-V软核加自研NPU做手写数字识别,但指导老师说这个规模三个人做不完。现在纠结是只保留RISC-V软核加外设,还是只做NPU加速器,或者两个都做但只跑通Demo。有没有拿过国奖的学长给个建议,砍到什么程度既能体现异构又有工作量?
2026年集创赛用国产高云FPGA做RISC-V软核+NPU异构,队伍只有三个人,选题该砍到多小才能进国赛?
5 个回答

先说结论:三个人双非大二,别把RISC-V和NPU都做成完整系统,砍到「RISC-V软核跑通 + 一个能握手的总线接口 + 轻量NPU只做INT8 3×3卷积」这个程度,Demo跑MNIST,创新点压在异构通信和任务划分上,进国赛是有机会的。
为什么这么砍?集创赛评委看的不是你把两个大模块都做完整,而是你有没有想清楚「为什么需要异构」。纯RISC-V软核加外设,工作量偏基础,很难讲出新意;纯NPU加速器,又容易被质疑只是一个乘加阵列,缺乏系统视角。两者都做但只跑通Demo,反而正好卡在中间:软核负责控制流和调度,NPU负责卷积热点,中间用一条自定义总线或者轻量AXI-Lite做数据和命令传递,这个「胶水层」才是你们要重点打磨的地方。
具体落地可以这样排:第一,RISC-V选一个成熟的轻量核(比如蜂鸟E203这类开源核的裁剪版),先在高云GW5A上把最小系统跑起来,UART和片上RAM必须通。第二,NPU别追求通用,就做3×3、INT8、固定通道数的小卷积加速器,输入输出走DMA或双口RAM,先不碰复杂的池化和全连接,那些让软核做。第三,总线互联和任务划分是灵魂,比如规定「软核下发描述符、NPU执行、完成后中断通知软核」,把这个流程画清楚、跑通一次完整推理。
风险点提醒一下:高云工具链和IP生态不像Xilinx那么顺,综合、时序收敛、片上RAM容量都可能卡人,所以一定要留出至少一个月做联调缓冲,别把时间全压在NPU的功能扩展上。替代做法是如果NPU实在做不完,退一步做成「软核 + 一个可配置的乘加加速单元」,工作量小但异构叙事还在。
最后问一句,你们现在高云GW5A的板子和工具链是已经调通了,还是还在选型阶段?这个直接决定你们能砍多狠。

我带过一个类似方向的小队伍,说点实在的。你们最大的问题不是技术难度,而是三个人、双非大二、还要在一年内从零搭起两个大模块再加联调,这个时间账根本算不过来。所以我的建议是:主线只保留「异构」这一个卖点,其他全部降级成配角。
先想清楚一件事,集创赛国赛评委真正会追问的是什么。他们通常不会问你NPU的乘加阵列怎么综合,而是会问:你这个NPU为什么放在这里?软核和NPU之间怎么通信?任务怎么划分?谁负责调度?如果这些答不上来,就算你NPU做得再大,也就是个「孤立的加速器」,异构两个字立不住。反过来,如果你们把总线互联和软硬件协同调度讲透了,哪怕NPU很小,故事也是完整的。
那具体怎么分配三个人的精力?比较常见的做法是:一个人主攻RISC-V软核和片上系统集成,负责启动、外设、内存映射;一个人主攻NPU的RTL实现,但范围锁死在INT8的3×3卷积,别贪多;第三个人专门啃总线互联和软硬件接口,包括命令寄存器、状态机、中断、DMA,以及上层调度代码。这个人其实是全队的黏合剂,也是最容易被低估的角色。
学习路径上,别一上来就啃高云全套文档,那样会淹死。先用仿真把系统跑通,Verilog仿真里把软核、总线、NPU三者连起来,MNIST的一张图从软核写进内存、NPU算完、软核读回结果,这条链路在仿真里通了,再上板。上板之后优先保证时钟和复位稳定,高云的PLL配置和时序约束要早点摸熟,不然联调阶段会很痛苦。
创新点往哪放?我个人觉得可以放在「任务划分策略」上,比如把卷积交给NPU、把激活和池化留给软核,或者反过来,然后对比两种划分下的延迟和资源占用,给出一个你们自己的取舍依据。这种对比实验比单纯堆算力更能打动评委。
至于砍到什么程度,我的判断是:RISC-V软核必须保留,它是异构的另一半;NPU可以小,但必须真实存在且能被软核调用;MNIST跑通即可,别想着上更复杂的数据集。
你们指导老师说做不完,大概率是见过太多队伍死在联调上,这个提醒是对的。

先说个容易被忽略的风险:集创赛是分阶段提交的,初赛看文档、复赛看视频、决赛现场答辩,三个人如果前期把时间全砸在NPU的RTL上,很可能卡在「仿真过了但上板时序收不住」这一步,导致复赛视频都拍不出来。所以我倾向的砍法是:RISC-V软核保留,但别自己从头写,用现成的轻量核做集成;NPU只做INT8的3×3卷积这一种算子,别贪心去支持多种位宽和卷积核尺寸。这样两个人负责软核和总线、一个人负责NPU加验证,联调时间才留得出来。
创新点不要放在「NPU算得多快」,那容易被评委追问面积和功耗,你们答不上。放在异构通信和任务划分上:比如软核负责图像预处理和调度,NPU只算卷积热点,中间用一条自定义的轻量总线或AXI-Lite传命令和数据,能说清楚「为什么这个任务给NPU而不是软核」就够了。Demo跑MNIST识别,展示端到端能跑通,比堆大阵列实在。
还有个替代做法:如果高云GW5A的IP核和工具链你们还不熟,可以先在仿真环境把整个异构架构跑通,再往板上搬,别一上来就死磕综合。
你们现在高云的开发环境搭起来了吗,软核打算用现成的还是自己写?

先说个容易被忽略的现实:集创赛的评分周期是拉长的,初赛交文档、复赛交视频、决赛现场答辩,这意味着你们真正能用来迭代的时间比想象中少得多。三个双非大二的学生,从零搭RISC-V软核加自研NPU,大概率会卡在一个很尴尬的位置——两个模块单独仿真都过了,但一上板联调就出问题,时序收不住、跨时钟域握手丢数据、DDR带宽不够,最后复赛视频都拍不出来。所以我建议你们把砍刀挥得比指导老师说的还狠一点。
主线只保留一个卖点:异构协同。具体来说,RISC-V软核不要自己从头写,直接拿蜂鸟E203这类成熟的轻量核做集成,把精力放在启动流程、外设、内存映射和总线互联上;NPU只做INT8的3×3卷积这一种算子,别贪心支持多bit位宽和多尺寸卷积核。剩下一个人专门负责验证和联调,包括总线协议检查、数据一致性对比、上板调试。
为什么这么砍?因为评委真正会追问的不是NPU的乘加阵列怎么综合,而是「为什么这个任务给NPU而不是软核」「软核和NPU之间怎么通信」「谁负责调度」。如果这三个问题答不上来,NPU做得再大也只是个孤立的加速器,异构两个字立不住。反过来,如果你们把自定义轻量总线或者AXI-Lite的命令/数据通道讲透,把软核做预处理和调度、NPU只算卷积热点的任务划分说清楚,哪怕NPU规模很小,故事也是完整的。Demo跑MNIST识别,展示从图像输入到分类输出的端到端流程,配上任务划分的对比数据(比如纯软核跑多少周期、异构跑多少周期),这就够进国赛了。
落地排期可以这样:前三个月软核跑通加外设和总线,中间三个月NPU RTL加验证,最后三到四个月联调和文档视频。创新点压在异构通信机制和任务划分策略上,而不是NPU算得多快。你们现在高云GW5A的开发板到手了吗,工具链用的是高云自家的还是开源那套?这个会直接影响软核移植的工作量。

先说一个很多人没算明白的账:集创赛从初赛到决赛,中间隔着寒暑假和考试周,你们三个人真正能坐在一起调板子的整块时间,可能只有三四个月。所以「砍到多小」这个问题,本质上不是问技术上限,而是问在有限工时下,哪个方案能保证每个阶段都有东西可交。
按这个标准,只做RISC-V软核加外设,大概率不够看。国产FPGA上跑软核,评委见得太多了,除非你在外设或总线扩展上有特别的东西,否则很难讲出「异构」二字,工作量也撑不起国赛答辩。只做NPU加速器呢,问题是它变成了一个孤立模块,评委一句「为什么不用软核调度」就能把你问住,而且纯加速器的对比对象是各种成熟IP,你们双非大二从零写的乘加阵列很难有优势。
所以我的判断是:两个都做,但都做「够用」的版本,把省下来的力气全砸在中间那层胶水上。具体说,RISC-V这边别自己写核,拿蜂鸟E203这类成熟轻量核做集成,你们负责的是启动流程、内存映射、外设挂载和总线互联,这些才是能体现系统能力的地方。NPU那边只保留INT8的3×3卷积,一条数据通路走通就行,别去碰多bit位宽、多尺寸卷积核、池化全支持这些,每加一种配置,验证成本是成倍涨的。
关键在中间:软核怎么把图像数据送到NPU、怎么下命令、NPU算完怎么回写、谁负责调度。这条链路你们可以自己定义一套轻量协议,或者用AXI-Lite加自定义寄存器,重点是能讲清楚「为什么这个任务给NPU而不是软核」。Demo跑MNIST识别就够了,识别率不用追求多高,端到端能跑通、能在板子上演示,比什么都有说服力。
三人的分工我建议这样切:一个人主攻软核集成和片上系统,一个人主攻NPU的RTL加验证,第三个人专门做总线互联和联调,兼做文档和视频。注意第三个人不是打杂,他是保证你们不会卡在「两个模块单独仿真都过、一上板就崩」这个经典坑里的关键。时序收不住、跨时钟域握手丢数据、DDR带宽不够,这些都是联调阶段才暴露的问题,必须有人从头盯着。
最后提醒一句,创新点别放在「NPU算得多快」,那容易被追问面积和功耗。放在异构通信和任务划分上,故事才完整。你们现在板子和工具链都到位了吗,高云的IP核文档吃得透不透,这个会直接影响联调要留多少时间。
发表回答
登录后可在本页底部提交回答