siliconcompiler 0.32.1__py3-none-any.whl → 0.32.3__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 (187) hide show
  1. siliconcompiler/_metadata.py +3 -2
  2. siliconcompiler/apps/sc_install.py +13 -5
  3. siliconcompiler/apps/sc_remote.py +2 -1
  4. siliconcompiler/core.py +68 -55
  5. siliconcompiler/issue.py +3 -1
  6. siliconcompiler/remote/client.py +55 -16
  7. siliconcompiler/report/__init__.py +3 -2
  8. siliconcompiler/report/dashboard/__init__.py +61 -170
  9. siliconcompiler/report/dashboard/cli/__init__.py +788 -0
  10. siliconcompiler/report/dashboard/web/__init__.py +196 -0
  11. siliconcompiler/report/dashboard/{components → web/components}/__init__.py +4 -4
  12. siliconcompiler/report/dashboard/{components → web/components}/graph.py +1 -1
  13. siliconcompiler/report/dashboard/{layouts → web/layouts}/__init__.py +3 -3
  14. siliconcompiler/report/dashboard/{layouts → web/layouts}/_common.py +1 -1
  15. siliconcompiler/report/dashboard/{layouts → web/layouts}/vertical_flowgraph.py +5 -5
  16. siliconcompiler/report/dashboard/{layouts → web/layouts}/vertical_flowgraph_node_tab.py +6 -6
  17. siliconcompiler/report/dashboard/{layouts → web/layouts}/vertical_flowgraph_sac_tabs.py +6 -6
  18. siliconcompiler/report/dashboard/{viewer.py → web/viewer.py} +4 -4
  19. siliconcompiler/scheduler/__init__.py +44 -13
  20. siliconcompiler/scheduler/docker_runner.py +2 -1
  21. siliconcompiler/sphinx_ext/dynamicgen.py +11 -11
  22. siliconcompiler/templates/replay/replay.sh.j2 +2 -2
  23. siliconcompiler/templates/tcl/manifest.tcl.j2 +4 -120
  24. siliconcompiler/tools/_common/__init__.py +2 -0
  25. siliconcompiler/tools/_common/tcl/sc_schema_access.tcl +126 -0
  26. siliconcompiler/tools/openroad/_apr.py +7 -0
  27. siliconcompiler/tools/openroad/fillmetal_insertion.py +14 -14
  28. siliconcompiler/tools/openroad/scripts/apr/sc_antenna_repair.tcl +1 -1
  29. siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +1 -1
  30. siliconcompiler/tools/openroad/scripts/apr/sc_detailed_placement.tcl +1 -1
  31. siliconcompiler/tools/openroad/scripts/apr/sc_detailed_route.tcl +1 -1
  32. siliconcompiler/tools/openroad/scripts/apr/sc_endcap_tapcell_insertion.tcl +1 -1
  33. siliconcompiler/tools/openroad/scripts/apr/sc_fillercell_insertion.tcl +1 -1
  34. siliconcompiler/tools/openroad/scripts/apr/sc_fillmetal_insertion.tcl +2 -2
  35. siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +1 -1
  36. siliconcompiler/tools/openroad/scripts/apr/sc_global_route.tcl +1 -1
  37. siliconcompiler/tools/openroad/scripts/apr/sc_init_floorplan.tcl +1 -1
  38. siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +1 -1
  39. siliconcompiler/tools/openroad/scripts/apr/sc_metrics.tcl +1 -1
  40. siliconcompiler/tools/openroad/scripts/apr/sc_pin_placement.tcl +1 -1
  41. siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +1 -1
  42. siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +1 -1
  43. siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +54 -8
  44. siliconcompiler/tools/openroad/scripts/apr/sc_write_data.tcl +1 -1
  45. siliconcompiler/tools/openroad/scripts/common/procs.tcl +19 -1
  46. siliconcompiler/tools/openroad/scripts/common/reports.tcl +18 -7
  47. siliconcompiler/tools/openroad/scripts/sc_rcx.tcl +1 -1
  48. siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +1 -1
  49. siliconcompiler/tools/openroad/scripts/sc_show.tcl +1 -1
  50. siliconcompiler/tools/opensta/__init__.py +1 -1
  51. siliconcompiler/tools/opensta/scripts/sc_check_library.tcl +1 -1
  52. siliconcompiler/tools/opensta/scripts/sc_procs.tcl +16 -0
  53. siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +1 -1
  54. siliconcompiler/tools/opensta/scripts/sc_timing.tcl +35 -7
  55. siliconcompiler/tools/opensta/timing.py +6 -2
  56. siliconcompiler/tools/slang/__init__.py +7 -8
  57. siliconcompiler/tools/sv2v/sv2v.py +4 -1
  58. siliconcompiler/tools/yosys/__init__.py +4 -36
  59. siliconcompiler/tools/yosys/lec.py +3 -4
  60. siliconcompiler/tools/yosys/{syn_asic.tcl → sc_synth_asic.tcl} +87 -0
  61. siliconcompiler/tools/yosys/{syn_fpga.tcl → sc_synth_fpga.tcl} +78 -0
  62. siliconcompiler/tools/yosys/syn_asic.py +36 -11
  63. siliconcompiler/tools/yosys/syn_fpga.py +23 -16
  64. siliconcompiler/toolscripts/_tools.json +23 -9
  65. siliconcompiler/toolscripts/rhel8/install-chisel.sh +2 -0
  66. siliconcompiler/toolscripts/rhel8/install-icarus.sh +1 -0
  67. siliconcompiler/toolscripts/rhel8/install-klayout.sh +2 -0
  68. siliconcompiler/toolscripts/rhel8/install-magic.sh +1 -2
  69. siliconcompiler/toolscripts/rhel8/install-netgen.sh +1 -1
  70. siliconcompiler/toolscripts/rhel8/install-slang.sh +2 -0
  71. siliconcompiler/toolscripts/rhel8/install-surelog.sh +3 -1
  72. siliconcompiler/toolscripts/rhel8/install-sv2v.sh +1 -0
  73. siliconcompiler/toolscripts/rhel8/install-verible.sh +2 -0
  74. siliconcompiler/toolscripts/rhel8/install-verilator.sh +1 -0
  75. siliconcompiler/toolscripts/rhel8/install-xyce.sh +2 -0
  76. siliconcompiler/toolscripts/rhel9/install-chisel.sh +2 -0
  77. siliconcompiler/toolscripts/rhel9/install-ghdl.sh +1 -0
  78. siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +2 -1
  79. siliconcompiler/toolscripts/rhel9/install-icarus.sh +1 -0
  80. siliconcompiler/toolscripts/rhel9/install-klayout.sh +2 -0
  81. siliconcompiler/toolscripts/rhel9/install-magic.sh +1 -2
  82. siliconcompiler/toolscripts/rhel9/install-netgen.sh +1 -1
  83. siliconcompiler/toolscripts/rhel9/install-openroad.sh +2 -0
  84. siliconcompiler/toolscripts/rhel9/install-opensta.sh +76 -0
  85. siliconcompiler/toolscripts/rhel9/install-slang.sh +3 -1
  86. siliconcompiler/toolscripts/rhel9/install-surelog.sh +2 -1
  87. siliconcompiler/toolscripts/rhel9/install-sv2v.sh +1 -0
  88. siliconcompiler/toolscripts/rhel9/install-verible.sh +2 -0
  89. siliconcompiler/toolscripts/rhel9/install-verilator.sh +1 -0
  90. siliconcompiler/toolscripts/rhel9/install-vpr.sh +31 -0
  91. siliconcompiler/toolscripts/rhel9/install-xdm.sh +2 -0
  92. siliconcompiler/toolscripts/rhel9/install-xyce.sh +2 -0
  93. siliconcompiler/toolscripts/rhel9/install-yosys-moosic.sh +2 -0
  94. siliconcompiler/toolscripts/rhel9/install-yosys-parmys.sh +61 -0
  95. siliconcompiler/toolscripts/rhel9/install-yosys-slang.sh +3 -1
  96. siliconcompiler/toolscripts/rhel9/install-yosys.sh +2 -0
  97. siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +2 -0
  98. siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +2 -0
  99. siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +2 -0
  100. siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +2 -0
  101. siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +2 -0
  102. siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +2 -0
  103. siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +2 -0
  104. siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +2 -0
  105. siliconcompiler/toolscripts/ubuntu20/install-magic.sh +2 -0
  106. siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +2 -0
  107. siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +1 -3
  108. siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +2 -0
  109. siliconcompiler/toolscripts/ubuntu20/install-opensta.sh +72 -0
  110. siliconcompiler/toolscripts/ubuntu20/install-slang.sh +3 -1
  111. siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +2 -0
  112. siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +3 -1
  113. siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +1 -1
  114. siliconcompiler/toolscripts/ubuntu20/install-verible.sh +2 -0
  115. siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +2 -0
  116. siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +2 -0
  117. siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +2 -0
  118. siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +2 -0
  119. siliconcompiler/toolscripts/ubuntu20/install-yosys-moosic.sh +2 -0
  120. siliconcompiler/toolscripts/ubuntu20/install-yosys-parmys.sh +61 -0
  121. siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +2 -0
  122. siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +2 -0
  123. siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +27 -2
  124. siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +2 -0
  125. siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +4 -2
  126. siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +2 -0
  127. siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +2 -0
  128. siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +2 -0
  129. siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +2 -0
  130. siliconcompiler/toolscripts/ubuntu22/install-magic.sh +2 -0
  131. siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +2 -0
  132. siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +1 -2
  133. siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +2 -0
  134. siliconcompiler/toolscripts/ubuntu22/install-opensta.sh +72 -0
  135. siliconcompiler/toolscripts/ubuntu22/install-slang.sh +3 -1
  136. siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +2 -0
  137. siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +3 -1
  138. siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +1 -1
  139. siliconcompiler/toolscripts/ubuntu22/install-verible.sh +2 -0
  140. siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +2 -0
  141. siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +2 -0
  142. siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +2 -0
  143. siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +2 -0
  144. siliconcompiler/toolscripts/ubuntu22/install-yosys-moosic.sh +2 -0
  145. siliconcompiler/toolscripts/ubuntu22/install-yosys-parmys.sh +61 -0
  146. siliconcompiler/toolscripts/ubuntu22/install-yosys-slang.sh +3 -1
  147. siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +2 -0
  148. siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +2 -0
  149. siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +2 -0
  150. siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +2 -0
  151. siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +4 -2
  152. siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +2 -0
  153. siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +2 -0
  154. siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +2 -0
  155. siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +2 -0
  156. siliconcompiler/toolscripts/ubuntu24/install-magic.sh +2 -0
  157. siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +2 -0
  158. siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +1 -3
  159. siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +2 -0
  160. siliconcompiler/toolscripts/ubuntu24/install-opensta.sh +72 -0
  161. siliconcompiler/toolscripts/ubuntu24/install-slang.sh +3 -1
  162. siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +2 -0
  163. siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +3 -1
  164. siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +1 -1
  165. siliconcompiler/toolscripts/ubuntu24/install-verible.sh +2 -0
  166. siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +2 -0
  167. siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +2 -0
  168. siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +2 -0
  169. siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +2 -0
  170. siliconcompiler/toolscripts/ubuntu24/install-yosys-moosic.sh +2 -0
  171. siliconcompiler/toolscripts/ubuntu24/install-yosys-parmys.sh +61 -0
  172. siliconcompiler/toolscripts/ubuntu24/install-yosys-slang.sh +3 -1
  173. siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +2 -0
  174. siliconcompiler/utils/__init__.py +4 -1
  175. siliconcompiler/utils/logging.py +88 -34
  176. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info}/METADATA +14 -10
  177. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info}/RECORD +185 -175
  178. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info}/WHEEL +1 -1
  179. siliconcompiler/tools/yosys/sc_syn.tcl +0 -87
  180. siliconcompiler/toolscripts/ubuntu20/install-yosys-slang.sh +0 -22
  181. /siliconcompiler/report/dashboard/{components → web/components}/flowgraph.py +0 -0
  182. /siliconcompiler/report/dashboard/{state.py → web/state.py} +0 -0
  183. /siliconcompiler/report/dashboard/{utils → web/utils}/__init__.py +0 -0
  184. /siliconcompiler/report/dashboard/{utils → web/utils}/file_utils.py +0 -0
  185. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info}/entry_points.txt +0 -0
  186. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info/licenses}/LICENSE +0 -0
  187. {siliconcompiler-0.32.1.dist-info → siliconcompiler-0.32.3.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- from siliconcompiler.tools.yosys import syn_setup, syn_post_process
1
+ from siliconcompiler.tools.yosys import synth_post_process, setup as tool_setup
2
2
  import json
3
3
  from siliconcompiler import sc_open
4
4
  from siliconcompiler.tools._common import get_tool_task, record_metric
@@ -18,23 +18,32 @@ def setup(chip):
18
18
  Perform FPGA synthesis
19
19
  '''
20
20
 
21
- # Generic synthesis task setup.
22
- syn_setup(chip)
23
-
24
- # FPGA-specific setup.
25
- setup_fpga(chip)
26
-
21
+ tool_setup(chip)
27
22
 
28
- def setup_fpga(chip):
29
- ''' Helper method for configs specific to FPGA steps (both syn and lec).
30
- '''
31
-
32
- tool = 'yosys'
23
+ # Generic synthesis task setup.
33
24
  step = chip.get('arg', 'step')
34
25
  index = chip.get('arg', 'index')
35
- _, task = get_tool_task(chip, step, index)
26
+ tool, task = get_tool_task(chip, step, index)
36
27
  design = chip.top()
37
28
 
29
+ # Set yosys script path.
30
+ chip.set('tool', tool, 'task', task, 'script', 'sc_synth_fpga.tcl',
31
+ step=step, index=index, clobber=False)
32
+
33
+ # Input/output requirements.
34
+ chip.set('tool', tool, 'task', task, 'input', design + '.v', step=step, index=index)
35
+ chip.set('tool', tool, 'task', task, 'output', design + '.vg', step=step, index=index)
36
+ chip.add('tool', tool, 'task', task, 'output', design + '.netlist.json', step=step, index=index)
37
+ chip.add('tool', tool, 'task', task, 'output', design + '.blif', step=step, index=index)
38
+
39
+ chip.set('tool', tool, 'task', task, 'var', 'use_slang', False,
40
+ step=step, index=index,
41
+ clobber=False)
42
+ chip.set('tool', tool, 'task', task, 'var', 'use_slang',
43
+ 'true/false, if true will attempt to use the slang frontend',
44
+ field='help')
45
+
46
+ # Setup FPGA params
38
47
  part_name = chip.get('fpga', 'partname')
39
48
 
40
49
  # Require that a lut size is set for FPGA scripts.
@@ -93,8 +102,6 @@ def setup_fpga(chip):
93
102
  ",".join(['fpga', part_name, 'file', 'yosys_memory_techmap']),
94
103
  step=step, index=index)
95
104
 
96
- chip.add('tool', tool, 'task', task, 'output', design + '.blif', step=step, index=index)
97
-
98
105
 
99
106
  ##################################################
100
107
  def post_process(chip):
@@ -102,7 +109,7 @@ def post_process(chip):
102
109
  index = chip.get('arg', 'index')
103
110
  part_name = chip.get('fpga', 'partname')
104
111
 
105
- syn_post_process(chip)
112
+ synth_post_process(chip)
106
113
 
107
114
  with sc_open("reports/stat.json") as f:
108
115
  metrics = json.load(f)
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "openroad": {
3
3
  "git-url": "https://github.com/The-OpenROAD-Project/OpenROAD.git",
4
- "git-commit": "c2eb4321bdfcbf353eaf72b7d37bb57071500a59",
4
+ "git-commit": "e78e29127134a0b95ebcd5661895c6dc4651e641",
5
5
  "docker-cmds": [
6
6
  "# Remove OR-Tools files",
7
7
  "RUN rm -f $SC_PREFIX/Makefile $SC_PREFIX/README.md",
@@ -15,6 +15,11 @@
15
15
  "git-commit": "v1.84",
16
16
  "auto-update": true
17
17
  },
18
+ "opensta": {
19
+ "git-url": "https://github.com/parallaxsw/OpenSTA.git",
20
+ "git-commit": "109bc9ab5e35b830db9569f741db09e468704e6b",
21
+ "auto-update": true
22
+ },
18
23
  "netgen": {
19
24
  "git-url": "https://github.com/RTimothyEdwards/netgen.git",
20
25
  "git-commit": "fb7876c7a6f9d58a3d88a49e302e682c1d12e00d",
@@ -22,7 +27,7 @@
22
27
  },
23
28
  "ghdl": {
24
29
  "git-url": "https://github.com/ghdl/ghdl.git",
25
- "git-commit": "v4.1.0",
30
+ "git-commit": "v5.0.1",
26
31
  "auto-update": false
27
32
  },
28
33
  "magic": {
@@ -36,7 +41,7 @@
36
41
  "auto-update": false
37
42
  },
38
43
  "klayout": {
39
- "version": "0.29.12",
44
+ "version": "0.30.0",
40
45
  "git-url": "https://github.com/KLayout/klayout.git",
41
46
  "docker-skip": true,
42
47
  "auto-update": true,
@@ -45,7 +50,7 @@
45
50
  },
46
51
  "sv2v": {
47
52
  "git-url": "https://github.com/zachjs/sv2v.git",
48
- "git-commit": "5d5723f65dd4501d17004736d7d048bea7ef2339",
53
+ "git-commit": "d30c7e7f4e9018b9d4a565207ff752460c81eeb4",
49
54
  "auto-update": true
50
55
  },
51
56
  "verilator": {
@@ -66,17 +71,17 @@
66
71
  },
67
72
  "vpr": {
68
73
  "git-url": "https://github.com/verilog-to-routing/vtr-verilog-to-routing.git",
69
- "git-commit": "v9.0.0",
74
+ "git-commit": "2a4e92181280a235315621253d1dc9eb8826bc53",
70
75
  "auto-update": false
71
76
  },
72
77
  "icepack": {
73
78
  "git-url": "https://github.com/YosysHQ/icestorm.git",
74
- "git-commit": "d20a5e9001f46262bf0cef220f1a6943946e421d",
79
+ "git-commit": "7fbf8c0afbcf7665c45499b090409859b1815184",
75
80
  "auto-update": false
76
81
  },
77
82
  "nextpnr": {
78
83
  "git-url": "https://github.com/YosysHQ/nextpnr.git",
79
- "git-commit": "f89b959b5f56ba8d91e1e7f8a645b267a5a7bb89",
84
+ "git-commit": "nextpnr-0.7",
80
85
  "docker-depends": "icepack"
81
86
  },
82
87
  "chisel": {
@@ -91,7 +96,7 @@
91
96
  },
92
97
  "yosys": {
93
98
  "git-url": "https://github.com/YosysHQ/yosys.git",
94
- "git-commit": "v0.51",
99
+ "git-commit": "v0.52",
95
100
  "version-prefix": "",
96
101
  "auto-update": true
97
102
  },
@@ -139,7 +144,7 @@
139
144
  },
140
145
  "yosys-slang": {
141
146
  "git-url": "https://github.com/povik/yosys-slang.git",
142
- "git-commit": "8f2239b2b12dac43f8f47f56deef1095d5262fa2",
147
+ "git-commit": "a95ef24f0307230ae25ea6f2216d2fe8b8ece0be",
143
148
  "docker-depends": "yosys",
144
149
  "auto-update": true
145
150
  },
@@ -148,5 +153,14 @@
148
153
  "git-commit": "5dd1d8a60d0cc7228be856350bb90faad24dae9e",
149
154
  "docker-depends": "yosys",
150
155
  "auto-update": true
156
+ },
157
+ "yosys-parmys": {
158
+ "git-url": "https://github.com/verilog-to-routing/vtr-verilog-to-routing.git",
159
+ "git-commit": "2a4e92181280a235315621253d1dc9eb8826bc53",
160
+ "docker-depends": [
161
+ "yosys",
162
+ "vpr"
163
+ ],
164
+ "auto-update": false
151
165
  }
152
166
  }
@@ -5,6 +5,8 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y wget
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
@@ -6,6 +6,7 @@ set -e
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
8
  sudo yum group install -y "Development Tools"
9
+ sudo yum install -y wget git
9
10
 
10
11
  args=
11
12
  if [ ! -z ${PREFIX} ]; then
@@ -5,6 +5,8 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y wget
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
@@ -6,8 +6,7 @@ set -e
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
8
  sudo yum group install -y "Development Tools"
9
- sudo yum install -y tcl-devel tk-devel tcsh csh
10
- # sudo apt-get install -y build-essential m4 tcsh csh libx11-dev tcl-dev tk-dev
9
+ sudo yum install -y tcl-devel tk-devel tcsh csh git
11
10
 
12
11
  mkdir -p deps
13
12
  cd deps
@@ -6,7 +6,7 @@ set -e
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
8
  sudo yum group install -y "Development Tools"
9
- sudo yum install -y tcl-devel tk-devel
9
+ sudo yum install -y tcl-devel tk-devel git
10
10
 
11
11
  mkdir -p deps
12
12
  cd deps
@@ -5,6 +5,8 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y git
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
@@ -5,6 +5,8 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y git
9
+
8
10
  # These dependencies are up-to-date with instructions from the INSTALL.md from the commit we are pinned to below
9
11
  sudo yum install -y gcc-toolset-12
10
12
  sudo dnf config-manager --set-enabled devel || true
@@ -17,7 +19,7 @@ cd deps
17
19
  python3 -m venv .surelog --clear
18
20
  . .surelog/bin/activate
19
21
  python3 -m pip install --upgrade pip
20
- python3 -m pip install cmake
22
+ python3 -m pip install cmake==3.28.4
21
23
  python3 -m pip install orderedmultidict
22
24
 
23
25
  git clone $(python3 ${src_path}/_tools.py --tool surelog --field git-url) surelog
@@ -8,6 +8,7 @@ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
8
8
  mkdir -p deps
9
9
  cd deps
10
10
 
11
+ sudo yum install -y git curl
11
12
  sudo yum group install -y "Development Tools"
12
13
  sudo yum install -y gmp-devel xz
13
14
 
@@ -5,6 +5,8 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y wget
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
@@ -6,6 +6,7 @@ set -e
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
8
  sudo yum group install -y "Development Tools"
9
+ sudo yum install -y git wget
9
10
 
10
11
  mkdir -p deps
11
12
  cd deps
@@ -5,6 +5,8 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y wget
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
@@ -5,6 +5,8 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y wget
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
@@ -6,6 +6,7 @@ set -e
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
8
  sudo yum install -y gcc-gnat zlib-devel diffutils
9
+ sudo yum install -y git
9
10
 
10
11
  mkdir -p deps
11
12
  cd deps
@@ -8,6 +8,7 @@ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
8
8
  sudo yum group install -y "Development Tools"
9
9
  sudo yum install -y gtk3-devel \
10
10
  bzip2-devel xz-devel tcl-devel tk-devel
11
+ sudo yum install -y wget git
11
12
  sudo dnf config-manager --set-enabled devel || true
12
13
  sudo yum install -y Judy-devel
13
14
  sudo dnf config-manager --set-disabled devel || true
@@ -35,6 +36,6 @@ git checkout $(python3 ${src_path}/_tools.py --tool gtkwave --field git-commit)
35
36
  cd gtkwave3-gtk3
36
37
 
37
38
  ./autogen.sh
38
- ./configure --enable-gtk3 $args
39
+ LDFLAGS="-ltcl -ltk" ./configure --enable-gtk3 $args
39
40
  make -j$(nproc)
40
41
  sudo make install
@@ -6,6 +6,7 @@ set -e
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
8
  sudo yum group install -y "Development Tools"
9
+ sudo yum install -y wget git
9
10
 
10
11
  args=
11
12
  if [ ! -z ${PREFIX} ]; then
@@ -5,6 +5,8 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y wget
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
@@ -6,8 +6,7 @@ set -e
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
8
  sudo yum group install -y "Development Tools"
9
- sudo yum install -y tcl-devel tk-devel tcsh csh
10
- # sudo apt-get install -y build-essential m4 tcsh csh libx11-dev tcl-dev tk-dev
9
+ sudo yum install -y tcl-devel tk-devel tcsh csh git
11
10
 
12
11
  mkdir -p deps
13
12
  cd deps
@@ -6,7 +6,7 @@ set -e
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
8
  sudo yum group install -y "Development Tools"
9
- sudo yum install -y tcl-devel tk-devel
9
+ sudo yum install -y tcl-devel tk-devel git
10
10
 
11
11
  mkdir -p deps
12
12
  cd deps
@@ -4,6 +4,8 @@ set -e
4
4
 
5
5
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
6
6
 
7
+ sudo yum install -y git
8
+
7
9
  mkdir -p deps
8
10
  cd deps
9
11
 
@@ -0,0 +1,76 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
6
+
7
+ sudo yum install -y git gcc-c++ wget
8
+ sudo yum install -y tcl-tclreadline-devel \
9
+ bison flex zlib-devel automake autoconf
10
+ sudo yum install -y \
11
+ https://mirror.stream.centos.org/9-stream/AppStream/x86_64/os/Packages/flex-2.6.4-9.el9.x86_64.rpm \
12
+ https://mirror.stream.centos.org/9-stream/AppStream/x86_64/os/Packages/readline-devel-8.1-4.el9.x86_64.rpm \
13
+ https://rpmfind.net/linux/centos-stream/9-stream/AppStream/x86_64/os/Packages/tcl-devel-8.6.10-7.el9.x86_64.rpm
14
+
15
+ mkdir -p deps
16
+ cd deps
17
+
18
+ python3 -m venv .opensta --clear
19
+ . .opensta/bin/activate
20
+ python3 -m pip install cmake==3.31.6
21
+
22
+ if [ ! -z ${PREFIX} ]; then
23
+ cmake_args="-DCMAKE_INSTALL_PREFIX=$PREFIX"
24
+ config_prefix="--prefix=$PREFIX"
25
+ fi
26
+
27
+ # eigen
28
+ mkdir -p eigen3
29
+ cd eigen3
30
+ git clone --depth=1 -b 3.4 https://gitlab.com/libeigen/eigen.git
31
+ cd eigen
32
+ mkdir build
33
+ cd build
34
+ cmake $cmake_args ..
35
+ make -j$(nproc)
36
+ sudo make install
37
+
38
+ cd ../../..
39
+ # cudd
40
+ mkdir -p cudd
41
+ cd cudd
42
+ git clone --depth=1 -b 3.0.0 https://github.com/The-OpenROAD-Project/cudd.git
43
+ cd cudd
44
+ autoreconf
45
+ ./configure $config_prefix
46
+ make -j$(nproc)
47
+ sudo make install
48
+
49
+ cd ../..
50
+ #swig
51
+ wget -O swig.tar.gz https://github.com/swig/swig/archive/v4.1.0.tar.gz
52
+ tar xfz swig.tar.gz
53
+ cd swig-4.1.0
54
+
55
+ wget https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.gz
56
+ ./Tools/pcre-build.sh
57
+
58
+ ./autogen.sh
59
+ ./configure $config_prefix
60
+ make -j$(nproc)
61
+ sudo make -j$(nproc) install
62
+
63
+ cd ../..
64
+ # opensta
65
+ git clone $(python3 ${src_path}/_tools.py --tool opensta --field git-url) opensta
66
+ cd opensta
67
+ git checkout $(python3 ${src_path}/_tools.py --tool opensta --field git-commit)
68
+ git submodule update --init --recursive
69
+
70
+ mkdir -p build
71
+ cd build
72
+ cmake .. $cmake_args
73
+ make -j$(nproc)
74
+ sudo make install
75
+
76
+ cd -
@@ -5,13 +5,15 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y git
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
11
13
  python3 -m venv .slang --clear
12
14
  . .slang/bin/activate
13
15
  python3 -m pip install --upgrade pip
14
- python3 -m pip install cmake
16
+ python3 -m pip install cmake==3.31.6
15
17
 
16
18
  sudo yum install -y gcc-toolset-12
17
19
 
@@ -10,6 +10,7 @@ sudo yum install -y gcc-toolset-12
10
10
  sudo dnf config-manager --set-enabled devel || true
11
11
  sudo yum install -y libuuid-devel java-11-openjdk-devel python3 zlib-static openssl-devel
12
12
  sudo dnf config-manager --set-disabled devel || true
13
+ sudo yum install -y git
13
14
 
14
15
  mkdir -p deps
15
16
  cd deps
@@ -17,7 +18,7 @@ cd deps
17
18
  python3 -m venv .surelog --clear
18
19
  . .surelog/bin/activate
19
20
  python3 -m pip install --upgrade pip
20
- python3 -m pip install cmake
21
+ python3 -m pip install cmake==3.31.6
21
22
  python3 -m pip install orderedmultidict
22
23
 
23
24
  git clone $(python3 ${src_path}/_tools.py --tool surelog --field git-url) surelog
@@ -8,6 +8,7 @@ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
8
8
  mkdir -p deps
9
9
  cd deps
10
10
 
11
+ sudo yum install -y --skip-broken git curl
11
12
  sudo yum group install -y "Development Tools"
12
13
  sudo yum install -y gmp-devel xz
13
14
 
@@ -5,6 +5,8 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y wget
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
@@ -6,6 +6,7 @@ set -e
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
8
  sudo yum group install -y "Development Tools"
9
+ sudo yum install -y git wget
9
10
 
10
11
  mkdir -p deps
11
12
  cd deps
@@ -0,0 +1,31 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo yum install -y git wget
9
+
10
+ mkdir -p deps
11
+ cd deps
12
+
13
+ git clone $(python3 ${src_path}/_tools.py --tool vpr --field git-url) vpr
14
+ cd vpr
15
+ git checkout $(python3 ${src_path}/_tools.py --tool vpr --field git-commit)
16
+ git submodule update --init --recursive
17
+
18
+ sudo dnf config-manager --set-enabled devel || true
19
+ ./install_dnf_packages.sh
20
+
21
+ sudo yum install -y tbb-devel
22
+ sudo dnf config-manager --set-disabled devel || true
23
+
24
+ args=
25
+ if [ ! -z ${PREFIX} ]; then
26
+ args="-DCMAKE_INSTALL_PREFIX=$PREFIX"
27
+ fi
28
+
29
+ make CMAKE_PARAMS="$args -DWITH_PARMYS=OFF -DWITH_ABC=OFF -DYOSYS_F4PGA_PLUGINS=OFF" -j$(nproc)
30
+ cd build
31
+ sudo make install
@@ -10,6 +10,8 @@ sudo dnf config-manager --set-enabled devel || true
10
10
  sudo yum install -y boost boost-python3-devel cmake python-devel
11
11
  dnf config-manager --set-disabled devel || true
12
12
 
13
+ sudo yum install -y git
14
+
13
15
  mkdir -p deps
14
16
  cd deps
15
17
 
@@ -20,6 +20,8 @@ sudo yum install -y gcc gcc-c++ gcc-gfortran blas blas-devel \
20
20
  git
21
21
  sudo dnf config-manager --set-disabled devel || true
22
22
 
23
+ sudo yum install -y wget
24
+
23
25
  # Download Trilinos.
24
26
  ## Version specified in: https://github.com/Xyce/Xyce/blob/master/INSTALL.md#building-trilinos
25
27
  trilinos_version=14-4-0
@@ -5,6 +5,8 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y git
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
@@ -0,0 +1,61 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ # Get directory of script
6
+ src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
+
8
+ sudo yum install -y git
9
+
10
+ mkdir -p deps
11
+ cd deps
12
+
13
+ git clone $(python3 ${src_path}/_tools.py --tool yosys-parmys --field git-url) yosys-parmys
14
+ cd yosys-parmys
15
+ git checkout $(python3 ${src_path}/_tools.py --tool yosys-parmys --field git-commit)
16
+ git submodule update --init --recursive
17
+
18
+ # apply patch
19
+ cat > build_patch <<EOF
20
+ diff --git a/parmys/parmys-plugin/Makefile b/parmys/parmys-plugin/Makefile
21
+ index dbb3eb11e..cb85631bc 100644
22
+ --- a/parmys/parmys-plugin/Makefile
23
+ +++ b/parmys/parmys-plugin/Makefile
24
+ @@ -49,7 +49,7 @@ VTR_INSTALL_DIR ?= /usr/local
25
+
26
+ include ../Makefile_plugin.common
27
+
28
+ -CXXFLAGS += -std=c++14 -Wall -W -Wextra \\
29
+ +CXXFLAGS += -std=c++17 -Wall -W -Wextra \\
30
+ -Wno-deprecated-declarations \\
31
+ -Wno-unused-parameter \\
32
+ -I. \\
33
+ diff --git a/parmys/parmys-plugin/parmys_update.cc b/parmys/parmys-plugin/parmys_update.cc
34
+ index ef55213c5..4e4d6dd15 100644
35
+ --- a/parmys/parmys-plugin/parmys_update.cc
36
+ +++ b/parmys/parmys-plugin/parmys_update.cc
37
+ @@ -506,9 +506,9 @@ void define_logical_function_yosys(nnode_t *node, Module *module)
38
+ lutptr = &cell->parameters.at(ID::LUT);
39
+ for (int i = 0; i < (1 << node->num_input_pins); i++) {
40
+ if (i == 3 || i == 5 || i == 6 || i == 7) //"011 1\n101 1\n110 1\n111 1\n"
41
+ - lutptr->bits.at(i) = RTLIL::State::S1;
42
+ + lutptr->bits().at(i) = RTLIL::State::S1;
43
+ else
44
+ - lutptr->bits.at(i) = RTLIL::State::S0;
45
+ + lutptr->bits().at(i) = RTLIL::State::S0;
46
+ }
47
+ } else {
48
+ cell->parameters[ID::A_WIDTH] = RTLIL::Const(int(node->num_input_pins));
49
+ EOF
50
+
51
+ git apply build_patch
52
+
53
+ export VTR_INSTALL_DIR=$(dirname $(which vpr))/..
54
+ YOSYS_PLUGIN=$(yosys-config --datdir)/plugins/
55
+
56
+ cd parmys
57
+
58
+ make -j$(nproc)
59
+ sudo mkdir -p $YOSYS_PLUGIN
60
+ sudo cp parmys-plugin/build/parmys.so $YOSYS_PLUGIN
61
+ cd -
@@ -5,12 +5,14 @@ set -e
5
5
  # Get directory of script
6
6
  src_path=$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)/..
7
7
 
8
+ sudo yum install -y git
9
+
8
10
  mkdir -p deps
9
11
  cd deps
10
12
 
11
13
  python3 -m venv .yosys-slang --clear
12
14
  . .yosys-slang/bin/activate
13
- python3 -m pip install cmake
15
+ python3 -m pip install cmake==3.31.6
14
16
 
15
17
  git clone $(python3 ${src_path}/_tools.py --tool yosys-slang --field git-url) yosys-slang
16
18
  cd yosys-slang
@@ -10,6 +10,8 @@ sudo yum group install -y "Development Tools"
10
10
  sudo yum install -y bison flex readline-devel gawk \
11
11
  tcl-devel libffi-devel zlib-devel boost-devel
12
12
 
13
+ sudo yum install -y git
14
+
13
15
  mkdir -p deps
14
16
  cd deps
15
17