siliconcompiler 0.29.1__py3-none-any.whl → 0.29.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 (81) hide show
  1. siliconcompiler/_metadata.py +1 -1
  2. siliconcompiler/apps/sc_install.py +2 -2
  3. siliconcompiler/core.py +18 -8
  4. siliconcompiler/flowgraph.py +23 -5
  5. siliconcompiler/scheduler/__init__.py +21 -9
  6. siliconcompiler/tools/__init__.py +2 -0
  7. siliconcompiler/tools/_common/asic.py +70 -0
  8. siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +2 -2
  9. siliconcompiler/tools/bambu/convert.py +2 -1
  10. siliconcompiler/tools/bluespec/convert.py +2 -1
  11. siliconcompiler/tools/chisel/convert.py +2 -1
  12. siliconcompiler/tools/genfasm/bitstream.py +2 -2
  13. siliconcompiler/tools/ghdl/convert.py +2 -2
  14. siliconcompiler/tools/gtkwave/__init__.py +39 -0
  15. siliconcompiler/tools/gtkwave/scripts/sc_show.tcl +34 -0
  16. siliconcompiler/tools/gtkwave/show.py +71 -0
  17. siliconcompiler/tools/icarus/compile.py +6 -2
  18. siliconcompiler/tools/klayout/drc.py +2 -1
  19. siliconcompiler/tools/magic/magic.py +1 -1
  20. siliconcompiler/tools/netgen/lvs.py +2 -1
  21. siliconcompiler/tools/openroad/_apr.py +14 -5
  22. siliconcompiler/tools/openroad/global_placement.py +23 -2
  23. siliconcompiler/tools/openroad/rdlroute.py +2 -2
  24. siliconcompiler/tools/openroad/scripts/apr/sc_clock_tree_synthesis.tcl +1 -1
  25. siliconcompiler/tools/openroad/scripts/apr/sc_global_placement.tcl +64 -1
  26. siliconcompiler/tools/openroad/scripts/apr/sc_macro_placement.tcl +78 -94
  27. siliconcompiler/tools/openroad/scripts/apr/sc_power_grid.tcl +11 -1
  28. siliconcompiler/tools/openroad/scripts/apr/sc_repair_design.tcl +4 -0
  29. siliconcompiler/tools/openroad/scripts/apr/sc_repair_timing.tcl +7 -1
  30. siliconcompiler/tools/openroad/scripts/common/procs.tcl +39 -3
  31. siliconcompiler/tools/openroad/scripts/common/reports.tcl +4 -0
  32. siliconcompiler/tools/openroad/scripts/common/write_data.tcl +2 -5
  33. siliconcompiler/tools/openroad/scripts/common/write_data_physical.tcl +3 -0
  34. siliconcompiler/tools/openroad/scripts/common/write_data_timing.tcl +1 -0
  35. siliconcompiler/tools/openroad/scripts/common/write_images.tcl +10 -1
  36. siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +1 -1
  37. siliconcompiler/tools/opensta/__init__.py +2 -2
  38. siliconcompiler/tools/opensta/report_libraries.py +2 -2
  39. siliconcompiler/tools/opensta/timing.py +2 -1
  40. siliconcompiler/tools/slang/__init__.py +78 -2
  41. siliconcompiler/tools/slang/elaborate.py +46 -0
  42. siliconcompiler/tools/slang/lint.py +10 -76
  43. siliconcompiler/tools/surelog/parse.py +1 -1
  44. siliconcompiler/tools/sv2v/convert.py +2 -2
  45. siliconcompiler/tools/template/template.py +2 -2
  46. siliconcompiler/tools/verilator/compile.py +11 -0
  47. siliconcompiler/tools/verilator/verilator.py +3 -2
  48. siliconcompiler/tools/vivado/vivado.py +2 -1
  49. siliconcompiler/tools/vpr/place.py +2 -2
  50. siliconcompiler/tools/vpr/route.py +2 -2
  51. siliconcompiler/tools/vpr/show.py +2 -1
  52. siliconcompiler/tools/yosys/syn_asic.py +8 -0
  53. siliconcompiler/tools/yosys/syn_asic.tcl +4 -0
  54. siliconcompiler/toolscripts/_tools.json +8 -3
  55. siliconcompiler/toolscripts/rhel8/install-slang.sh +0 -0
  56. siliconcompiler/toolscripts/rhel8/install-sv2v.sh +7 -1
  57. siliconcompiler/toolscripts/rhel9/install-gtkwave.sh +40 -0
  58. siliconcompiler/toolscripts/rhel9/install-slang.sh +0 -0
  59. siliconcompiler/toolscripts/rhel9/install-sv2v.sh +7 -1
  60. siliconcompiler/toolscripts/ubuntu20/install-gtkwave.sh +28 -0
  61. siliconcompiler/toolscripts/ubuntu20/install-slang.sh +0 -0
  62. siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +1 -0
  63. siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +7 -1
  64. siliconcompiler/toolscripts/ubuntu22/install-gtkwave.sh +28 -0
  65. siliconcompiler/toolscripts/ubuntu22/install-slang.sh +0 -0
  66. siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +7 -1
  67. siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +7 -1
  68. siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +3 -4
  69. siliconcompiler/toolscripts/ubuntu24/install-gtkwave.sh +29 -0
  70. siliconcompiler/toolscripts/ubuntu24/install-slang.sh +0 -0
  71. siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +7 -1
  72. siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +7 -1
  73. siliconcompiler/utils/__init__.py +22 -0
  74. siliconcompiler/utils/logging.py +67 -0
  75. siliconcompiler/utils/showtools.py +3 -0
  76. {siliconcompiler-0.29.1.dist-info → siliconcompiler-0.29.3.dist-info}/METADATA +8 -8
  77. {siliconcompiler-0.29.1.dist-info → siliconcompiler-0.29.3.dist-info}/RECORD +76 -65
  78. {siliconcompiler-0.29.1.dist-info → siliconcompiler-0.29.3.dist-info}/LICENSE +0 -0
  79. {siliconcompiler-0.29.1.dist-info → siliconcompiler-0.29.3.dist-info}/WHEEL +0 -0
  80. {siliconcompiler-0.29.1.dist-info → siliconcompiler-0.29.3.dist-info}/entry_points.txt +0 -0
  81. {siliconcompiler-0.29.1.dist-info → siliconcompiler-0.29.3.dist-info}/top_level.txt +0 -0
