├── .editorconfig ├── .gitignore ├── .gitmodules ├── .vscode ├── launch.json └── settings.json ├── Dockerfile ├── LICENSE.txt ├── Makefile ├── README.md ├── doc └── riscv_soc.png ├── docker-compose.yml ├── fpga ├── .editorconfig ├── .gitignore ├── Makefile ├── constraints │ ├── xc7a100tcsg324-1 │ │ ├── arty-config.xdc │ │ └── master.xdc │ ├── xc7a35ticsg324-1L │ │ ├── arty-config.xdc │ │ └── master.xdc │ └── xc7z020clg400-1 │ │ ├── master.xdc │ │ └── zynq.xdc ├── ips │ └── ips.tcl └── main │ ├── main.mk │ └── tcl │ ├── bitstream.tcl │ ├── import.tcl │ ├── opt.tcl │ ├── place.tcl │ ├── prep_ips.tcl │ ├── program_mcs.tcl │ ├── report.tcl │ ├── route.tcl │ ├── run.tcl │ ├── start.tcl │ ├── synthesis.tcl │ └── write_cfgmem.tcl ├── ips └── utils │ ├── ahb3lite_if.sv │ ├── ahb_dummy.sv │ ├── ahb_ri5cy_rom.sv │ ├── ahb_to_ri5cy.sv │ ├── apb4_if.sv │ ├── apb_timer │ ├── LICENSE │ ├── README.md │ ├── apb_timer.sv │ ├── src_files.yml │ └── timer.sv │ ├── cluster_clock_inverter.sv │ ├── filter_oor.sv │ ├── io_generic_fifo.sv │ ├── pulp_clock_mux2.sv │ ├── ri5cy_to_ahb.sv │ └── rst_ctrl_unit.sv ├── sw ├── boot_rom │ ├── .gitignore │ ├── Makefile │ ├── init │ │ ├── startup.c │ │ └── vector.S │ ├── scripts │ │ ├── freedom-bin2hex.py │ │ └── gen_rom.py │ ├── sections.ld │ └── src │ │ └── main.c ├── common │ ├── API │ │ ├── inc │ │ │ ├── event.h │ │ │ ├── gpio.h │ │ │ ├── timer.h │ │ │ └── uart.h │ │ └── src │ │ │ ├── event.c │ │ │ ├── gpio.c │ │ │ ├── timer.c │ │ │ └── uart.c │ └── base │ │ ├── encoding.h │ │ └── riscv_soc_utils.h └── hello_world │ ├── .gitignore │ ├── Makefile │ ├── init │ ├── startup.c │ └── vector.S │ ├── scripts │ ├── freedom-bin2hex.py │ └── gen_rom.py │ ├── sections.ld │ └── src │ └── main.c └── tb ├── cpp ├── jtag_rbb.cpp ├── jtag_rbb.hpp └── testbench.cpp ├── debug ├── bus-pirate.cfg ├── esp-prog.cfg ├── riscv_pulp.cfg └── riscv_pulp_fpga.cfg ├── inc ├── config_ri5cy.v └── config_soc.v ├── waveform_template ├── ahb_size.tmpl └── gtkwave_tmpl.gtkw └── wrappers ├── fpga_wrapper └── fpga_wrapper.sv ├── ri5cy_ahb_wrapper.sv └── riscv_soc.sv /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/.gitmodules -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/README.md -------------------------------------------------------------------------------- /doc/riscv_soc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/doc/riscv_soc.png -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /fpga/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/.editorconfig -------------------------------------------------------------------------------- /fpga/.gitignore: -------------------------------------------------------------------------------- 1 | main/output/* 2 | vivado* 3 | .Xil 4 | -------------------------------------------------------------------------------- /fpga/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/Makefile -------------------------------------------------------------------------------- /fpga/constraints/xc7a100tcsg324-1/arty-config.xdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/constraints/xc7a100tcsg324-1/arty-config.xdc -------------------------------------------------------------------------------- /fpga/constraints/xc7a100tcsg324-1/master.xdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/constraints/xc7a100tcsg324-1/master.xdc -------------------------------------------------------------------------------- /fpga/constraints/xc7a35ticsg324-1L/arty-config.xdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/constraints/xc7a35ticsg324-1L/arty-config.xdc -------------------------------------------------------------------------------- /fpga/constraints/xc7a35ticsg324-1L/master.xdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/constraints/xc7a35ticsg324-1L/master.xdc -------------------------------------------------------------------------------- /fpga/constraints/xc7z020clg400-1/master.xdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/constraints/xc7z020clg400-1/master.xdc -------------------------------------------------------------------------------- /fpga/constraints/xc7z020clg400-1/zynq.xdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/constraints/xc7z020clg400-1/zynq.xdc -------------------------------------------------------------------------------- /fpga/ips/ips.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/ips/ips.tcl -------------------------------------------------------------------------------- /fpga/main/main.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/main.mk -------------------------------------------------------------------------------- /fpga/main/tcl/bitstream.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/bitstream.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/import.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/import.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/opt.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/opt.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/place.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/place.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/prep_ips.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/prep_ips.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/program_mcs.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/program_mcs.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/report.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/report.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/route.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/route.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/run.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/run.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/start.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/start.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/synthesis.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/synthesis.tcl -------------------------------------------------------------------------------- /fpga/main/tcl/write_cfgmem.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/fpga/main/tcl/write_cfgmem.tcl -------------------------------------------------------------------------------- /ips/utils/ahb3lite_if.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/ahb3lite_if.sv -------------------------------------------------------------------------------- /ips/utils/ahb_dummy.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/ahb_dummy.sv -------------------------------------------------------------------------------- /ips/utils/ahb_ri5cy_rom.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/ahb_ri5cy_rom.sv -------------------------------------------------------------------------------- /ips/utils/ahb_to_ri5cy.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/ahb_to_ri5cy.sv -------------------------------------------------------------------------------- /ips/utils/apb4_if.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/apb4_if.sv -------------------------------------------------------------------------------- /ips/utils/apb_timer/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/apb_timer/LICENSE -------------------------------------------------------------------------------- /ips/utils/apb_timer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/apb_timer/README.md -------------------------------------------------------------------------------- /ips/utils/apb_timer/apb_timer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/apb_timer/apb_timer.sv -------------------------------------------------------------------------------- /ips/utils/apb_timer/src_files.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/apb_timer/src_files.yml -------------------------------------------------------------------------------- /ips/utils/apb_timer/timer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/apb_timer/timer.sv -------------------------------------------------------------------------------- /ips/utils/cluster_clock_inverter.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/cluster_clock_inverter.sv -------------------------------------------------------------------------------- /ips/utils/filter_oor.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/filter_oor.sv -------------------------------------------------------------------------------- /ips/utils/io_generic_fifo.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/io_generic_fifo.sv -------------------------------------------------------------------------------- /ips/utils/pulp_clock_mux2.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/pulp_clock_mux2.sv -------------------------------------------------------------------------------- /ips/utils/ri5cy_to_ahb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/ri5cy_to_ahb.sv -------------------------------------------------------------------------------- /ips/utils/rst_ctrl_unit.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/ips/utils/rst_ctrl_unit.sv -------------------------------------------------------------------------------- /sw/boot_rom/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/boot_rom/.gitignore -------------------------------------------------------------------------------- /sw/boot_rom/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/boot_rom/Makefile -------------------------------------------------------------------------------- /sw/boot_rom/init/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/boot_rom/init/startup.c -------------------------------------------------------------------------------- /sw/boot_rom/init/vector.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/boot_rom/init/vector.S -------------------------------------------------------------------------------- /sw/boot_rom/scripts/freedom-bin2hex.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/boot_rom/scripts/freedom-bin2hex.py -------------------------------------------------------------------------------- /sw/boot_rom/scripts/gen_rom.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/boot_rom/scripts/gen_rom.py -------------------------------------------------------------------------------- /sw/boot_rom/sections.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/boot_rom/sections.ld -------------------------------------------------------------------------------- /sw/boot_rom/src/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/boot_rom/src/main.c -------------------------------------------------------------------------------- /sw/common/API/inc/event.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/common/API/inc/event.h -------------------------------------------------------------------------------- /sw/common/API/inc/gpio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/common/API/inc/gpio.h -------------------------------------------------------------------------------- /sw/common/API/inc/timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/common/API/inc/timer.h -------------------------------------------------------------------------------- /sw/common/API/inc/uart.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/common/API/inc/uart.h -------------------------------------------------------------------------------- /sw/common/API/src/event.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/common/API/src/event.c -------------------------------------------------------------------------------- /sw/common/API/src/gpio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/common/API/src/gpio.c -------------------------------------------------------------------------------- /sw/common/API/src/timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/common/API/src/timer.c -------------------------------------------------------------------------------- /sw/common/API/src/uart.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/common/API/src/uart.c -------------------------------------------------------------------------------- /sw/common/base/encoding.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/common/base/encoding.h -------------------------------------------------------------------------------- /sw/common/base/riscv_soc_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/common/base/riscv_soc_utils.h -------------------------------------------------------------------------------- /sw/hello_world/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/hello_world/.gitignore -------------------------------------------------------------------------------- /sw/hello_world/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/hello_world/Makefile -------------------------------------------------------------------------------- /sw/hello_world/init/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/hello_world/init/startup.c -------------------------------------------------------------------------------- /sw/hello_world/init/vector.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/hello_world/init/vector.S -------------------------------------------------------------------------------- /sw/hello_world/scripts/freedom-bin2hex.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/hello_world/scripts/freedom-bin2hex.py -------------------------------------------------------------------------------- /sw/hello_world/scripts/gen_rom.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/hello_world/scripts/gen_rom.py -------------------------------------------------------------------------------- /sw/hello_world/sections.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/hello_world/sections.ld -------------------------------------------------------------------------------- /sw/hello_world/src/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/sw/hello_world/src/main.c -------------------------------------------------------------------------------- /tb/cpp/jtag_rbb.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/cpp/jtag_rbb.cpp -------------------------------------------------------------------------------- /tb/cpp/jtag_rbb.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/cpp/jtag_rbb.hpp -------------------------------------------------------------------------------- /tb/cpp/testbench.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/cpp/testbench.cpp -------------------------------------------------------------------------------- /tb/debug/bus-pirate.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/debug/bus-pirate.cfg -------------------------------------------------------------------------------- /tb/debug/esp-prog.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/debug/esp-prog.cfg -------------------------------------------------------------------------------- /tb/debug/riscv_pulp.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/debug/riscv_pulp.cfg -------------------------------------------------------------------------------- /tb/debug/riscv_pulp_fpga.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/debug/riscv_pulp_fpga.cfg -------------------------------------------------------------------------------- /tb/inc/config_ri5cy.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/inc/config_ri5cy.v -------------------------------------------------------------------------------- /tb/inc/config_soc.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/inc/config_soc.v -------------------------------------------------------------------------------- /tb/waveform_template/ahb_size.tmpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/waveform_template/ahb_size.tmpl -------------------------------------------------------------------------------- /tb/waveform_template/gtkwave_tmpl.gtkw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/waveform_template/gtkwave_tmpl.gtkw -------------------------------------------------------------------------------- /tb/wrappers/fpga_wrapper/fpga_wrapper.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/wrappers/fpga_wrapper/fpga_wrapper.sv -------------------------------------------------------------------------------- /tb/wrappers/ri5cy_ahb_wrapper.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/wrappers/ri5cy_ahb_wrapper.sv -------------------------------------------------------------------------------- /tb/wrappers/riscv_soc.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aignacio/riscv_verilator_model/HEAD/tb/wrappers/riscv_soc.sv --------------------------------------------------------------------------------