siliconcompiler 0.36.2__py3-none-any.whl → 0.36.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. siliconcompiler/_metadata.py +1 -1
  2. siliconcompiler/apps/sc_install.py +23 -2
  3. siliconcompiler/apps/sc_issue.py +4 -0
  4. siliconcompiler/flows/dvflow.py +13 -0
  5. siliconcompiler/package/__init__.py +17 -12
  6. siliconcompiler/package/git.py +2 -1
  7. siliconcompiler/project.py +6 -4
  8. siliconcompiler/schema/baseschema.py +18 -6
  9. siliconcompiler/schema/docschema.py +3 -3
  10. siliconcompiler/schema/editableschema.py +1 -1
  11. siliconcompiler/schema/namedschema.py +6 -6
  12. siliconcompiler/schema_support/cmdlineschema.py +8 -5
  13. siliconcompiler/tool.py +4 -2
  14. siliconcompiler/tools/_common/cocotb/__init__.py +0 -0
  15. siliconcompiler/tools/_common/cocotb/cocotb_task.py +286 -0
  16. siliconcompiler/tools/builtin/wait.py +152 -0
  17. siliconcompiler/tools/icarus/cocotb_exec.py +53 -0
  18. siliconcompiler/tools/icarus/compile.py +47 -1
  19. siliconcompiler/tools/klayout/export.py +0 -2
  20. siliconcompiler/tools/klayout/merge.py +95 -0
  21. siliconcompiler/tools/klayout/scripts/klayout_merge.py +79 -0
  22. siliconcompiler/tools/openroad/_apr.py +13 -0
  23. siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +9 -2
  24. siliconcompiler/tools/verilator/cocotb_compile.py +55 -0
  25. siliconcompiler/tools/verilator/cocotb_exec.py +52 -0
  26. siliconcompiler/tools/verilator/compile.py +12 -8
  27. siliconcompiler/tools/vpr/__init__.py +1 -1
  28. siliconcompiler/tools/yosys/scripts/sc_synth_asic.tcl +1 -1
  29. siliconcompiler/tools/yosys/syn_asic.py +3 -3
  30. siliconcompiler/toolscripts/_tools.json +4 -4
  31. siliconcompiler/toolscripts/rhel8/install-icarus.sh +2 -2
  32. siliconcompiler/toolscripts/rhel8/install-magic.sh +1 -1
  33. siliconcompiler/toolscripts/rhel8/install-netgen.sh +1 -1
  34. siliconcompiler/toolscripts/rhel8/install-surelog.sh +1 -1
  35. siliconcompiler/toolscripts/rhel8/install-sv2v.sh +1 -1
  36. siliconcompiler/toolscripts/rhel8/install-verilator.sh +2 -2
  37. siliconcompiler/toolscripts/rhel8/install-xyce.sh +3 -3
  38. siliconcompiler/toolscripts/rhel9/install-ghdl.sh +1 -1
  39. siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +2 -2
  40. siliconcompiler/toolscripts/rhel9/install-icarus.sh +2 -2
  41. siliconcompiler/toolscripts/rhel9/install-magic.sh +1 -1
  42. siliconcompiler/toolscripts/rhel9/install-netgen.sh +1 -1
  43. siliconcompiler/toolscripts/rhel9/install-openroad.sh +1 -1
  44. siliconcompiler/toolscripts/rhel9/install-opensta.sh +5 -5
  45. siliconcompiler/toolscripts/rhel9/install-surelog.sh +1 -1
  46. siliconcompiler/toolscripts/rhel9/install-sv2v.sh +1 -1
  47. siliconcompiler/toolscripts/rhel9/install-verilator.sh +2 -2
  48. siliconcompiler/toolscripts/rhel9/install-vpr.sh +1 -1
  49. siliconcompiler/toolscripts/rhel9/install-wildebeest.sh +1 -1
  50. siliconcompiler/toolscripts/rhel9/install-xyce.sh +3 -3
  51. siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +1 -1
  52. siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +1 -1
  53. siliconcompiler/toolscripts/rhel9/install-yosys.sh +1 -1
  54. siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +1 -1
  55. siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +1 -1
  56. siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +1 -1
  57. siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +1 -1
  58. siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +1 -1
  59. siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +1 -1
  60. siliconcompiler/toolscripts/ubuntu20/install-magic.sh +1 -1
  61. siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +1 -1
  62. siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +1 -1
  63. siliconcompiler/toolscripts/ubuntu20/install-opensta.sh +5 -5
  64. siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +1 -1
  65. siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +1 -1
  66. siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +1 -1
  67. siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +1 -1
  68. siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +3 -3
  69. siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +1 -1
  70. siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +1 -1
  71. siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +1 -1
  72. siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +1 -1
  73. siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +1 -1
  74. siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +1 -1
  75. siliconcompiler/toolscripts/ubuntu22/install-keplerformal.sh +1 -1
  76. siliconcompiler/toolscripts/ubuntu22/install-magic.sh +1 -1
  77. siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +1 -1
  78. siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +1 -1
  79. siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +1 -1
  80. siliconcompiler/toolscripts/ubuntu22/install-opensta.sh +5 -5
  81. siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +1 -1
  82. siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +1 -1
  83. siliconcompiler/toolscripts/ubuntu22/install-surfer.sh +1 -1
  84. siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +1 -1
  85. siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +1 -1
  86. siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +1 -1
  87. siliconcompiler/toolscripts/ubuntu22/install-wildebeest.sh +1 -1
  88. siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +3 -3
  89. siliconcompiler/toolscripts/ubuntu22/install-yosys-moosic.sh +1 -1
  90. siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +1 -1
  91. siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +1 -1
  92. siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +1 -1
  93. siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +1 -1
  94. siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +1 -1
  95. siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +1 -1
  96. siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +1 -1
  97. siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +1 -1
  98. siliconcompiler/toolscripts/ubuntu24/install-keplerformal.sh +1 -1
  99. siliconcompiler/toolscripts/ubuntu24/install-magic.sh +1 -1
  100. siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +1 -1
  101. siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +1 -1
  102. siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +1 -1
  103. siliconcompiler/toolscripts/ubuntu24/install-opensta.sh +5 -5
  104. siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +1 -1
  105. siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +1 -1
  106. siliconcompiler/toolscripts/ubuntu24/install-surfer.sh +1 -1
  107. siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +1 -1
  108. siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +1 -1
  109. siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +1 -1
  110. siliconcompiler/toolscripts/ubuntu24/install-wildebeest.sh +1 -1
  111. siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +3 -3
  112. siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh +1 -1
  113. siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +1 -1
  114. siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +1 -1
  115. {siliconcompiler-0.36.2.dist-info → siliconcompiler-0.36.4.dist-info}/METADATA +4 -2
  116. {siliconcompiler-0.36.2.dist-info → siliconcompiler-0.36.4.dist-info}/RECORD +120 -112
  117. {siliconcompiler-0.36.2.dist-info → siliconcompiler-0.36.4.dist-info}/WHEEL +1 -1
  118. {siliconcompiler-0.36.2.dist-info → siliconcompiler-0.36.4.dist-info}/entry_points.txt +0 -0
  119. {siliconcompiler-0.36.2.dist-info → siliconcompiler-0.36.4.dist-info}/licenses/LICENSE +0 -0
  120. {siliconcompiler-0.36.2.dist-info → siliconcompiler-0.36.4.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,79 @@
1
+ import pya
2
+ import sys
3
+
4
+ import os.path
5
+
6
+
7
+ if __name__ == "__main__":
8
+ # SC_ROOT provided by CLI
9
+ sys.path.append(SC_KLAYOUT_ROOT) # noqa: F821
10
+ sys.path.append(SC_TOOLS_ROOT) # noqa: F821
11
+ sys.path.append(SC_ROOT) # noqa: F821
12
+
13
+ from klayout_utils import (
14
+ technology,
15
+ get_schema,
16
+ generate_metrics
17
+ )
18
+
19
+ from klayout_operations import (
20
+ read_layout,
21
+ write_stream
22
+ )
23
+
24
+ schema = get_schema(manifest='sc_manifest.json')
25
+
26
+ # Extract info from manifest
27
+ sc_step = schema.get('arg', 'step')
28
+ sc_index = schema.get('arg', 'index')
29
+ sc_tool = 'klayout'
30
+ sc_task = 'merge'
31
+
32
+ design_name = schema.get('option', 'design')
33
+ fileset = schema.get("option", "fileset")[0]
34
+ design = schema.get("library", design_name, "fileset", fileset, "topmodule")
35
+
36
+ ref_type, ref_source0, ref_source1 = schema.get("tool", sc_tool, "task", sc_task,
37
+ "var", "reference",
38
+ step=sc_step, index=sc_index)
39
+ if ref_type == 'input':
40
+ step, index = ref_source0, ref_source1
41
+ input_file = os.path.join('inputs', f"{design}.{ref_source0}{ref_source1}.gds")
42
+ else:
43
+ input_file = schema.get("library", ref_source0, "fileset", ref_source1, "file", "gds")[0]
44
+
45
+ merge_files = []
46
+ for merge_type, merge_source0, merge_source1, prefix in \
47
+ schema.get("tool", sc_tool, "task", sc_task, "var", "merge",
48
+ step=sc_step, index=sc_index):
49
+ if merge_type == 'input':
50
+ merge_file = os.path.join('inputs', f"{design}.{merge_source0}{merge_source1}.gds")
51
+ else:
52
+ merge_file = schema.get("library", merge_source0, "fileset", merge_source1,
53
+ "file", "gds")[0]
54
+ merge_files.append((prefix, merge_file))
55
+
56
+ tech = technology(design, schema)
57
+ base_layout = read_layout(input_file)
58
+ top_cell = base_layout.top_cell()
59
+ base_layout.technology_name = tech.name
60
+
61
+ for prefix, merge_file in merge_files:
62
+ print(f"[INFO] Merging file '{merge_file}' with prefix '{prefix}'")
63
+ merge_layout = read_layout(merge_file)
64
+
65
+ merge_top = merge_layout.top_cell()
66
+
67
+ new_cell_name = f"{prefix}{merge_top.name}"
68
+ if base_layout.cell(new_cell_name):
69
+ print(f"[WARN] Cell '{new_cell_name}' already exists in base layout. Skipping.")
70
+ continue
71
+ print(f"[INFO] Adding cell '{merge_top.name}' as '{new_cell_name}'")
72
+ new_cell = base_layout.create_cell(new_cell_name)
73
+ new_cell.copy_tree(merge_top)
74
+ cell_inst = pya.CellInstArray(new_cell.cell_index(), pya.Trans())
75
+ top_cell.insert(cell_inst)
76
+
77
+ write_stream(base_layout, f"outputs/{design}.gds", True)
78
+
79
+ generate_metrics()
@@ -1438,13 +1438,26 @@ class APRTask(OpenROADTask):
1438
1438
  libobj = self.project.get_library(lib)
1439
1439
  self.add_required_key(libobj, "fileset", fileset, "file", "sdc")
1440
1440
 
1441
+ load_tech = True
1441
1442
  if f"{self.design_topmodule}.odb" in self.get_files_from_input_nodes():
1442
1443
  self.add_input_file(ext="odb")
1444
+ load_tech = False
1443
1445
  elif f"{self.design_topmodule}.def" in self.get_files_from_input_nodes():
1444
1446
  self.add_input_file(ext="def")
1445
1447
  else:
1446
1448
  pass
1447
1449
 
1450
+ if load_tech:
1451
+ pdk = self.project.get_library(self.project.get("asic", "pdk"))
1452
+ for fs in pdk.get("pdk", "aprtechfileset", "openroad"):
1453
+ if pdk.has_file(fileset=fs, filetype="lef"):
1454
+ self.add_required_key(pdk, "fileset", fs, "file", "lef")
1455
+ for asiclib in self.project.get("asic", "asiclib"):
1456
+ lib = self.project.get_library(asiclib)
1457
+ for fs in lib.get("asic", "aprfileset"):
1458
+ if lib.has_file(fileset=fs, filetype="lef"):
1459
+ self.add_required_key(lib, "fileset", fs, "file", "lef")
1460
+
1448
1461
  def _add_pnr_outputs(self):
1449
1462
  if self.get("var", "load_sdcs"):
1450
1463
  self.add_output_file(ext="sdc")
@@ -46,6 +46,13 @@ if { [sc_cfg_tool_task_get var write_cdl] } {
46
46
  # Generate SPEF
47
47
  ###############################
48
48
 
49
+ set estimate_parasitics_args []
50
+ if { [sc_has_routing] || [sc_has_global_routing] } {
51
+ lappend estimate_parasitics_args -global_routing
52
+ } else {
53
+ lappend estimate_parasitics_args -placement
54
+ }
55
+
49
56
  if { [sc_cfg_tool_task_get var write_spef] } {
50
57
  set pexfileset [sc_cfg_get library $sc_pdk pdk pexmodelfileset openroad]
51
58
  # just need to define a corner
@@ -75,11 +82,11 @@ if { [sc_cfg_tool_task_get var write_spef] } {
75
82
  }
76
83
  } else {
77
84
  # estimate for metrics
78
- estimate_parasitics -global_routing
85
+ estimate_parasitics {*}$estimate_parasitics_args
79
86
  }
80
87
  } else {
81
88
  # estimate for metrics
82
- estimate_parasitics -global_routing
89
+ estimate_parasitics {*}$estimate_parasitics_args
83
90
  }
84
91
 
85
92
  ###############################
@@ -0,0 +1,55 @@
1
+ import shlex
2
+
3
+ from siliconcompiler.tools.verilator.compile import CompileTask
4
+ from siliconcompiler.tools._common.cocotb.cocotb_task import (
5
+ get_cocotb_config
6
+ )
7
+
8
+
9
+ class CocotbCompileTask(CompileTask):
10
+
11
+ def task(self):
12
+ return "cocotb_compile"
13
+
14
+ def _setup_c_file_requirement(self):
15
+ pass
16
+
17
+ def runtime_options(self):
18
+ options = super().runtime_options()
19
+
20
+ # Cocotb-specific flags
21
+ options.append('--vpi')
22
+ options.append('--public-flat-rw')
23
+ options.extend(['--prefix', 'Vtop'])
24
+
25
+ # Get cocotb configuration
26
+ libs_dir, lib_name, share_dir = get_cocotb_config("verilator")
27
+
28
+ # Link flags for cocotb VPI library
29
+ # lib_name is like "libcocotbvpi_verilator.so", but -l expects "cocotbvpi_verilator"
30
+ # Strip "lib" prefix and ".so" suffix
31
+ link_name = lib_name
32
+
33
+ if link_name.startswith('lib'):
34
+ link_name = link_name[3:]
35
+
36
+ if link_name.endswith('.so'):
37
+ link_name = link_name[:-3]
38
+ elif link_name.endswith('.dylib'):
39
+ link_name = link_name[:-6]
40
+ else:
41
+ raise RuntimeError
42
+
43
+ cocotb_flags = [
44
+ f'-Wl,-rpath,{libs_dir}',
45
+ f'-L{libs_dir}',
46
+ f'-l{link_name}'
47
+ ]
48
+
49
+ options.extend(['-LDFLAGS', shlex.join(cocotb_flags)])
50
+
51
+ # Add cocotb's verilator.cpp as the simulation main
52
+ verilator_cpp = f'{share_dir}/lib/verilator/verilator.cpp'
53
+ options.append(verilator_cpp)
54
+
55
+ return options
@@ -0,0 +1,52 @@
1
+ from typing import Optional, Union
2
+
3
+ from siliconcompiler.tools._common.cocotb.cocotb_task import CocotbTask
4
+ from siliconcompiler.tools.execute.exec_input import ExecInputTask
5
+
6
+
7
+ class CocotbExecTask(CocotbTask, ExecInputTask):
8
+
9
+ def __init__(self):
10
+ super().__init__()
11
+
12
+ self.add_parameter("trace", "bool",
13
+ 'Enable waveform tracing. The simulation must have been '
14
+ 'compiled with trace support enabled.',
15
+ defvalue=False)
16
+
17
+ self.add_parameter("trace_type", "<vcd,fst>",
18
+ 'Specifies type of wave file to create when [trace] is set.',
19
+ defvalue="vcd")
20
+
21
+ def set_cocotb_trace(
22
+ self,
23
+ enable: bool = True,
24
+ trace_type: str = "vcd",
25
+ step: Optional[str] = None,
26
+ index: Optional[Union[str, int]] = None
27
+ ):
28
+ self.set("var", "trace", enable, step=step, index=index)
29
+ self.set("var", "trace_type", trace_type, step=step, index=index)
30
+
31
+ def tool(self):
32
+ return "verilator"
33
+
34
+ def setup(self):
35
+ super().setup()
36
+
37
+ if self.get("var", "trace"):
38
+ self.add_required_key("var", "trace_type")
39
+
40
+ def runtime_options(self):
41
+ options = super().runtime_options()
42
+
43
+ # Add trace options if tracing is enabled
44
+ if self.get("var", "trace"):
45
+ options.append("--trace")
46
+
47
+ ext = self.get("var", "trace_type")
48
+
49
+ trace_file = f"reports/{self.design_topmodule}.{ext}"
50
+ options.extend(["--trace-file", trace_file])
51
+
52
+ return options
@@ -158,6 +158,17 @@ class CompileTask(VerilatorTask):
158
158
  def task(self):
159
159
  return "compile"
160
160
 
161
+ def _setup_c_file_requirement(self):
162
+ """Set up the C file requirement. Override in subclasses to customize."""
163
+ added_key = False
164
+ for lib, fileset in self.project.get_filesets():
165
+ if lib.has_file(fileset=fileset, filetype="c"):
166
+ self.add_required_key(lib, "fileset", fileset, "file", "c")
167
+ added_key = True
168
+ if not added_key:
169
+ self.add_required_key(self.project.design, "fileset",
170
+ self.project.get("option", "fileset")[0], "file", "c")
171
+
161
172
  def setup(self):
162
173
  super().setup()
163
174
  self.set_threads()
@@ -170,14 +181,7 @@ class CompileTask(VerilatorTask):
170
181
  self.add_required_key("var", "trace_type")
171
182
  self.add_required_key("var", "initialize_random")
172
183
 
173
- added_key = False
174
- for lib, fileset in self.project.get_filesets():
175
- if lib.has_file(fileset=fileset, filetype="c"):
176
- self.add_required_key(lib, "fileset", fileset, "file", "c")
177
- added_key = True
178
- if not added_key:
179
- self.add_required_key(self.project.design, "fileset",
180
- self.project.get("option", "fileset")[0], "file", "c")
184
+ self._setup_c_file_requirement()
181
185
 
182
186
  if self.get("var", "cincludes"):
183
187
  self.add_required_key("var", "cincludes")
@@ -257,7 +257,7 @@ class VPRTask(Task):
257
257
  super().setup()
258
258
 
259
259
  self.set_exe("vpr", vswitch="--version")
260
- self.add_version(">=v8.0.0-12677")
260
+ self.add_version(">=v8.0.0-15021")
261
261
 
262
262
  self.add_regex("warnings", "^Warning")
263
263
  self.add_regex("errors", "^Error")
@@ -461,7 +461,7 @@ foreach group "dontuse hold clkbuf clkgate clklogic" {
461
461
  }
462
462
  }