@@ -12,7 +12,9 @@ Installation: https://sv-lang.com/building.html
12
12
  '''
13
13
  import re
14
14
  from siliconcompiler import sc_open
15
- from siliconcompiler.tools._common import get_tool_task, record_metric
15
+ from siliconcompiler.tools._common import record_metric
16
+ from siliconcompiler.tools._common import \
17
+ get_frontend_options, get_input_files, get_tool_task
16
18
 
17
19
 
18
20
  ################################
@@ -38,7 +40,6 @@ def parse_version(stdout):
38
40
  def post_process(chip):
39
41
  step = chip.get('arg', 'step')
40
42
  index = chip.get('arg', 'index')
41
- tool, task = get_tool_task(chip, step, index)
42
43
 
43
44
  log = f'{step}.log'
44
45
  with sc_open(log) as f:
@@ -47,3 +48,78 @@ def post_process(chip):
47
48
  if match:
48
49
  record_metric(chip, step, index, 'errors', match.group(1), log)
49
50
  record_metric(chip, step, index, 'warnings', match.group(2), log)
51
+
52
+
53
+ def common_runtime_options(chip):
54
+ options = []
55
+
56
+ step = chip.get('arg', 'step')
57
+ index = chip.get('arg', 'index')
58
+ tool, task = get_tool_task(chip, step, index)
59
+
60
+ options.extend(['-j', str(chip.get('tool', tool, 'task', task, 'threads',
61
+ step=step, index=index))])
62
+
63
+ opts = get_frontend_options(chip,
64
+ ['ydir',
65
+ 'idir',
66
+ 'vlib',
67
+ 'libext',
68
+ 'define',
69
+ 'param'])
70
+
71
+ if opts['libext']:
72
+ options.append(f'--libext {",".join(opts["libext"])}')
73
+
74
+ #####################
75
+ # Library directories
76
+ #####################
77
+ if opts['ydir']:
78
+ options.append(f'-y {",".join(opts["ydir"])}')
79
+
80
+ #####################
81
+ # Library files
82
+ #####################
83
+ if opts['vlib']:
84
+ options.append(f'-libfile {",".join(opts["vlib"])}')
85
+
86
+ #####################
87
+ # Include paths
88
+ #####################
89
+ if opts['idir']:
90
+ options.append(f'--include-directory {",".join(opts["idir"])}')
91
+
92
+ #######################
93
+ # Variable Definitions
94
+ #######################
95
+ for value in opts['define']:
96
+ options.append('-D ' + value)
97
+
98
+ #######################
99
+ # Command files
100
+ #######################
101
+ cmdfiles = get_input_files(chip, 'input', 'cmdfile', 'f')
102
+ if cmdfiles:
103
+ options.append(f'-F {",".join(cmdfiles)}')
104
+
105
+ #######################
106
+ # Sources
107
+ #######################
108
+ for value in get_input_files(chip, 'input', 'rtl', 'systemverilog'):
109
+ options.append(value)
110
+ for value in get_input_files(chip, 'input', 'rtl', 'verilog'):
111
+ options.append(value)
112
+
113
+ #######################
114
+ # Top Module
115
+ #######################
116
+ options.append('--top ' + chip.top())
117
+
118
+ ###############################
119
+ # Parameters (top module only)
120
+ ###############################
121
+ # Set up user-provided parameters to ensure we elaborate the correct modules
122
+ for param, value in opts['param']:
123
+ options.append(f'-G {param}={value}')
124
+
125
+ return options
@@ -0,0 +1,46 @@
1
+ from siliconcompiler import utils
2
+ from siliconcompiler.tools import slang
3
+ from siliconcompiler.tools._common import \
4
+ add_require_input, add_frontend_requires, get_tool_task, has_input_files
5
+
6
+
7
+ def setup(chip):
8
+ '''
9
+ Elaborate verilog design files and generate a unified file.
10
+ '''
11
+ slang.setup(chip)
12
+
13
+ step = chip.get('arg', 'step')
14
+ index = chip.get('arg', 'index')
15
+ tool, task = get_tool_task(chip, step, index)
16
+
17
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
18
+ clobber=False, step=step, index=index)
19
+
20
+ add_require_input(chip, 'input', 'rtl', 'verilog')
21
+ add_require_input(chip, 'input', 'rtl', 'systemverilog')
22
+ add_frontend_requires(chip, ['ydir', 'idir', 'vlib', 'libext', 'define', 'param'])
23
+
24
+ chip.set('tool', tool, 'task', task, 'stdout', 'destination', 'output', step=step, index=index)
25
+ chip.set('tool', tool, 'task', task, 'stdout', 'suffix', 'v', step=step, index=index)
26
+
27
+ chip.set('tool', tool, 'task', task, 'output', __outputfile(chip), step=step, index=index)
28
+
29
+
30
+ def runtime_options(chip):
31
+ options = slang.common_runtime_options(chip)
32
+ options.extend([
33
+ "--preprocess",
34
+ "--comments",
35
+ "--ignore-unknown-modules",
36
+ "--allow-use-before-declare"
37
+ ])
38
+
39
+ return options
40
+
41
+
42
+ def __outputfile(chip):
43
+ is_systemverilog = has_input_files(chip, 'input', 'rtl', 'systemverilog')
44
+ if is_systemverilog:
45
+ return f'{chip.top()}.sv'
46
+ return f'{chip.top()}.v'
@@ -1,20 +1,20 @@
1
- '''
2
- Lint system verilog
3
- '''
1
+ from siliconcompiler import utils
4
2
  from siliconcompiler.tools import slang
5
3
  from siliconcompiler.tools._common import \
6
- add_require_input, add_frontend_requires, get_frontend_options, get_input_files, get_tool_task
7
- import os
4
+ add_require_input, add_frontend_requires, get_tool_task
8
5
 
9
6
 
10
7
  def setup(chip):
8
+ '''
9
+ Lint system verilog
10
+ '''
11
11
  slang.setup(chip)
12
12
 
13
13
  step = chip.get('arg', 'step')
14
14
  index = chip.get('arg', 'index')
15
15
  tool, task = get_tool_task(chip, step, index)
16
16
 
17
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
17
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
18
18
  clobber=False, step=step, index=index)
19
19
 
20
20
  add_require_input(chip, 'input', 'rtl', 'verilog')
@@ -23,76 +23,10 @@ def setup(chip):
23
23
 
24
24
 
25
25
  def runtime_options(chip):
26
- options = ["-lint-only"]
27
-
28
- step = chip.get('arg', 'step')
29
- index = chip.get('arg', 'index')
30
- tool, task = get_tool_task(chip, step, index)
31
-
32
- options.extend(['-j', str(chip.get('tool', tool, 'task', task, 'threads',
33
- step=step, index=index))])
34
-
35
- opts = get_frontend_options(chip,
36
- ['ydir',
37
- 'idir',
38
- 'vlib',
39
- 'libext',
40
- 'define',
41
- 'param'])
42
-
43
- if opts['libext']:
44
- options.append(f'--libext {",".join(opts["libext"])}')
45
-
46
- #####################
47
- # Library directories
48
- #####################
49
- if opts['ydir']:
50
- options.append(f'-y {",".join(opts["ydir"])}')
51
-
52
- #####################
53
- # Library files
54
- #####################
55
- if opts['vlib']:
56
- options.append(f'-libfile {",".join(opts["vlib"])}')
57
-
58
- #####################
59
- # Include paths
60
- #####################
61
- if opts['idir']:
62
- options.append(f'--include-directory {",".join(opts["idir"])}')
63
-
64
- #######################
65
- # Variable Definitions
66
- #######################
67
- for value in opts['define']:
68
- options.append('-D ' + value)
69
-
70
- #######################
71
- # Command files
72
- #######################
73
- cmdfiles = get_input_files(chip, 'input', 'cmdfile', 'f')
74
- if cmdfiles:
75
- options.append(f'-F {",".join(cmdfiles)}')
76
-
77
- #######################
78
- # Sources
79
- #######################
80
- for value in get_input_files(chip, 'input', 'rtl', 'systemverilog'):
81
- options.append(value)
82
- for value in get_input_files(chip, 'input', 'rtl', 'verilog'):
83
- options.append(value)
84
-
85
- #######################
86
- # Top Module
87
- #######################
88
- options.append('--top ' + chip.top())
89
-
90
- ###############################
91
- # Parameters (top module only)
92
- ###############################
93
- # Set up user-provided parameters to ensure we elaborate the correct modules
94
- for param, value in opts['param']:
95
- options.append(f'-G {param}={value}')
26
+ options = slang.common_runtime_options(chip)
27
+ options.extend([
28
+ "--lint-only"
29
+ ])
96
30
 
97
31
  return options
98
32
 
@@ -28,7 +28,7 @@ def setup(chip):
28
28
  _, task = get_tool_task(chip, step, index)
29
29
 
30
30
  # Runtime parameters.
31
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
31
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
32
32
  step=step, index=index, clobber=False)
33
33
 
34
34
  # Input/Output requirements
@@ -1,4 +1,4 @@
1
- import os
1
+ from siliconcompiler import utils
2
2
  from siliconcompiler.tools._common import input_provides
3
3
 
4
4
 
@@ -23,7 +23,7 @@ def setup(chip):
23
23
  chip.set('tool', tool, 'vswitch', '--numeric-version')
24
24
  chip.set('tool', tool, 'version', '>=0.0.9', clobber=False)
25
25
 
26
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
26
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
27
27
  step=step, index=index, clobber=False)
28
28
 
29
29
  # Since we run sv2v after the import/preprocess step, there should be no
@@ -8,7 +8,7 @@ Sources: https://
8
8
  Installation: https://
9
9
  '''
