Qualify XER_OV output in proof
[soc.git] / src / soc / litex / core.py
index 16e28d97095a1388dca14c82ce9a1502b1abac77..d391eb700500ede61a3615b897230cfba3a4ecf5 100644 (file)
@@ -5,17 +5,17 @@
 import os
 import subprocess
 
-from migen import *
+from migen import ClockSignal, ResetSignal, Signal, Instance, Cat
 
 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
@@ -59,6 +59,7 @@ class LibreSOC(CPU):
         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)
 
@@ -85,6 +86,7 @@ class LibreSOC(CPU):
             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,
@@ -108,7 +110,7 @@ class LibreSOC(CPU):
             # monitoring / debugging
             i_go_insn_i        = 1,  # set to "always running"
             i_pc_i             = self.pc,
-            i_ pc_i_ok         = self.pc_ok,
+            i_pc_i_ok          = self.pc_ok,
             i_core_start_i     = self.core_start,
             i_core_stop_i      = self.core_stop,
             i_core_bigendian_i = self.bigendian,
@@ -124,8 +126,9 @@ class LibreSOC(CPU):
     @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, "
@@ -134,8 +137,7 @@ class LibreSOC(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)