項目背景
語音控制設備需求激增(電話、玩具、手持設備、車載、家電)。新加坡 Columns 公司開發「語音控制歐元兌換器」,要求:功耗極低(電池壽命≥1年)、成本極低(零售≤$9)、多語言高精度識別合成、核心 IP 可復用。
基於 C 語言的設計流優勢
- 採用 Frontier Design A|RT Designer 結構合成工具,從 C 語言原型快速優化 RTL。
- 自由選擇備用結構優化面積/時序,硅片面積降低 50%。
- 加快硬件原型設計,擴展性能滿足嚴格產品規格。
算法研究:五大核心 DSP 算法
- MFCC:FFT 功率譜 + Mel 濾波組 + log 能量 → 聲譜係數。
- iDCT:反離散餘弦變換。
- 連續噪聲電平估計:多重估計/選擇算法區分語音/背景噪聲。
- 命令詞邊界檢測:粗/精兩級能級分析確定語音起止點。
- 動態時間扭曲 (DTW):不等長向量序列比對,處理語速變化。
算法用浮點 C 編寫,450MHz 奔騰機測試識別率達 99%(內部語料庫)。
浮點轉定點關鍵挑戰
- 動態範圍與精度平衡:防止繞回(飽和算術)與削波。
- 重複運算中精度不足導致誤差累積,信號退化為白噪聲。
- Frontier A|RT 庫(C++ 類庫)提供:多種定點數據類型、位真建模(飽和/繞回)、多量化模式(截斷/捨入),輔助分析 C 代碼定點性能。
典型數據規模
- 輸入采樣:8 kHz,32 位浮點。
- 內存需求:數 KB。
- 輸出:每秒數字節級用戶接口數據。
總結
C 語言不僅是軟件開發語言,更成為硬件架構探索、算法定點驗證、RTL 綜合優化的統一金線,實現從算法到 ASIC 的無縫流程,大幅縮短開發週期、降低風險、提升 PPA(性能/功耗/面積)。