10
10
 
11
- import os
11
+ from siliconcompiler import utils
12
12
  import siliconcompiler
13
13
  from siliconcompiler.tools._common import get_tool_task
14
14
 
@@ -60,7 +60,7 @@ def setup(chip):
60
60
 
61
61
  chip.set('tool', tool, 'task', task, 'option', options,
62
62
  step=step, index=index, clobber=False)
63
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
63
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
64
64
  step=step, index=index, clobber=False)
65
65
 
66
66
  # Required for script based tools
@@ -97,6 +97,12 @@ def setup(chip):
97
97
  "'vcd' or 'fst'. Defaults to 'vcd'.",
98
98
  field='help')
99
99
 
100
+ chip.set('tool', tool, 'task', task, 'var', 'initialize_random',
101
+ 'true/false, when true registers will reset with a random value.',
102
+ field='help')
103
+ chip.set('tool', tool, 'task', task, 'var', 'initialize_random', False,
104
+ step=step, index=index, clobber=False)
105
+
100
106
 
101
107
  def runtime_options(chip):
102
108
  tool = 'verilator'
@@ -107,6 +113,11 @@ def runtime_options(chip):
107
113
 
108
114
  cmdlist = runtime_options_tool(chip)
109
115
 
116
+ random_init = chip.get('tool', tool, 'task', task, 'var',
117
+ 'initialize_random', step=step, index=index)
118
+ if random_init == ['true']:
119
+ cmdlist.extend(['--x-assign', 'unique'])
120
+
110
121
  cmdlist.extend(['--exe', '--build'])
