mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 04:36:09 +01:00
feat: generate gl includes for user projects
This enables running GL tests on the final GL netlist of the actual chip
This commit is contained in:
+4
-1
@@ -67,9 +67,12 @@ class Project:
|
|||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
self.metrics = {}
|
self.metrics = {}
|
||||||
|
|
||||||
|
def is_chip_rom(self):
|
||||||
|
return self.get_macro_name() == "tt_um_chip_rom"
|
||||||
|
|
||||||
def check_ports(self):
|
def check_ports(self):
|
||||||
top = self.get_macro_name()
|
top = self.get_macro_name()
|
||||||
if not self.is_user_project and top == "tt_um_chip_rom":
|
if not self.is_user_project and self.is_chip_rom():
|
||||||
return # Chip ROM is auto generated, so we don't have the verilog yet
|
return # Chip ROM is auto generated, so we don't have the verilog yet
|
||||||
sources = [os.path.join(self.src_dir, src) for src in self.src_files]
|
sources = [os.path.join(self.src_dir, src) for src in self.src_files]
|
||||||
source_list = " ".join(sources)
|
source_list = " ".join(sources)
|
||||||
|
|||||||
@@ -93,6 +93,14 @@ class ShuttleConfig:
|
|||||||
with open("shuttle_index.json", "w") as shuttle_index_file:
|
with open("shuttle_index.json", "w") as shuttle_index_file:
|
||||||
json.dump(shuttle_index_data, shuttle_index_file, indent=2)
|
json.dump(shuttle_index_data, shuttle_index_file, indent=2)
|
||||||
|
|
||||||
|
with open("verilog/includes/includes.gl.user_projects", "w") as includes_file:
|
||||||
|
for project in self.projects:
|
||||||
|
if project.is_chip_rom():
|
||||||
|
continue
|
||||||
|
includes_file.write(
|
||||||
|
f"$(USER_PROJECT_VERILOG)/../projects/{project.top_module}/{project.top_module}.v\n"
|
||||||
|
)
|
||||||
|
|
||||||
def list(self):
|
def list(self):
|
||||||
for project in self.projects:
|
for project in self.projects:
|
||||||
logging.info(project)
|
logging.info(project)
|
||||||
|
|||||||
Reference in New Issue
Block a user