Add support for loading tcls

This commit is contained in:
Byron Lathi
2025-02-23 19:58:20 -08:00
parent 0bcd331f6c
commit d045bb4103
2 changed files with 6 additions and 1 deletions

View File

@@ -35,7 +35,7 @@ name = "build-fpga" # REQUIRED, is the only field that cannot be marked as dyna
# https://packaging.python.org/guides/single-sourcing-package-version/
# dynamic = ["version"]
version = "0.4.2" # REQUIRED, although can be dynamic
version = "0.5.0" # REQUIRED, although can be dynamic
# This is a one-line description or tagline of what your project does. This
# corresponds to the "Summary" metadata field:

View File

@@ -7,6 +7,7 @@ def build_nonprj(cfg):
verilog_sources = list(filter(lambda s: (s.endswith(".v") or s.endswith(".sv")), all_sources))
xci_sources = list(filter(lambda s: s.endswith(".xci"), all_sources))
xdc_sources = list(filter(lambda s: s.endswith(".xdc"), all_sources))
tcl_sources = list(filter(lambda s: s.endswith(".tcl"), all_sources))
top = cfg["design_info"]["top_module"]
part = cfg["device_info"]["device"]
@@ -43,6 +44,10 @@ def build_nonprj(cfg):
f.write(f"write_checkpoint -force $outputDir/post_synth.dcp\n")
f.write(f"report_utilization -file $outputDir/post_synth_util.rpt\n")
if tcl_sources is not []:
for tcl_script in tcl_sources:
f.write(f"source {tcl_script}\n")
f.write(f"opt_design -directive {opt_directive}\n")
f.write(f"place_design -directive {place_directive}\n")
f.write(f"write_checkpoint -force $outputDir/post_place.dcp\n")