111
122
 
112
123
  threads = chip.get('tool', tool, 'task', task, 'threads', step=step, index=index)
@@ -24,6 +24,7 @@ Installation: https://verilator.org/guide/latest/install.html
24
24
  '''
25
25
 
26
26
  import os
27
+ from siliconcompiler import utils
27
28
  from siliconcompiler.tools._common import (
28
29
  add_frontend_requires,
29
30
  get_frontend_options,
@@ -59,7 +60,7 @@ def setup(chip):
59
60
 
60
61
  # Common to all tasks
61
62
  # Max threads
62
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
63
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
63
64
  step=step, index=index, clobber=False)
64
65
 
65
66
  # Basic warning and error grep check on logfile
@@ -77,7 +78,7 @@ def setup(chip):
77
78
  chip.set('tool', tool, 'task', task, 'var', 'enable_assert',
78
79
  'true/false, when true assertions are enabled in Verilator.',
79
80
  field='help')
80
- chip.set('tool', tool, 'task', task, 'var', 'enable_assert', 'false',
81
+ chip.set('tool', tool, 'task', task, 'var', 'enable_assert', False,
81
82
  step=step, index=index, clobber=False)
82
83
 
83
84
  if chip.get('tool', tool, 'task', task, 'var', 'enable_assert', step=step, index=index):
@@ -8,6 +8,7 @@ Documentation: https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/
8
8
  import json
9
9
  import os
10
10
  import re
11
+ from siliconcompiler import utils
11
12
  from siliconcompiler import sc_open
12
13
  from siliconcompiler.tools._common import record_metric
13
14
 
@@ -47,7 +48,7 @@ def setup_task(chip, task):
47
48
  chip.set('tool', tool, 'task', task, 'refdir', refdir, step=step, index=index,
48
49
  package='siliconcompiler', clobber=False)
49
50
  chip.set('tool', tool, 'task', task, 'script', script, step=step, index=index, clobber=False)
50
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
51
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
51
52
  step=step, index=index, clobber=False)
52
53
  chip.set('tool', tool, 'task', task, 'option', option, step=step, index=index, clobber=False)
53
54
 
@@ -1,5 +1,5 @@
1
- import os
2
1
  import shutil
2
+ from siliconcompiler import utils
3
3
  from siliconcompiler import SiliconCompilerError
4
4
  from siliconcompiler.tools.vpr import vpr
5
5
  from siliconcompiler.tools.vpr._json_constraint import load_constraints_map
@@ -21,7 +21,7 @@ def setup(chip, clobber=True):
21
21
 
22
22
  vpr.setup_tool(chip, clobber=clobber)
23
23
 
24
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
24
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
25
25
  step=step, index=index, clobber=False)
26
26
 
27
27
  design = chip.top()
@@ -1,6 +1,6 @@
1
- import os
2
1
  import shutil
3
2
 
3
+ from siliconcompiler import utils
4
4
  from siliconcompiler.tools.vpr import vpr
5
5
  from siliconcompiler.tools._common import get_tool_task
6
6
 
@@ -30,7 +30,7 @@ def setup(chip, clobber=True):
30
30
  ",".join(['tool', tool, 'task', task, 'var', 'max_router_iterations']),
31
31
  step=step, index=index)
32
32
 
33
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
33
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
34
34
  step=step, index=index, clobber=clobber)
35
35
 
36
36
  # TO-DO: PRIOROTIZE the post-routing packing results?
@@ -1,4 +1,5 @@
1
1
  import os
2
+ from siliconcompiler import utils
2
3
  from siliconcompiler import SiliconCompilerError
3
4
  from siliconcompiler.tools.vpr import vpr
4
5
  from siliconcompiler.tools._common import get_tool_task
@@ -16,7 +17,7 @@ def setup(chip, clobber=True):
16
17
 
17
18
  vpr.setup_tool(chip, clobber=clobber)
18
19
 
19
- chip.set('tool', tool, 'task', task, 'threads', os.cpu_count(),
20
+ chip.set('tool', tool, 'task', task, 'threads', utils.get_cores(chip),
20
21
  step=step, index=index, clobber=False)
21
22
 
22
23
 
@@ -185,6 +185,14 @@ def setup_asic(chip):
185
185
  'Instance limit for the number of cells in a module to preserve.',
186
186
  field='help')
187
187
 
188
+ chip.set('tool', tool, 'task', task, 'var', 'hierarchy_separator',
189
+ 'control the hierarchy separator used during design flattening', field='help')
190
+ chip.set('tool', tool, 'task', task, 'var', 'hierarchy_separator', '/',
191
+ step=step, index=index, clobber=False)
192
+ chip.add('tool', tool, 'task', task, 'require',
193
+ ','.join(['tool', tool, 'task', task, 'var', 'hierarchy_separator']),
194
+ step=step, index=index)
195
+
188
196
  set_tool_task_var(chip, 'map_clockgates',
189
197
  default_value=False,
190
198
  schelp='Map clockgates during synthesis.')
@@ -233,6 +233,10 @@ if { [sc_cfg_tool_task_exists file synth_extra_map] } {
233
233
  }
234
234
  }
235
235
 
236
+ # Specify hierarchy separator
237
+ yosys scratchpad \
238
+ -set flatten.separator "[lindex [sc_cfg_tool_task_get var hierarchy_separator] 0]"
239
+
236
240
  # Start synthesis
237
241
  yosys synth {*}$synth_args -top $sc_design -run begin:fine
238
242
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "openroad": {
3
3
  "git-url": "https://github.com/The-OpenROAD-Project/OpenROAD.git",
4
- "git-commit": "1ed6a7edfda56bef82938573bf0fadc48bd8ff34",
4
+ "git-commit": "44e36144112da6b2a3bb346ca0d0b692b6d117ca",
5
5
  "docker-cmds": [
6
6
  "# Remove OR-Tools files",
7
7
  "RUN rm -f $SC_PREFIX/Makefile $SC_PREFIX/README.md",
@@ -36,7 +36,7 @@
36
36
  "auto-update": false
37
37
  },
38
38
  "klayout": {
39
- "version": "0.29.10",
39
+ "version": "0.29.11",
40
40
  "git-url": "https://github.com/KLayout/klayout.git",
41
41
  "docker-skip": true,
42
42
  "auto-update": true,
@@ -91,7 +91,7 @@
91
91
  },
92
92
  "yosys": {
93
93
  "git-url": "https://github.com/YosysHQ/yosys.git",
94
- "git-commit": "v0.48",
94
+ "git-commit": "v0.49",
95
95
  "version-prefix": "",
96
96
  "auto-update": true
97
97
  },
@@ -131,5 +131,10 @@
131
131
  "git-commit": "v7.0",
132
132
  "git-url": "https://github.com/MikePopoloski/slang.git",
133
133
  "auto-update": true
134
+ },
135
+ "gtkwave": {
136
+ "git-commit": "v3.3.116",
137
+ "git-url": "https://github.com/gtkwave/gtkwave.git",
138
+ "auto-update": false
134
139
  }
135
140
  }
File without changes
@@ -11,7 +11,13 @@ cd deps
11
11
  sudo yum group install -y "Development Tools"
12
12
  sudo yum install -y gmp-devel xz
13
13
 
14
- curl -sSL https://get.haskellstack.org/ | sh -s - -f
14
+ haskell_args=""
15
+ if [ ! -z ${PREFIX} ]; then
16
+ haskell_args="-d $PREFIX"
17
+ export PATH="$PREFIX:$PATH"
18
+ fi
19
+
20
+ curl -sSL https://get.haskellstack.org/ | sh -s - -f $haskell_args
15
21
 
16
22
  git clone $(python3 ${src_path}/_tools.py --tool sv2v --field git-url) sv2v
17
23
  cd sv2v
@@ -0,0 +1,40 @@
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 group install -y "Development Tools"
9
+ sudo yum install -y gtk3-devel \
10
+ bzip2-devel xz-devel tcl-devel tk-devel
11
+ sudo dnf config-manager --set-enabled devel || true
12
+ sudo yum install -y Judy-devel
13
+ sudo dnf config-manager --set-disabled devel || true
14
+
15
+ mkdir -p deps
16
+ cd deps
17
+
18
+ args=
19
+ if [ ! -z ${PREFIX} ]; then
20
+ args=--prefix="$PREFIX"
21
+ fi
22
+
23
+ wget http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz
24
+ tar xvf gperf-3.1.tar.gz
25
+ cd gperf-3.1
26
+ ./configure $args
27
+ make -j$(nproc)
28
+ sudo make install
29
+ cd ..
30
+
31
+ git clone $(python3 ${src_path}/_tools.py --tool gtkwave --field git-url) gtkwave
32
+ cd gtkwave
33
+ git checkout $(python3 ${src_path}/_tools.py --tool gtkwave --field git-commit)
34
+
35
+ cd gtkwave3-gtk3
36
+
37
+ ./autogen.sh
38
+ ./configure --enable-gtk3 $args
39
+ make -j$(nproc)
40
+ sudo make install
File without changes
@@ -11,7 +11,13 @@ cd deps
11
11
  sudo yum group install -y "Development Tools"
12
12
  sudo yum install -y gmp-devel xz
13
13
 
14
- curl -sSL https://get.haskellstack.org/ | sh -s - -f
14
+ haskell_args=""
15
+ if [ ! -z ${PREFIX} ]; then
16
+ haskell_args="-d $PREFIX"
17
+ export PATH="$PREFIX:$PATH"
18
+ fi
19
+
20
+ curl -sSL https://get.haskellstack.org/ | sh -s - -f $haskell_args
15
21
 
16
22
  git clone $(python3 ${src_path}/_tools.py --tool sv2v --field git-url) sv2v
17
23
  cd sv2v
@@ -0,0 +1,28 @@
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 apt-get install -y build-essential gperf libgtk-3-dev \
9
+ libbz2-dev libjudy-dev liblzma-dev tcl-dev tk-dev
10
+
11
+ mkdir -p deps
12
+ cd deps
13
+
14
+ git clone $(python3 ${src_path}/_tools.py --tool gtkwave --field git-url) gtkwave
15
+ cd gtkwave
16
+ git checkout $(python3 ${src_path}/_tools.py --tool gtkwave --field git-commit)
17
+
18
+ args=
19
+ if [ ! -z ${PREFIX} ]; then
20
+ args=--prefix="$PREFIX"
21
+ fi
22
+
23
+ cd gtkwave3-gtk3
24
+
25
+ ./autogen.sh
26
+ ./configure --enable-gtk3 $args
27
+ make -j$(nproc)
28
+ sudo make install
File without changes
@@ -16,6 +16,7 @@ cd deps
16
16
 
17
17
  python3 -m venv .surelog --clear
18
18
  . .surelog/bin/activate
19
+ python3 -m pip install --upgrade pip
19
20
  python3 -m pip install cmake
20
21
  python3 -m pip install orderedmultidict
21
22
 
@@ -10,7 +10,13 @@ cd deps
10
10
 
11
11
  sudo apt-get install -y curl
12
12
 
13
- curl -sSL https://get.haskellstack.org/ | sh
13
+ haskell_args=""
14
+ if [ ! -z ${PREFIX} ]; then
15
+ haskell_args="-d $PREFIX"
16
+ export PATH="$PREFIX:$PATH"
17
+ fi
18
+
19
+ curl -sSL https://get.haskellstack.org/ | sh -s - -f $haskell_args
14
20
 
15
21
  git clone $(python3 ${src_path}/_tools.py --tool sv2v --field git-url) sv2v
16
22
  cd sv2v
@@ -0,0 +1,28 @@
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 apt-get install -y build-essential gperf libgtk-3-dev \
9
+ libbz2-dev libjudy-dev liblzma-dev tcl-dev tk-dev
10
+
11
+ mkdir -p deps
12
+ cd deps
13
+
14
+ git clone $(python3 ${src_path}/_tools.py --tool gtkwave --field git-url) gtkwave
15
+ cd gtkwave
16
+ git checkout $(python3 ${src_path}/_tools.py --tool gtkwave --field git-commit)
17
+
18
+ args=
19
+ if [ ! -z ${PREFIX} ]; then
20
+ args=--prefix="$PREFIX"
21
+ fi
22
+
23
+ cd gtkwave3-gtk3
24
+
25
+ ./autogen.sh
26
+ ./configure --enable-gtk3 $args
27
+ make -j$(nproc)
28
+ sudo make install
File without changes
@@ -14,12 +14,18 @@ sudo apt-get install -y build-essential cmake git pkg-config \
14
14
  mkdir -p deps
15
15
  cd deps
16
16
 
17
+ python3 -m venv .surelog --clear
18
+ . .surelog/bin/activate
19
+ python3 -m pip install --upgrade pip
20
+ python3 -m pip install cmake
21
+ python3 -m pip install orderedmultidict
22
+
17
23
  git clone $(python3 ${src_path}/_tools.py --tool surelog --field git-url) surelog
18
24
  cd surelog
19
25
  git checkout $(python3 ${src_path}/_tools.py --tool surelog --field git-commit)
20
26
  git submodule update --init --recursive
21
27
 
22
28
  make -j$(nproc)
23
- sudo make install
29
+ sudo -E PATH="$PATH" make install
24
30
 
25
31
  cd -