from litex import get_data_mod
from litex.soc.interconnect import wishbone
-from litex.soc.cores.cpu import CPU, CPU_GCC_TRIPLE_RISCV32
+from litex.soc.cores.cpu import CPU
CPU_VARIANTS = ["standard"]
class LibreSOC(CPU):
- name = "libre-soc"
+ name = "libre_soc"
human_name = "Libre-SOC"
variants = CPU_VARIANTS
data_width = 64
self.core_busy = Signal() # core is running (busy)
# instruction and data bus: 64-bit, 48 bit addressing
+ # sigh self.ibus = wishbone.Interface(data_width=32, adr_width=48)
self.ibus = wishbone.Interface(data_width=64, adr_width=48)
self.dbus = wishbone.Interface(data_width=64, adr_width=48)
o_ibus__cti = self.ibus.cti,
o_ibus__bte = self.ibus.bte,
o_ibus__we = self.ibus.we,
+ # sigh o_ibus__adr = self.ibus.adr, # for 32-bit
o_ibus__adr = Cat(Signal(3), self.ibus.adr), # 64-bit
o_ibus__dat_w = self.ibus.dat_w,
o_ibus__sel = self.ibus.sel,
@staticmethod
def elaborate(verilog_filename):
cli_params = []
- sdir = get_data_mod("cpu", "libre-soc").data_location
- if subprocess.call(["python3", os.path.join(sdir, "cli.py"),
+ #sdir = get_data_mod("cpu", "libre_soc").data_location
+ sdir = "./simple"
+ if subprocess.call(["python3", os.path.join(sdir, "issuer_verilog.py"),
*cli_params, verilog_filename],
):
raise OSError("Unable to elaborate Libre-SOC CPU, "
def do_finalize(self):
verilog_filename = os.path.join(self.platform.output_dir,
"gateware", "libre-soc.v")
- self.elaborate(
- verilog_filename = verilog_filename)
+ self.elaborate(verilog_filename=verilog_filename)
self.platform.add_source(verilog_filename)
self.specials += Instance("test_issuer", **self.cpu_params)