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 srcmake generate_verilog- generates Verilog files from Bluespec for all files.
cd srcmake generate_verilogmake link_verilator- generates a binarybin/outwhich simulates the array.
More details to follow
