From 73707afe78770fa5e3749370afd7d893a544ddaa Mon Sep 17 00:00:00 2001
From: Donald Sebastian Leung
Date: Mon, 17 Aug 2020 11:50:53 +0800
Subject: [PATCH] Modularize codebase
---
cores/minerva/.gitignore | 14 ---
cores/minerva/cli.py | 114 ------------------
cores/minerva/setup.py | 19 ---
{cores/minerva/minerva => rvfi}/__init__.py | 0
.../minerva/test => rvfi/cores}/__init__.py | 0
{cores => rvfi/cores}/minerva/LICENSE.txt | 0
{cores => rvfi/cores}/minerva/README.md | 0
.../units => rvfi/cores/minerva}/__init__.py | 0
.../minerva => rvfi/cores}/minerva/cache.py | 0
{cores/minerva => rvfi/cores}/minerva/core.py | 0
{cores/minerva => rvfi/cores}/minerva/csr.py | 0
{cores/minerva => rvfi/cores}/minerva/isa.py | 0
.../minerva => rvfi/cores}/minerva/stage.py | 0
rvfi/cores/minerva/test/__init__.py | 0
.../cores}/minerva/test/test_cache.py | 0
.../cores}/minerva/test/test_units_divider.py | 0
.../minerva/test/test_units_multiplier.py | 0
rvfi/cores/minerva/units/__init__.py | 0
.../cores}/minerva/units/adder.py | 0
.../cores}/minerva/units/compare.py | 0
.../cores}/minerva/units/debug/__init__.py | 0
.../cores}/minerva/units/debug/controller.py | 0
.../cores}/minerva/units/debug/dmi.py | 0
.../cores}/minerva/units/debug/jtag.py | 0
.../cores}/minerva/units/debug/regfile.py | 0
.../cores}/minerva/units/debug/top.py | 0
.../cores}/minerva/units/debug/wbmaster.py | 0
.../cores}/minerva/units/decoder.py | 0
.../cores}/minerva/units/divider.py | 0
.../cores}/minerva/units/exception.py | 0
.../cores}/minerva/units/fetch.py | 0
.../cores}/minerva/units/loadstore.py | 0
.../cores}/minerva/units/logic.py | 0
.../cores}/minerva/units/multiplier.py | 0
.../cores}/minerva/units/predict.py | 0
.../cores}/minerva/units/rvficon.py | 0
.../cores}/minerva/units/shifter.py | 0
.../cores}/minerva/units/trigger.py | 0
.../cores}/minerva/wishbone.py | 0
{insns => rvfi/insns}/README.md | 0
rvfi/insns/__init__.py | 0
{insns => rvfi/insns}/insn.py | 0
{insns => rvfi/insns}/insn_add.py | 2 +-
{insns => rvfi/insns}/insn_addi.py | 2 +-
{insns => rvfi/insns}/insn_and.py | 2 +-
{insns => rvfi/insns}/insn_andi.py | 2 +-
{insns => rvfi/insns}/insn_auipc.py | 2 +-
{insns => rvfi/insns}/insn_beq.py | 2 +-
{insns => rvfi/insns}/insn_bge.py | 2 +-
{insns => rvfi/insns}/insn_bgeu.py | 2 +-
{insns => rvfi/insns}/insn_blt.py | 2 +-
{insns => rvfi/insns}/insn_bltu.py | 2 +-
{insns => rvfi/insns}/insn_bne.py | 2 +-
{insns => rvfi/insns}/insn_jal.py | 2 +-
{insns => rvfi/insns}/insn_jalr.py | 2 +-
{insns => rvfi/insns}/insn_lb.py | 2 +-
{insns => rvfi/insns}/insn_lbu.py | 2 +-
{insns => rvfi/insns}/insn_lh.py | 2 +-
{insns => rvfi/insns}/insn_lhu.py | 2 +-
{insns => rvfi/insns}/insn_lui.py | 2 +-
{insns => rvfi/insns}/insn_lw.py | 2 +-
{insns => rvfi/insns}/insn_or.py | 2 +-
{insns => rvfi/insns}/insn_ori.py | 2 +-
{insns => rvfi/insns}/insn_rv32i_i_type.py | 2 +-
.../insns}/insn_rv32i_i_type_arith.py | 2 +-
.../insns}/insn_rv32i_i_type_load.py | 2 +-
.../insns}/insn_rv32i_i_type_shift.py | 2 +-
{insns => rvfi/insns}/insn_rv32i_r_type.py | 2 +-
{insns => rvfi/insns}/insn_rv32i_s_type.py | 2 +-
{insns => rvfi/insns}/insn_rv32i_sb_type.py | 2 +-
{insns => rvfi/insns}/insn_rv32i_u_type.py | 2 +-
{insns => rvfi/insns}/insn_sb.py | 2 +-
{insns => rvfi/insns}/insn_sh.py | 2 +-
{insns => rvfi/insns}/insn_sll.py | 2 +-
{insns => rvfi/insns}/insn_slli.py | 2 +-
{insns => rvfi/insns}/insn_slt.py | 2 +-
{insns => rvfi/insns}/insn_slti.py | 2 +-
{insns => rvfi/insns}/insn_sltiu.py | 2 +-
{insns => rvfi/insns}/insn_sltu.py | 2 +-
{insns => rvfi/insns}/insn_sra.py | 2 +-
{insns => rvfi/insns}/insn_srai.py | 2 +-
{insns => rvfi/insns}/insn_srl.py | 2 +-
{insns => rvfi/insns}/insn_srli.py | 2 +-
{insns => rvfi/insns}/insn_sub.py | 2 +-
{insns => rvfi/insns}/insn_sw.py | 2 +-
{insns => rvfi/insns}/insn_xor.py | 2 +-
{insns => rvfi/insns}/insn_xori.py | 2 +-
{insns => rvfi/insns}/isa_rv32i.py | 74 ++++++------
88 files changed, 82 insertions(+), 229 deletions(-)
delete mode 100644 cores/minerva/.gitignore
delete mode 100644 cores/minerva/cli.py
delete mode 100644 cores/minerva/setup.py
rename {cores/minerva/minerva => rvfi}/__init__.py (100%)
rename {cores/minerva/minerva/test => rvfi/cores}/__init__.py (100%)
rename {cores => rvfi/cores}/minerva/LICENSE.txt (100%)
rename {cores => rvfi/cores}/minerva/README.md (100%)
rename {cores/minerva/minerva/units => rvfi/cores/minerva}/__init__.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/cache.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/core.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/csr.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/isa.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/stage.py (100%)
create mode 100644 rvfi/cores/minerva/test/__init__.py
rename {cores/minerva => rvfi/cores}/minerva/test/test_cache.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/test/test_units_divider.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/test/test_units_multiplier.py (100%)
create mode 100644 rvfi/cores/minerva/units/__init__.py
rename {cores/minerva => rvfi/cores}/minerva/units/adder.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/compare.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/debug/__init__.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/debug/controller.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/debug/dmi.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/debug/jtag.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/debug/regfile.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/debug/top.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/debug/wbmaster.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/decoder.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/divider.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/exception.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/fetch.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/loadstore.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/logic.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/multiplier.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/predict.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/rvficon.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/shifter.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/units/trigger.py (100%)
rename {cores/minerva => rvfi/cores}/minerva/wishbone.py (100%)
rename {insns => rvfi/insns}/README.md (100%)
create mode 100644 rvfi/insns/__init__.py
rename {insns => rvfi/insns}/insn.py (100%)
rename {insns => rvfi/insns}/insn_add.py (93%)
rename {insns => rvfi/insns}/insn_addi.py (91%)
rename {insns => rvfi/insns}/insn_and.py (93%)
rename {insns => rvfi/insns}/insn_andi.py (91%)
rename {insns => rvfi/insns}/insn_auipc.py (93%)
rename {insns => rvfi/insns}/insn_beq.py (95%)
rename {insns => rvfi/insns}/insn_bge.py (95%)
rename {insns => rvfi/insns}/insn_bgeu.py (95%)
rename {insns => rvfi/insns}/insn_blt.py (95%)
rename {insns => rvfi/insns}/insn_bltu.py (95%)
rename {insns => rvfi/insns}/insn_bne.py (95%)
rename {insns => rvfi/insns}/insn_jal.py (98%)
rename {insns => rvfi/insns}/insn_jalr.py (97%)
rename {insns => rvfi/insns}/insn_lb.py (88%)
rename {insns => rvfi/insns}/insn_lbu.py (88%)
rename {insns => rvfi/insns}/insn_lh.py (88%)
rename {insns => rvfi/insns}/insn_lhu.py (88%)
rename {insns => rvfi/insns}/insn_lui.py (92%)
rename {insns => rvfi/insns}/insn_lw.py (88%)
rename {insns => rvfi/insns}/insn_or.py (93%)
rename {insns => rvfi/insns}/insn_ori.py (91%)
rename {insns => rvfi/insns}/insn_rv32i_i_type.py (92%)
rename {insns => rvfi/insns}/insn_rv32i_i_type_arith.py (96%)
rename {insns => rvfi/insns}/insn_rv32i_i_type_load.py (98%)
rename {insns => rvfi/insns}/insn_rv32i_i_type_shift.py (98%)
rename {insns => rvfi/insns}/insn_rv32i_r_type.py (98%)
rename {insns => rvfi/insns}/insn_rv32i_s_type.py (99%)
rename {insns => rvfi/insns}/insn_rv32i_sb_type.py (98%)
rename {insns => rvfi/insns}/insn_rv32i_u_type.py (97%)
rename {insns => rvfi/insns}/insn_sb.py (89%)
rename {insns => rvfi/insns}/insn_sh.py (89%)
rename {insns => rvfi/insns}/insn_sll.py (94%)
rename {insns => rvfi/insns}/insn_slli.py (92%)
rename {insns => rvfi/insns}/insn_slt.py (93%)
rename {insns => rvfi/insns}/insn_slti.py (92%)
rename {insns => rvfi/insns}/insn_sltiu.py (91%)
rename {insns => rvfi/insns}/insn_sltu.py (93%)
rename {insns => rvfi/insns}/insn_sra.py (95%)
rename {insns => rvfi/insns}/insn_srai.py (93%)
rename {insns => rvfi/insns}/insn_srl.py (94%)
rename {insns => rvfi/insns}/insn_srli.py (92%)
rename {insns => rvfi/insns}/insn_sub.py (93%)
rename {insns => rvfi/insns}/insn_sw.py (89%)
rename {insns => rvfi/insns}/insn_xor.py (93%)
rename {insns => rvfi/insns}/insn_xori.py (91%)
rename {insns => rvfi/insns}/isa_rv32i.py (92%)
diff --git a/cores/minerva/.gitignore b/cores/minerva/.gitignore
deleted file mode 100644
index 1bbe5d0..0000000
--- a/cores/minerva/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-# Python
-__pycache__/
-/*.egg-info
-/.eggs
-
-# tests
-**/test/spec_*/
-*.vcd
-*.gtkw
-
-# misc user-created
-*.il
-*.v
-/build
diff --git a/cores/minerva/cli.py b/cores/minerva/cli.py
deleted file mode 100644
index 1d4ba49..0000000
--- a/cores/minerva/cli.py
+++ /dev/null
@@ -1,114 +0,0 @@
-import argparse
-import warnings
-from nmigen import cli
-
-from minerva.core import Minerva
-
-
-def main():
- parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
-
- parser.add_argument("--reset-addr",
- type=lambda s: int(s, 16), default="0x00000000",
- help="reset vector address")
-
- parser.add_argument("--with-icache",
- default=False, action="store_true",
- help="enable the instruction cache")
- parser.add_argument("--with-dcache",
- default=False, action="store_true",
- help="enable the data cache")
- parser.add_argument("--with-muldiv",
- default=False, action="store_true",
- help="enable RV32M support")
- parser.add_argument("--with-debug",
- default=False, action="store_true",
- help="enable the Debug Module")
- parser.add_argument("--with-trigger",
- default=False, action="store_true",
- help="enable the Trigger Module")
- parser.add_argument("--with-rvfi",
- default=False, action="store_true",
- help="enable the riscv-formal interface")
-
- icache_group = parser.add_argument_group("icache options")
- icache_group.add_argument("--icache-nways",
- type=int, choices=[1, 2], default=1,
- help="number of ways")
- icache_group.add_argument("--icache-nlines",
- type=int, default=32,
- help="number of lines")
- icache_group.add_argument("--icache-nwords",
- type=int, choices=[4, 8, 16], default=4,
- help="number of words in a line")
- icache_group.add_argument("--icache-base",
- type=lambda s: int(s, 16), default="0x00000000",
- help="base address")
- icache_group.add_argument("--icache-limit",
- type=lambda s: int(s, 16), default="0x80000000",
- help="limit address")
-
- dcache_group = parser.add_argument_group("dcache options")
- dcache_group.add_argument("--dcache-nways",
- type=int, choices=[1, 2], default=1,
- help="number of ways")
- dcache_group.add_argument("--dcache-nlines",
- type=int, default=32,
- help="number of lines")
- dcache_group.add_argument("--dcache-nwords",
- type=int, choices=[4, 8, 16], default=4,
- help="number of words in a line")
- dcache_group.add_argument("--dcache-base",
- type=lambda s: int(s, 16), default="0x00000000",
- help="base address")
- dcache_group.add_argument("--dcache-limit",
- type=lambda s: int(s, 16), default="0x80000000",
- help="limit address")
-
- trigger_group = parser.add_argument_group("trigger options")
- trigger_group.add_argument("--nb-triggers",
- type=int, default=8,
- help="number of triggers")
-
- cli.main_parser(parser)
-
- args = parser.parse_args()
-
- if args.with_debug and not args.with_trigger:
- warnings.warn("Support for hardware breakpoints requires --with-trigger")
-
- cpu = Minerva(args.reset_addr,
- args.with_icache, args.icache_nways, args.icache_nlines, args.icache_nwords,
- args.icache_base, args.icache_limit,
- args.with_dcache, args.dcache_nways, args.dcache_nlines, args.dcache_nwords,
- args.dcache_base, args.dcache_limit,
- args.with_muldiv,
- args.with_debug,
- args.with_trigger, args.nb_triggers,
- args.with_rvfi)
-
- ports = [
- cpu.external_interrupt, cpu.timer_interrupt, cpu.software_interrupt,
- cpu.ibus.ack, cpu.ibus.adr, cpu.ibus.bte, cpu.ibus.cti, cpu.ibus.cyc, cpu.ibus.dat_r,
- cpu.ibus.dat_w, cpu.ibus.sel, cpu.ibus.stb, cpu.ibus.we, cpu.ibus.err,
- cpu.dbus.ack, cpu.dbus.adr, cpu.dbus.bte, cpu.dbus.cti, cpu.dbus.cyc, cpu.dbus.dat_r,
- cpu.dbus.dat_w, cpu.dbus.sel, cpu.dbus.stb, cpu.dbus.we, cpu.dbus.err
- ]
-
- if args.with_debug:
- ports += [cpu.jtag.tck, cpu.jtag.tdi, cpu.jtag.tdo, cpu.jtag.tms]
-
- if args.with_rvfi:
- ports += [
- cpu.rvfi.valid, cpu.rvfi.order, cpu.rvfi.insn, cpu.rvfi.trap, cpu.rvfi.halt,
- cpu.rvfi.intr, cpu.rvfi.mode, cpu.rvfi.ixl, cpu.rvfi.rs1_addr, cpu.rvfi.rs2_addr,
- cpu.rvfi.rs1_rdata, cpu.rvfi.rs2_rdata, cpu.rvfi.rd_addr, cpu.rvfi.rd_wdata,
- cpu.rvfi.pc_rdata, cpu.rvfi.pc_wdata, cpu.rvfi.mem_addr, cpu.rvfi.mem_rmask,
- cpu.rvfi.mem_wmask, cpu.rvfi.mem_rdata, cpu.rvfi.mem_wdata
- ]
-
- cli.main_runner(parser, args, cpu, name="minerva_cpu", ports=ports)
-
-
-if __name__ == "__main__":
- main()
diff --git a/cores/minerva/setup.py b/cores/minerva/setup.py
deleted file mode 100644
index 8162ead..0000000
--- a/cores/minerva/setup.py
+++ /dev/null
@@ -1,19 +0,0 @@
-from setuptools import setup, find_packages
-
-
-setup(
- name="minerva",
- version="0.1",
- description="A 32-bit RISC-V soft processor",
- author="Jean-François Nguyen",
- author_email="jf@lambdaconcept.com",
- license="BSD",
- python_requires="~=3.6",
- install_requires=["nmigen>=0.1rc1"],
- extras_require={ "debug": ["jtagtap"] },
- packages=find_packages(),
- project_urls={
- "Source Code": "https://github.com/lambdaconcept/minerva",
- "Bug Tracker": "https://github.com/lambdaconcept/minerva/issues"
- }
-)
diff --git a/cores/minerva/minerva/__init__.py b/rvfi/__init__.py
similarity index 100%
rename from cores/minerva/minerva/__init__.py
rename to rvfi/__init__.py
diff --git a/cores/minerva/minerva/test/__init__.py b/rvfi/cores/__init__.py
similarity index 100%
rename from cores/minerva/minerva/test/__init__.py
rename to rvfi/cores/__init__.py
diff --git a/cores/minerva/LICENSE.txt b/rvfi/cores/minerva/LICENSE.txt
similarity index 100%
rename from cores/minerva/LICENSE.txt
rename to rvfi/cores/minerva/LICENSE.txt
diff --git a/cores/minerva/README.md b/rvfi/cores/minerva/README.md
similarity index 100%
rename from cores/minerva/README.md
rename to rvfi/cores/minerva/README.md
diff --git a/cores/minerva/minerva/units/__init__.py b/rvfi/cores/minerva/__init__.py
similarity index 100%
rename from cores/minerva/minerva/units/__init__.py
rename to rvfi/cores/minerva/__init__.py
diff --git a/cores/minerva/minerva/cache.py b/rvfi/cores/minerva/cache.py
similarity index 100%
rename from cores/minerva/minerva/cache.py
rename to rvfi/cores/minerva/cache.py
diff --git a/cores/minerva/minerva/core.py b/rvfi/cores/minerva/core.py
similarity index 100%
rename from cores/minerva/minerva/core.py
rename to rvfi/cores/minerva/core.py
diff --git a/cores/minerva/minerva/csr.py b/rvfi/cores/minerva/csr.py
similarity index 100%
rename from cores/minerva/minerva/csr.py
rename to rvfi/cores/minerva/csr.py
diff --git a/cores/minerva/minerva/isa.py b/rvfi/cores/minerva/isa.py
similarity index 100%
rename from cores/minerva/minerva/isa.py
rename to rvfi/cores/minerva/isa.py
diff --git a/cores/minerva/minerva/stage.py b/rvfi/cores/minerva/stage.py
similarity index 100%
rename from cores/minerva/minerva/stage.py
rename to rvfi/cores/minerva/stage.py
diff --git a/rvfi/cores/minerva/test/__init__.py b/rvfi/cores/minerva/test/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/cores/minerva/minerva/test/test_cache.py b/rvfi/cores/minerva/test/test_cache.py
similarity index 100%
rename from cores/minerva/minerva/test/test_cache.py
rename to rvfi/cores/minerva/test/test_cache.py
diff --git a/cores/minerva/minerva/test/test_units_divider.py b/rvfi/cores/minerva/test/test_units_divider.py
similarity index 100%
rename from cores/minerva/minerva/test/test_units_divider.py
rename to rvfi/cores/minerva/test/test_units_divider.py
diff --git a/cores/minerva/minerva/test/test_units_multiplier.py b/rvfi/cores/minerva/test/test_units_multiplier.py
similarity index 100%
rename from cores/minerva/minerva/test/test_units_multiplier.py
rename to rvfi/cores/minerva/test/test_units_multiplier.py
diff --git a/rvfi/cores/minerva/units/__init__.py b/rvfi/cores/minerva/units/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/cores/minerva/minerva/units/adder.py b/rvfi/cores/minerva/units/adder.py
similarity index 100%
rename from cores/minerva/minerva/units/adder.py
rename to rvfi/cores/minerva/units/adder.py
diff --git a/cores/minerva/minerva/units/compare.py b/rvfi/cores/minerva/units/compare.py
similarity index 100%
rename from cores/minerva/minerva/units/compare.py
rename to rvfi/cores/minerva/units/compare.py
diff --git a/cores/minerva/minerva/units/debug/__init__.py b/rvfi/cores/minerva/units/debug/__init__.py
similarity index 100%
rename from cores/minerva/minerva/units/debug/__init__.py
rename to rvfi/cores/minerva/units/debug/__init__.py
diff --git a/cores/minerva/minerva/units/debug/controller.py b/rvfi/cores/minerva/units/debug/controller.py
similarity index 100%
rename from cores/minerva/minerva/units/debug/controller.py
rename to rvfi/cores/minerva/units/debug/controller.py
diff --git a/cores/minerva/minerva/units/debug/dmi.py b/rvfi/cores/minerva/units/debug/dmi.py
similarity index 100%
rename from cores/minerva/minerva/units/debug/dmi.py
rename to rvfi/cores/minerva/units/debug/dmi.py
diff --git a/cores/minerva/minerva/units/debug/jtag.py b/rvfi/cores/minerva/units/debug/jtag.py
similarity index 100%
rename from cores/minerva/minerva/units/debug/jtag.py
rename to rvfi/cores/minerva/units/debug/jtag.py
diff --git a/cores/minerva/minerva/units/debug/regfile.py b/rvfi/cores/minerva/units/debug/regfile.py
similarity index 100%
rename from cores/minerva/minerva/units/debug/regfile.py
rename to rvfi/cores/minerva/units/debug/regfile.py
diff --git a/cores/minerva/minerva/units/debug/top.py b/rvfi/cores/minerva/units/debug/top.py
similarity index 100%
rename from cores/minerva/minerva/units/debug/top.py
rename to rvfi/cores/minerva/units/debug/top.py
diff --git a/cores/minerva/minerva/units/debug/wbmaster.py b/rvfi/cores/minerva/units/debug/wbmaster.py
similarity index 100%
rename from cores/minerva/minerva/units/debug/wbmaster.py
rename to rvfi/cores/minerva/units/debug/wbmaster.py
diff --git a/cores/minerva/minerva/units/decoder.py b/rvfi/cores/minerva/units/decoder.py
similarity index 100%
rename from cores/minerva/minerva/units/decoder.py
rename to rvfi/cores/minerva/units/decoder.py
diff --git a/cores/minerva/minerva/units/divider.py b/rvfi/cores/minerva/units/divider.py
similarity index 100%
rename from cores/minerva/minerva/units/divider.py
rename to rvfi/cores/minerva/units/divider.py
diff --git a/cores/minerva/minerva/units/exception.py b/rvfi/cores/minerva/units/exception.py
similarity index 100%
rename from cores/minerva/minerva/units/exception.py
rename to rvfi/cores/minerva/units/exception.py
diff --git a/cores/minerva/minerva/units/fetch.py b/rvfi/cores/minerva/units/fetch.py
similarity index 100%
rename from cores/minerva/minerva/units/fetch.py
rename to rvfi/cores/minerva/units/fetch.py
diff --git a/cores/minerva/minerva/units/loadstore.py b/rvfi/cores/minerva/units/loadstore.py
similarity index 100%
rename from cores/minerva/minerva/units/loadstore.py
rename to rvfi/cores/minerva/units/loadstore.py
diff --git a/cores/minerva/minerva/units/logic.py b/rvfi/cores/minerva/units/logic.py
similarity index 100%
rename from cores/minerva/minerva/units/logic.py
rename to rvfi/cores/minerva/units/logic.py
diff --git a/cores/minerva/minerva/units/multiplier.py b/rvfi/cores/minerva/units/multiplier.py
similarity index 100%
rename from cores/minerva/minerva/units/multiplier.py
rename to rvfi/cores/minerva/units/multiplier.py
diff --git a/cores/minerva/minerva/units/predict.py b/rvfi/cores/minerva/units/predict.py
similarity index 100%
rename from cores/minerva/minerva/units/predict.py
rename to rvfi/cores/minerva/units/predict.py
diff --git a/cores/minerva/minerva/units/rvficon.py b/rvfi/cores/minerva/units/rvficon.py
similarity index 100%
rename from cores/minerva/minerva/units/rvficon.py
rename to rvfi/cores/minerva/units/rvficon.py
diff --git a/cores/minerva/minerva/units/shifter.py b/rvfi/cores/minerva/units/shifter.py
similarity index 100%
rename from cores/minerva/minerva/units/shifter.py
rename to rvfi/cores/minerva/units/shifter.py
diff --git a/cores/minerva/minerva/units/trigger.py b/rvfi/cores/minerva/units/trigger.py
similarity index 100%
rename from cores/minerva/minerva/units/trigger.py
rename to rvfi/cores/minerva/units/trigger.py
diff --git a/cores/minerva/minerva/wishbone.py b/rvfi/cores/minerva/wishbone.py
similarity index 100%
rename from cores/minerva/minerva/wishbone.py
rename to rvfi/cores/minerva/wishbone.py
diff --git a/insns/README.md b/rvfi/insns/README.md
similarity index 100%
rename from insns/README.md
rename to rvfi/insns/README.md
diff --git a/rvfi/insns/__init__.py b/rvfi/insns/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/insns/insn.py b/rvfi/insns/insn.py
similarity index 100%
rename from insns/insn.py
rename to rvfi/insns/insn.py
diff --git a/insns/insn_add.py b/rvfi/insns/insn_add.py
similarity index 93%
rename from insns/insn_add.py
rename to rvfi/insns/insn_add.py
index 54128cb..2cd7f6d 100644
--- a/insns/insn_add.py
+++ b/rvfi/insns/insn_add.py
@@ -1,4 +1,4 @@
-from insn_rv32i_r_type import *
+from .insn_rv32i_r_type import *
"""
ADD instruction
diff --git a/insns/insn_addi.py b/rvfi/insns/insn_addi.py
similarity index 91%
rename from insns/insn_addi.py
rename to rvfi/insns/insn_addi.py
index 9aa5c64..535990b 100644
--- a/insns/insn_addi.py
+++ b/rvfi/insns/insn_addi.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_arith import *
+from .insn_rv32i_i_type_arith import *
"""
ADDI instruction
diff --git a/insns/insn_and.py b/rvfi/insns/insn_and.py
similarity index 93%
rename from insns/insn_and.py
rename to rvfi/insns/insn_and.py
index bb1f822..c82005c 100644
--- a/insns/insn_and.py
+++ b/rvfi/insns/insn_and.py
@@ -1,4 +1,4 @@
-from insn_rv32i_r_type import *
+from .insn_rv32i_r_type import *
"""
AND instruction
diff --git a/insns/insn_andi.py b/rvfi/insns/insn_andi.py
similarity index 91%
rename from insns/insn_andi.py
rename to rvfi/insns/insn_andi.py
index 94d74b2..17f3660 100644
--- a/insns/insn_andi.py
+++ b/rvfi/insns/insn_andi.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_arith import *
+from .insn_rv32i_i_type_arith import *
"""
ANDI instruction
diff --git a/insns/insn_auipc.py b/rvfi/insns/insn_auipc.py
similarity index 93%
rename from insns/insn_auipc.py
rename to rvfi/insns/insn_auipc.py
index d049422..10c35c4 100644
--- a/insns/insn_auipc.py
+++ b/rvfi/insns/insn_auipc.py
@@ -1,4 +1,4 @@
-from insn_rv32i_u_type import *
+from .insn_rv32i_u_type import *
"""
AUIPC instruction
diff --git a/insns/insn_beq.py b/rvfi/insns/insn_beq.py
similarity index 95%
rename from insns/insn_beq.py
rename to rvfi/insns/insn_beq.py
index 918454f..a3509ad 100644
--- a/insns/insn_beq.py
+++ b/rvfi/insns/insn_beq.py
@@ -1,4 +1,4 @@
-from insn_rv32i_sb_type import *
+from .insn_rv32i_sb_type import *
"""
BEQ instruction
diff --git a/insns/insn_bge.py b/rvfi/insns/insn_bge.py
similarity index 95%
rename from insns/insn_bge.py
rename to rvfi/insns/insn_bge.py
index d91e300..94ae31d 100644
--- a/insns/insn_bge.py
+++ b/rvfi/insns/insn_bge.py
@@ -1,4 +1,4 @@
-from insn_rv32i_sb_type import *
+from .insn_rv32i_sb_type import *
"""
BGE instruction
diff --git a/insns/insn_bgeu.py b/rvfi/insns/insn_bgeu.py
similarity index 95%
rename from insns/insn_bgeu.py
rename to rvfi/insns/insn_bgeu.py
index 27c3e7f..aa91a07 100644
--- a/insns/insn_bgeu.py
+++ b/rvfi/insns/insn_bgeu.py
@@ -1,4 +1,4 @@
-from insn_rv32i_sb_type import *
+from .insn_rv32i_sb_type import *
"""
BGEU instruction
diff --git a/insns/insn_blt.py b/rvfi/insns/insn_blt.py
similarity index 95%
rename from insns/insn_blt.py
rename to rvfi/insns/insn_blt.py
index ba3ad17..fbb9076 100644
--- a/insns/insn_blt.py
+++ b/rvfi/insns/insn_blt.py
@@ -1,4 +1,4 @@
-from insn_rv32i_sb_type import *
+from .insn_rv32i_sb_type import *
"""
BLT instruction
diff --git a/insns/insn_bltu.py b/rvfi/insns/insn_bltu.py
similarity index 95%
rename from insns/insn_bltu.py
rename to rvfi/insns/insn_bltu.py
index 5817b60..9b456a8 100644
--- a/insns/insn_bltu.py
+++ b/rvfi/insns/insn_bltu.py
@@ -1,4 +1,4 @@
-from insn_rv32i_sb_type import *
+from .insn_rv32i_sb_type import *
"""
BLTU instruction
diff --git a/insns/insn_bne.py b/rvfi/insns/insn_bne.py
similarity index 95%
rename from insns/insn_bne.py
rename to rvfi/insns/insn_bne.py
index 926acbc..f28df31 100644
--- a/insns/insn_bne.py
+++ b/rvfi/insns/insn_bne.py
@@ -1,4 +1,4 @@
-from insn_rv32i_sb_type import *
+from .insn_rv32i_sb_type import *
"""
BNE instruction
diff --git a/insns/insn_jal.py b/rvfi/insns/insn_jal.py
similarity index 98%
rename from insns/insn_jal.py
rename to rvfi/insns/insn_jal.py
index 82b1892..0fbfeb5 100644
--- a/insns/insn_jal.py
+++ b/rvfi/insns/insn_jal.py
@@ -1,4 +1,4 @@
-from insn import *
+from .insn import *
"""
JAL instruction
diff --git a/insns/insn_jalr.py b/rvfi/insns/insn_jalr.py
similarity index 97%
rename from insns/insn_jalr.py
rename to rvfi/insns/insn_jalr.py
index 34aeeda..0ef1cb5 100644
--- a/insns/insn_jalr.py
+++ b/rvfi/insns/insn_jalr.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type import *
+from .insn_rv32i_i_type import *
"""
JALR instruction
diff --git a/insns/insn_lb.py b/rvfi/insns/insn_lb.py
similarity index 88%
rename from insns/insn_lb.py
rename to rvfi/insns/insn_lb.py
index d0ae726..6365204 100644
--- a/insns/insn_lb.py
+++ b/rvfi/insns/insn_lb.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_load import *
+from .insn_rv32i_i_type_load import *
"""
LB instruction
diff --git a/insns/insn_lbu.py b/rvfi/insns/insn_lbu.py
similarity index 88%
rename from insns/insn_lbu.py
rename to rvfi/insns/insn_lbu.py
index c0f4520..bf96511 100644
--- a/insns/insn_lbu.py
+++ b/rvfi/insns/insn_lbu.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_load import *
+from .insn_rv32i_i_type_load import *
"""
LBU instruction
diff --git a/insns/insn_lh.py b/rvfi/insns/insn_lh.py
similarity index 88%
rename from insns/insn_lh.py
rename to rvfi/insns/insn_lh.py
index b9dc25c..bf09497 100644
--- a/insns/insn_lh.py
+++ b/rvfi/insns/insn_lh.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_load import *
+from .insn_rv32i_i_type_load import *
"""
LH instruction
diff --git a/insns/insn_lhu.py b/rvfi/insns/insn_lhu.py
similarity index 88%
rename from insns/insn_lhu.py
rename to rvfi/insns/insn_lhu.py
index d6d4738..5e5ca4b 100644
--- a/insns/insn_lhu.py
+++ b/rvfi/insns/insn_lhu.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_load import *
+from .insn_rv32i_i_type_load import *
"""
LHU instruction
diff --git a/insns/insn_lui.py b/rvfi/insns/insn_lui.py
similarity index 92%
rename from insns/insn_lui.py
rename to rvfi/insns/insn_lui.py
index 9ba4833..867f612 100644
--- a/insns/insn_lui.py
+++ b/rvfi/insns/insn_lui.py
@@ -1,4 +1,4 @@
-from insn_rv32i_u_type import *
+from .insn_rv32i_u_type import *
"""
LUI instruction
diff --git a/insns/insn_lw.py b/rvfi/insns/insn_lw.py
similarity index 88%
rename from insns/insn_lw.py
rename to rvfi/insns/insn_lw.py
index 7609a87..a9a6117 100644
--- a/insns/insn_lw.py
+++ b/rvfi/insns/insn_lw.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_load import *
+from .insn_rv32i_i_type_load import *
"""
LW instruction
diff --git a/insns/insn_or.py b/rvfi/insns/insn_or.py
similarity index 93%
rename from insns/insn_or.py
rename to rvfi/insns/insn_or.py
index ae5e7a4..b6d090d 100644
--- a/insns/insn_or.py
+++ b/rvfi/insns/insn_or.py
@@ -1,4 +1,4 @@
-from insn_rv32i_r_type import *
+from .insn_rv32i_r_type import *
"""
OR instruction
diff --git a/insns/insn_ori.py b/rvfi/insns/insn_ori.py
similarity index 91%
rename from insns/insn_ori.py
rename to rvfi/insns/insn_ori.py
index edbc7fe..9c8be85 100644
--- a/insns/insn_ori.py
+++ b/rvfi/insns/insn_ori.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_arith import *
+from .insn_rv32i_i_type_arith import *
"""
ORI instruction
diff --git a/insns/insn_rv32i_i_type.py b/rvfi/insns/insn_rv32i_i_type.py
similarity index 92%
rename from insns/insn_rv32i_i_type.py
rename to rvfi/insns/insn_rv32i_i_type.py
index 05e7142..a2c4c54 100644
--- a/insns/insn_rv32i_i_type.py
+++ b/rvfi/insns/insn_rv32i_i_type.py
@@ -1,4 +1,4 @@
-from insn import *
+from .insn import *
"""
RV32I I-Type Instruction
diff --git a/insns/insn_rv32i_i_type_arith.py b/rvfi/insns/insn_rv32i_i_type_arith.py
similarity index 96%
rename from insns/insn_rv32i_i_type_arith.py
rename to rvfi/insns/insn_rv32i_i_type_arith.py
index 9862e9d..4dbc828 100644
--- a/insns/insn_rv32i_i_type_arith.py
+++ b/rvfi/insns/insn_rv32i_i_type_arith.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type import *
+from .insn_rv32i_i_type import *
"""
RV32I I-Type Instruction (Arithmetic Variation)
diff --git a/insns/insn_rv32i_i_type_load.py b/rvfi/insns/insn_rv32i_i_type_load.py
similarity index 98%
rename from insns/insn_rv32i_i_type_load.py
rename to rvfi/insns/insn_rv32i_i_type_load.py
index bdef487..46524da 100644
--- a/insns/insn_rv32i_i_type_load.py
+++ b/rvfi/insns/insn_rv32i_i_type_load.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type import *
+from .insn_rv32i_i_type import *
"""
RV32I I-Type Instruction (Load Variation)
diff --git a/insns/insn_rv32i_i_type_shift.py b/rvfi/insns/insn_rv32i_i_type_shift.py
similarity index 98%
rename from insns/insn_rv32i_i_type_shift.py
rename to rvfi/insns/insn_rv32i_i_type_shift.py
index 5292d9f..ce290b6 100644
--- a/insns/insn_rv32i_i_type_shift.py
+++ b/rvfi/insns/insn_rv32i_i_type_shift.py
@@ -1,4 +1,4 @@
-from insn import *
+from .insn import *
"""
RV32I I-Type Instruction (Shift Variation)
diff --git a/insns/insn_rv32i_r_type.py b/rvfi/insns/insn_rv32i_r_type.py
similarity index 98%
rename from insns/insn_rv32i_r_type.py
rename to rvfi/insns/insn_rv32i_r_type.py
index d61ccf9..e1964de 100644
--- a/insns/insn_rv32i_r_type.py
+++ b/rvfi/insns/insn_rv32i_r_type.py
@@ -1,4 +1,4 @@
-from insn import *
+from .insn import *
"""
RV32I R-Type Instruction
diff --git a/insns/insn_rv32i_s_type.py b/rvfi/insns/insn_rv32i_s_type.py
similarity index 99%
rename from insns/insn_rv32i_s_type.py
rename to rvfi/insns/insn_rv32i_s_type.py
index 1945d1d..8025ce6 100644
--- a/insns/insn_rv32i_s_type.py
+++ b/rvfi/insns/insn_rv32i_s_type.py
@@ -1,4 +1,4 @@
-from insn import *
+from .insn import *
"""
RV32I S-Type Instruction
diff --git a/insns/insn_rv32i_sb_type.py b/rvfi/insns/insn_rv32i_sb_type.py
similarity index 98%
rename from insns/insn_rv32i_sb_type.py
rename to rvfi/insns/insn_rv32i_sb_type.py
index a557c6e..fb11030 100644
--- a/insns/insn_rv32i_sb_type.py
+++ b/rvfi/insns/insn_rv32i_sb_type.py
@@ -1,4 +1,4 @@
-from insn import *
+from .insn import *
"""
RV32I SB-Type Instruction
diff --git a/insns/insn_rv32i_u_type.py b/rvfi/insns/insn_rv32i_u_type.py
similarity index 97%
rename from insns/insn_rv32i_u_type.py
rename to rvfi/insns/insn_rv32i_u_type.py
index d9bb1a0..b755b7c 100644
--- a/insns/insn_rv32i_u_type.py
+++ b/rvfi/insns/insn_rv32i_u_type.py
@@ -1,4 +1,4 @@
-from insn import *
+from .insn import *
"""
RV32I U-Type Instruction
diff --git a/insns/insn_sb.py b/rvfi/insns/insn_sb.py
similarity index 89%
rename from insns/insn_sb.py
rename to rvfi/insns/insn_sb.py
index 8ff936a..7eb9f4f 100644
--- a/insns/insn_sb.py
+++ b/rvfi/insns/insn_sb.py
@@ -1,4 +1,4 @@
-from insn_rv32i_s_type import *
+from .insn_rv32i_s_type import *
"""
SB instruction
diff --git a/insns/insn_sh.py b/rvfi/insns/insn_sh.py
similarity index 89%
rename from insns/insn_sh.py
rename to rvfi/insns/insn_sh.py
index 626a3eb..70cc5b2 100644
--- a/insns/insn_sh.py
+++ b/rvfi/insns/insn_sh.py
@@ -1,4 +1,4 @@
-from insn_rv32i_s_type import *
+from .insn_rv32i_s_type import *
"""
SH instruction
diff --git a/insns/insn_sll.py b/rvfi/insns/insn_sll.py
similarity index 94%
rename from insns/insn_sll.py
rename to rvfi/insns/insn_sll.py
index fe2c297..9832563 100644
--- a/insns/insn_sll.py
+++ b/rvfi/insns/insn_sll.py
@@ -1,4 +1,4 @@
-from insn_rv32i_r_type import *
+from .insn_rv32i_r_type import *
"""
SLL instruction
diff --git a/insns/insn_slli.py b/rvfi/insns/insn_slli.py
similarity index 92%
rename from insns/insn_slli.py
rename to rvfi/insns/insn_slli.py
index f8a3da7..8d7cf88 100644
--- a/insns/insn_slli.py
+++ b/rvfi/insns/insn_slli.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_shift import *
+from .insn_rv32i_i_type_shift import *
"""
SLLI instruction
diff --git a/insns/insn_slt.py b/rvfi/insns/insn_slt.py
similarity index 93%
rename from insns/insn_slt.py
rename to rvfi/insns/insn_slt.py
index a07f0ae..8af854d 100644
--- a/insns/insn_slt.py
+++ b/rvfi/insns/insn_slt.py
@@ -1,4 +1,4 @@
-from insn_rv32i_r_type import *
+from .insn_rv32i_r_type import *
"""
SLT instruction
diff --git a/insns/insn_slti.py b/rvfi/insns/insn_slti.py
similarity index 92%
rename from insns/insn_slti.py
rename to rvfi/insns/insn_slti.py
index 23dc19d..7a4d364 100644
--- a/insns/insn_slti.py
+++ b/rvfi/insns/insn_slti.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_arith import *
+from .insn_rv32i_i_type_arith import *
"""
SLTI instruction
diff --git a/insns/insn_sltiu.py b/rvfi/insns/insn_sltiu.py
similarity index 91%
rename from insns/insn_sltiu.py
rename to rvfi/insns/insn_sltiu.py
index 9cb2136..638b6ae 100644
--- a/insns/insn_sltiu.py
+++ b/rvfi/insns/insn_sltiu.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_arith import *
+from .insn_rv32i_i_type_arith import *
"""
SLTIU instruction
diff --git a/insns/insn_sltu.py b/rvfi/insns/insn_sltu.py
similarity index 93%
rename from insns/insn_sltu.py
rename to rvfi/insns/insn_sltu.py
index 2669fea..237873c 100644
--- a/insns/insn_sltu.py
+++ b/rvfi/insns/insn_sltu.py
@@ -1,4 +1,4 @@
-from insn_rv32i_r_type import *
+from .insn_rv32i_r_type import *
"""
SLTU instruction
diff --git a/insns/insn_sra.py b/rvfi/insns/insn_sra.py
similarity index 95%
rename from insns/insn_sra.py
rename to rvfi/insns/insn_sra.py
index 804089a..56bf8cb 100644
--- a/insns/insn_sra.py
+++ b/rvfi/insns/insn_sra.py
@@ -1,4 +1,4 @@
-from insn_rv32i_r_type import *
+from .insn_rv32i_r_type import *
"""
SRA instruction
diff --git a/insns/insn_srai.py b/rvfi/insns/insn_srai.py
similarity index 93%
rename from insns/insn_srai.py
rename to rvfi/insns/insn_srai.py
index 1c99816..c7b0d27 100644
--- a/insns/insn_srai.py
+++ b/rvfi/insns/insn_srai.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_shift import *
+from .insn_rv32i_i_type_shift import *
"""
SRAI instruction
diff --git a/insns/insn_srl.py b/rvfi/insns/insn_srl.py
similarity index 94%
rename from insns/insn_srl.py
rename to rvfi/insns/insn_srl.py
index 1403af9..6bc4d1d 100644
--- a/insns/insn_srl.py
+++ b/rvfi/insns/insn_srl.py
@@ -1,4 +1,4 @@
-from insn_rv32i_r_type import *
+from .insn_rv32i_r_type import *
"""
SRL instruction
diff --git a/insns/insn_srli.py b/rvfi/insns/insn_srli.py
similarity index 92%
rename from insns/insn_srli.py
rename to rvfi/insns/insn_srli.py
index 6eeb7ae..93bb136 100644
--- a/insns/insn_srli.py
+++ b/rvfi/insns/insn_srli.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_shift import *
+from .insn_rv32i_i_type_shift import *
"""
SRLI instruction
diff --git a/insns/insn_sub.py b/rvfi/insns/insn_sub.py
similarity index 93%
rename from insns/insn_sub.py
rename to rvfi/insns/insn_sub.py
index 9a45e1d..5387b20 100644
--- a/insns/insn_sub.py
+++ b/rvfi/insns/insn_sub.py
@@ -1,4 +1,4 @@
-from insn_rv32i_r_type import *
+from .insn_rv32i_r_type import *
"""
SUB instruction
diff --git a/insns/insn_sw.py b/rvfi/insns/insn_sw.py
similarity index 89%
rename from insns/insn_sw.py
rename to rvfi/insns/insn_sw.py
index aa566ce..855f3db 100644
--- a/insns/insn_sw.py
+++ b/rvfi/insns/insn_sw.py
@@ -1,4 +1,4 @@
-from insn_rv32i_s_type import *
+from .insn_rv32i_s_type import *
"""
SW instruction
diff --git a/insns/insn_xor.py b/rvfi/insns/insn_xor.py
similarity index 93%
rename from insns/insn_xor.py
rename to rvfi/insns/insn_xor.py
index 7624731..dd5135f 100644
--- a/insns/insn_xor.py
+++ b/rvfi/insns/insn_xor.py
@@ -1,4 +1,4 @@
-from insn_rv32i_r_type import *
+from .insn_rv32i_r_type import *
"""
XOR instruction
diff --git a/insns/insn_xori.py b/rvfi/insns/insn_xori.py
similarity index 91%
rename from insns/insn_xori.py
rename to rvfi/insns/insn_xori.py
index 92ed9bf..03235c7 100644
--- a/insns/insn_xori.py
+++ b/rvfi/insns/insn_xori.py
@@ -1,4 +1,4 @@
-from insn_rv32i_i_type_arith import *
+from .insn_rv32i_i_type_arith import *
"""
XORI instruction
diff --git a/insns/isa_rv32i.py b/rvfi/insns/isa_rv32i.py
similarity index 92%
rename from insns/isa_rv32i.py
rename to rvfi/insns/isa_rv32i.py
index 5a4dca1..8b317ea 100644
--- a/insns/isa_rv32i.py
+++ b/rvfi/insns/isa_rv32i.py
@@ -1,40 +1,40 @@
-from insn_lui import *
-from insn_auipc import *
-from insn_jal import *
-from insn_jalr import *
-from insn_beq import *
-from insn_bne import *
-from insn_blt import *
-from insn_bge import *
-from insn_bltu import *
-from insn_bgeu import *
-from insn_lb import *
-from insn_lh import *
-from insn_lw import *
-from insn_lbu import *
-from insn_lhu import *
-from insn_sb import *
-from insn_sh import *
-from insn_sw import *
-from insn_addi import *
-from insn_slti import *
-from insn_sltiu import *
-from insn_xori import *
-from insn_ori import *
-from insn_andi import *
-from insn_slli import *
-from insn_srli import *
-from insn_srai import *
-from insn_add import *
-from insn_sub import *
-from insn_sll import *
-from insn_slt import *
-from insn_sltu import *
-from insn_xor import *
-from insn_srl import *
-from insn_sra import *
-from insn_or import *
-from insn_and import *
+from .insn_lui import *
+from .insn_auipc import *
+from .insn_jal import *
+from .insn_jalr import *
+from .insn_beq import *
+from .insn_bne import *
+from .insn_blt import *
+from .insn_bge import *
+from .insn_bltu import *
+from .insn_bgeu import *
+from .insn_lb import *
+from .insn_lh import *
+from .insn_lw import *
+from .insn_lbu import *
+from .insn_lhu import *
+from .insn_sb import *
+from .insn_sh import *
+from .insn_sw import *
+from .insn_addi import *
+from .insn_slti import *
+from .insn_sltiu import *
+from .insn_xori import *
+from .insn_ori import *
+from .insn_andi import *
+from .insn_slli import *
+from .insn_srli import *
+from .insn_srai import *
+from .insn_add import *
+from .insn_sub import *
+from .insn_sll import *
+from .insn_slt import *
+from .insn_sltu import *
+from .insn_xor import *
+from .insn_srl import *
+from .insn_sra import *
+from .insn_or import *
+from .insn_and import *
"""
RV32I Base ISA