Skip to content

Commit

Permalink
Merge pull request #2099 from VOGL-electronic/vexiiriscv_sbi
Browse files Browse the repository at this point in the history
vexiiriscv: add options and conditions
  • Loading branch information
Dolu1990 authored Oct 25, 2024
2 parents c122573 + 773fb34 commit 59fc1ca
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions litex/soc/cores/cpu/vexiiriscv/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ class VexiiRiscv(CPU):
with_rva = False
with_dma = False
with_axi3 = False
with_opensbi = False
jtag_tap = False
jtag_instruction = False
with_cpu_clk = False
Expand Down Expand Up @@ -164,6 +165,7 @@ def args_read(args):
VexiiRiscv.vexii_args += " --relaxed-branch"

if args.cpu_variant in ["linux", "debian"]:
VexiiRiscv.with_opensbi = True
VexiiRiscv.vexii_args += " --with-rva --with-supervisor"
VexiiRiscv.vexii_args += " --fetch-l1-ways=4 --fetch-l1-mem-data-width-min=64"
VexiiRiscv.vexii_args += " --lsu-l1-ways=4 --lsu-l1-mem-data-width-min=64"
Expand Down Expand Up @@ -367,6 +369,7 @@ def generate_netlist_name():
md5_hash.update(str(VexiiRiscv.memory_regions).encode('utf-8'))
md5_hash.update(str(VexiiRiscv.vexii_args).encode('utf-8'))
md5_hash.update(str(VexiiRiscv.vexii_video).encode('utf-8'))
md5_hash.update(str(VexiiRiscv.with_opensbi).encode('utf-8'))

# md5_hash.update(str(VexiiRiscv.internal_bus_width).encode('utf-8'))

Expand Down Expand Up @@ -443,12 +446,13 @@ def add_soc_components(self, soc):
# Set Human-name.
self.human_name = f"{self.human_name} {self.xlen}-bit"

# Set UART/Timer0 CSRs to the ones used by OpenSBI.
soc.csr.add("uart", n=2)
soc.csr.add("timer0", n=3)
if VexiiRiscv.with_opensbi:
# Set UART/Timer0 CSRs to the ones used by OpenSBI.
soc.csr.add("uart", n=2)
soc.csr.add("timer0", n=3)

# Add OpenSBI region.
soc.bus.add_region("opensbi", SoCRegion(origin=self.mem_map["main_ram"] + 0x00f0_0000, size=0x8_0000, cached=True, linker=True))
# Add OpenSBI region.
soc.bus.add_region("opensbi", SoCRegion(origin=self.mem_map["main_ram"] + 0x00f0_0000, size=0x8_0000, cached=True, linker=True))

# Define ISA.
soc.add_config("CPU_COUNT", VexiiRiscv.cpu_count)
Expand Down

0 comments on commit 59fc1ca

Please sign in to comment.