soc/integration/builder: move csr_csv generation outside of generate include
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Thu, 3 Dec 2015 14:16:22 +0000 (15:16 +0100)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Thu, 3 Dec 2015 14:16:22 +0000 (15:16 +0100)
we mostly use csr_csv for designs without CPU

litex/soc/integration/builder.py

index 9b2117fcda62a7e5d36f211ef97ee1e6f50063cc..08fae492c9e88f33134561a74a9e4255a6086f6d 100644 (file)
@@ -92,9 +92,13 @@ class Builder:
             with open(os.path.join(generated_dir, "sdram_phy.h"), "w") as f:
                 f.write(sdram_init.get_sdram_phy_header(sdram_phy_settings))
 
-        if self.csr_csv is not None:
-            with open(self.csr_csv, "w") as f:
-                f.write(cpu_interface.get_csr_csv(csr_regions, constants, memory_regions))
+    def _generate_csr_csv(self):
+        memory_regions = self.soc.get_memory_regions()
+        csr_regions = self.soc.get_csr_regions()
+        constants = self.soc.get_constants()
+        
+        with open(self.csr_csv, "w") as f:
+            f.write(cpu_interface.get_csr_csv(csr_regions, constants, memory_regions))
 
     def _prepare_software(self):
         for name, src_dir in self.software_packages:
@@ -145,6 +149,9 @@ class Builder:
             self._generate_software()
             self._initialize_rom()
 
+        if self.csr_csv is not None:
+            self._generate_csr_csv()
+
         if self.gateware_toolchain_path is not None:
             toolchain_path = self.gateware_toolchain_path
         self.soc.build(build_dir=os.path.join(self.output_dir, "gateware"),