diff --git a/fw/picorv32/.gitignore b/fw/cpu/picorv32/.gitignore similarity index 100% rename from fw/picorv32/.gitignore rename to fw/cpu/picorv32/.gitignore diff --git a/fw/picorv32/Makefile b/fw/cpu/picorv32/Makefile similarity index 100% rename from fw/picorv32/Makefile rename to fw/cpu/picorv32/Makefile diff --git a/fw/picorv32/README.md b/fw/cpu/picorv32/README.md similarity index 100% rename from fw/picorv32/README.md rename to fw/cpu/picorv32/README.md diff --git a/fw/picorv32/dhrystone/Makefile b/fw/cpu/picorv32/dhrystone/Makefile similarity index 100% rename from fw/picorv32/dhrystone/Makefile rename to fw/cpu/picorv32/dhrystone/Makefile diff --git a/fw/picorv32/dhrystone/README b/fw/cpu/picorv32/dhrystone/README similarity index 100% rename from fw/picorv32/dhrystone/README rename to fw/cpu/picorv32/dhrystone/README diff --git a/fw/picorv32/dhrystone/dhry.h b/fw/cpu/picorv32/dhrystone/dhry.h similarity index 100% rename from fw/picorv32/dhrystone/dhry.h rename to fw/cpu/picorv32/dhrystone/dhry.h diff --git a/fw/picorv32/dhrystone/dhry_1.c b/fw/cpu/picorv32/dhrystone/dhry_1.c similarity index 100% rename from fw/picorv32/dhrystone/dhry_1.c rename to fw/cpu/picorv32/dhrystone/dhry_1.c diff --git a/fw/picorv32/dhrystone/dhry_1_orig.c b/fw/cpu/picorv32/dhrystone/dhry_1_orig.c similarity index 100% rename from fw/picorv32/dhrystone/dhry_1_orig.c rename to fw/cpu/picorv32/dhrystone/dhry_1_orig.c diff --git a/fw/picorv32/dhrystone/dhry_2.c b/fw/cpu/picorv32/dhrystone/dhry_2.c similarity index 100% rename from fw/picorv32/dhrystone/dhry_2.c rename to fw/cpu/picorv32/dhrystone/dhry_2.c diff --git a/fw/picorv32/dhrystone/sections.lds b/fw/cpu/picorv32/dhrystone/sections.lds similarity index 100% rename from fw/picorv32/dhrystone/sections.lds rename to fw/cpu/picorv32/dhrystone/sections.lds diff --git a/fw/picorv32/dhrystone/start.S b/fw/cpu/picorv32/dhrystone/start.S similarity index 100% rename from fw/picorv32/dhrystone/start.S rename to fw/cpu/picorv32/dhrystone/start.S diff --git a/fw/picorv32/dhrystone/stdlib.c b/fw/cpu/picorv32/dhrystone/stdlib.c similarity index 100% rename from fw/picorv32/dhrystone/stdlib.c rename to fw/cpu/picorv32/dhrystone/stdlib.c diff --git a/fw/picorv32/dhrystone/syscalls.c b/fw/cpu/picorv32/dhrystone/syscalls.c similarity index 100% rename from fw/picorv32/dhrystone/syscalls.c rename to fw/cpu/picorv32/dhrystone/syscalls.c diff --git a/fw/picorv32/dhrystone/testbench.v b/fw/cpu/picorv32/dhrystone/testbench.v similarity index 100% rename from fw/picorv32/dhrystone/testbench.v rename to fw/cpu/picorv32/dhrystone/testbench.v diff --git a/fw/picorv32/dhrystone/testbench_nola.v b/fw/cpu/picorv32/dhrystone/testbench_nola.v similarity index 100% rename from fw/picorv32/dhrystone/testbench_nola.v rename to fw/cpu/picorv32/dhrystone/testbench_nola.v diff --git a/fw/picorv32/firmware/README b/fw/cpu/picorv32/firmware/README similarity index 100% rename from fw/picorv32/firmware/README rename to fw/cpu/picorv32/firmware/README diff --git a/fw/picorv32/firmware/custom_ops.S b/fw/cpu/picorv32/firmware/custom_ops.S similarity index 100% rename from fw/picorv32/firmware/custom_ops.S rename to fw/cpu/picorv32/firmware/custom_ops.S diff --git a/fw/picorv32/firmware/firmware.h b/fw/cpu/picorv32/firmware/firmware.h similarity index 100% rename from fw/picorv32/firmware/firmware.h rename to fw/cpu/picorv32/firmware/firmware.h diff --git a/fw/picorv32/firmware/hello.c b/fw/cpu/picorv32/firmware/hello.c similarity index 100% rename from fw/picorv32/firmware/hello.c rename to fw/cpu/picorv32/firmware/hello.c diff --git a/fw/picorv32/firmware/irq.c b/fw/cpu/picorv32/firmware/irq.c similarity index 100% rename from fw/picorv32/firmware/irq.c rename to fw/cpu/picorv32/firmware/irq.c diff --git a/fw/picorv32/firmware/makehex.py b/fw/cpu/picorv32/firmware/makehex.py similarity index 100% rename from fw/picorv32/firmware/makehex.py rename to fw/cpu/picorv32/firmware/makehex.py diff --git a/fw/picorv32/firmware/multest.c b/fw/cpu/picorv32/firmware/multest.c similarity index 100% rename from fw/picorv32/firmware/multest.c rename to fw/cpu/picorv32/firmware/multest.c diff --git a/fw/picorv32/firmware/print.c b/fw/cpu/picorv32/firmware/print.c similarity index 100% rename from fw/picorv32/firmware/print.c rename to fw/cpu/picorv32/firmware/print.c diff --git a/fw/picorv32/firmware/riscv.ld b/fw/cpu/picorv32/firmware/riscv.ld similarity index 100% rename from fw/picorv32/firmware/riscv.ld rename to fw/cpu/picorv32/firmware/riscv.ld diff --git a/fw/picorv32/firmware/riscv.ld.orig b/fw/cpu/picorv32/firmware/riscv.ld.orig similarity index 100% rename from fw/picorv32/firmware/riscv.ld.orig rename to fw/cpu/picorv32/firmware/riscv.ld.orig diff --git a/fw/picorv32/firmware/sections.lds b/fw/cpu/picorv32/firmware/sections.lds similarity index 100% rename from fw/picorv32/firmware/sections.lds rename to fw/cpu/picorv32/firmware/sections.lds diff --git a/fw/picorv32/firmware/sieve.c b/fw/cpu/picorv32/firmware/sieve.c similarity index 100% rename from fw/picorv32/firmware/sieve.c rename to fw/cpu/picorv32/firmware/sieve.c diff --git a/fw/picorv32/firmware/start.S b/fw/cpu/picorv32/firmware/start.S similarity index 100% rename from fw/picorv32/firmware/start.S rename to fw/cpu/picorv32/firmware/start.S diff --git a/fw/picorv32/firmware/stats.c b/fw/cpu/picorv32/firmware/stats.c similarity index 100% rename from fw/picorv32/firmware/stats.c rename to fw/cpu/picorv32/firmware/stats.c diff --git a/fw/picorv32/picorv32.core b/fw/cpu/picorv32/picorv32.core similarity index 100% rename from fw/picorv32/picorv32.core rename to fw/cpu/picorv32/picorv32.core diff --git a/fw/picorv32/picorv32.v b/fw/cpu/picorv32/picorv32.v similarity index 100% rename from fw/picorv32/picorv32.v rename to fw/cpu/picorv32/picorv32.v diff --git a/fw/picorv32/picosoc/.gitignore b/fw/cpu/picorv32/picosoc/.gitignore similarity index 100% rename from fw/picorv32/picosoc/.gitignore rename to fw/cpu/picorv32/picosoc/.gitignore diff --git a/fw/picorv32/picosoc/Makefile b/fw/cpu/picorv32/picosoc/Makefile similarity index 100% rename from fw/picorv32/picosoc/Makefile rename to fw/cpu/picorv32/picosoc/Makefile diff --git a/fw/picorv32/picosoc/README.md b/fw/cpu/picorv32/picosoc/README.md similarity index 100% rename from fw/picorv32/picosoc/README.md rename to fw/cpu/picorv32/picosoc/README.md diff --git a/fw/picorv32/picosoc/firmware.c b/fw/cpu/picorv32/picosoc/firmware.c similarity index 100% rename from fw/picorv32/picosoc/firmware.c rename to fw/cpu/picorv32/picosoc/firmware.c diff --git a/fw/picorv32/picosoc/hx8kdemo.core b/fw/cpu/picorv32/picosoc/hx8kdemo.core similarity index 100% rename from fw/picorv32/picosoc/hx8kdemo.core rename to fw/cpu/picorv32/picosoc/hx8kdemo.core diff --git a/fw/picorv32/picosoc/hx8kdemo.pcf b/fw/cpu/picorv32/picosoc/hx8kdemo.pcf similarity index 100% rename from fw/picorv32/picosoc/hx8kdemo.pcf rename to fw/cpu/picorv32/picosoc/hx8kdemo.pcf diff --git a/fw/picorv32/picosoc/hx8kdemo.v b/fw/cpu/picorv32/picosoc/hx8kdemo.v similarity index 100% rename from fw/picorv32/picosoc/hx8kdemo.v rename to fw/cpu/picorv32/picosoc/hx8kdemo.v diff --git a/fw/picorv32/picosoc/hx8kdemo_tb.v b/fw/cpu/picorv32/picosoc/hx8kdemo_tb.v similarity index 100% rename from fw/picorv32/picosoc/hx8kdemo_tb.v rename to fw/cpu/picorv32/picosoc/hx8kdemo_tb.v diff --git a/fw/picorv32/picosoc/ice40up5k_spram.v b/fw/cpu/picorv32/picosoc/ice40up5k_spram.v similarity index 100% rename from fw/picorv32/picosoc/ice40up5k_spram.v rename to fw/cpu/picorv32/picosoc/ice40up5k_spram.v diff --git a/fw/picorv32/picosoc/icebreaker.core b/fw/cpu/picorv32/picosoc/icebreaker.core similarity index 100% rename from fw/picorv32/picosoc/icebreaker.core rename to fw/cpu/picorv32/picosoc/icebreaker.core diff --git a/fw/picorv32/picosoc/icebreaker.pcf b/fw/cpu/picorv32/picosoc/icebreaker.pcf similarity index 100% rename from fw/picorv32/picosoc/icebreaker.pcf rename to fw/cpu/picorv32/picosoc/icebreaker.pcf diff --git a/fw/picorv32/picosoc/icebreaker.v b/fw/cpu/picorv32/picosoc/icebreaker.v similarity index 100% rename from fw/picorv32/picosoc/icebreaker.v rename to fw/cpu/picorv32/picosoc/icebreaker.v diff --git a/fw/picorv32/picosoc/icebreaker_tb.v b/fw/cpu/picorv32/picosoc/icebreaker_tb.v similarity index 100% rename from fw/picorv32/picosoc/icebreaker_tb.v rename to fw/cpu/picorv32/picosoc/icebreaker_tb.v diff --git a/fw/picorv32/picosoc/overview.svg b/fw/cpu/picorv32/picosoc/overview.svg similarity index 100% rename from fw/picorv32/picosoc/overview.svg rename to fw/cpu/picorv32/picosoc/overview.svg diff --git a/fw/picorv32/picosoc/performance.png b/fw/cpu/picorv32/picosoc/performance.png similarity index 100% rename from fw/picorv32/picosoc/performance.png rename to fw/cpu/picorv32/picosoc/performance.png diff --git a/fw/picorv32/picosoc/performance.py b/fw/cpu/picorv32/picosoc/performance.py similarity index 100% rename from fw/picorv32/picosoc/performance.py rename to fw/cpu/picorv32/picosoc/performance.py diff --git a/fw/picorv32/picosoc/picosoc.core b/fw/cpu/picorv32/picosoc/picosoc.core similarity index 100% rename from fw/picorv32/picosoc/picosoc.core rename to fw/cpu/picorv32/picosoc/picosoc.core diff --git a/fw/picorv32/picosoc/picosoc.v b/fw/cpu/picorv32/picosoc/picosoc.v similarity index 100% rename from fw/picorv32/picosoc/picosoc.v rename to fw/cpu/picorv32/picosoc/picosoc.v diff --git a/fw/picorv32/picosoc/sections.lds b/fw/cpu/picorv32/picosoc/sections.lds similarity index 100% rename from fw/picorv32/picosoc/sections.lds rename to fw/cpu/picorv32/picosoc/sections.lds diff --git a/fw/picorv32/picosoc/simpleuart.v b/fw/cpu/picorv32/picosoc/simpleuart.v similarity index 100% rename from fw/picorv32/picosoc/simpleuart.v rename to fw/cpu/picorv32/picosoc/simpleuart.v diff --git a/fw/picorv32/picosoc/spiflash.core b/fw/cpu/picorv32/picosoc/spiflash.core similarity index 100% rename from fw/picorv32/picosoc/spiflash.core rename to fw/cpu/picorv32/picosoc/spiflash.core diff --git a/fw/picorv32/picosoc/spiflash.v b/fw/cpu/picorv32/picosoc/spiflash.v similarity index 100% rename from fw/picorv32/picosoc/spiflash.v rename to fw/cpu/picorv32/picosoc/spiflash.v diff --git a/fw/picorv32/picosoc/spiflash_tb.v b/fw/cpu/picorv32/picosoc/spiflash_tb.v similarity index 100% rename from fw/picorv32/picosoc/spiflash_tb.v rename to fw/cpu/picorv32/picosoc/spiflash_tb.v diff --git a/fw/picorv32/picosoc/spimemio.v b/fw/cpu/picorv32/picosoc/spimemio.v similarity index 100% rename from fw/picorv32/picosoc/spimemio.v rename to fw/cpu/picorv32/picosoc/spimemio.v diff --git a/fw/picorv32/picosoc/start.s b/fw/cpu/picorv32/picosoc/start.s similarity index 100% rename from fw/picorv32/picosoc/start.s rename to fw/cpu/picorv32/picosoc/start.s diff --git a/fw/picorv32/scripts/csmith/.gitignore b/fw/cpu/picorv32/scripts/csmith/.gitignore similarity index 100% rename from fw/picorv32/scripts/csmith/.gitignore rename to fw/cpu/picorv32/scripts/csmith/.gitignore diff --git a/fw/picorv32/scripts/csmith/Makefile b/fw/cpu/picorv32/scripts/csmith/Makefile similarity index 100% rename from fw/picorv32/scripts/csmith/Makefile rename to fw/cpu/picorv32/scripts/csmith/Makefile diff --git a/fw/picorv32/scripts/csmith/riscv-isa-sim.diff b/fw/cpu/picorv32/scripts/csmith/riscv-isa-sim.diff similarity index 100% rename from fw/picorv32/scripts/csmith/riscv-isa-sim.diff rename to fw/cpu/picorv32/scripts/csmith/riscv-isa-sim.diff diff --git a/fw/picorv32/scripts/csmith/start.S b/fw/cpu/picorv32/scripts/csmith/start.S similarity index 100% rename from fw/picorv32/scripts/csmith/start.S rename to fw/cpu/picorv32/scripts/csmith/start.S diff --git a/fw/picorv32/scripts/csmith/syscalls.c b/fw/cpu/picorv32/scripts/csmith/syscalls.c similarity index 100% rename from fw/picorv32/scripts/csmith/syscalls.c rename to fw/cpu/picorv32/scripts/csmith/syscalls.c diff --git a/fw/picorv32/scripts/csmith/testbench.cc b/fw/cpu/picorv32/scripts/csmith/testbench.cc similarity index 100% rename from fw/picorv32/scripts/csmith/testbench.cc rename to fw/cpu/picorv32/scripts/csmith/testbench.cc diff --git a/fw/picorv32/scripts/csmith/testbench.v b/fw/cpu/picorv32/scripts/csmith/testbench.v similarity index 100% rename from fw/picorv32/scripts/csmith/testbench.v rename to fw/cpu/picorv32/scripts/csmith/testbench.v diff --git a/fw/picorv32/scripts/cxxdemo/.gitignore b/fw/cpu/picorv32/scripts/cxxdemo/.gitignore similarity index 100% rename from fw/picorv32/scripts/cxxdemo/.gitignore rename to fw/cpu/picorv32/scripts/cxxdemo/.gitignore diff --git a/fw/picorv32/scripts/cxxdemo/Makefile b/fw/cpu/picorv32/scripts/cxxdemo/Makefile similarity index 100% rename from fw/picorv32/scripts/cxxdemo/Makefile rename to fw/cpu/picorv32/scripts/cxxdemo/Makefile diff --git a/fw/picorv32/scripts/cxxdemo/firmware.cc b/fw/cpu/picorv32/scripts/cxxdemo/firmware.cc similarity index 100% rename from fw/picorv32/scripts/cxxdemo/firmware.cc rename to fw/cpu/picorv32/scripts/cxxdemo/firmware.cc diff --git a/fw/picorv32/scripts/cxxdemo/hex8tohex32.py b/fw/cpu/picorv32/scripts/cxxdemo/hex8tohex32.py similarity index 100% rename from fw/picorv32/scripts/cxxdemo/hex8tohex32.py rename to fw/cpu/picorv32/scripts/cxxdemo/hex8tohex32.py diff --git a/fw/picorv32/scripts/cxxdemo/start.S b/fw/cpu/picorv32/scripts/cxxdemo/start.S similarity index 100% rename from fw/picorv32/scripts/cxxdemo/start.S rename to fw/cpu/picorv32/scripts/cxxdemo/start.S diff --git a/fw/picorv32/scripts/cxxdemo/start.ld b/fw/cpu/picorv32/scripts/cxxdemo/start.ld similarity index 100% rename from fw/picorv32/scripts/cxxdemo/start.ld rename to fw/cpu/picorv32/scripts/cxxdemo/start.ld diff --git a/fw/picorv32/scripts/cxxdemo/syscalls.c b/fw/cpu/picorv32/scripts/cxxdemo/syscalls.c similarity index 100% rename from fw/picorv32/scripts/cxxdemo/syscalls.c rename to fw/cpu/picorv32/scripts/cxxdemo/syscalls.c diff --git a/fw/picorv32/scripts/cxxdemo/testbench.v b/fw/cpu/picorv32/scripts/cxxdemo/testbench.v similarity index 100% rename from fw/picorv32/scripts/cxxdemo/testbench.v rename to fw/cpu/picorv32/scripts/cxxdemo/testbench.v diff --git a/fw/picorv32/scripts/icestorm/.gitignore b/fw/cpu/picorv32/scripts/icestorm/.gitignore similarity index 100% rename from fw/picorv32/scripts/icestorm/.gitignore rename to fw/cpu/picorv32/scripts/icestorm/.gitignore diff --git a/fw/picorv32/scripts/icestorm/Makefile b/fw/cpu/picorv32/scripts/icestorm/Makefile similarity index 100% rename from fw/picorv32/scripts/icestorm/Makefile rename to fw/cpu/picorv32/scripts/icestorm/Makefile diff --git a/fw/picorv32/scripts/icestorm/example.pcf b/fw/cpu/picorv32/scripts/icestorm/example.pcf similarity index 100% rename from fw/picorv32/scripts/icestorm/example.pcf rename to fw/cpu/picorv32/scripts/icestorm/example.pcf diff --git a/fw/picorv32/scripts/icestorm/example.v b/fw/cpu/picorv32/scripts/icestorm/example.v similarity index 100% rename from fw/picorv32/scripts/icestorm/example.v rename to fw/cpu/picorv32/scripts/icestorm/example.v diff --git a/fw/picorv32/scripts/icestorm/example_tb.v b/fw/cpu/picorv32/scripts/icestorm/example_tb.v similarity index 100% rename from fw/picorv32/scripts/icestorm/example_tb.v rename to fw/cpu/picorv32/scripts/icestorm/example_tb.v diff --git a/fw/picorv32/scripts/icestorm/firmware.S b/fw/cpu/picorv32/scripts/icestorm/firmware.S similarity index 100% rename from fw/picorv32/scripts/icestorm/firmware.S rename to fw/cpu/picorv32/scripts/icestorm/firmware.S diff --git a/fw/picorv32/scripts/icestorm/firmware.c b/fw/cpu/picorv32/scripts/icestorm/firmware.c similarity index 100% rename from fw/picorv32/scripts/icestorm/firmware.c rename to fw/cpu/picorv32/scripts/icestorm/firmware.c diff --git a/fw/picorv32/scripts/icestorm/firmware.lds b/fw/cpu/picorv32/scripts/icestorm/firmware.lds similarity index 100% rename from fw/picorv32/scripts/icestorm/firmware.lds rename to fw/cpu/picorv32/scripts/icestorm/firmware.lds diff --git a/fw/picorv32/scripts/icestorm/readme.md b/fw/cpu/picorv32/scripts/icestorm/readme.md similarity index 100% rename from fw/picorv32/scripts/icestorm/readme.md rename to fw/cpu/picorv32/scripts/icestorm/readme.md diff --git a/fw/picorv32/scripts/presyn/.gitignore b/fw/cpu/picorv32/scripts/presyn/.gitignore similarity index 100% rename from fw/picorv32/scripts/presyn/.gitignore rename to fw/cpu/picorv32/scripts/presyn/.gitignore diff --git a/fw/picorv32/scripts/presyn/Makefile b/fw/cpu/picorv32/scripts/presyn/Makefile similarity index 100% rename from fw/picorv32/scripts/presyn/Makefile rename to fw/cpu/picorv32/scripts/presyn/Makefile diff --git a/fw/picorv32/scripts/presyn/README b/fw/cpu/picorv32/scripts/presyn/README similarity index 100% rename from fw/picorv32/scripts/presyn/README rename to fw/cpu/picorv32/scripts/presyn/README diff --git a/fw/picorv32/scripts/presyn/firmware.S b/fw/cpu/picorv32/scripts/presyn/firmware.S similarity index 100% rename from fw/picorv32/scripts/presyn/firmware.S rename to fw/cpu/picorv32/scripts/presyn/firmware.S diff --git a/fw/picorv32/scripts/presyn/firmware.c b/fw/cpu/picorv32/scripts/presyn/firmware.c similarity index 100% rename from fw/picorv32/scripts/presyn/firmware.c rename to fw/cpu/picorv32/scripts/presyn/firmware.c diff --git a/fw/picorv32/scripts/presyn/firmware.lds b/fw/cpu/picorv32/scripts/presyn/firmware.lds similarity index 100% rename from fw/picorv32/scripts/presyn/firmware.lds rename to fw/cpu/picorv32/scripts/presyn/firmware.lds diff --git a/fw/picorv32/scripts/presyn/picorv32_presyn.ys b/fw/cpu/picorv32/scripts/presyn/picorv32_presyn.ys similarity index 100% rename from fw/picorv32/scripts/presyn/picorv32_presyn.ys rename to fw/cpu/picorv32/scripts/presyn/picorv32_presyn.ys diff --git a/fw/picorv32/scripts/presyn/testbench.v b/fw/cpu/picorv32/scripts/presyn/testbench.v similarity index 100% rename from fw/picorv32/scripts/presyn/testbench.v rename to fw/cpu/picorv32/scripts/presyn/testbench.v diff --git a/fw/picorv32/scripts/quartus/.gitignore b/fw/cpu/picorv32/scripts/quartus/.gitignore similarity index 100% rename from fw/picorv32/scripts/quartus/.gitignore rename to fw/cpu/picorv32/scripts/quartus/.gitignore diff --git a/fw/picorv32/scripts/quartus/Makefile b/fw/cpu/picorv32/scripts/quartus/Makefile similarity index 100% rename from fw/picorv32/scripts/quartus/Makefile rename to fw/cpu/picorv32/scripts/quartus/Makefile diff --git a/fw/picorv32/scripts/quartus/firmware.S b/fw/cpu/picorv32/scripts/quartus/firmware.S similarity index 100% rename from fw/picorv32/scripts/quartus/firmware.S rename to fw/cpu/picorv32/scripts/quartus/firmware.S diff --git a/fw/picorv32/scripts/quartus/firmware.c b/fw/cpu/picorv32/scripts/quartus/firmware.c similarity index 100% rename from fw/picorv32/scripts/quartus/firmware.c rename to fw/cpu/picorv32/scripts/quartus/firmware.c diff --git a/fw/picorv32/scripts/quartus/firmware.lds b/fw/cpu/picorv32/scripts/quartus/firmware.lds similarity index 100% rename from fw/picorv32/scripts/quartus/firmware.lds rename to fw/cpu/picorv32/scripts/quartus/firmware.lds diff --git a/fw/picorv32/scripts/quartus/synth_area.sdc b/fw/cpu/picorv32/scripts/quartus/synth_area.sdc similarity index 100% rename from fw/picorv32/scripts/quartus/synth_area.sdc rename to fw/cpu/picorv32/scripts/quartus/synth_area.sdc diff --git a/fw/picorv32/scripts/quartus/synth_area_large.qsf b/fw/cpu/picorv32/scripts/quartus/synth_area_large.qsf similarity index 100% rename from fw/picorv32/scripts/quartus/synth_area_large.qsf rename to fw/cpu/picorv32/scripts/quartus/synth_area_large.qsf diff --git a/fw/picorv32/scripts/quartus/synth_area_regular.qsf b/fw/cpu/picorv32/scripts/quartus/synth_area_regular.qsf similarity index 100% rename from fw/picorv32/scripts/quartus/synth_area_regular.qsf rename to fw/cpu/picorv32/scripts/quartus/synth_area_regular.qsf diff --git a/fw/picorv32/scripts/quartus/synth_area_small.qsf b/fw/cpu/picorv32/scripts/quartus/synth_area_small.qsf similarity index 100% rename from fw/picorv32/scripts/quartus/synth_area_small.qsf rename to fw/cpu/picorv32/scripts/quartus/synth_area_small.qsf diff --git a/fw/picorv32/scripts/quartus/synth_area_top.v b/fw/cpu/picorv32/scripts/quartus/synth_area_top.v similarity index 100% rename from fw/picorv32/scripts/quartus/synth_area_top.v rename to fw/cpu/picorv32/scripts/quartus/synth_area_top.v diff --git a/fw/picorv32/scripts/quartus/synth_speed.qsf b/fw/cpu/picorv32/scripts/quartus/synth_speed.qsf similarity index 100% rename from fw/picorv32/scripts/quartus/synth_speed.qsf rename to fw/cpu/picorv32/scripts/quartus/synth_speed.qsf diff --git a/fw/picorv32/scripts/quartus/synth_speed.sdc b/fw/cpu/picorv32/scripts/quartus/synth_speed.sdc similarity index 100% rename from fw/picorv32/scripts/quartus/synth_speed.sdc rename to fw/cpu/picorv32/scripts/quartus/synth_speed.sdc diff --git a/fw/picorv32/scripts/quartus/synth_system.qsf b/fw/cpu/picorv32/scripts/quartus/synth_system.qsf similarity index 100% rename from fw/picorv32/scripts/quartus/synth_system.qsf rename to fw/cpu/picorv32/scripts/quartus/synth_system.qsf diff --git a/fw/picorv32/scripts/quartus/synth_system.sdc b/fw/cpu/picorv32/scripts/quartus/synth_system.sdc similarity index 100% rename from fw/picorv32/scripts/quartus/synth_system.sdc rename to fw/cpu/picorv32/scripts/quartus/synth_system.sdc diff --git a/fw/picorv32/scripts/quartus/synth_system.tcl b/fw/cpu/picorv32/scripts/quartus/synth_system.tcl similarity index 100% rename from fw/picorv32/scripts/quartus/synth_system.tcl rename to fw/cpu/picorv32/scripts/quartus/synth_system.tcl diff --git a/fw/picorv32/scripts/quartus/system.v b/fw/cpu/picorv32/scripts/quartus/system.v similarity index 100% rename from fw/picorv32/scripts/quartus/system.v rename to fw/cpu/picorv32/scripts/quartus/system.v diff --git a/fw/picorv32/scripts/quartus/system_tb.v b/fw/cpu/picorv32/scripts/quartus/system_tb.v similarity index 100% rename from fw/picorv32/scripts/quartus/system_tb.v rename to fw/cpu/picorv32/scripts/quartus/system_tb.v diff --git a/fw/picorv32/scripts/quartus/table.sh b/fw/cpu/picorv32/scripts/quartus/table.sh similarity index 100% rename from fw/picorv32/scripts/quartus/table.sh rename to fw/cpu/picorv32/scripts/quartus/table.sh diff --git a/fw/picorv32/scripts/quartus/tabtest.sh b/fw/cpu/picorv32/scripts/quartus/tabtest.sh similarity index 100% rename from fw/picorv32/scripts/quartus/tabtest.sh rename to fw/cpu/picorv32/scripts/quartus/tabtest.sh diff --git a/fw/picorv32/scripts/quartus/tabtest.v b/fw/cpu/picorv32/scripts/quartus/tabtest.v similarity index 100% rename from fw/picorv32/scripts/quartus/tabtest.v rename to fw/cpu/picorv32/scripts/quartus/tabtest.v diff --git a/fw/picorv32/scripts/romload/.gitignore b/fw/cpu/picorv32/scripts/romload/.gitignore similarity index 100% rename from fw/picorv32/scripts/romload/.gitignore rename to fw/cpu/picorv32/scripts/romload/.gitignore diff --git a/fw/picorv32/scripts/romload/Makefile b/fw/cpu/picorv32/scripts/romload/Makefile similarity index 100% rename from fw/picorv32/scripts/romload/Makefile rename to fw/cpu/picorv32/scripts/romload/Makefile diff --git a/fw/picorv32/scripts/romload/firmware.c b/fw/cpu/picorv32/scripts/romload/firmware.c similarity index 100% rename from fw/picorv32/scripts/romload/firmware.c rename to fw/cpu/picorv32/scripts/romload/firmware.c diff --git a/fw/picorv32/scripts/romload/hex8tohex32.py b/fw/cpu/picorv32/scripts/romload/hex8tohex32.py similarity index 100% rename from fw/picorv32/scripts/romload/hex8tohex32.py rename to fw/cpu/picorv32/scripts/romload/hex8tohex32.py diff --git a/fw/picorv32/scripts/romload/map2debug.py b/fw/cpu/picorv32/scripts/romload/map2debug.py similarity index 100% rename from fw/picorv32/scripts/romload/map2debug.py rename to fw/cpu/picorv32/scripts/romload/map2debug.py diff --git a/fw/picorv32/scripts/romload/sections.ld b/fw/cpu/picorv32/scripts/romload/sections.ld similarity index 100% rename from fw/picorv32/scripts/romload/sections.ld rename to fw/cpu/picorv32/scripts/romload/sections.ld diff --git a/fw/picorv32/scripts/romload/start.S b/fw/cpu/picorv32/scripts/romload/start.S similarity index 100% rename from fw/picorv32/scripts/romload/start.S rename to fw/cpu/picorv32/scripts/romload/start.S diff --git a/fw/picorv32/scripts/romload/syscalls.c b/fw/cpu/picorv32/scripts/romload/syscalls.c similarity index 100% rename from fw/picorv32/scripts/romload/syscalls.c rename to fw/cpu/picorv32/scripts/romload/syscalls.c diff --git a/fw/picorv32/scripts/romload/testbench.v b/fw/cpu/picorv32/scripts/romload/testbench.v similarity index 100% rename from fw/picorv32/scripts/romload/testbench.v rename to fw/cpu/picorv32/scripts/romload/testbench.v diff --git a/fw/picorv32/scripts/smtbmc/.gitignore b/fw/cpu/picorv32/scripts/smtbmc/.gitignore similarity index 100% rename from fw/picorv32/scripts/smtbmc/.gitignore rename to fw/cpu/picorv32/scripts/smtbmc/.gitignore diff --git a/fw/picorv32/scripts/smtbmc/axicheck.sh b/fw/cpu/picorv32/scripts/smtbmc/axicheck.sh similarity index 100% rename from fw/picorv32/scripts/smtbmc/axicheck.sh rename to fw/cpu/picorv32/scripts/smtbmc/axicheck.sh diff --git a/fw/picorv32/scripts/smtbmc/axicheck.v b/fw/cpu/picorv32/scripts/smtbmc/axicheck.v similarity index 100% rename from fw/picorv32/scripts/smtbmc/axicheck.v rename to fw/cpu/picorv32/scripts/smtbmc/axicheck.v diff --git a/fw/picorv32/scripts/smtbmc/axicheck2.sh b/fw/cpu/picorv32/scripts/smtbmc/axicheck2.sh similarity index 100% rename from fw/picorv32/scripts/smtbmc/axicheck2.sh rename to fw/cpu/picorv32/scripts/smtbmc/axicheck2.sh diff --git a/fw/picorv32/scripts/smtbmc/axicheck2.smtc b/fw/cpu/picorv32/scripts/smtbmc/axicheck2.smtc similarity index 100% rename from fw/picorv32/scripts/smtbmc/axicheck2.smtc rename to fw/cpu/picorv32/scripts/smtbmc/axicheck2.smtc diff --git a/fw/picorv32/scripts/smtbmc/axicheck2.v b/fw/cpu/picorv32/scripts/smtbmc/axicheck2.v similarity index 100% rename from fw/picorv32/scripts/smtbmc/axicheck2.v rename to fw/cpu/picorv32/scripts/smtbmc/axicheck2.v diff --git a/fw/picorv32/scripts/smtbmc/mulcmp.sh b/fw/cpu/picorv32/scripts/smtbmc/mulcmp.sh similarity index 100% rename from fw/picorv32/scripts/smtbmc/mulcmp.sh rename to fw/cpu/picorv32/scripts/smtbmc/mulcmp.sh diff --git a/fw/picorv32/scripts/smtbmc/mulcmp.v b/fw/cpu/picorv32/scripts/smtbmc/mulcmp.v similarity index 100% rename from fw/picorv32/scripts/smtbmc/mulcmp.v rename to fw/cpu/picorv32/scripts/smtbmc/mulcmp.v diff --git a/fw/picorv32/scripts/smtbmc/notrap_validop.sh b/fw/cpu/picorv32/scripts/smtbmc/notrap_validop.sh similarity index 100% rename from fw/picorv32/scripts/smtbmc/notrap_validop.sh rename to fw/cpu/picorv32/scripts/smtbmc/notrap_validop.sh diff --git a/fw/picorv32/scripts/smtbmc/notrap_validop.v b/fw/cpu/picorv32/scripts/smtbmc/notrap_validop.v similarity index 100% rename from fw/picorv32/scripts/smtbmc/notrap_validop.v rename to fw/cpu/picorv32/scripts/smtbmc/notrap_validop.v diff --git a/fw/picorv32/scripts/smtbmc/opcode.v b/fw/cpu/picorv32/scripts/smtbmc/opcode.v similarity index 100% rename from fw/picorv32/scripts/smtbmc/opcode.v rename to fw/cpu/picorv32/scripts/smtbmc/opcode.v diff --git a/fw/picorv32/scripts/smtbmc/tracecmp.gtkw b/fw/cpu/picorv32/scripts/smtbmc/tracecmp.gtkw similarity index 100% rename from fw/picorv32/scripts/smtbmc/tracecmp.gtkw rename to fw/cpu/picorv32/scripts/smtbmc/tracecmp.gtkw diff --git a/fw/picorv32/scripts/smtbmc/tracecmp.sh b/fw/cpu/picorv32/scripts/smtbmc/tracecmp.sh similarity index 100% rename from fw/picorv32/scripts/smtbmc/tracecmp.sh rename to fw/cpu/picorv32/scripts/smtbmc/tracecmp.sh diff --git a/fw/picorv32/scripts/smtbmc/tracecmp.smtc b/fw/cpu/picorv32/scripts/smtbmc/tracecmp.smtc similarity index 100% rename from fw/picorv32/scripts/smtbmc/tracecmp.smtc rename to fw/cpu/picorv32/scripts/smtbmc/tracecmp.smtc diff --git a/fw/picorv32/scripts/smtbmc/tracecmp.v b/fw/cpu/picorv32/scripts/smtbmc/tracecmp.v similarity index 100% rename from fw/picorv32/scripts/smtbmc/tracecmp.v rename to fw/cpu/picorv32/scripts/smtbmc/tracecmp.v diff --git a/fw/picorv32/scripts/smtbmc/tracecmp2.sh b/fw/cpu/picorv32/scripts/smtbmc/tracecmp2.sh similarity index 100% rename from fw/picorv32/scripts/smtbmc/tracecmp2.sh rename to fw/cpu/picorv32/scripts/smtbmc/tracecmp2.sh diff --git a/fw/picorv32/scripts/smtbmc/tracecmp2.smtc b/fw/cpu/picorv32/scripts/smtbmc/tracecmp2.smtc similarity index 100% rename from fw/picorv32/scripts/smtbmc/tracecmp2.smtc rename to fw/cpu/picorv32/scripts/smtbmc/tracecmp2.smtc diff --git a/fw/picorv32/scripts/smtbmc/tracecmp2.v b/fw/cpu/picorv32/scripts/smtbmc/tracecmp2.v similarity index 100% rename from fw/picorv32/scripts/smtbmc/tracecmp2.v rename to fw/cpu/picorv32/scripts/smtbmc/tracecmp2.v diff --git a/fw/picorv32/scripts/smtbmc/tracecmp3.sh b/fw/cpu/picorv32/scripts/smtbmc/tracecmp3.sh similarity index 100% rename from fw/picorv32/scripts/smtbmc/tracecmp3.sh rename to fw/cpu/picorv32/scripts/smtbmc/tracecmp3.sh diff --git a/fw/picorv32/scripts/smtbmc/tracecmp3.v b/fw/cpu/picorv32/scripts/smtbmc/tracecmp3.v similarity index 100% rename from fw/picorv32/scripts/smtbmc/tracecmp3.v rename to fw/cpu/picorv32/scripts/smtbmc/tracecmp3.v diff --git a/fw/picorv32/scripts/tomthumbtg/.gitignore b/fw/cpu/picorv32/scripts/tomthumbtg/.gitignore similarity index 100% rename from fw/picorv32/scripts/tomthumbtg/.gitignore rename to fw/cpu/picorv32/scripts/tomthumbtg/.gitignore diff --git a/fw/picorv32/scripts/tomthumbtg/README b/fw/cpu/picorv32/scripts/tomthumbtg/README similarity index 100% rename from fw/picorv32/scripts/tomthumbtg/README rename to fw/cpu/picorv32/scripts/tomthumbtg/README diff --git a/fw/picorv32/scripts/tomthumbtg/run.sh b/fw/cpu/picorv32/scripts/tomthumbtg/run.sh similarity index 100% rename from fw/picorv32/scripts/tomthumbtg/run.sh rename to fw/cpu/picorv32/scripts/tomthumbtg/run.sh diff --git a/fw/picorv32/scripts/tomthumbtg/sections.lds b/fw/cpu/picorv32/scripts/tomthumbtg/sections.lds similarity index 100% rename from fw/picorv32/scripts/tomthumbtg/sections.lds rename to fw/cpu/picorv32/scripts/tomthumbtg/sections.lds diff --git a/fw/picorv32/scripts/tomthumbtg/start.S b/fw/cpu/picorv32/scripts/tomthumbtg/start.S similarity index 100% rename from fw/picorv32/scripts/tomthumbtg/start.S rename to fw/cpu/picorv32/scripts/tomthumbtg/start.S diff --git a/fw/picorv32/scripts/tomthumbtg/testbench.v b/fw/cpu/picorv32/scripts/tomthumbtg/testbench.v similarity index 100% rename from fw/picorv32/scripts/tomthumbtg/testbench.v rename to fw/cpu/picorv32/scripts/tomthumbtg/testbench.v diff --git a/fw/picorv32/scripts/torture/.gitignore b/fw/cpu/picorv32/scripts/torture/.gitignore similarity index 100% rename from fw/picorv32/scripts/torture/.gitignore rename to fw/cpu/picorv32/scripts/torture/.gitignore diff --git a/fw/picorv32/scripts/torture/Makefile b/fw/cpu/picorv32/scripts/torture/Makefile similarity index 100% rename from fw/picorv32/scripts/torture/Makefile rename to fw/cpu/picorv32/scripts/torture/Makefile diff --git a/fw/picorv32/scripts/torture/README b/fw/cpu/picorv32/scripts/torture/README similarity index 100% rename from fw/picorv32/scripts/torture/README rename to fw/cpu/picorv32/scripts/torture/README diff --git a/fw/picorv32/scripts/torture/asmcheck.py b/fw/cpu/picorv32/scripts/torture/asmcheck.py similarity index 100% rename from fw/picorv32/scripts/torture/asmcheck.py rename to fw/cpu/picorv32/scripts/torture/asmcheck.py diff --git a/fw/picorv32/scripts/torture/config.py b/fw/cpu/picorv32/scripts/torture/config.py similarity index 100% rename from fw/picorv32/scripts/torture/config.py rename to fw/cpu/picorv32/scripts/torture/config.py diff --git a/fw/picorv32/scripts/torture/riscv-isa-sim-notrap.diff b/fw/cpu/picorv32/scripts/torture/riscv-isa-sim-notrap.diff similarity index 100% rename from fw/picorv32/scripts/torture/riscv-isa-sim-notrap.diff rename to fw/cpu/picorv32/scripts/torture/riscv-isa-sim-notrap.diff diff --git a/fw/picorv32/scripts/torture/riscv-isa-sim-sbreak.diff b/fw/cpu/picorv32/scripts/torture/riscv-isa-sim-sbreak.diff similarity index 100% rename from fw/picorv32/scripts/torture/riscv-isa-sim-sbreak.diff rename to fw/cpu/picorv32/scripts/torture/riscv-isa-sim-sbreak.diff diff --git a/fw/picorv32/scripts/torture/riscv-torture-genloop.diff b/fw/cpu/picorv32/scripts/torture/riscv-torture-genloop.diff similarity index 100% rename from fw/picorv32/scripts/torture/riscv-torture-genloop.diff rename to fw/cpu/picorv32/scripts/torture/riscv-torture-genloop.diff diff --git a/fw/picorv32/scripts/torture/riscv-torture-rv32.diff b/fw/cpu/picorv32/scripts/torture/riscv-torture-rv32.diff similarity index 100% rename from fw/picorv32/scripts/torture/riscv-torture-rv32.diff rename to fw/cpu/picorv32/scripts/torture/riscv-torture-rv32.diff diff --git a/fw/picorv32/scripts/torture/riscv_test.h b/fw/cpu/picorv32/scripts/torture/riscv_test.h similarity index 100% rename from fw/picorv32/scripts/torture/riscv_test.h rename to fw/cpu/picorv32/scripts/torture/riscv_test.h diff --git a/fw/picorv32/scripts/torture/sections.lds b/fw/cpu/picorv32/scripts/torture/sections.lds similarity index 100% rename from fw/picorv32/scripts/torture/sections.lds rename to fw/cpu/picorv32/scripts/torture/sections.lds diff --git a/fw/picorv32/scripts/torture/test.sh b/fw/cpu/picorv32/scripts/torture/test.sh similarity index 100% rename from fw/picorv32/scripts/torture/test.sh rename to fw/cpu/picorv32/scripts/torture/test.sh diff --git a/fw/picorv32/scripts/torture/testbench.cc b/fw/cpu/picorv32/scripts/torture/testbench.cc similarity index 100% rename from fw/picorv32/scripts/torture/testbench.cc rename to fw/cpu/picorv32/scripts/torture/testbench.cc diff --git a/fw/picorv32/scripts/torture/testbench.v b/fw/cpu/picorv32/scripts/torture/testbench.v similarity index 100% rename from fw/picorv32/scripts/torture/testbench.v rename to fw/cpu/picorv32/scripts/torture/testbench.v diff --git a/fw/picorv32/scripts/vivado/.gitignore b/fw/cpu/picorv32/scripts/vivado/.gitignore similarity index 100% rename from fw/picorv32/scripts/vivado/.gitignore rename to fw/cpu/picorv32/scripts/vivado/.gitignore diff --git a/fw/picorv32/scripts/vivado/Makefile b/fw/cpu/picorv32/scripts/vivado/Makefile similarity index 100% rename from fw/picorv32/scripts/vivado/Makefile rename to fw/cpu/picorv32/scripts/vivado/Makefile diff --git a/fw/picorv32/scripts/vivado/firmware.S b/fw/cpu/picorv32/scripts/vivado/firmware.S similarity index 100% rename from fw/picorv32/scripts/vivado/firmware.S rename to fw/cpu/picorv32/scripts/vivado/firmware.S diff --git a/fw/picorv32/scripts/vivado/firmware.c b/fw/cpu/picorv32/scripts/vivado/firmware.c similarity index 100% rename from fw/picorv32/scripts/vivado/firmware.c rename to fw/cpu/picorv32/scripts/vivado/firmware.c diff --git a/fw/picorv32/scripts/vivado/firmware.lds b/fw/cpu/picorv32/scripts/vivado/firmware.lds similarity index 100% rename from fw/picorv32/scripts/vivado/firmware.lds rename to fw/cpu/picorv32/scripts/vivado/firmware.lds diff --git a/fw/picorv32/scripts/vivado/synth_area.tcl b/fw/cpu/picorv32/scripts/vivado/synth_area.tcl similarity index 100% rename from fw/picorv32/scripts/vivado/synth_area.tcl rename to fw/cpu/picorv32/scripts/vivado/synth_area.tcl diff --git a/fw/picorv32/scripts/vivado/synth_area.xdc b/fw/cpu/picorv32/scripts/vivado/synth_area.xdc similarity index 100% rename from fw/picorv32/scripts/vivado/synth_area.xdc rename to fw/cpu/picorv32/scripts/vivado/synth_area.xdc diff --git a/fw/picorv32/scripts/vivado/synth_area_large.tcl b/fw/cpu/picorv32/scripts/vivado/synth_area_large.tcl similarity index 100% rename from fw/picorv32/scripts/vivado/synth_area_large.tcl rename to fw/cpu/picorv32/scripts/vivado/synth_area_large.tcl diff --git a/fw/picorv32/scripts/vivado/synth_area_regular.tcl b/fw/cpu/picorv32/scripts/vivado/synth_area_regular.tcl similarity index 100% rename from fw/picorv32/scripts/vivado/synth_area_regular.tcl rename to fw/cpu/picorv32/scripts/vivado/synth_area_regular.tcl diff --git a/fw/picorv32/scripts/vivado/synth_area_small.tcl b/fw/cpu/picorv32/scripts/vivado/synth_area_small.tcl similarity index 100% rename from fw/picorv32/scripts/vivado/synth_area_small.tcl rename to fw/cpu/picorv32/scripts/vivado/synth_area_small.tcl diff --git a/fw/picorv32/scripts/vivado/synth_area_top.v b/fw/cpu/picorv32/scripts/vivado/synth_area_top.v similarity index 100% rename from fw/picorv32/scripts/vivado/synth_area_top.v rename to fw/cpu/picorv32/scripts/vivado/synth_area_top.v diff --git a/fw/picorv32/scripts/vivado/synth_speed.tcl b/fw/cpu/picorv32/scripts/vivado/synth_speed.tcl similarity index 100% rename from fw/picorv32/scripts/vivado/synth_speed.tcl rename to fw/cpu/picorv32/scripts/vivado/synth_speed.tcl diff --git a/fw/picorv32/scripts/vivado/synth_speed.xdc b/fw/cpu/picorv32/scripts/vivado/synth_speed.xdc similarity index 100% rename from fw/picorv32/scripts/vivado/synth_speed.xdc rename to fw/cpu/picorv32/scripts/vivado/synth_speed.xdc diff --git a/fw/picorv32/scripts/vivado/synth_system.tcl b/fw/cpu/picorv32/scripts/vivado/synth_system.tcl similarity index 100% rename from fw/picorv32/scripts/vivado/synth_system.tcl rename to fw/cpu/picorv32/scripts/vivado/synth_system.tcl diff --git a/fw/picorv32/scripts/vivado/synth_system.xdc b/fw/cpu/picorv32/scripts/vivado/synth_system.xdc similarity index 100% rename from fw/picorv32/scripts/vivado/synth_system.xdc rename to fw/cpu/picorv32/scripts/vivado/synth_system.xdc diff --git a/fw/picorv32/scripts/vivado/system.v b/fw/cpu/picorv32/scripts/vivado/system.v similarity index 100% rename from fw/picorv32/scripts/vivado/system.v rename to fw/cpu/picorv32/scripts/vivado/system.v diff --git a/fw/picorv32/scripts/vivado/system_tb.v b/fw/cpu/picorv32/scripts/vivado/system_tb.v similarity index 100% rename from fw/picorv32/scripts/vivado/system_tb.v rename to fw/cpu/picorv32/scripts/vivado/system_tb.v diff --git a/fw/picorv32/scripts/vivado/table.sh b/fw/cpu/picorv32/scripts/vivado/table.sh similarity index 100% rename from fw/picorv32/scripts/vivado/table.sh rename to fw/cpu/picorv32/scripts/vivado/table.sh diff --git a/fw/picorv32/scripts/vivado/tabtest.sh b/fw/cpu/picorv32/scripts/vivado/tabtest.sh similarity index 100% rename from fw/picorv32/scripts/vivado/tabtest.sh rename to fw/cpu/picorv32/scripts/vivado/tabtest.sh diff --git a/fw/picorv32/scripts/vivado/tabtest.v b/fw/cpu/picorv32/scripts/vivado/tabtest.v similarity index 100% rename from fw/picorv32/scripts/vivado/tabtest.v rename to fw/cpu/picorv32/scripts/vivado/tabtest.v diff --git a/fw/picorv32/scripts/yosys-cmp/README.md b/fw/cpu/picorv32/scripts/yosys-cmp/README.md similarity index 100% rename from fw/picorv32/scripts/yosys-cmp/README.md rename to fw/cpu/picorv32/scripts/yosys-cmp/README.md diff --git a/fw/picorv32/scripts/yosys-cmp/lse.sh b/fw/cpu/picorv32/scripts/yosys-cmp/lse.sh similarity index 100% rename from fw/picorv32/scripts/yosys-cmp/lse.sh rename to fw/cpu/picorv32/scripts/yosys-cmp/lse.sh diff --git a/fw/picorv32/scripts/yosys-cmp/synplify.sh b/fw/cpu/picorv32/scripts/yosys-cmp/synplify.sh similarity index 100% rename from fw/picorv32/scripts/yosys-cmp/synplify.sh rename to fw/cpu/picorv32/scripts/yosys-cmp/synplify.sh diff --git a/fw/picorv32/scripts/yosys-cmp/vivado.tcl b/fw/cpu/picorv32/scripts/yosys-cmp/vivado.tcl similarity index 100% rename from fw/picorv32/scripts/yosys-cmp/vivado.tcl rename to fw/cpu/picorv32/scripts/yosys-cmp/vivado.tcl diff --git a/fw/picorv32/scripts/yosys-cmp/yosys_ice40.ys b/fw/cpu/picorv32/scripts/yosys-cmp/yosys_ice40.ys similarity index 100% rename from fw/picorv32/scripts/yosys-cmp/yosys_ice40.ys rename to fw/cpu/picorv32/scripts/yosys-cmp/yosys_ice40.ys diff --git a/fw/picorv32/scripts/yosys-cmp/yosys_xilinx.ys b/fw/cpu/picorv32/scripts/yosys-cmp/yosys_xilinx.ys similarity index 100% rename from fw/picorv32/scripts/yosys-cmp/yosys_xilinx.ys rename to fw/cpu/picorv32/scripts/yosys-cmp/yosys_xilinx.ys diff --git a/fw/picorv32/scripts/yosys/.gitignore b/fw/cpu/picorv32/scripts/yosys/.gitignore similarity index 100% rename from fw/picorv32/scripts/yosys/.gitignore rename to fw/cpu/picorv32/scripts/yosys/.gitignore diff --git a/fw/picorv32/scripts/yosys/synth_gates.lib b/fw/cpu/picorv32/scripts/yosys/synth_gates.lib similarity index 100% rename from fw/picorv32/scripts/yosys/synth_gates.lib rename to fw/cpu/picorv32/scripts/yosys/synth_gates.lib diff --git a/fw/picorv32/scripts/yosys/synth_gates.v b/fw/cpu/picorv32/scripts/yosys/synth_gates.v similarity index 100% rename from fw/picorv32/scripts/yosys/synth_gates.v rename to fw/cpu/picorv32/scripts/yosys/synth_gates.v diff --git a/fw/picorv32/scripts/yosys/synth_gates.ys b/fw/cpu/picorv32/scripts/yosys/synth_gates.ys similarity index 100% rename from fw/picorv32/scripts/yosys/synth_gates.ys rename to fw/cpu/picorv32/scripts/yosys/synth_gates.ys diff --git a/fw/picorv32/scripts/yosys/synth_osu018.sh b/fw/cpu/picorv32/scripts/yosys/synth_osu018.sh similarity index 100% rename from fw/picorv32/scripts/yosys/synth_osu018.sh rename to fw/cpu/picorv32/scripts/yosys/synth_osu018.sh diff --git a/fw/picorv32/scripts/yosys/synth_sim.ys b/fw/cpu/picorv32/scripts/yosys/synth_sim.ys similarity index 100% rename from fw/picorv32/scripts/yosys/synth_sim.ys rename to fw/cpu/picorv32/scripts/yosys/synth_sim.ys diff --git a/fw/picorv32/shell.nix b/fw/cpu/picorv32/shell.nix similarity index 100% rename from fw/picorv32/shell.nix rename to fw/cpu/picorv32/shell.nix diff --git a/fw/picorv32/showtrace.py b/fw/cpu/picorv32/showtrace.py similarity index 100% rename from fw/picorv32/showtrace.py rename to fw/cpu/picorv32/showtrace.py diff --git a/fw/picorv32/testbench.cc b/fw/cpu/picorv32/testbench.cc similarity index 100% rename from fw/picorv32/testbench.cc rename to fw/cpu/picorv32/testbench.cc diff --git a/fw/picorv32/testbench.v b/fw/cpu/picorv32/testbench.v similarity index 100% rename from fw/picorv32/testbench.v rename to fw/cpu/picorv32/testbench.v diff --git a/fw/picorv32/testbench_ez.v b/fw/cpu/picorv32/testbench_ez.v similarity index 100% rename from fw/picorv32/testbench_ez.v rename to fw/cpu/picorv32/testbench_ez.v diff --git a/fw/picorv32/testbench_wb.v b/fw/cpu/picorv32/testbench_wb.v similarity index 100% rename from fw/picorv32/testbench_wb.v rename to fw/cpu/picorv32/testbench_wb.v diff --git a/fw/picorv32/tests/LICENSE b/fw/cpu/picorv32/tests/LICENSE similarity index 100% rename from fw/picorv32/tests/LICENSE rename to fw/cpu/picorv32/tests/LICENSE diff --git a/fw/picorv32/tests/README b/fw/cpu/picorv32/tests/README similarity index 100% rename from fw/picorv32/tests/README rename to fw/cpu/picorv32/tests/README diff --git a/fw/picorv32/tests/add.S b/fw/cpu/picorv32/tests/add.S similarity index 100% rename from fw/picorv32/tests/add.S rename to fw/cpu/picorv32/tests/add.S diff --git a/fw/picorv32/tests/addi.S b/fw/cpu/picorv32/tests/addi.S similarity index 100% rename from fw/picorv32/tests/addi.S rename to fw/cpu/picorv32/tests/addi.S diff --git a/fw/picorv32/tests/and.S b/fw/cpu/picorv32/tests/and.S similarity index 100% rename from fw/picorv32/tests/and.S rename to fw/cpu/picorv32/tests/and.S diff --git a/fw/picorv32/tests/andi.S b/fw/cpu/picorv32/tests/andi.S similarity index 100% rename from fw/picorv32/tests/andi.S rename to fw/cpu/picorv32/tests/andi.S diff --git a/fw/picorv32/tests/auipc.S b/fw/cpu/picorv32/tests/auipc.S similarity index 100% rename from fw/picorv32/tests/auipc.S rename to fw/cpu/picorv32/tests/auipc.S diff --git a/fw/picorv32/tests/beq.S b/fw/cpu/picorv32/tests/beq.S similarity index 100% rename from fw/picorv32/tests/beq.S rename to fw/cpu/picorv32/tests/beq.S diff --git a/fw/picorv32/tests/bge.S b/fw/cpu/picorv32/tests/bge.S similarity index 100% rename from fw/picorv32/tests/bge.S rename to fw/cpu/picorv32/tests/bge.S diff --git a/fw/picorv32/tests/bgeu.S b/fw/cpu/picorv32/tests/bgeu.S similarity index 100% rename from fw/picorv32/tests/bgeu.S rename to fw/cpu/picorv32/tests/bgeu.S diff --git a/fw/picorv32/tests/blt.S b/fw/cpu/picorv32/tests/blt.S similarity index 100% rename from fw/picorv32/tests/blt.S rename to fw/cpu/picorv32/tests/blt.S diff --git a/fw/picorv32/tests/bltu.S b/fw/cpu/picorv32/tests/bltu.S similarity index 100% rename from fw/picorv32/tests/bltu.S rename to fw/cpu/picorv32/tests/bltu.S diff --git a/fw/picorv32/tests/bne.S b/fw/cpu/picorv32/tests/bne.S similarity index 100% rename from fw/picorv32/tests/bne.S rename to fw/cpu/picorv32/tests/bne.S diff --git a/fw/picorv32/tests/div.S b/fw/cpu/picorv32/tests/div.S similarity index 100% rename from fw/picorv32/tests/div.S rename to fw/cpu/picorv32/tests/div.S diff --git a/fw/picorv32/tests/divu.S b/fw/cpu/picorv32/tests/divu.S similarity index 100% rename from fw/picorv32/tests/divu.S rename to fw/cpu/picorv32/tests/divu.S diff --git a/fw/picorv32/tests/j.S b/fw/cpu/picorv32/tests/j.S similarity index 100% rename from fw/picorv32/tests/j.S rename to fw/cpu/picorv32/tests/j.S diff --git a/fw/picorv32/tests/jal.S b/fw/cpu/picorv32/tests/jal.S similarity index 100% rename from fw/picorv32/tests/jal.S rename to fw/cpu/picorv32/tests/jal.S diff --git a/fw/picorv32/tests/jalr.S b/fw/cpu/picorv32/tests/jalr.S similarity index 100% rename from fw/picorv32/tests/jalr.S rename to fw/cpu/picorv32/tests/jalr.S diff --git a/fw/picorv32/tests/lb.S b/fw/cpu/picorv32/tests/lb.S similarity index 100% rename from fw/picorv32/tests/lb.S rename to fw/cpu/picorv32/tests/lb.S diff --git a/fw/picorv32/tests/lbu.S b/fw/cpu/picorv32/tests/lbu.S similarity index 100% rename from fw/picorv32/tests/lbu.S rename to fw/cpu/picorv32/tests/lbu.S diff --git a/fw/picorv32/tests/lh.S b/fw/cpu/picorv32/tests/lh.S similarity index 100% rename from fw/picorv32/tests/lh.S rename to fw/cpu/picorv32/tests/lh.S diff --git a/fw/picorv32/tests/lhu.S b/fw/cpu/picorv32/tests/lhu.S similarity index 100% rename from fw/picorv32/tests/lhu.S rename to fw/cpu/picorv32/tests/lhu.S diff --git a/fw/picorv32/tests/lui.S b/fw/cpu/picorv32/tests/lui.S similarity index 100% rename from fw/picorv32/tests/lui.S rename to fw/cpu/picorv32/tests/lui.S diff --git a/fw/picorv32/tests/lw.S b/fw/cpu/picorv32/tests/lw.S similarity index 100% rename from fw/picorv32/tests/lw.S rename to fw/cpu/picorv32/tests/lw.S diff --git a/fw/picorv32/tests/mul.S b/fw/cpu/picorv32/tests/mul.S similarity index 100% rename from fw/picorv32/tests/mul.S rename to fw/cpu/picorv32/tests/mul.S diff --git a/fw/picorv32/tests/mulh.S b/fw/cpu/picorv32/tests/mulh.S similarity index 100% rename from fw/picorv32/tests/mulh.S rename to fw/cpu/picorv32/tests/mulh.S diff --git a/fw/picorv32/tests/mulhsu.S b/fw/cpu/picorv32/tests/mulhsu.S similarity index 100% rename from fw/picorv32/tests/mulhsu.S rename to fw/cpu/picorv32/tests/mulhsu.S diff --git a/fw/picorv32/tests/mulhu.S b/fw/cpu/picorv32/tests/mulhu.S similarity index 100% rename from fw/picorv32/tests/mulhu.S rename to fw/cpu/picorv32/tests/mulhu.S diff --git a/fw/picorv32/tests/or.S b/fw/cpu/picorv32/tests/or.S similarity index 100% rename from fw/picorv32/tests/or.S rename to fw/cpu/picorv32/tests/or.S diff --git a/fw/picorv32/tests/ori.S b/fw/cpu/picorv32/tests/ori.S similarity index 100% rename from fw/picorv32/tests/ori.S rename to fw/cpu/picorv32/tests/ori.S diff --git a/fw/picorv32/tests/rem.S b/fw/cpu/picorv32/tests/rem.S similarity index 100% rename from fw/picorv32/tests/rem.S rename to fw/cpu/picorv32/tests/rem.S diff --git a/fw/picorv32/tests/remu.S b/fw/cpu/picorv32/tests/remu.S similarity index 100% rename from fw/picorv32/tests/remu.S rename to fw/cpu/picorv32/tests/remu.S diff --git a/fw/picorv32/tests/riscv_test.h b/fw/cpu/picorv32/tests/riscv_test.h similarity index 100% rename from fw/picorv32/tests/riscv_test.h rename to fw/cpu/picorv32/tests/riscv_test.h diff --git a/fw/picorv32/tests/sb.S b/fw/cpu/picorv32/tests/sb.S similarity index 100% rename from fw/picorv32/tests/sb.S rename to fw/cpu/picorv32/tests/sb.S diff --git a/fw/picorv32/tests/sh.S b/fw/cpu/picorv32/tests/sh.S similarity index 100% rename from fw/picorv32/tests/sh.S rename to fw/cpu/picorv32/tests/sh.S diff --git a/fw/picorv32/tests/simple.S b/fw/cpu/picorv32/tests/simple.S similarity index 100% rename from fw/picorv32/tests/simple.S rename to fw/cpu/picorv32/tests/simple.S diff --git a/fw/picorv32/tests/sll.S b/fw/cpu/picorv32/tests/sll.S similarity index 100% rename from fw/picorv32/tests/sll.S rename to fw/cpu/picorv32/tests/sll.S diff --git a/fw/picorv32/tests/slli.S b/fw/cpu/picorv32/tests/slli.S similarity index 100% rename from fw/picorv32/tests/slli.S rename to fw/cpu/picorv32/tests/slli.S diff --git a/fw/picorv32/tests/slt.S b/fw/cpu/picorv32/tests/slt.S similarity index 100% rename from fw/picorv32/tests/slt.S rename to fw/cpu/picorv32/tests/slt.S diff --git a/fw/picorv32/tests/slti.S b/fw/cpu/picorv32/tests/slti.S similarity index 100% rename from fw/picorv32/tests/slti.S rename to fw/cpu/picorv32/tests/slti.S diff --git a/fw/picorv32/tests/sra.S b/fw/cpu/picorv32/tests/sra.S similarity index 100% rename from fw/picorv32/tests/sra.S rename to fw/cpu/picorv32/tests/sra.S diff --git a/fw/picorv32/tests/srai.S b/fw/cpu/picorv32/tests/srai.S similarity index 100% rename from fw/picorv32/tests/srai.S rename to fw/cpu/picorv32/tests/srai.S diff --git a/fw/picorv32/tests/srl.S b/fw/cpu/picorv32/tests/srl.S similarity index 100% rename from fw/picorv32/tests/srl.S rename to fw/cpu/picorv32/tests/srl.S diff --git a/fw/picorv32/tests/srli.S b/fw/cpu/picorv32/tests/srli.S similarity index 100% rename from fw/picorv32/tests/srli.S rename to fw/cpu/picorv32/tests/srli.S diff --git a/fw/picorv32/tests/sub.S b/fw/cpu/picorv32/tests/sub.S similarity index 100% rename from fw/picorv32/tests/sub.S rename to fw/cpu/picorv32/tests/sub.S diff --git a/fw/picorv32/tests/sw.S b/fw/cpu/picorv32/tests/sw.S similarity index 100% rename from fw/picorv32/tests/sw.S rename to fw/cpu/picorv32/tests/sw.S diff --git a/fw/picorv32/tests/test_macros.h b/fw/cpu/picorv32/tests/test_macros.h similarity index 100% rename from fw/picorv32/tests/test_macros.h rename to fw/cpu/picorv32/tests/test_macros.h diff --git a/fw/picorv32/tests/xor.S b/fw/cpu/picorv32/tests/xor.S similarity index 100% rename from fw/picorv32/tests/xor.S rename to fw/cpu/picorv32/tests/xor.S diff --git a/fw/picorv32/tests/xori.S b/fw/cpu/picorv32/tests/xori.S similarity index 100% rename from fw/picorv32/tests/xori.S rename to fw/cpu/picorv32/tests/xori.S