Skip to content

Commit

Permalink
feat: generate gl includes for user projects
Browse files Browse the repository at this point in the history
This enables running GL tests on the final GL netlist of the actual chip
  • Loading branch information
urish committed Oct 1, 2023
1 parent 5925525 commit 462004f
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
5 changes: 4 additions & 1 deletion project.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,12 @@ def load_metrics(self):
except FileNotFoundError:
self.metrics = {}

def is_chip_rom(self):
return self.get_macro_name() == "tt_um_chip_rom"

def check_ports(self):
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
sources = [os.path.join(self.src_dir, src) for src in self.src_files]
source_list = " ".join(sources)
Expand Down
8 changes: 8 additions & 0 deletions shuttle.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,14 @@ def configure_mux(self):
with open("shuttle_index.json", "w") as shuttle_index_file:
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):
for project in self.projects:
logging.info(project)
Expand Down

0 comments on commit 462004f

Please sign in to comment.