├── .gitignore ├── README.md ├── docs ├── fpga.jpg ├── innerloop.gif └── microarch.jpg ├── python ├── .gitignore ├── .python-version ├── README.md ├── fa_ref.py ├── fsa │ ├── __init__.py │ ├── config.py │ ├── dtype.py │ ├── engine.py │ ├── instructions.py │ ├── kernel.py │ ├── mem.py │ ├── tensor.py │ ├── utils.py │ ├── xdma.py │ └── xdma_mmio.py ├── main.py ├── pyproject.toml └── uv.lock └── src ├── main ├── resources │ └── fsa │ │ ├── csrc │ │ ├── AXI4WriteTracker.cc │ │ ├── FSASimTSI.cc │ │ ├── fsa_tsi.cc │ │ └── fsa_tsi.h │ │ └── vsrc │ │ ├── AXI4WriteTracker.v │ │ └── FSASimTSI.v └── scala │ └── fsa │ ├── AXI4FSA.scala │ ├── Accumulator.scala │ ├── BankedSRAM.scala │ ├── Configs.scala │ ├── ControlGen.scala │ ├── ExecutionPlan.scala │ ├── FSA.scala │ ├── InputDelayer.scala │ ├── MatrixEngineController.scala │ ├── arithmetic │ ├── Arithmetic.scala │ └── FPArithmeticImpl.scala │ ├── dma │ ├── DMA.scala │ ├── DMARequest.scala │ └── LSQ.scala │ ├── frontend │ ├── Decoder.scala │ └── Semaphores.scala │ ├── isa │ ├── DMAInstruction.scala │ ├── FenceInstruction.scala │ ├── ISA.scala │ └── MatrixInstruction.scala │ ├── sa │ ├── CMP.scala │ ├── PE.scala │ └── SystolicArray.scala │ ├── tsi │ └── FSASimTSI.scala │ └── utils │ ├── AXIWriteTracker.scala │ ├── DelayedAssert.scala │ ├── Ehr.scala │ ├── SVGen.scala │ └── UIntRangeHelper.scala └── test └── scala └── fsa ├── ControlSignalTest.scala └── utils └── EhrTest.scala /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/README.md -------------------------------------------------------------------------------- /docs/fpga.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/docs/fpga.jpg -------------------------------------------------------------------------------- /docs/innerloop.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/docs/innerloop.gif -------------------------------------------------------------------------------- /docs/microarch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/docs/microarch.jpg -------------------------------------------------------------------------------- /python/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/.gitignore -------------------------------------------------------------------------------- /python/.python-version: -------------------------------------------------------------------------------- 1 | 3.13 2 | -------------------------------------------------------------------------------- /python/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/fa_ref.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fa_ref.py -------------------------------------------------------------------------------- /python/fsa/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/__init__.py -------------------------------------------------------------------------------- /python/fsa/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/config.py -------------------------------------------------------------------------------- /python/fsa/dtype.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/dtype.py -------------------------------------------------------------------------------- /python/fsa/engine.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/engine.py -------------------------------------------------------------------------------- /python/fsa/instructions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/instructions.py -------------------------------------------------------------------------------- /python/fsa/kernel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/kernel.py -------------------------------------------------------------------------------- /python/fsa/mem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/mem.py -------------------------------------------------------------------------------- /python/fsa/tensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/tensor.py -------------------------------------------------------------------------------- /python/fsa/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/utils.py -------------------------------------------------------------------------------- /python/fsa/xdma.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/xdma.py -------------------------------------------------------------------------------- /python/fsa/xdma_mmio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/fsa/xdma_mmio.py -------------------------------------------------------------------------------- /python/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/main.py -------------------------------------------------------------------------------- /python/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/pyproject.toml -------------------------------------------------------------------------------- /python/uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/python/uv.lock -------------------------------------------------------------------------------- /src/main/resources/fsa/csrc/AXI4WriteTracker.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/resources/fsa/csrc/AXI4WriteTracker.cc -------------------------------------------------------------------------------- /src/main/resources/fsa/csrc/FSASimTSI.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/resources/fsa/csrc/FSASimTSI.cc -------------------------------------------------------------------------------- /src/main/resources/fsa/csrc/fsa_tsi.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/resources/fsa/csrc/fsa_tsi.cc -------------------------------------------------------------------------------- /src/main/resources/fsa/csrc/fsa_tsi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/resources/fsa/csrc/fsa_tsi.h -------------------------------------------------------------------------------- /src/main/resources/fsa/vsrc/AXI4WriteTracker.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/resources/fsa/vsrc/AXI4WriteTracker.v -------------------------------------------------------------------------------- /src/main/resources/fsa/vsrc/FSASimTSI.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/resources/fsa/vsrc/FSASimTSI.v -------------------------------------------------------------------------------- /src/main/scala/fsa/AXI4FSA.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/AXI4FSA.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/Accumulator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/Accumulator.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/BankedSRAM.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/BankedSRAM.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/Configs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/Configs.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/ControlGen.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/ControlGen.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/ExecutionPlan.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/ExecutionPlan.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/FSA.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/FSA.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/InputDelayer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/InputDelayer.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/MatrixEngineController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/MatrixEngineController.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/arithmetic/Arithmetic.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/arithmetic/Arithmetic.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/arithmetic/FPArithmeticImpl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/arithmetic/FPArithmeticImpl.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/dma/DMA.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/dma/DMA.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/dma/DMARequest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/dma/DMARequest.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/dma/LSQ.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/dma/LSQ.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/frontend/Decoder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/frontend/Decoder.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/frontend/Semaphores.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/frontend/Semaphores.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/isa/DMAInstruction.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/isa/DMAInstruction.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/isa/FenceInstruction.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/isa/FenceInstruction.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/isa/ISA.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/isa/ISA.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/isa/MatrixInstruction.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/isa/MatrixInstruction.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/sa/CMP.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/sa/CMP.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/sa/PE.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/sa/PE.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/sa/SystolicArray.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/sa/SystolicArray.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/tsi/FSASimTSI.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/tsi/FSASimTSI.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/utils/AXIWriteTracker.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/utils/AXIWriteTracker.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/utils/DelayedAssert.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/utils/DelayedAssert.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/utils/Ehr.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/utils/Ehr.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/utils/SVGen.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/utils/SVGen.scala -------------------------------------------------------------------------------- /src/main/scala/fsa/utils/UIntRangeHelper.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/main/scala/fsa/utils/UIntRangeHelper.scala -------------------------------------------------------------------------------- /src/test/scala/fsa/ControlSignalTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/test/scala/fsa/ControlSignalTest.scala -------------------------------------------------------------------------------- /src/test/scala/fsa/utils/EhrTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VCA-EPFL/FSA/HEAD/src/test/scala/fsa/utils/EhrTest.scala --------------------------------------------------------------------------------