rejunity / asic-keyword-spotting-sky130

Forging the Future of Keyword Spotting with Generative AI on the Caravel SoC

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Depthwise Separable Convolutional Neural Net ASIC for Keyword Spotting

This project is a submission to the 4th ChipIgnite AI competition The challenge aims to leverage generative AI to develop an open-source hardware accelerator designed explicitly for Keyword Spotting (KWS) applications on the Caravel System-on-Chip.

What is Keyword Spotting (KWS)

Keyword Spotting (KWS) (or more simply, word spotting) deals with the identification of predefined keywords in audio data streams.

Inspiration

This project is inpsired by the low-power neural network solutions proposed in the following papers:

Hello Edge: Keyword Spotting on Microcontrollers

High-level Architecture and Design

  1. Depthwise separable convolutional neural network (DS-CNN).
  2. Reduced precision to store neural network weights, we will experiment with INT8, FP8, FP4 and Ternary formats.
  3. Reduced precision to represent activation values, most likely INT8 or FP8.
  4. Aim to fit neural network parameters (weights) into 16Kb .. 32Kb of memory.

Neural Network primitives necessary

  • 2D convolution layer
  • 2D depthwise layer
  • Batch Normalization layer
  • Fully connected layer
  • ReLU activation

Training & Test Data

Pete Warden. Speech commands: A public dataset for single-word speech recognition. Dataset available from: http://download.tensorflow.org/data/speech_commands_v0.01.tar.gz

Useful Links

Based on Caravel User Project template

License UPRJ_CI Caravel Build

❗ Important Note

Please fill in your project documentation in this README.md file

Refer to README for a quickstart of how to use caravel_user_project

Refer to README for this sample project documentation.

Refer to the following readthedocs for how to add cocotb tests to your project.

About

Forging the Future of Keyword Spotting with Generative AI on the Caravel SoC

License:Apache License 2.0


Languages

Language:Verilog 99.1%Language:Tcl 0.7%Language:C 0.1%Language:Makefile 0.0%Language:Python 0.0%