SHAKTIMAAN is a synthesizable and parameterized open source DNN accelerator. The accelerator contains a systolic array and a SIMD engine to perform the expensive DNN computations. The entire code is written in Bluespec and is compatible with Shakti C-Class processor.
In the first step, instructions for SHAKTIMAAN are generated using a separate compilation process. More details to follow. Instructions are compiled and stored in RAM, which is loaded when the testbench is initiated directly from code.mem
. More to follow.
A testbench is available in src/Soc.bsv
which instantiates the accelerator and runs a single trace of instructions.
All configurations can be changed adhering to the provisos required for compilation of Bluespec files and can be changed in src/Soc.bsv
.
Non configurable parameters, such as ISA definitions, are defined in src/commons/systolic.defines
.
cd src
make generate_verilog
- generates Verilog files from Bluespec for all files.
cd src
make generate_verilog
make link_verilator
- generates a binarybin/out
which simulates the array.
More details to follow