孩子大二,刚接触FPGA,想参加今年的FPGA大赛,备赛只剩两周了,零基础用安路FPGA做实时AI语音关键词识别,MFCC和DNN怎么分工能最快出成果?求每日时间表,家长该帮他准备哪些开发板和资料?
2026年FPGA大赛备赛只剩两周,零基础用安路FPGA做实时AI语音关键词识别,MFCC和DNN怎么分工能最快出成果?求每日时间表
3 个回答

先泼盆冷水:两周从零到能跑通MFCC+DNN的实时关键词识别,其实非常紧张。个人建议把重心放在MFCC特征提取上,因为这部分是固定算法,安路的开发环境里有很多现成的IP核和例程可以改;DNN部分用最简的全连接网络,只做两三个关键词的分类,不要追求精度。前三天把安路IDE装上、跑通一个LED闪灯例程,第四天开始写MFCC的滤波器组和FFT,第八天把DNN的权重用LUT或者ROM存好、只做前向推理。最后两天调试时,先保证能听到一个词给出正确结果,其他全是锦上添花。你提到的EG4S20板子够用,但麦克风模块最好买带I2S接口的,省得自己写PDM解码。孩子现在Verilog能写简单状态机吗?

其实这个题目的难点不在算法有多深,而在把两套东西塞进同一颗FPGA还不打架。MFCC要吃大量乘加资源,DNN也得用DSP48,安路EG4S20的DSP块有限,所以分工的核心是错峰复用。我的建议是:前五天只搞MFCC,用状态机控制FIFO把特征向量算出来存到BRAM;第六天开始往同一个BRAM里写DNN的权重读取逻辑,DNN部分只做三层全连接,每层16个神经元就够了,权重用8bit定点量化。这样MFCC跑完一拍,DNN立刻读BRAM里的特征做分类,流水起来。你作为家长,准备开发板之外,最好再买一块USB转JTAG的调试器,安路原厂那个容易掉线。还有一个坑:麦克风模块的采样率要设成16kHz,别用默认的44.1k,否则MFCC的帧长和帧移全得重算。孩子目前会用ModelSim做仿真吗?可以先把MFCC的FFT模块单独仿一下再上板。

两周零基础做这个,说句实话,大概率做不完一个完整可演示的系统。但比赛看的是思路和部分模块的完成度,所以策略应该是:砍掉一半功能,把剩下的做扎实。MFCC和DNN的分工,关键在于你只有两周,没法同时精通两样,那就选一个作为主攻。我的建议是主攻MFCC,因为这是语音前端处理的核心,评委一看就知道你理解了信号处理到特征映射的过程;DNN用最简单的单层感知器或者查表法替代,只做二分类(比如只识别「是」和「否」两个词),这样MFCC算出来的13维特征可以直接映射到ROM里预存的结果。每日时间表可以这样:第1天装环境、跑通安路官方的一个简单显示例程,让孩子建立信心;第2-3天看xilinx的FFT文档(安路IP核用法和它很像),理解窗函数和梅尔滤波器组怎么用系数表实现;第4-6天写MFCC的Verilog模块,先仿真通过再综合;第7-9天上板调试,用串口或者HDMI把MFCC系数打印出来验证;第10-12天把DNN部分用查找表塞进去,连上麦克风试录;最后两天应付突发问题,比如板上BRAM不够就改小帧长。家长要做的准备里,除了开发板,强烈建议买一个逻辑分析仪,哪怕是几十块的USB版,调试I2S接口时序时能救命。另外,安路的IDE对中文路径支持不好,所有工程和文件用英文命名。孩子现在对Verilog的阻塞赋值和非阻塞赋值能分清吗?如果还不太熟,前三天得先补这个基础,否则MFCC的流水线设计会卡住。
发表回答
登录后可在本页底部提交回答