siliconcompiler 0.28.1__py3-none-any.whl → 0.28.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.
- siliconcompiler/_common.py +12 -0
- siliconcompiler/_metadata.py +1 -1
- siliconcompiler/apps/sc_dashboard.py +5 -1
- siliconcompiler/apps/sc_install.py +240 -0
- siliconcompiler/apps/sc_remote.py +1 -1
- siliconcompiler/core.py +54 -13
- siliconcompiler/remote/client.py +41 -10
- siliconcompiler/report/__init__.py +1 -1
- siliconcompiler/report/{streamlit_report.py → dashboard/__init__.py} +47 -10
- siliconcompiler/report/dashboard/components/__init__.py +534 -0
- siliconcompiler/report/dashboard/components/flowgraph.py +114 -0
- siliconcompiler/report/dashboard/components/graph.py +208 -0
- siliconcompiler/report/dashboard/layouts/__init__.py +20 -0
- siliconcompiler/report/dashboard/layouts/_common.py +43 -0
- siliconcompiler/report/dashboard/layouts/vertical_flowgraph.py +95 -0
- siliconcompiler/report/dashboard/layouts/vertical_flowgraph_node_tab.py +114 -0
- siliconcompiler/report/dashboard/layouts/vertical_flowgraph_sac_tabs.py +107 -0
- siliconcompiler/report/dashboard/state.py +215 -0
- siliconcompiler/report/dashboard/utils/__init__.py +73 -0
- siliconcompiler/report/dashboard/utils/file_utils.py +120 -0
- siliconcompiler/report/dashboard/viewer.py +36 -0
- siliconcompiler/report/report.py +22 -4
- siliconcompiler/scheduler/__init__.py +43 -6
- siliconcompiler/schema/schema_obj.py +4 -2
- siliconcompiler/tools/_common/tcl/sc_pin_constraints.tcl +6 -5
- siliconcompiler/tools/openroad/floorplan.py +5 -0
- siliconcompiler/tools/openroad/openroad.py +12 -3
- siliconcompiler/tools/openroad/scripts/sc_cts.tcl +18 -13
- siliconcompiler/tools/openroad/scripts/sc_floorplan.tcl +6 -1
- siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +1 -1
- siliconcompiler/tools/openroad/scripts/sc_procs.tcl +44 -16
- siliconcompiler/tools/openroad/scripts/sc_route.tcl +1 -1
- siliconcompiler/tools/openroad/scripts/sc_write_images.tcl +10 -10
- siliconcompiler/tools/opensta/scripts/sc_procs.tcl +3 -3
- siliconcompiler/tools/yosys/syn_asic.tcl +1 -1
- siliconcompiler/toolscripts/_tools.json +136 -0
- siliconcompiler/toolscripts/_tools.py +222 -0
- siliconcompiler/toolscripts/rhel8/install-chisel.sh +26 -0
- siliconcompiler/toolscripts/rhel8/install-ghdl.sh +25 -0
- siliconcompiler/toolscripts/rhel8/install-icarus.sh +40 -0
- siliconcompiler/toolscripts/rhel8/install-klayout.sh +17 -0
- siliconcompiler/toolscripts/rhel8/install-magic.sh +26 -0
- siliconcompiler/toolscripts/rhel8/install-montage.sh +5 -0
- siliconcompiler/toolscripts/rhel8/install-netgen.sh +25 -0
- siliconcompiler/toolscripts/rhel8/install-openroad.sh +31 -0
- siliconcompiler/toolscripts/rhel8/install-slang.sh +31 -0
- siliconcompiler/toolscripts/rhel8/install-surelog.sh +32 -0
- siliconcompiler/toolscripts/rhel8/install-sv2v.sh +27 -0
- siliconcompiler/toolscripts/rhel8/install-verible.sh +24 -0
- siliconcompiler/toolscripts/rhel8/install-verilator.sh +40 -0
- siliconcompiler/toolscripts/rhel8/install-xyce.sh +64 -0
- siliconcompiler/toolscripts/rhel8/install-yosys.sh +23 -0
- siliconcompiler/toolscripts/rhel9/install-chisel.sh +26 -0
- siliconcompiler/toolscripts/rhel9/install-ghdl.sh +25 -0
- siliconcompiler/toolscripts/rhel9/install-icarus.sh +40 -0
- siliconcompiler/toolscripts/rhel9/install-klayout.sh +17 -0
- siliconcompiler/toolscripts/rhel9/install-magic.sh +26 -0
- siliconcompiler/toolscripts/rhel9/install-montage.sh +5 -0
- siliconcompiler/toolscripts/rhel9/install-netgen.sh +25 -0
- siliconcompiler/toolscripts/rhel9/install-slang.sh +31 -0
- siliconcompiler/toolscripts/rhel9/install-surelog.sh +32 -0
- siliconcompiler/toolscripts/rhel9/install-sv2v.sh +27 -0
- siliconcompiler/toolscripts/rhel9/install-verible.sh +24 -0
- siliconcompiler/toolscripts/rhel9/install-verilator.sh +40 -0
- siliconcompiler/toolscripts/rhel9/install-xdm.sh +43 -0
- siliconcompiler/toolscripts/rhel9/install-xyce.sh +64 -0
- siliconcompiler/toolscripts/rhel9/install-yosys.sh +23 -0
- siliconcompiler/toolscripts/ubuntu20/install-bambu.sh +49 -0
- siliconcompiler/toolscripts/ubuntu20/install-bluespec.sh +35 -0
- siliconcompiler/toolscripts/ubuntu20/install-chisel.sh +26 -0
- siliconcompiler/toolscripts/ubuntu20/install-ghdl.sh +25 -0
- siliconcompiler/toolscripts/ubuntu20/install-icarus.sh +25 -0
- siliconcompiler/toolscripts/ubuntu20/install-icepack.sh +22 -0
- siliconcompiler/toolscripts/ubuntu20/install-klayout.sh +29 -0
- siliconcompiler/toolscripts/ubuntu20/install-magic.sh +24 -0
- siliconcompiler/toolscripts/ubuntu20/install-montage.sh +5 -0
- siliconcompiler/toolscripts/ubuntu20/install-netgen.sh +24 -0
- siliconcompiler/toolscripts/ubuntu20/install-nextpnr.sh +32 -0
- siliconcompiler/toolscripts/ubuntu20/install-openroad.sh +31 -0
- siliconcompiler/toolscripts/ubuntu20/install-slang.sh +38 -0
- siliconcompiler/toolscripts/ubuntu20/install-slurm.sh +32 -0
- siliconcompiler/toolscripts/ubuntu20/install-surelog.sh +30 -0
- siliconcompiler/toolscripts/ubuntu20/install-sv2v.sh +26 -0
- siliconcompiler/toolscripts/ubuntu20/install-verible.sh +24 -0
- siliconcompiler/toolscripts/ubuntu20/install-verilator.sh +34 -0
- siliconcompiler/toolscripts/ubuntu20/install-vpr.sh +27 -0
- siliconcompiler/toolscripts/ubuntu20/install-xdm.sh +40 -0
- siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +65 -0
- siliconcompiler/toolscripts/ubuntu20/install-yosys.sh +24 -0
- siliconcompiler/toolscripts/ubuntu22/install-bambu.sh +49 -0
- siliconcompiler/toolscripts/ubuntu22/install-bluespec.sh +35 -0
- siliconcompiler/toolscripts/ubuntu22/install-chisel.sh +26 -0
- siliconcompiler/toolscripts/ubuntu22/install-ghdl.sh +25 -0
- siliconcompiler/toolscripts/ubuntu22/install-icarus.sh +25 -0
- siliconcompiler/toolscripts/ubuntu22/install-icepack.sh +22 -0
- siliconcompiler/toolscripts/ubuntu22/install-klayout.sh +29 -0
- siliconcompiler/toolscripts/ubuntu22/install-magic.sh +24 -0
- siliconcompiler/toolscripts/ubuntu22/install-montage.sh +5 -0
- siliconcompiler/toolscripts/ubuntu22/install-netgen.sh +24 -0
- siliconcompiler/toolscripts/ubuntu22/install-nextpnr.sh +32 -0
- siliconcompiler/toolscripts/ubuntu22/install-openroad.sh +31 -0
- siliconcompiler/toolscripts/ubuntu22/install-slang.sh +28 -0
- siliconcompiler/toolscripts/ubuntu22/install-slurm.sh +32 -0
- siliconcompiler/toolscripts/ubuntu22/install-surelog.sh +25 -0
- siliconcompiler/toolscripts/ubuntu22/install-sv2v.sh +26 -0
- siliconcompiler/toolscripts/ubuntu22/install-verible.sh +24 -0
- siliconcompiler/toolscripts/ubuntu22/install-verilator.sh +34 -0
- siliconcompiler/toolscripts/ubuntu22/install-vpr.sh +27 -0
- siliconcompiler/toolscripts/ubuntu22/install-xdm.sh +40 -0
- siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +65 -0
- siliconcompiler/toolscripts/ubuntu22/install-yosys.sh +24 -0
- siliconcompiler/toolscripts/ubuntu24/install-bambu.sh +49 -0
- siliconcompiler/toolscripts/ubuntu24/install-bluespec.sh +35 -0
- siliconcompiler/toolscripts/ubuntu24/install-chisel.sh +26 -0
- siliconcompiler/toolscripts/ubuntu24/install-ghdl.sh +25 -0
- siliconcompiler/toolscripts/ubuntu24/install-icarus.sh +25 -0
- siliconcompiler/toolscripts/ubuntu24/install-icepack.sh +22 -0
- siliconcompiler/toolscripts/ubuntu24/install-klayout.sh +31 -0
- siliconcompiler/toolscripts/ubuntu24/install-magic.sh +24 -0
- siliconcompiler/toolscripts/ubuntu24/install-montage.sh +5 -0
- siliconcompiler/toolscripts/ubuntu24/install-netgen.sh +24 -0
- siliconcompiler/toolscripts/ubuntu24/install-nextpnr.sh +32 -0
- siliconcompiler/toolscripts/ubuntu24/install-openroad.sh +31 -0
- siliconcompiler/toolscripts/ubuntu24/install-slang.sh +28 -0
- siliconcompiler/toolscripts/ubuntu24/install-slurm.sh +32 -0
- siliconcompiler/toolscripts/ubuntu24/install-surelog.sh +25 -0
- siliconcompiler/toolscripts/ubuntu24/install-sv2v.sh +26 -0
- siliconcompiler/toolscripts/ubuntu24/install-verible.sh +24 -0
- siliconcompiler/toolscripts/ubuntu24/install-verilator.sh +34 -0
- siliconcompiler/toolscripts/ubuntu24/install-vpr.sh +27 -0
- siliconcompiler/toolscripts/ubuntu24/install-xdm.sh +40 -0
- siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +65 -0
- siliconcompiler/toolscripts/ubuntu24/install-yosys.sh +24 -0
- {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/METADATA +7 -6
- {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/RECORD +139 -29
- {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/entry_points.txt +1 -0
- siliconcompiler/report/streamlit_viewer.py +0 -944
- {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/LICENSE +0 -0
- {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/WHEEL +0 -0
- {siliconcompiler-0.28.1.dist-info → siliconcompiler-0.28.3.dist-info}/top_level.txt +0 -0
|
@@ -583,10 +583,16 @@ def _define_pad_params(chip):
|
|
|
583
583
|
|
|
584
584
|
|
|
585
585
|
def _define_rsz_params(chip):
|
|
586
|
+
set_tool_task_var(chip, param_key='rsz_skip_setup_repair',
|
|
587
|
+
default_value=False,
|
|
588
|
+
schelp='skip setup timing repair')
|
|
586
589
|
set_tool_task_var(chip, param_key='rsz_setup_slack_margin',
|
|
587
590
|
default_value='0.0',
|
|
588
591
|
schelp='specifies the margin to apply when performing setup repair '
|
|
589
592
|
'in library timing units')
|
|
593
|
+
set_tool_task_var(chip, param_key='rsz_skip_hold_repair',
|
|
594
|
+
default_value=False,
|
|
595
|
+
schelp='skip hold timing repair')
|
|
590
596
|
set_tool_task_var(chip, param_key='rsz_hold_slack_margin',
|
|
591
597
|
default_value='0.0',
|
|
592
598
|
schelp='specifies the margin to apply when performing setup repair '
|
|
@@ -920,9 +926,12 @@ def _set_reports(chip, reports):
|
|
|
920
926
|
def check_enabled(type):
|
|
921
927
|
for key in (('tool', tool, 'task', task, 'var', f'skip_{type}'),
|
|
922
928
|
('option', 'var', f'openroad_skip_{type}')):
|
|
923
|
-
if chip.valid(*key)
|
|
924
|
-
|
|
925
|
-
|
|
929
|
+
if chip.valid(*key):
|
|
930
|
+
if chip.get(*key, field='pernode') == 'never':
|
|
931
|
+
if chip.get(*key) == ["true"]:
|
|
932
|
+
return False
|
|
933
|
+
elif chip.get(*key, step=step, index=index) == ["true"]:
|
|
934
|
+
return False
|
|
926
935
|
return True
|
|
927
936
|
|
|
928
937
|
for report in reports:
|
|
@@ -31,8 +31,6 @@ if { [llength [all_clocks]] > 0 } {
|
|
|
31
31
|
|
|
32
32
|
sc_detailed_placement
|
|
33
33
|
|
|
34
|
-
estimate_parasitics -placement
|
|
35
|
-
|
|
36
34
|
set repair_timing_args []
|
|
37
35
|
if { $openroad_rsz_skip_pin_swap == "true" } {
|
|
38
36
|
lappend repair_timing_args "-skip_pin_swap"
|
|
@@ -41,18 +39,25 @@ if { [llength [all_clocks]] > 0 } {
|
|
|
41
39
|
lappend repair_timing_args "-skip_gate_cloning"
|
|
42
40
|
}
|
|
43
41
|
|
|
44
|
-
|
|
45
|
-
-
|
|
46
|
-
-hold_margin $openroad_rsz_hold_slack_margin \
|
|
47
|
-
-repair_tns $openroad_rsz_repair_tns \
|
|
48
|
-
{*}$repair_timing_args
|
|
42
|
+
if { [lindex [sc_cfg_tool_task_get var rsz_skip_setup_repair] 0] != "true" } {
|
|
43
|
+
estimate_parasitics -placement
|
|
49
44
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
45
|
+
repair_timing -setup -verbose \
|
|
46
|
+
-setup_margin $openroad_rsz_setup_slack_margin \
|
|
47
|
+
-hold_margin $openroad_rsz_hold_slack_margin \
|
|
48
|
+
-repair_tns $openroad_rsz_repair_tns \
|
|
49
|
+
{*}$repair_timing_args
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if { [lindex [sc_cfg_tool_task_get var rsz_skip_hold_repair] 0] != "true" } {
|
|
53
|
+
estimate_parasitics -placement
|
|
54
|
+
|
|
55
|
+
repair_timing -hold -verbose \
|
|
56
|
+
-setup_margin $openroad_rsz_setup_slack_margin \
|
|
57
|
+
-hold_margin $openroad_rsz_hold_slack_margin \
|
|
58
|
+
-repair_tns $openroad_rsz_repair_tns \
|
|
59
|
+
{*}$repair_timing_args
|
|
60
|
+
}
|
|
56
61
|
|
|
57
62
|
sc_detailed_placement
|
|
58
63
|
}
|
|
@@ -330,6 +330,9 @@ if { [sc_design_has_unplaced_macros] } {
|
|
|
330
330
|
# technologies we support do not, so we don't include that step for now.
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
|
+
|
|
334
|
+
sc_print_macro_information
|
|
335
|
+
|
|
333
336
|
if { [sc_design_has_unplaced_macros] } {
|
|
334
337
|
utl::error FLW 1 "Design contains unplaced macros."
|
|
335
338
|
}
|
|
@@ -402,4 +405,6 @@ foreach net [sc_psm_check_nets] {
|
|
|
402
405
|
# Remove buffers inserted by synthesis
|
|
403
406
|
###########################
|
|
404
407
|
|
|
405
|
-
|
|
408
|
+
if { [lindex [sc_cfg_tool_task_get var remove_synth_buffers] 0] == "true" } {
|
|
409
|
+
remove_buffers
|
|
410
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Global Placement
|
|
3
3
|
#######################
|
|
4
4
|
|
|
5
|
-
proc sc_global_placement_density {} {
|
|
5
|
+
proc sc_global_placement_density { } {
|
|
6
6
|
global openroad_gpl_padding
|
|
7
7
|
global openroad_gpl_place_density
|
|
8
8
|
global openroad_gpl_uniform_placement_adjustment
|
|
@@ -82,7 +82,7 @@ proc sc_global_placement { args } {
|
|
|
82
82
|
# Detailed Placement
|
|
83
83
|
###########################
|
|
84
84
|
|
|
85
|
-
proc sc_detailed_placement {} {
|
|
85
|
+
proc sc_detailed_placement { } {
|
|
86
86
|
global openroad_dpl_padding
|
|
87
87
|
global openroad_dpl_padding
|
|
88
88
|
global openroad_dpl_disallow_one_site
|
|
@@ -149,7 +149,7 @@ proc sc_pin_placement { args } {
|
|
|
149
149
|
# Check if OR has a GUI
|
|
150
150
|
###########################
|
|
151
151
|
|
|
152
|
-
proc sc_has_gui {} {
|
|
152
|
+
proc sc_has_gui { } {
|
|
153
153
|
return [gui::supported]
|
|
154
154
|
}
|
|
155
155
|
|
|
@@ -157,7 +157,7 @@ proc sc_has_gui {} {
|
|
|
157
157
|
# Check if design has placed instances
|
|
158
158
|
###########################
|
|
159
159
|
|
|
160
|
-
proc sc_has_placed_instances {} {
|
|
160
|
+
proc sc_has_placed_instances { } {
|
|
161
161
|
foreach inst [[ord::get_db_block] getInsts] {
|
|
162
162
|
if { [$inst isPlaced] } {
|
|
163
163
|
return true
|
|
@@ -170,7 +170,7 @@ proc sc_has_placed_instances {} {
|
|
|
170
170
|
# Check if design has unplaced instances
|
|
171
171
|
###########################
|
|
172
172
|
|
|
173
|
-
proc sc_has_unplaced_instances {} {
|
|
173
|
+
proc sc_has_unplaced_instances { } {
|
|
174
174
|
foreach inst [[ord::get_db_block] getInsts] {
|
|
175
175
|
if { ![$inst isPlaced] } {
|
|
176
176
|
return true
|
|
@@ -183,7 +183,7 @@ proc sc_has_unplaced_instances {} {
|
|
|
183
183
|
# Check if design has routing
|
|
184
184
|
###########################
|
|
185
185
|
|
|
186
|
-
proc sc_has_routing {} {
|
|
186
|
+
proc sc_has_routing { } {
|
|
187
187
|
foreach net [[ord::get_db_block] getNets] {
|
|
188
188
|
if { [$net getWire] != "NULL" } {
|
|
189
189
|
return true
|
|
@@ -196,7 +196,7 @@ proc sc_has_routing {} {
|
|
|
196
196
|
# Check if design has global routing
|
|
197
197
|
###########################
|
|
198
198
|
|
|
199
|
-
proc sc_has_global_routing {} {
|
|
199
|
+
proc sc_has_global_routing { } {
|
|
200
200
|
foreach net [[ord::get_db_block] getNets] {
|
|
201
201
|
if { [llength [$net getGuides]] != 0 } {
|
|
202
202
|
return true
|
|
@@ -211,7 +211,7 @@ proc sc_has_global_routing {} {
|
|
|
211
211
|
|
|
212
212
|
# Function adapted from OpenROAD:
|
|
213
213
|
# https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/blob/ca3004b85e0d4fbee3470115e63b83c498cfed85/flow/scripts/macro_place.tcl#L26
|
|
214
|
-
proc sc_design_has_unplaced_macros {} {
|
|
214
|
+
proc sc_design_has_unplaced_macros { } {
|
|
215
215
|
foreach inst [[ord::get_db_block] getInsts] {
|
|
216
216
|
if { [$inst isBlock] && ![$inst isFixed] } {
|
|
217
217
|
return true
|
|
@@ -220,11 +220,39 @@ proc sc_design_has_unplaced_macros {} {
|
|
|
220
220
|
return false
|
|
221
221
|
}
|
|
222
222
|
|
|
223
|
+
###########################
|
|
224
|
+
# Print macros placement
|
|
225
|
+
###########################
|
|
226
|
+
|
|
227
|
+
proc sc_print_macro_information { } {
|
|
228
|
+
set print_header "true"
|
|
229
|
+
foreach inst [[ord::get_db_block] getInsts] {
|
|
230
|
+
if { [$inst isBlock] } {
|
|
231
|
+
set master [$inst getMaster]
|
|
232
|
+
set status [$inst getPlacementStatus]
|
|
233
|
+
|
|
234
|
+
if { $print_header == "true" } {
|
|
235
|
+
puts "Macro placement information"
|
|
236
|
+
set print_header "false"
|
|
237
|
+
}
|
|
238
|
+
if { [$inst isPlaced] } {
|
|
239
|
+
set location [$inst getLocation]
|
|
240
|
+
set orient [$inst getOrient]
|
|
241
|
+
set xloc [ord::dbu_to_microns [lindex $location 0]]
|
|
242
|
+
set yloc [ord::dbu_to_microns [lindex $location 1]]
|
|
243
|
+
puts "[$inst getName] ([$master getName]): $status at ($xloc um, $yloc um) $orient"
|
|
244
|
+
} else {
|
|
245
|
+
utl::warn FLW 1 "[$inst getName] ([$master getName]): UNPLACED"
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
223
251
|
###########################
|
|
224
252
|
# Design has unplaced pads
|
|
225
253
|
###########################
|
|
226
254
|
|
|
227
|
-
proc sc_design_has_unplaced_pads {} {
|
|
255
|
+
proc sc_design_has_unplaced_pads { } {
|
|
228
256
|
foreach inst [[ord::get_db_block] getInsts] {
|
|
229
257
|
if { [$inst isPad] && ![$inst isFixed] } {
|
|
230
258
|
return true
|
|
@@ -237,7 +265,7 @@ proc sc_design_has_unplaced_pads {} {
|
|
|
237
265
|
# Design has placable IOs
|
|
238
266
|
###########################
|
|
239
267
|
|
|
240
|
-
proc sc_design_has_placeable_ios {} {
|
|
268
|
+
proc sc_design_has_placeable_ios { } {
|
|
241
269
|
foreach bterm [[ord::get_db_block] getBTerms] {
|
|
242
270
|
if {
|
|
243
271
|
[$bterm getFirstPinPlacementStatus] != "FIXED" &&
|
|
@@ -284,7 +312,7 @@ proc sc_find_net_regex { net_name } {
|
|
|
284
312
|
# Get supply nets in design
|
|
285
313
|
###########################
|
|
286
314
|
|
|
287
|
-
proc sc_supply_nets {} {
|
|
315
|
+
proc sc_supply_nets { } {
|
|
288
316
|
set nets []
|
|
289
317
|
|
|
290
318
|
foreach net [[ord::get_db_block] getNets] {
|
|
@@ -301,7 +329,7 @@ proc sc_supply_nets {} {
|
|
|
301
329
|
# Get nets for PSM to check
|
|
302
330
|
###########################
|
|
303
331
|
|
|
304
|
-
proc sc_psm_check_nets {} {
|
|
332
|
+
proc sc_psm_check_nets { } {
|
|
305
333
|
global openroad_psm_enable
|
|
306
334
|
global openroad_psm_skip_nets
|
|
307
335
|
|
|
@@ -343,7 +371,7 @@ proc sc_save_image { title path { pixels 1000 } } {
|
|
|
343
371
|
# Get the image bounding box
|
|
344
372
|
###########################
|
|
345
373
|
|
|
346
|
-
proc sc_image_area {} {
|
|
374
|
+
proc sc_image_area { } {
|
|
347
375
|
set box [[ord::get_db_block] getDieArea]
|
|
348
376
|
set width [$box dx]
|
|
349
377
|
set height [$box dy]
|
|
@@ -373,7 +401,7 @@ proc sc_image_resolution { pixels } {
|
|
|
373
401
|
# Clear gui selections
|
|
374
402
|
###########################
|
|
375
403
|
|
|
376
|
-
proc sc_image_clear_selection {} {
|
|
404
|
+
proc sc_image_clear_selection { } {
|
|
377
405
|
gui::clear_highlights -1
|
|
378
406
|
gui::clear_selections
|
|
379
407
|
}
|
|
@@ -382,7 +410,7 @@ proc sc_image_clear_selection {} {
|
|
|
382
410
|
# Setup default GUI setting for images
|
|
383
411
|
###########################
|
|
384
412
|
|
|
385
|
-
proc sc_image_setup_default {} {
|
|
413
|
+
proc sc_image_setup_default { } {
|
|
386
414
|
gui::restore_display_controls
|
|
387
415
|
|
|
388
416
|
sc_image_clear_selection
|
|
@@ -406,7 +434,7 @@ proc sc_image_setup_default {} {
|
|
|
406
434
|
# Count the logic depth of the critical path
|
|
407
435
|
###########################
|
|
408
436
|
|
|
409
|
-
proc count_logic_depth {} {
|
|
437
|
+
proc count_logic_depth { } {
|
|
410
438
|
set count 0
|
|
411
439
|
set paths [find_timing_paths -sort_by_slack]
|
|
412
440
|
if { [llength $paths] == 0 } {
|
|
@@ -54,7 +54,7 @@ proc sc_image_heatmap { name ident image_name title { allow_bin_adjust 1 } } {
|
|
|
54
54
|
gui::set_display_controls "Heat Maps/${name}" visible false
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
proc sc_image_placement {} {
|
|
57
|
+
proc sc_image_placement { } {
|
|
58
58
|
if { ![sc_has_placed_instances] } {
|
|
59
59
|
return
|
|
60
60
|
}
|
|
@@ -70,7 +70,7 @@ proc sc_image_placement {} {
|
|
|
70
70
|
sc_save_image "placement" reports/images/${sc_design}.placement.png
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
proc sc_image_routing {} {
|
|
73
|
+
proc sc_image_routing { } {
|
|
74
74
|
if { ![sc_has_routing] } {
|
|
75
75
|
return
|
|
76
76
|
}
|
|
@@ -85,7 +85,7 @@ proc sc_image_routing {} {
|
|
|
85
85
|
sc_save_image "routing" reports/images/${sc_design}.routing.png
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
proc sc_image_everything {} {
|
|
88
|
+
proc sc_image_everything { } {
|
|
89
89
|
global sc_design
|
|
90
90
|
|
|
91
91
|
sc_image_setup_default
|
|
@@ -134,7 +134,7 @@ proc sc_image_irdrop { net corner } {
|
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
proc sc_image_routing_congestion {} {
|
|
137
|
+
proc sc_image_routing_congestion { } {
|
|
138
138
|
if { ![sc_has_global_routing] } {
|
|
139
139
|
return
|
|
140
140
|
}
|
|
@@ -148,7 +148,7 @@ proc sc_image_routing_congestion {} {
|
|
|
148
148
|
0
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
proc sc_image_estimated_routing_congestion {} {
|
|
151
|
+
proc sc_image_estimated_routing_congestion { } {
|
|
152
152
|
if { ![sc_has_placed_instances] } {
|
|
153
153
|
return
|
|
154
154
|
}
|
|
@@ -166,7 +166,7 @@ proc sc_image_estimated_routing_congestion {} {
|
|
|
166
166
|
unsuppress_message GRT 10
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
proc sc_image_power_density {} {
|
|
169
|
+
proc sc_image_power_density { } {
|
|
170
170
|
if { ![sc_has_placed_instances] } {
|
|
171
171
|
return
|
|
172
172
|
}
|
|
@@ -188,7 +188,7 @@ proc sc_image_power_density {} {
|
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
proc sc_image_placement_density {} {
|
|
191
|
+
proc sc_image_placement_density { } {
|
|
192
192
|
if { ![sc_has_placed_instances] } {
|
|
193
193
|
return
|
|
194
194
|
}
|
|
@@ -201,7 +201,7 @@ proc sc_image_placement_density {} {
|
|
|
201
201
|
"placement density"
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
proc sc_image_clocks {} {
|
|
204
|
+
proc sc_image_clocks { } {
|
|
205
205
|
if { ![sc_has_placed_instances] } {
|
|
206
206
|
return
|
|
207
207
|
}
|
|
@@ -223,7 +223,7 @@ proc sc_image_clocks {} {
|
|
|
223
223
|
sc_save_image "clocks" reports/images/${sc_design}.clocks.png
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
-
proc sc_image_clocktree {} {
|
|
226
|
+
proc sc_image_clocktree { } {
|
|
227
227
|
gui::show_widget "Clock Tree Viewer"
|
|
228
228
|
global sc_scenarios
|
|
229
229
|
|
|
@@ -263,7 +263,7 @@ proc sc_image_clocktree {} {
|
|
|
263
263
|
gui::hide_widget "Clock Tree Viewer"
|
|
264
264
|
}
|
|
265
265
|
|
|
266
|
-
proc sc_image_optimizer {} {
|
|
266
|
+
proc sc_image_optimizer { } {
|
|
267
267
|
global sc_design
|
|
268
268
|
sc_image_setup_default
|
|
269
269
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Count the logic depth of the critical path
|
|
3
3
|
###########################
|
|
4
4
|
|
|
5
|
-
proc sc_count_logic_depth {} {
|
|
5
|
+
proc sc_count_logic_depth { } {
|
|
6
6
|
set count 0
|
|
7
7
|
set paths [find_timing_paths -sort_by_slack]
|
|
8
8
|
if { [llength $paths] == 0 } {
|
|
@@ -24,7 +24,7 @@ proc sc_count_logic_depth {} {
|
|
|
24
24
|
return [expr { $count - 1 }]
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
proc sc_design_area {} {
|
|
27
|
+
proc sc_design_area { } {
|
|
28
28
|
set area 0
|
|
29
29
|
foreach inst [get_cells -hierarchical *] {
|
|
30
30
|
set lib_cell [$inst liberty_cell]
|
|
@@ -35,7 +35,7 @@ proc sc_design_area {} {
|
|
|
35
35
|
return $area
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
proc sc_display_report {report} {
|
|
38
|
+
proc sc_display_report { report } {
|
|
39
39
|
if { ![file exists $report] } {
|
|
40
40
|
return
|
|
41
41
|
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openroad": {
|
|
3
|
+
"git-url": "https://github.com/The-OpenROAD-Project/OpenROAD.git",
|
|
4
|
+
"git-commit": "3a75eb5d52a207622c3dfd52937d3a02488f76b5",
|
|
5
|
+
"docker-cmds": [
|
|
6
|
+
"# Remove OR-Tools files",
|
|
7
|
+
"RUN rm -f $SC_PREFIX/Makefile $SC_PREFIX/README.md",
|
|
8
|
+
"# Remove OpenROAD Env file",
|
|
9
|
+
"RUN rm -f $SC_PREFIX/env.sh"
|
|
10
|
+
],
|
|
11
|
+
"auto-update": true
|
|
12
|
+
},
|
|
13
|
+
"surelog": {
|
|
14
|
+
"git-url": "https://github.com/chipsalliance/Surelog.git",
|
|
15
|
+
"git-commit": "v1.84",
|
|
16
|
+
"auto-update": true
|
|
17
|
+
},
|
|
18
|
+
"netgen": {
|
|
19
|
+
"git-url": "https://github.com/RTimothyEdwards/netgen.git",
|
|
20
|
+
"git-commit": "fb7876c7a6f9d58a3d88a49e302e682c1d12e00d",
|
|
21
|
+
"auto-update": false
|
|
22
|
+
},
|
|
23
|
+
"ghdl": {
|
|
24
|
+
"git-url": "https://github.com/ghdl/ghdl.git",
|
|
25
|
+
"git-commit": "v4.1.0",
|
|
26
|
+
"auto-update": false
|
|
27
|
+
},
|
|
28
|
+
"magic": {
|
|
29
|
+
"git-url": "https://github.com/RTimothyEdwards/magic.git",
|
|
30
|
+
"git-commit": "c7f11d2169f6af8751ae22b5d70250b331e1a667",
|
|
31
|
+
"auto-update": false
|
|
32
|
+
},
|
|
33
|
+
"bluespec": {
|
|
34
|
+
"git-url": "https://github.com/B-Lang-org/bsc.git",
|
|
35
|
+
"git-commit": "4cac6ebae076e8b8378597aba1d2119aa29ec419",
|
|
36
|
+
"auto-update": false
|
|
37
|
+
},
|
|
38
|
+
"klayout": {
|
|
39
|
+
"version": "0.29.7",
|
|
40
|
+
"git-url": "https://github.com/KLayout/klayout.git",
|
|
41
|
+
"docker-skip": true,
|
|
42
|
+
"auto-update": true,
|
|
43
|
+
"run-version": "source version.sh && echo $KLAYOUT_VERSION",
|
|
44
|
+
"release-notes": "https://www.klayout.de/development.html"
|
|
45
|
+
},
|
|
46
|
+
"sv2v": {
|
|
47
|
+
"git-url": "https://github.com/zachjs/sv2v.git",
|
|
48
|
+
"git-commit": "5374679e4bb26e115b9a9b4a2d8ef4253d7a8bf3",
|
|
49
|
+
"auto-update": true
|
|
50
|
+
},
|
|
51
|
+
"verilator": {
|
|
52
|
+
"git-url": "https://github.com/verilator/verilator.git",
|
|
53
|
+
"git-commit": "563faeb33f3b9b5374f558f54adfea11873f1cd7",
|
|
54
|
+
"auto-update": true
|
|
55
|
+
},
|
|
56
|
+
"bambu": {
|
|
57
|
+
"git-url": "https://github.com/ferrandi/PandA-bambu.git",
|
|
58
|
+
"git-commit": "v2024.03",
|
|
59
|
+
"auto-update": false,
|
|
60
|
+
"docker-cmds": [
|
|
61
|
+
"# Remove ORFS Stuff",
|
|
62
|
+
"RUN rm -rf $SC_PREFIX/share/panda/asap7",
|
|
63
|
+
"RUN rm -rf $SC_PREFIX/share/panda/nangate45",
|
|
64
|
+
"RUN rm -rf $SC_PREFIX/share/panda/scripts"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"vpr": {
|
|
68
|
+
"git-url": "https://github.com/verilog-to-routing/vtr-verilog-to-routing.git",
|
|
69
|
+
"git-commit": "9dd5ff66e3ab43238f5a4cb14cafe17bc4afe527",
|
|
70
|
+
"auto-update": false
|
|
71
|
+
},
|
|
72
|
+
"icepack": {
|
|
73
|
+
"git-url": "https://github.com/YosysHQ/icestorm.git",
|
|
74
|
+
"git-commit": "d20a5e9001f46262bf0cef220f1a6943946e421d",
|
|
75
|
+
"auto-update": false
|
|
76
|
+
},
|
|
77
|
+
"nextpnr": {
|
|
78
|
+
"git-url": "https://github.com/YosysHQ/nextpnr.git",
|
|
79
|
+
"git-commit": "f89b959b5f56ba8d91e1e7f8a645b267a5a7bb89",
|
|
80
|
+
"docker-depends": "icepack"
|
|
81
|
+
},
|
|
82
|
+
"chisel": {
|
|
83
|
+
"version": "1.8.0",
|
|
84
|
+
"git-url": "https://github.com/sbt/sbt.git",
|
|
85
|
+
"auto-update": false
|
|
86
|
+
},
|
|
87
|
+
"icarus": {
|
|
88
|
+
"git-url": "https://github.com/steveicarus/iverilog.git",
|
|
89
|
+
"git-commit": "01441687235135d1c12eeef920f75d97995da333",
|
|
90
|
+
"auto-update": false
|
|
91
|
+
},
|
|
92
|
+
"yosys": {
|
|
93
|
+
"git-url": "https://github.com/YosysHQ/yosys.git",
|
|
94
|
+
"git-commit": "0.46",
|
|
95
|
+
"version-prefix": "",
|
|
96
|
+
"auto-update": true
|
|
97
|
+
},
|
|
98
|
+
"xyce": {
|
|
99
|
+
"git-url": "https://github.com/Xyce/Xyce.git",
|
|
100
|
+
"version": "7.8.0",
|
|
101
|
+
"auto-update": false
|
|
102
|
+
},
|
|
103
|
+
"xdm": {
|
|
104
|
+
"git-url": "https://github.com/Xyce/XDM.git",
|
|
105
|
+
"git-commit": "Release-2.7.0",
|
|
106
|
+
"auto-update": false
|
|
107
|
+
},
|
|
108
|
+
"slurm": {
|
|
109
|
+
"version": "22.05.7",
|
|
110
|
+
"git-url": "https://github.com/SchedMD/slurm.git",
|
|
111
|
+
"auto-update": false,
|
|
112
|
+
"docker-extra-files": [
|
|
113
|
+
"docker/slurm"
|
|
114
|
+
],
|
|
115
|
+
"docker-cmds": [
|
|
116
|
+
"COPY slurm $SC_PREFIX/slurm_cfg",
|
|
117
|
+
"RUN mv $SC_PREFIX/slurm_cfg/install-slurm.sh $SC_PREFIX/",
|
|
118
|
+
"RUN chmod +x $SC_PREFIX/install-slurm.sh"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
"montage": {
|
|
122
|
+
"version": "6.9.11",
|
|
123
|
+
"auto-update": false,
|
|
124
|
+
"docker-skip": true
|
|
125
|
+
},
|
|
126
|
+
"verible": {
|
|
127
|
+
"version": "v0.0-3303-gd87f2420",
|
|
128
|
+
"git-url": "https://github.com/chipsalliance/verible.git",
|
|
129
|
+
"auto-update": false
|
|
130
|
+
},
|
|
131
|
+
"slang": {
|
|
132
|
+
"git-commit": "v7.0",
|
|
133
|
+
"git-url": "https://github.com/MikePopoloski/slang.git",
|
|
134
|
+
"auto-update": true
|
|
135
|
+
}
|
|
136
|
+
}
|