├── Backend ├── .gitignore ├── BSV │ ├── OpenSMART │ ├── README │ ├── lib │ │ ├── CReg.bsv │ │ └── Fifo.bsv │ ├── src │ │ ├── .DS_Store │ │ ├── AXI_NIC.bsv │ │ ├── BaselineRouter.bsv │ │ ├── CreditReg.bsv │ │ ├── CreditUnit.bsv │ │ ├── CrossbarBuffer.bsv │ │ ├── CrossbarSwitch.bsv │ │ ├── GlobalSwitchAllocUnit.bsv │ │ ├── InVCState.bsv │ │ ├── InputUnit.bsv │ │ ├── MatrixArbiter.bsv │ │ ├── Network.bsv │ │ ├── NtkArbiter.bsv │ │ ├── OutputUnit.bsv │ │ ├── RoutingUnit.bsv │ │ ├── SSR_Buffer.bsv │ │ ├── SSR_IO_Unit.bsv │ │ ├── SSR_Manager.bsv │ │ ├── SSR_Network.bsv │ │ ├── SSR_Router.bsv │ │ ├── SmartFlag.bsv │ │ ├── SmartFlagUnit.bsv │ │ ├── SmartRouter.bsv │ │ ├── SmartVCAllocUnit.bsv │ │ ├── StatLogger.bsv │ │ ├── SwitchAllocUnit.bsv │ │ ├── TrafficGenVCAlloc.bsv │ │ ├── TrafficGenerator.bsv │ │ ├── TrafficGeneratorBuffer.bsv │ │ ├── TrafficGeneratorUnit.bsv │ │ ├── Types │ │ │ ├── AXI_Types.bsv │ │ │ ├── CreditTypes.bsv │ │ │ ├── DebugTypes.bsv │ │ │ ├── MessageTypes.bsv │ │ │ ├── RoutingTypes.bsv │ │ │ ├── RoutingUnitTypes.bsv │ │ │ ├── SmartRouterTypes.bsv │ │ │ ├── SmartTypes.bsv │ │ │ ├── SwitchAllocTypes.bsv │ │ │ ├── Types.bsv │ │ │ ├── VCAllocUnitTypes.bsv │ │ │ └── VirtualChannelTypes.bsv │ │ ├── VCAllocUnit.bsv │ │ ├── VCTable.bsv │ │ ├── VCTableEntry.bsv │ │ └── VirtualChannel.bsv │ └── testbenches │ │ ├── CrossbarTB.bsv │ │ ├── InputUnitTB.bsv │ │ ├── RealTestBench.bsv │ │ ├── RouterTestBench.bsv │ │ └── TestBench.bsv └── Chisel │ ├── CreditReg.scala │ ├── Crossbar.scala │ ├── Flit.scala │ ├── InputUnit.scala │ ├── InvcArbiter.scala │ ├── MatrixArbiter.scala │ ├── MatrixArbiter3.scala │ ├── MatrixArbiter4.scala │ ├── Network2x2.scala │ ├── NetworkLinear.scala │ ├── QueueTest.scala │ ├── README │ ├── Router.scala │ ├── RoutingUnit.scala │ ├── SwitchAllocator.scala │ ├── VCAllocator.scala │ ├── VCState.scala │ ├── VirtualChannel.scala │ ├── consts.scala │ ├── package.scala │ └── testProgram.scala ├── Documents ├── OpenSMART_ISPASS17.pdf ├── OpenSMART_ISPASS2017_talk.pdf └── OpenSMART_ISPASS2017_talk.pptx ├── Frontend └── OpenSMART.py ├── LICENSE ├── README.md └── _config.yml /Backend/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /Backend/BSV/OpenSMART: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/OpenSMART -------------------------------------------------------------------------------- /Backend/BSV/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/README -------------------------------------------------------------------------------- /Backend/BSV/lib/CReg.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/lib/CReg.bsv -------------------------------------------------------------------------------- /Backend/BSV/lib/Fifo.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/lib/Fifo.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/.DS_Store -------------------------------------------------------------------------------- /Backend/BSV/src/AXI_NIC.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/AXI_NIC.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/BaselineRouter.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/BaselineRouter.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/CreditReg.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/CreditReg.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/CreditUnit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/CreditUnit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/CrossbarBuffer.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/CrossbarBuffer.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/CrossbarSwitch.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/CrossbarSwitch.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/GlobalSwitchAllocUnit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/GlobalSwitchAllocUnit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/InVCState.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/InVCState.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/InputUnit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/InputUnit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/MatrixArbiter.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/MatrixArbiter.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Network.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Network.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/NtkArbiter.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/NtkArbiter.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/OutputUnit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/OutputUnit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/RoutingUnit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/RoutingUnit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/SSR_Buffer.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/SSR_Buffer.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/SSR_IO_Unit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/SSR_IO_Unit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/SSR_Manager.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/SSR_Manager.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/SSR_Network.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/SSR_Network.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/SSR_Router.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/SSR_Router.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/SmartFlag.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/SmartFlag.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/SmartFlagUnit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/SmartFlagUnit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/SmartRouter.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/SmartRouter.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/SmartVCAllocUnit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/SmartVCAllocUnit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/StatLogger.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/StatLogger.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/SwitchAllocUnit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/SwitchAllocUnit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/TrafficGenVCAlloc.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/TrafficGenVCAlloc.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/TrafficGenerator.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/TrafficGenerator.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/TrafficGeneratorBuffer.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/TrafficGeneratorBuffer.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/TrafficGeneratorUnit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/TrafficGeneratorUnit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/AXI_Types.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/AXI_Types.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/CreditTypes.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/CreditTypes.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/DebugTypes.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/DebugTypes.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/MessageTypes.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/MessageTypes.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/RoutingTypes.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/RoutingTypes.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/RoutingUnitTypes.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/RoutingUnitTypes.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/SmartRouterTypes.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/SmartRouterTypes.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/SmartTypes.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/SmartTypes.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/SwitchAllocTypes.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/SwitchAllocTypes.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/Types.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/Types.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/VCAllocUnitTypes.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/VCAllocUnitTypes.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/Types/VirtualChannelTypes.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/Types/VirtualChannelTypes.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/VCAllocUnit.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/VCAllocUnit.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/VCTable.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/VCTable.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/VCTableEntry.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/VCTableEntry.bsv -------------------------------------------------------------------------------- /Backend/BSV/src/VirtualChannel.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/src/VirtualChannel.bsv -------------------------------------------------------------------------------- /Backend/BSV/testbenches/CrossbarTB.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/testbenches/CrossbarTB.bsv -------------------------------------------------------------------------------- /Backend/BSV/testbenches/InputUnitTB.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/testbenches/InputUnitTB.bsv -------------------------------------------------------------------------------- /Backend/BSV/testbenches/RealTestBench.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/testbenches/RealTestBench.bsv -------------------------------------------------------------------------------- /Backend/BSV/testbenches/RouterTestBench.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/testbenches/RouterTestBench.bsv -------------------------------------------------------------------------------- /Backend/BSV/testbenches/TestBench.bsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/BSV/testbenches/TestBench.bsv -------------------------------------------------------------------------------- /Backend/Chisel/CreditReg.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/CreditReg.scala -------------------------------------------------------------------------------- /Backend/Chisel/Crossbar.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/Crossbar.scala -------------------------------------------------------------------------------- /Backend/Chisel/Flit.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/Flit.scala -------------------------------------------------------------------------------- /Backend/Chisel/InputUnit.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/InputUnit.scala -------------------------------------------------------------------------------- /Backend/Chisel/InvcArbiter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/InvcArbiter.scala -------------------------------------------------------------------------------- /Backend/Chisel/MatrixArbiter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/MatrixArbiter.scala -------------------------------------------------------------------------------- /Backend/Chisel/MatrixArbiter3.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/MatrixArbiter3.scala -------------------------------------------------------------------------------- /Backend/Chisel/MatrixArbiter4.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/MatrixArbiter4.scala -------------------------------------------------------------------------------- /Backend/Chisel/Network2x2.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/Network2x2.scala -------------------------------------------------------------------------------- /Backend/Chisel/NetworkLinear.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/NetworkLinear.scala -------------------------------------------------------------------------------- /Backend/Chisel/QueueTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/QueueTest.scala -------------------------------------------------------------------------------- /Backend/Chisel/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/README -------------------------------------------------------------------------------- /Backend/Chisel/Router.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/Router.scala -------------------------------------------------------------------------------- /Backend/Chisel/RoutingUnit.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/RoutingUnit.scala -------------------------------------------------------------------------------- /Backend/Chisel/SwitchAllocator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/SwitchAllocator.scala -------------------------------------------------------------------------------- /Backend/Chisel/VCAllocator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/VCAllocator.scala -------------------------------------------------------------------------------- /Backend/Chisel/VCState.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/VCState.scala -------------------------------------------------------------------------------- /Backend/Chisel/VirtualChannel.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/VirtualChannel.scala -------------------------------------------------------------------------------- /Backend/Chisel/consts.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/consts.scala -------------------------------------------------------------------------------- /Backend/Chisel/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/package.scala -------------------------------------------------------------------------------- /Backend/Chisel/testProgram.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Backend/Chisel/testProgram.scala -------------------------------------------------------------------------------- /Documents/OpenSMART_ISPASS17.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Documents/OpenSMART_ISPASS17.pdf -------------------------------------------------------------------------------- /Documents/OpenSMART_ISPASS2017_talk.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Documents/OpenSMART_ISPASS2017_talk.pdf -------------------------------------------------------------------------------- /Documents/OpenSMART_ISPASS2017_talk.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/Documents/OpenSMART_ISPASS2017_talk.pptx -------------------------------------------------------------------------------- /Frontend/OpenSMART.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/README.md -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hyoukjun/OpenSMART/HEAD/_config.yml --------------------------------------------------------------------------------