IA-C-Lab-Fudan / KWS-SoC

This is an SoC design dedicated to Keyword Spotting (KWS) based on a neural-network accelerator and the wujian100 platform.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KWS-SoC

This is a SoC for neural-network acceleration based on wujian100_open platform, which is a low power open source MCU by T-Head. Specially, the accelerating kernel is designed for Keyword Spotting(KWS) and the preprocess kernel is also integrated. Thus far, the current version has been verified on T-HEAD development board using CDK.

NEW FEATURES

  1. Integrated the proprecess IP and neural network IP into one IP, further reduce the ultilization of the AXI bus.
  2. The neural network is quantized by 8 bit to further reduce the usage of BRAM resources and speed up the calculation.
  3. Add endpoint detection function to furthur improve the recognition accuracy.
  4. The voice signal is collected by VS1053.
  5. Realize real-time speech recognition.

QUICK START

This repository includes folders as following:
soc: This folder includes source code of KWS-SoC.

ip: This folder includes preprocess ip and KWS ip.

constraint: This folder includes constraint files.

sdk: This folder includes software files.

cfg.bit: This is a bitstream file generated by Vivado based on project KWS-SOC.

ds_rnn_labels.txt: This file lists the recognizable words.

Steps

  1. Download the cfg.bit to T-HEAD development board.
  2. Open the cdk project in sdk\projects\examples\kws folder, and download the software to the development board.
  3. Speak words listed in ds_rnn_labels.txt, and check the results sent back from the board.

For more details about this project, you can visit KWS-SoC——基于Wujian100的音频流关键词检测SoC拓展开发笔记 .

About

This is an SoC design dedicated to Keyword Spotting (KWS) based on a neural-network accelerator and the wujian100 platform.


Languages

Language:Verilog 95.8%Language:Coq 4.1%Language:C 0.1%Language:Shell 0.0%Language:Tcl 0.0%Language:Makefile 0.0%Language:JavaScript 0.0%Language:HTML 0.0%Language:VHDL 0.0%Language:C++ 0.0%Language:SystemVerilog 0.0%Language:Stata 0.0%Language:Assembly 0.0%Language:Forth 0.0%Language:Batchfile 0.0%Language:Objective-C 0.0%Language:Pascal 0.0%