463
463
 
464
- yosys abc {*}$abc_args {*}$abc_dont_use
464
+ yosys abc -showtmp {*}$abc_args {*}$abc_dont_use
465
465
 
466
466
  ########################################################
467
467
  # Cleanup
@@ -241,9 +241,9 @@ class ASICSynthesis(_ASICTask, YosysTask):
241
241
  self.add_parameter(
242
242
  "synth_extra_map",
243
243
  "[file]",
244
- "Files used in synthesis to perform additional techmapping",
245
- "techmaps/lcu_kogge_stone.v",
246
- dataroot="yosys-techmaps")
244
+ "Files used in synthesis to perform additional techmapping")
245
+ # "techmaps/lcu_kogge_stone.v",
246
+ # dataroot="yosys-techmaps")
247
247
 
248
248
  def __init_hierarchy_parameter(self):
249
249
  self.add_parameter(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "openroad": {
3
3
  "git-url": "https://github.com/The-OpenROAD-Project/OpenROAD.git",
4
- "git-commit": "e7da048335b841ec917d0c421200f2b0eda54f2c",
4
+ "git-commit": "49a31384924a2c400ce27da80e270917ffddc2bb",
5
5
  "docker-cmds": [
6
6
  "# Remove OR-Tools files",
7
7
  "RUN rm -f $SC_PREFIX/Makefile $SC_PREFIX/README.md",
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "opensta": {
19
19
  "git-url": "https://github.com/parallaxsw/OpenSTA.git",
20
- "git-commit": "0429ac324b2cd4a12783e053b9c85f5d40f4cde8",
20
+ "git-commit": "0c6c3d3d35ca2c1a103702652ddb9ddba54347a8",
21
21
  "auto-update": true
22
22
  },
23
23
  "netgen": {
@@ -76,7 +76,7 @@
76
76
  },
77
77
  "vpr": {
78
78
  "git-url": "https://github.com/verilog-to-routing/vtr-verilog-to-routing.git",
79
- "git-commit": "7f476dbf780b845d07a7642366552e799df02c93",
79
+ "git-commit": "fe77ace273b3f0558763e0e91d409b2d13344eff",
80
80
  "auto-update": false
81
81
  },
82
82
  "icepack": {
@@ -168,7 +168,7 @@
168
168
  },
169
169
  "keplerformal": {
170
170
  "git-url": "https://github.com/keplertech/kepler-formal.git",
171
- "git-commit": "c1edd4a196536385255f4c882e4001d534d4638b",
171
+ "git-commit": "d647673f3b3960256069a79e8d92d36a3b89d9a4",
172
172
  "auto-update": false
173
173
  }
174
174
  }
@@ -27,7 +27,7 @@ wget http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz
27
27
  tar xvf gperf-3.1.tar.gz
28
28
  cd gperf-3.1
29
29
  ./configure $args
30
- make -j$(nproc)
30
+ make -j${NPROC:-$(nproc)}
31
31
  $SUDO_INSTALL make install
32
32
  cd ..
33
33
 
@@ -42,7 +42,7 @@ git checkout $(python3 ${src_path}/_tools.py --tool icarus --field git-commit)
42
42
 
43
43
  sh autoconf.sh
44
44
  ./configure $args
45
- make -j$(nproc)
45
+ make -j${NPROC:-$(nproc)}
46
46
  $SUDO_INSTALL make install
47
47
 
48
48
  cd -
@@ -28,5 +28,5 @@ if [ ! -z ${PREFIX} ]; then
28
28
  fi
29
29
 
30
30
  LD_FLAGS=-shared ./configure $args
31
- make -j$(nproc)
31
+ make -j${NPROC:-$(nproc)}
32
32
  $SUDO_INSTALL make install
@@ -28,5 +28,5 @@ if [ ! -z ${PREFIX} ]; then
28
28
  fi
29
29
 
30
30
  ./configure $args
31
- make -j$(nproc)
31
+ make -j${NPROC:-$(nproc)}
32
32
  $SUDO_INSTALL make install
@@ -26,7 +26,7 @@ cd surelog
26
26
  git checkout $(python3 ${src_path}/_tools.py --tool surelog --field git-commit)
27
27
  git submodule update --init --recursive
28
28
 
29
- scl run gcc-toolset-12 "LDFLAGS=\"-lrt\" make -j$(nproc)"
29
+ scl run gcc-toolset-12 "LDFLAGS=\"-lrt\" make -j${NPROC:-$(nproc)}"
30
30
 
31
31
  USE_SUDO_INSTALL="${USE_SUDO_INSTALL:-yes}"
32
32
  if [ "${USE_SUDO_INSTALL:-yes}" = "yes" ]; then
@@ -31,7 +31,7 @@ git clone $(python3 ${src_path}/_tools.py --tool sv2v --field git-url) sv2v
31
31
  cd sv2v
32
32
  git checkout $(python3 ${src_path}/_tools.py --tool sv2v --field git-commit)
33
33
 
34
- make -j$(nproc)
34
+ make -j${NPROC:-$(nproc)}
35
35
 
36
36
  if [ ! -z ${PREFIX} ]; then
37
37
  $SUDO_INSTALL mkdir -p ${PREFIX}/bin/
@@ -28,7 +28,7 @@ tar xvf help2man-1.43.3.tar.gz
28
28
  cd help2man-1.43.3
29
29
 
30
30
  ./configure $args
31
- make -j$(nproc)
31
+ make -j${NPROC:-$(nproc)}
32
32
  $SUDO_INSTALL make install
33
33
 
34
34
  cd ..
@@ -42,7 +42,7 @@ git checkout $(python3 ${src_path}/_tools.py --tool verilator --field git-commit
42
42
  autoconf
43
43
 
44
44
  ./configure $args
45
- make -j$(nproc)
45
+ make -j${NPROC:-$(nproc)}
46
46
  $SUDO_INSTALL make install
47
47
 
48
48
  cd -
@@ -51,7 +51,7 @@ cmake \
51
51
  -D TPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \
52
52
  -C "../cmake/trilinos/trilinos-base.cmake" \
53
53
  ..
54
- cmake --build . -j$(nproc)
54
+ cmake --build . -j${NPROC:-$(nproc)}
55
55
  $SUDO_INSTALL make install
56
56
  cd ../..
57
57
 
@@ -64,7 +64,7 @@ cmake \
64
64
  -D Trilinos_ROOT=$PREFIX/trilinos \
65
65
  -D BUILD_SHARED_LIBS=ON \
66
66
  ..
67
- cmake --build . -j$(nproc)
68
- cmake --build . -j$(nproc) --target xycecinterface
67
+ cmake --build . -j${NPROC:-$(nproc)}
68
+ cmake --build . -j${NPROC:-$(nproc)} --target xycecinterface
69
69
  $SUDO_INSTALL make install
70
70
  cd -
@@ -28,6 +28,6 @@ if [ ! -z ${PREFIX} ]; then
28
28
  fi
29
29
 
30
30
  ./configure $args
31
- make -j$(nproc)
31
+ make -j${NPROC:-$(nproc)}
32
32
  $SUDO_INSTALL make install
33
33
  cd -
@@ -32,7 +32,7 @@ wget http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz
32
32
  tar xvf gperf-3.1.tar.gz
33
33
  cd gperf-3.1
34
34
  ./configure $args
35
- make -j$(nproc)
35
+ make -j${NPROC:-$(nproc)}
36
36
  $SUDO_INSTALL make install
37
37
  cd ..
38
38
 
@@ -44,5 +44,5 @@ cd gtkwave3-gtk3
44
44
 
45
45
  ./autogen.sh
46
46
  LDFLAGS="-ltcl -ltk" ./configure --enable-gtk3 $args
47
- make -j$(nproc)
47
+ make -j${NPROC:-$(nproc)}
48
48
  $SUDO_INSTALL make install
@@ -27,7 +27,7 @@ wget http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz
27
27
  tar xvf gperf-3.1.tar.gz
28
28
  cd gperf-3.1
29
29
  ./configure $args
30
- make -j$(nproc)
30
+ make -j${NPROC:-$(nproc)}
31
31
  $SUDO_INSTALL make install
32
32
  cd ..
33
33
 
@@ -42,7 +42,7 @@ git checkout $(python3 ${src_path}/_tools.py --tool icarus --field git-commit)
42
42
 
43
43
  sh autoconf.sh
44
44
  ./configure $args
45
- make -j$(nproc)
45
+ make -j${NPROC:-$(nproc)}
46
46
  $SUDO_INSTALL make install
47
47
 
48
48
  cd -
@@ -28,5 +28,5 @@ if [ ! -z ${PREFIX} ]; then
28
28
  fi
29
29
 
30
30
  LD_FLAGS=-shared ./configure $args
31
- make -j$(nproc)
31
+ make -j${NPROC:-$(nproc)}
32
32
  $SUDO_INSTALL make install
@@ -28,5 +28,5 @@ if [ ! -z ${PREFIX} ]; then
28
28
  fi
29
29
 
30
30
  ./configure $args
31
- make -j$(nproc)
31
+ make -j${NPROC:-$(nproc)}
32
32
  $SUDO_INSTALL make install
@@ -37,7 +37,7 @@ if [ ! -z ${PREFIX} ]; then
37
37
  cmake_args="$cmake_args -DCMAKE_INSTALL_PREFIX=$PREFIX"
38
38
  fi
39
39
 
40
- ./etc/Build.sh -cmake="$cmake_args"
40
+ ./etc/Build.sh -cmake="$cmake_args" -threads=${NPROC:-$(nproc)}
41
41
 
42
42
  cd build
43
43
  $SUDO_INSTALL make install
@@ -40,7 +40,7 @@ cd eigen
40
40
  mkdir build
41
41
  cd build
42
42
  cmake $cmake_args ..
43
- make -j$(nproc)
43
+ make -j${NPROC:-$(nproc)}
44
44
  $SUDO_INSTALL make install
45
45
 
46
46
  cd ../../..
@@ -51,7 +51,7 @@ git clone --depth=1 -b 3.0.0 https://github.com/The-OpenROAD-Project/cudd.git
51
51
  cd cudd
52
52
  autoreconf
53
53
  ./configure $config_prefix
54
- make -j$(nproc)
54
+ make -j${NPROC:-$(nproc)}
55
55
  $SUDO_INSTALL make install
56
56
 
57
57
  cd ../..
@@ -65,8 +65,8 @@ wget https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-1
65
65
 
66
66
  ./autogen.sh
67
67
  ./configure $config_prefix
68
- make -j$(nproc)
69
- $SUDO_INSTALL make -j$(nproc) install
68
+ make -j${NPROC:-$(nproc)}
69
+ $SUDO_INSTALL make -j${NPROC:-$(nproc)} install
70
70
 
71
71
  cd ../..
72
72
  # opensta
@@ -78,7 +78,7 @@ git submodule update --init --recursive
78
78
  mkdir -p build
79
79
  cd build
80
80
  cmake .. $cmake_args
81
- make -j$(nproc)
81
+ make -j${NPROC:-$(nproc)}
82
82
  $SUDO_INSTALL make install
83
83
 
84
84
  cd -
@@ -25,7 +25,7 @@ cd surelog
25
25
  git checkout $(python3 ${src_path}/_tools.py --tool surelog --field git-commit)
26
26
  git submodule update --init --recursive
27
27
 
28
- scl run gcc-toolset-12 "LDFLAGS=\"-lrt\" make -j$(nproc)"
28
+ scl run gcc-toolset-12 "LDFLAGS=\"-lrt\" make -j${NPROC:-$(nproc)}"
29
29
 
30
30
  USE_SUDO_INSTALL="${USE_SUDO_INSTALL:-yes}"
31
31
  if [ "${USE_SUDO_INSTALL:-yes}" = "yes" ]; then
@@ -31,7 +31,7 @@ git clone $(python3 ${src_path}/_tools.py --tool sv2v --field git-url) sv2v
31
31
  cd sv2v
32
32
  git checkout $(python3 ${src_path}/_tools.py --tool sv2v --field git-commit)
33
33
 
34
- make -j$(nproc)
34
+ make -j${NPROC:-$(nproc)}
35
35
 
36
36
  if [ ! -z ${PREFIX} ]; then
37
37
  $SUDO_INSTALL mkdir -p ${PREFIX}/bin/
@@ -28,7 +28,7 @@ tar xvf help2man-1.43.3.tar.gz
28
28
  cd help2man-1.43.3
29
29
 
30
30
  ./configure $args
31
- make -j$(nproc)
31
+ make -j${NPROC:-$(nproc)}
32
32
  $SUDO_INSTALL make install
33
33
 
34
34
  cd ..
@@ -42,7 +42,7 @@ git checkout $(python3 ${src_path}/_tools.py --tool verilator --field git-commit
42
42
  autoconf
43
43
 
44
44
  ./configure $args
45
- make -j$(nproc)
45
+ make -j${NPROC:-$(nproc)}
46
46
  $SUDO_INSTALL make install
47
47
 
48
48
  cd -
@@ -31,6 +31,6 @@ if [ ! -z ${PREFIX} ]; then
31
31
  args="-DCMAKE_INSTALL_PREFIX=$PREFIX"
32
32
  fi
33
33
 
34
- make CMAKE_PARAMS="$args -DWITH_PARMYS=OFF -DWITH_ABC=OFF -DSLANG_SYSTEMVERILOG=OFF" -j$(nproc)
34
+ make CMAKE_PARAMS="$args -DWITH_PARMYS=OFF -DWITH_ABC=OFF -DSLANG_SYSTEMVERILOG=OFF" -j${NPROC:-$(nproc)}
35
35
  cd build
36
36
  $SUDO_INSTALL make install
@@ -19,7 +19,7 @@ cd wildebeest
19
19
  git checkout $(python3 ${src_path}/_tools.py --tool wildebeest --field git-commit)
20
20
 
21
21
  cmake -S . -B build
22
- cmake --build build
22
+ cmake --build build -j${NPROC:-$(nproc)}
23
23
 
24
24
  USE_SUDO_INSTALL="${USE_SUDO_INSTALL:-yes}"
25
25
  if [ "${USE_SUDO_INSTALL:-yes}" = "yes" ]; then
@@ -51,7 +51,7 @@ cmake \
51
51
  -D TPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \
52
52
  -C "../cmake/trilinos/trilinos-base.cmake" \
53
53
  ..
54
- cmake --build . -j$(nproc)
54
+ cmake --build . -j${NPROC:-$(nproc)}
55
55
  $SUDO_INSTALL make install
56
56
  cd ../..
57
57
 
@@ -64,7 +64,7 @@ cmake \
64
64
  -D Trilinos_ROOT=$PREFIX/trilinos \
65
65
  -D BUILD_SHARED_LIBS=ON \
66
66
  ..
67
- cmake --build . -j$(nproc)
68
- cmake --build . -j$(nproc) --target xycecinterface
67
+ cmake --build . -j${NPROC:-$(nproc)}
68
+ cmake --build . -j${NPROC:-$(nproc)} --target xycecinterface
69
69
  $SUDO_INSTALL make install
70
70
  cd -
@@ -21,6 +21,6 @@ git clone $(python3 ${src_path}/_tools.py --tool yosys-moosic --field git-url) y
21
21
  cd yosys-moosic
22
22
  git checkout $(python3 ${src_path}/_tools.py --tool yosys-moosic --field git-commit)
23
23
 
24
- make -j$(nproc)
24
+ make -j${NPROC:-$(nproc)}
25
25
  $SUDO_INSTALL make install
26
26
  cd -
@@ -19,7 +19,7 @@ cd yosys-slang
19
19
  git checkout $(python3 ${src_path}/_tools.py --tool yosys-slang --field git-commit)
20
20
  git submodule update --init --recursive
21
21
 
22
- make -j$(nproc)
22
+ make -j${NPROC:-$(nproc)}
23
23
 
24
24
  USE_SUDO_INSTALL="${USE_SUDO_INSTALL:-yes}"
25
25
  if [ "${USE_SUDO_INSTALL:-yes}" = "yes" ]; then
@@ -27,6 +27,6 @@ cd yosys
27
27
  git checkout $(python3 ${src_path}/_tools.py --tool yosys --field git-commit)
28
28
  git submodule update --init --recursive
29
29
 
30
- make -j$(nproc) PREFIX="$PREFIX"
30
+ make -j${NPROC:-$(nproc)} PREFIX="$PREFIX"
31
31
  $SUDO_INSTALL make install PREFIX="$PREFIX"
32
32
  cd -