Chisel implementation of the NVIDIA Deep Learning Accelerator (NVDLA), with self-driving accelerated
soDLA is a self-driving car optimized DLA.
somnia is a tutorial for you to get familiar with soDLA flow.
cora as an extension accelerator, will focus on the localization and control algorithm.
nvgen and cora shares the same design flow and library.
soDLA_equi shows the unittest and equivalence checking results between NVDLA and soDLA.
$ sbt run
Most verilog sources are not verified yet, but welcome to test on firesim and send me the issues. Before you generate nv_large as a whole, you will need to increase heap space in java first, or
$ env JAVA_OPTS="-Xmx4g" sbt run
Package data with valid/ready interface, data with valid interface, data bundle with valid/ready interface into DecoupledIO(UInt), ValidIO(UInt) and Decoupled(Bundle).
Package configuration data from ping-pong register into 'field' Bundle.
Wrap the basic regsingle in ping-pong register into NVNVDLABASICREGsingle, csb logic in ping-pong register into NVNVDLACSBLOGIC, input-skid pipe into NVNVDLAISpipe, bubble-collapse pipe into NVNVDLABCpipe, fifo generator(from ness) into NVNVDLAfifo, they are under slibs folder.
ODIF(open deep learning interface) is defined under nvdla/spec.