├── .gitignore ├── LICENSE ├── README.md ├── README_CN.md ├── img ├── block_design.png └── resource.png └── src ├── main ├── python │ └── paddingMode.py └── scala │ ├── Npu.scala │ ├── config │ └── Config.scala │ ├── conv │ ├── compute │ │ ├── Conv.scala │ │ ├── ConvCompute.scala │ │ ├── ConvComputeCtrl.scala │ │ ├── ConvConfig.scala │ │ ├── ConvState.scala │ │ ├── Quan.scala │ │ ├── Stride.scala │ │ ├── Weight.scala │ │ └── activation │ │ │ └── LeakyRelu.scala │ └── dataGenerate │ │ ├── ChannelIncr.scala │ │ ├── DataGenerate.scala │ │ ├── FeatureConv11Convert.scala │ │ ├── FeatureGenerate.scala │ │ ├── FeatureWidthConvert.scala │ │ ├── Focus.scala │ │ └── Padding.scala │ ├── instruction │ └── Instruction.scala │ ├── misc │ └── TotalTcl.scala │ ├── shape │ ├── Add.scala │ ├── Concat.scala │ ├── MaxPooling.scala │ ├── Shape.scala │ ├── ShapePort.scala │ ├── ShapeState.scala │ ├── ShapeStateMachine.scala │ ├── Split.scala │ └── UpSampling.scala │ ├── top.scala │ └── wa │ ├── WaCounter.scala │ ├── WaFifo.scala │ ├── WaMath.scala │ ├── WaStream │ ├── WaStreamDemux.scala │ ├── WaStreamFifoPipe.scala │ └── WaStreamMux.scala │ ├── WaStreamMem.scala │ ├── WaUtil.scala │ ├── dma │ ├── DmaConfig.scala │ ├── DmaRead.scala │ └── DmaWrite.scala │ └── xip │ ├── axi │ └── StreamDataWidthConvert.scala │ ├── debug │ └── Ila.scala │ ├── math │ ├── AddSub.scala │ ├── DSP.scala │ └── Mul.scala │ └── memory │ ├── ip │ └── BlockRam │ │ ├── Bram.scala │ │ ├── BramDataType.scala │ │ └── TDRam.scala │ └── xpm │ ├── MEM_PARAM.scala │ ├── XPM_FIFO_SYNC.scala │ ├── XPM_MEMORY_SDPRAM.scala │ └── XPM_MEMORY_SPROM.scala └── test └── scala ├── InstructionGen.scala ├── TbCfg ├── Axi4Mem.scala ├── AxiLite4Bus.scala ├── LoadRom.scala ├── Rom.scala ├── SimConfig.scala └── Util.scala ├── TbConv.scala ├── TbFocus.scala ├── TbInstruction.scala ├── TbMaxPooling.scala ├── TbNpu.scala ├── TbPadding.scala ├── TbShape.scala └── TbStride.scala /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/README.md -------------------------------------------------------------------------------- /README_CN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/README_CN.md -------------------------------------------------------------------------------- /img/block_design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/img/block_design.png -------------------------------------------------------------------------------- /img/resource.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/img/resource.png -------------------------------------------------------------------------------- /src/main/python/paddingMode.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/python/paddingMode.py -------------------------------------------------------------------------------- /src/main/scala/Npu.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/Npu.scala -------------------------------------------------------------------------------- /src/main/scala/config/Config.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/config/Config.scala -------------------------------------------------------------------------------- /src/main/scala/conv/compute/Conv.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/compute/Conv.scala -------------------------------------------------------------------------------- /src/main/scala/conv/compute/ConvCompute.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/compute/ConvCompute.scala -------------------------------------------------------------------------------- /src/main/scala/conv/compute/ConvComputeCtrl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/compute/ConvComputeCtrl.scala -------------------------------------------------------------------------------- /src/main/scala/conv/compute/ConvConfig.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/compute/ConvConfig.scala -------------------------------------------------------------------------------- /src/main/scala/conv/compute/ConvState.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/compute/ConvState.scala -------------------------------------------------------------------------------- /src/main/scala/conv/compute/Quan.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/compute/Quan.scala -------------------------------------------------------------------------------- /src/main/scala/conv/compute/Stride.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/compute/Stride.scala -------------------------------------------------------------------------------- /src/main/scala/conv/compute/Weight.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/compute/Weight.scala -------------------------------------------------------------------------------- /src/main/scala/conv/compute/activation/LeakyRelu.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/compute/activation/LeakyRelu.scala -------------------------------------------------------------------------------- /src/main/scala/conv/dataGenerate/ChannelIncr.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/dataGenerate/ChannelIncr.scala -------------------------------------------------------------------------------- /src/main/scala/conv/dataGenerate/DataGenerate.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/dataGenerate/DataGenerate.scala -------------------------------------------------------------------------------- /src/main/scala/conv/dataGenerate/FeatureConv11Convert.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/dataGenerate/FeatureConv11Convert.scala -------------------------------------------------------------------------------- /src/main/scala/conv/dataGenerate/FeatureGenerate.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/dataGenerate/FeatureGenerate.scala -------------------------------------------------------------------------------- /src/main/scala/conv/dataGenerate/FeatureWidthConvert.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/dataGenerate/FeatureWidthConvert.scala -------------------------------------------------------------------------------- /src/main/scala/conv/dataGenerate/Focus.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/dataGenerate/Focus.scala -------------------------------------------------------------------------------- /src/main/scala/conv/dataGenerate/Padding.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/conv/dataGenerate/Padding.scala -------------------------------------------------------------------------------- /src/main/scala/instruction/Instruction.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/instruction/Instruction.scala -------------------------------------------------------------------------------- /src/main/scala/misc/TotalTcl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/misc/TotalTcl.scala -------------------------------------------------------------------------------- /src/main/scala/shape/Add.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/shape/Add.scala -------------------------------------------------------------------------------- /src/main/scala/shape/Concat.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/shape/Concat.scala -------------------------------------------------------------------------------- /src/main/scala/shape/MaxPooling.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/shape/MaxPooling.scala -------------------------------------------------------------------------------- /src/main/scala/shape/Shape.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/shape/Shape.scala -------------------------------------------------------------------------------- /src/main/scala/shape/ShapePort.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/shape/ShapePort.scala -------------------------------------------------------------------------------- /src/main/scala/shape/ShapeState.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/shape/ShapeState.scala -------------------------------------------------------------------------------- /src/main/scala/shape/ShapeStateMachine.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/shape/ShapeStateMachine.scala -------------------------------------------------------------------------------- /src/main/scala/shape/Split.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/shape/Split.scala -------------------------------------------------------------------------------- /src/main/scala/shape/UpSampling.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/shape/UpSampling.scala -------------------------------------------------------------------------------- /src/main/scala/top.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/top.scala -------------------------------------------------------------------------------- /src/main/scala/wa/WaCounter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/WaCounter.scala -------------------------------------------------------------------------------- /src/main/scala/wa/WaFifo.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/WaFifo.scala -------------------------------------------------------------------------------- /src/main/scala/wa/WaMath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/WaMath.scala -------------------------------------------------------------------------------- /src/main/scala/wa/WaStream/WaStreamDemux.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/WaStream/WaStreamDemux.scala -------------------------------------------------------------------------------- /src/main/scala/wa/WaStream/WaStreamFifoPipe.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/WaStream/WaStreamFifoPipe.scala -------------------------------------------------------------------------------- /src/main/scala/wa/WaStream/WaStreamMux.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/WaStream/WaStreamMux.scala -------------------------------------------------------------------------------- /src/main/scala/wa/WaStreamMem.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/WaStreamMem.scala -------------------------------------------------------------------------------- /src/main/scala/wa/WaUtil.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/WaUtil.scala -------------------------------------------------------------------------------- /src/main/scala/wa/dma/DmaConfig.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/dma/DmaConfig.scala -------------------------------------------------------------------------------- /src/main/scala/wa/dma/DmaRead.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/dma/DmaRead.scala -------------------------------------------------------------------------------- /src/main/scala/wa/dma/DmaWrite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/dma/DmaWrite.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/axi/StreamDataWidthConvert.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/axi/StreamDataWidthConvert.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/debug/Ila.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/debug/Ila.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/math/AddSub.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/math/AddSub.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/math/DSP.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/math/DSP.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/math/Mul.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/math/Mul.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/memory/ip/BlockRam/Bram.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/memory/ip/BlockRam/Bram.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/memory/ip/BlockRam/BramDataType.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/memory/ip/BlockRam/BramDataType.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/memory/ip/BlockRam/TDRam.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/memory/ip/BlockRam/TDRam.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/memory/xpm/MEM_PARAM.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/memory/xpm/MEM_PARAM.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/memory/xpm/XPM_FIFO_SYNC.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/memory/xpm/XPM_FIFO_SYNC.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/memory/xpm/XPM_MEMORY_SDPRAM.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/memory/xpm/XPM_MEMORY_SDPRAM.scala -------------------------------------------------------------------------------- /src/main/scala/wa/xip/memory/xpm/XPM_MEMORY_SPROM.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/main/scala/wa/xip/memory/xpm/XPM_MEMORY_SPROM.scala -------------------------------------------------------------------------------- /src/test/scala/InstructionGen.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/InstructionGen.scala -------------------------------------------------------------------------------- /src/test/scala/TbCfg/Axi4Mem.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbCfg/Axi4Mem.scala -------------------------------------------------------------------------------- /src/test/scala/TbCfg/AxiLite4Bus.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbCfg/AxiLite4Bus.scala -------------------------------------------------------------------------------- /src/test/scala/TbCfg/LoadRom.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbCfg/LoadRom.scala -------------------------------------------------------------------------------- /src/test/scala/TbCfg/Rom.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbCfg/Rom.scala -------------------------------------------------------------------------------- /src/test/scala/TbCfg/SimConfig.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbCfg/SimConfig.scala -------------------------------------------------------------------------------- /src/test/scala/TbCfg/Util.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbCfg/Util.scala -------------------------------------------------------------------------------- /src/test/scala/TbConv.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbConv.scala -------------------------------------------------------------------------------- /src/test/scala/TbFocus.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbFocus.scala -------------------------------------------------------------------------------- /src/test/scala/TbInstruction.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbInstruction.scala -------------------------------------------------------------------------------- /src/test/scala/TbMaxPooling.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbMaxPooling.scala -------------------------------------------------------------------------------- /src/test/scala/TbNpu.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbNpu.scala -------------------------------------------------------------------------------- /src/test/scala/TbPadding.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbPadding.scala -------------------------------------------------------------------------------- /src/test/scala/TbShape.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbShape.scala -------------------------------------------------------------------------------- /src/test/scala/TbStride.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/19801201/SpinalHDL_CNN_Accelerator/HEAD/src/test/scala/TbStride.scala --------------------------------------------------------------------------------