├── .gitignore ├── .gitmodules ├── LICENSE ├── Makefile.in ├── README.md ├── README2 ├── chipyard ├── SodorConfigs.scala └── SodorTilePluginProvider.scala ├── configure ├── configure.ac ├── doc ├── 1stage.pdf ├── 2stage.pdf ├── lab1.pdf ├── sodor.pdf ├── sodor.png ├── zscale.pdf └── zscale.png ├── prefix.mk.in ├── project ├── build.properties └── check ├── riscv-bmarks ├── dhrystone.riscv ├── dhrystone.riscv.dump ├── median.riscv ├── median.riscv.dump ├── multiply.riscv ├── multiply.riscv.dump ├── qsort.riscv ├── qsort.riscv.dump ├── rsort.riscv ├── rsort.riscv.dump ├── towers.riscv ├── towers.riscv.dump ├── vvadd.riscv └── vvadd.riscv.dump ├── scripts ├── instructions.py └── tracer.py ├── src └── main │ ├── resources │ └── sodor │ │ └── vsrc │ │ └── SimDTM.v │ └── scala │ └── sodor │ ├── common │ ├── abstract_commands.scala │ ├── consts.scala │ ├── debug.scala │ ├── dm_registers.scala │ ├── instructions.scala │ ├── master_adapter.scala │ ├── memory.scala │ ├── package.scala │ ├── scratchpad_adapter.scala │ ├── sodor_internal_tile.scala │ ├── sodor_tile.scala │ └── util.scala │ ├── rv32_1stage │ ├── consts.scala │ ├── core.scala │ ├── cpath.scala │ ├── dpath.scala │ └── package.scala │ ├── rv32_2stage │ ├── consts.scala │ ├── core.scala │ ├── cpath.scala │ ├── dpath.scala │ └── package.scala │ ├── rv32_3stage │ ├── alu.scala │ ├── arbiter.scala │ ├── consts.scala │ ├── core.scala │ ├── cpath.scala │ ├── dpath.scala │ ├── frontend.scala │ └── package.scala │ ├── rv32_5stage │ ├── consts.scala │ ├── core.scala │ ├── cpath.scala │ ├── dpath.scala │ ├── package.scala │ └── regfile.scala │ └── rv32_ucode │ ├── consts.scala │ ├── core.scala │ ├── cpath.scala │ ├── dpath.scala │ ├── microcode.scala │ ├── microcodecompiler.scala │ └── package.scala └── test ├── .gitignore ├── custom-bmarks ├── Makefile ├── crt.S └── mix.c ├── custom-tests ├── Makefile ├── movn.S └── yourinst.S └── env ├── encoding.h ├── p ├── link.ld └── riscv_test.h ├── test.ld └── test_macros.h /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/Makefile.in -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/README.md -------------------------------------------------------------------------------- /README2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/README2 -------------------------------------------------------------------------------- /chipyard/SodorConfigs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/chipyard/SodorConfigs.scala -------------------------------------------------------------------------------- /chipyard/SodorTilePluginProvider.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/chipyard/SodorTilePluginProvider.scala -------------------------------------------------------------------------------- /configure: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/configure -------------------------------------------------------------------------------- /configure.ac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/configure.ac -------------------------------------------------------------------------------- /doc/1stage.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/doc/1stage.pdf -------------------------------------------------------------------------------- /doc/2stage.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/doc/2stage.pdf -------------------------------------------------------------------------------- /doc/lab1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/doc/lab1.pdf -------------------------------------------------------------------------------- /doc/sodor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/doc/sodor.pdf -------------------------------------------------------------------------------- /doc/sodor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/doc/sodor.png -------------------------------------------------------------------------------- /doc/zscale.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/doc/zscale.pdf -------------------------------------------------------------------------------- /doc/zscale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/doc/zscale.png -------------------------------------------------------------------------------- /prefix.mk.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/prefix.mk.in -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.3.7 2 | -------------------------------------------------------------------------------- /project/check: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/project/check -------------------------------------------------------------------------------- /riscv-bmarks/dhrystone.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/dhrystone.riscv -------------------------------------------------------------------------------- /riscv-bmarks/dhrystone.riscv.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/dhrystone.riscv.dump -------------------------------------------------------------------------------- /riscv-bmarks/median.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/median.riscv -------------------------------------------------------------------------------- /riscv-bmarks/median.riscv.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/median.riscv.dump -------------------------------------------------------------------------------- /riscv-bmarks/multiply.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/multiply.riscv -------------------------------------------------------------------------------- /riscv-bmarks/multiply.riscv.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/multiply.riscv.dump -------------------------------------------------------------------------------- /riscv-bmarks/qsort.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/qsort.riscv -------------------------------------------------------------------------------- /riscv-bmarks/qsort.riscv.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/qsort.riscv.dump -------------------------------------------------------------------------------- /riscv-bmarks/rsort.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/rsort.riscv -------------------------------------------------------------------------------- /riscv-bmarks/rsort.riscv.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/rsort.riscv.dump -------------------------------------------------------------------------------- /riscv-bmarks/towers.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/towers.riscv -------------------------------------------------------------------------------- /riscv-bmarks/towers.riscv.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/towers.riscv.dump -------------------------------------------------------------------------------- /riscv-bmarks/vvadd.riscv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/vvadd.riscv -------------------------------------------------------------------------------- /riscv-bmarks/vvadd.riscv.dump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/riscv-bmarks/vvadd.riscv.dump -------------------------------------------------------------------------------- /scripts/instructions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/scripts/instructions.py -------------------------------------------------------------------------------- /scripts/tracer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/scripts/tracer.py -------------------------------------------------------------------------------- /src/main/resources/sodor/vsrc/SimDTM.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/resources/sodor/vsrc/SimDTM.v -------------------------------------------------------------------------------- /src/main/scala/sodor/common/abstract_commands.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/abstract_commands.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/consts.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/consts.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/debug.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/debug.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/dm_registers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/dm_registers.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/instructions.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/instructions.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/master_adapter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/master_adapter.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/memory.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/memory.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/package.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/scratchpad_adapter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/scratchpad_adapter.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/sodor_internal_tile.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/sodor_internal_tile.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/sodor_tile.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/sodor_tile.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/common/util.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/common/util.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_1stage/consts.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_1stage/consts.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_1stage/core.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_1stage/core.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_1stage/cpath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_1stage/cpath.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_1stage/dpath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_1stage/dpath.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_1stage/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_1stage/package.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_2stage/consts.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_2stage/consts.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_2stage/core.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_2stage/core.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_2stage/cpath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_2stage/cpath.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_2stage/dpath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_2stage/dpath.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_2stage/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_2stage/package.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_3stage/alu.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_3stage/alu.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_3stage/arbiter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_3stage/arbiter.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_3stage/consts.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_3stage/consts.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_3stage/core.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_3stage/core.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_3stage/cpath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_3stage/cpath.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_3stage/dpath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_3stage/dpath.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_3stage/frontend.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_3stage/frontend.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_3stage/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_3stage/package.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_5stage/consts.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_5stage/consts.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_5stage/core.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_5stage/core.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_5stage/cpath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_5stage/cpath.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_5stage/dpath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_5stage/dpath.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_5stage/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_5stage/package.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_5stage/regfile.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_5stage/regfile.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_ucode/consts.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_ucode/consts.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_ucode/core.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_ucode/core.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_ucode/cpath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_ucode/cpath.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_ucode/dpath.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_ucode/dpath.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_ucode/microcode.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_ucode/microcode.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_ucode/microcodecompiler.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_ucode/microcodecompiler.scala -------------------------------------------------------------------------------- /src/main/scala/sodor/rv32_ucode/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/src/main/scala/sodor/rv32_ucode/package.scala -------------------------------------------------------------------------------- /test/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/.gitignore -------------------------------------------------------------------------------- /test/custom-bmarks/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/custom-bmarks/Makefile -------------------------------------------------------------------------------- /test/custom-bmarks/crt.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/custom-bmarks/crt.S -------------------------------------------------------------------------------- /test/custom-bmarks/mix.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/custom-bmarks/mix.c -------------------------------------------------------------------------------- /test/custom-tests/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/custom-tests/Makefile -------------------------------------------------------------------------------- /test/custom-tests/movn.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/custom-tests/movn.S -------------------------------------------------------------------------------- /test/custom-tests/yourinst.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/custom-tests/yourinst.S -------------------------------------------------------------------------------- /test/env/encoding.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/env/encoding.h -------------------------------------------------------------------------------- /test/env/p/link.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/env/p/link.ld -------------------------------------------------------------------------------- /test/env/p/riscv_test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/env/p/riscv_test.h -------------------------------------------------------------------------------- /test/env/test.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/env/test.ld -------------------------------------------------------------------------------- /test/env/test_macros.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucb-bar/riscv-sodor/HEAD/test/env/test_macros.h --------------------------------------------------------------------------------