芯片设计小白
我去年做过类似的项目,分享点实战经验。痛点确实是资源紧张,尤其 BRAM 可能比 DSP 更缺。MFCC 的 FFT 可以用 FPGA 提供的 IP 核,省事且优化过。DS-CNN 的权重参数量不大,可以全部塞进 BRAM,避免推理时频繁加载。但特征图可能较大,需要分块计算:比如一次处理几帧语音,一块一块地算。DSP 切片配置很重要,语音数据通常是 16 位定点,可以设置 DSP 为 16x16 模式,一个切片就能完成一次乘加,提高利用率。另外,注意数据复用:比如卷积核重复使用,尽量在本地缓存。最后,一定要做资源预估,赛前用工具估算 DSP 和 BRAM 使用量,别做到一半发现不够。工具链方面,Xilinx Vitis AI 或 Intel OpenVINO 可能有用,但比赛自己手控优化更能出彩。
