diff --git a/litex/soc/integration/builder.py b/litex/soc/integration/builder.py index 45439ef09..b209e7065 100644 --- a/litex/soc/integration/builder.py +++ b/litex/soc/integration/builder.py @@ -133,14 +133,18 @@ class Builder: def build(self): self.soc.finalize() - if self.soc.integrated_rom_size and not self.compile_software: - raise ValueError("Software must be compiled in order to " - "intitialize integrated ROM") + os.makedirs(self.output_dir, exist_ok=True) + + if self.soc.cpu_type is not None: + if self.soc.integrated_rom_size and not self.compile_software: + raise ValueError("Software must be compiled in order to " + "intitialize integrated ROM") + + self._prepare_software() + self._generate_includes() + self._generate_software() + self._initialize_rom() - self._prepare_software() - self._generate_includes() - self._generate_software() - self._initialize_rom() if self.gateware_toolchain_path is None: kwargs = dict() else: