siliconcompiler 0.28.4__py3-none-any.whl → 0.28.5__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/_metadata.py +1 -1
- siliconcompiler/apps/_common.py +88 -56
- siliconcompiler/apps/sc.py +33 -14
- siliconcompiler/apps/sc_dashboard.py +16 -9
- siliconcompiler/apps/sc_show.py +17 -15
- siliconcompiler/core.py +3 -1
- siliconcompiler/flows/drcflow.py +13 -0
- siliconcompiler/flows/interposerflow.py +17 -0
- siliconcompiler/libs/interposer.py +8 -0
- siliconcompiler/pdks/interposer.py +8 -0
- siliconcompiler/remote/schema.py +11 -1
- siliconcompiler/remote/server.py +7 -2
- siliconcompiler/scheduler/__init__.py +93 -0
- siliconcompiler/schema/schema_cfg.py +15 -3
- siliconcompiler/schema/schema_obj.py +51 -1
- siliconcompiler/targets/interposer_demo.py +56 -0
- siliconcompiler/templates/tcl/manifest.tcl.j2 +2 -0
- siliconcompiler/tools/klayout/export.py +7 -4
- siliconcompiler/tools/klayout/klayout_export.py +3 -0
- siliconcompiler/tools/klayout/klayout_utils.py +8 -2
- siliconcompiler/tools/openroad/metrics.py +45 -0
- siliconcompiler/tools/openroad/openroad.py +3 -0
- siliconcompiler/tools/openroad/rdlroute.py +97 -0
- siliconcompiler/tools/openroad/scripts/sc_apr.tcl +1 -1
- siliconcompiler/tools/openroad/scripts/sc_metrics.tcl +0 -169
- siliconcompiler/tools/openroad/scripts/sc_rdlroute.tcl +184 -0
- siliconcompiler/tools/openroad/scripts/sc_report.tcl +170 -0
- siliconcompiler/tools/opensta/scripts/sc_report_libraries.tcl +11 -1
- siliconcompiler/tools/xyce/__init__.py +1 -1
- siliconcompiler/toolscripts/_tools.json +3 -4
- siliconcompiler/toolscripts/rhel8/install-xyce.sh +4 -5
- siliconcompiler/toolscripts/rhel9/install-xyce.sh +4 -5
- siliconcompiler/toolscripts/ubuntu20/install-xyce.sh +5 -5
- siliconcompiler/toolscripts/ubuntu22/install-xyce.sh +2 -2
- siliconcompiler/toolscripts/ubuntu24/install-xyce.sh +2 -2
- {siliconcompiler-0.28.4.dist-info → siliconcompiler-0.28.5.dist-info}/METADATA +4 -4
- {siliconcompiler-0.28.4.dist-info → siliconcompiler-0.28.5.dist-info}/RECORD +41 -32
- {siliconcompiler-0.28.4.dist-info → siliconcompiler-0.28.5.dist-info}/WHEEL +1 -1
- {siliconcompiler-0.28.4.dist-info → siliconcompiler-0.28.5.dist-info}/LICENSE +0 -0
- {siliconcompiler-0.28.4.dist-info → siliconcompiler-0.28.5.dist-info}/entry_points.txt +0 -0
- {siliconcompiler-0.28.4.dist-info → siliconcompiler-0.28.5.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
###############################
|
|
2
|
+
# Reading SC Schema
|
|
3
|
+
###############################
|
|
4
|
+
|
|
5
|
+
source ./sc_manifest.tcl > /dev/null
|
|
6
|
+
|
|
7
|
+
##############################
|
|
8
|
+
# Schema Adapter
|
|
9
|
+
###############################
|
|
10
|
+
|
|
11
|
+
set sc_tool openroad
|
|
12
|
+
set sc_step [sc_cfg_get arg step]
|
|
13
|
+
set sc_index [sc_cfg_get arg index]
|
|
14
|
+
set sc_flow [sc_cfg_get option flow]
|
|
15
|
+
set sc_task [sc_cfg_get flowgraph $sc_flow $sc_step $sc_index task]
|
|
16
|
+
|
|
17
|
+
set sc_refdir [sc_cfg_tool_task_get refdir]
|
|
18
|
+
|
|
19
|
+
# Design
|
|
20
|
+
set sc_design [sc_top]
|
|
21
|
+
set sc_optmode [sc_cfg_get option optmode]
|
|
22
|
+
set sc_pdk [sc_cfg_get option pdk]
|
|
23
|
+
set sc_stackup [sc_cfg_get option stackup]
|
|
24
|
+
|
|
25
|
+
# PDK Design Rules
|
|
26
|
+
set sc_libtype [lindex [sc_cfg_get option var openroad_libtype] 0]
|
|
27
|
+
set sc_techlef [sc_cfg_get pdk $sc_pdk aprtech openroad $sc_stackup $sc_libtype lef]
|
|
28
|
+
|
|
29
|
+
set sc_threads [sc_cfg_tool_task_get threads]
|
|
30
|
+
|
|
31
|
+
###############################
|
|
32
|
+
# Optional
|
|
33
|
+
###############################
|
|
34
|
+
|
|
35
|
+
# MACROS
|
|
36
|
+
set sc_macrolibs [sc_get_asic_libraries macro]
|
|
37
|
+
|
|
38
|
+
###############################
|
|
39
|
+
# Suppress messages if requested
|
|
40
|
+
###############################
|
|
41
|
+
|
|
42
|
+
foreach msg [sc_cfg_tool_task_get warningoff] {
|
|
43
|
+
set or_msg [split $msg "-"]
|
|
44
|
+
if { [llength $or_msg] != 2 } {
|
|
45
|
+
utl::warn FLW 1 "$msg is not a valid message id"
|
|
46
|
+
} else {
|
|
47
|
+
set or_tool [lindex $or_msg 0]
|
|
48
|
+
set or_msg_id [expr { int([lindex $or_msg 1]) }]
|
|
49
|
+
utl::info FLW 1 "Suppressing $msg messages"
|
|
50
|
+
suppress_message $or_tool $or_msg_id
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
###############################
|
|
55
|
+
# Source helper functions
|
|
56
|
+
###############################
|
|
57
|
+
|
|
58
|
+
source "$sc_refdir/sc_procs.tcl"
|
|
59
|
+
|
|
60
|
+
###############################
|
|
61
|
+
# Common Setup
|
|
62
|
+
###############################
|
|
63
|
+
|
|
64
|
+
set_thread_count $sc_threads
|
|
65
|
+
|
|
66
|
+
# Read techlef
|
|
67
|
+
puts "Reading techlef: ${sc_techlef}"
|
|
68
|
+
read_lef $sc_techlef
|
|
69
|
+
|
|
70
|
+
# Read Lefs
|
|
71
|
+
foreach lib "$sc_macrolibs" {
|
|
72
|
+
foreach lef_file [sc_cfg_get library $lib output $sc_stackup lef] {
|
|
73
|
+
puts "Reading lef: ${lef_file}"
|
|
74
|
+
read_lef $lef_file
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
# Read Verilog
|
|
79
|
+
if { [file exists "inputs/${sc_design}.vg"] } {
|
|
80
|
+
puts "Reading netlist verilog: inputs/${sc_design}.vg"
|
|
81
|
+
read_verilog "inputs/${sc_design}.vg"
|
|
82
|
+
} else {
|
|
83
|
+
foreach netlist [sc_cfg_get input netlist verilog] {
|
|
84
|
+
puts "Reading netlist verilog: ${netlist}"
|
|
85
|
+
read_verilog $netlist
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
link_design $sc_design
|
|
89
|
+
|
|
90
|
+
###############################
|
|
91
|
+
# Source Step Script
|
|
92
|
+
###############################
|
|
93
|
+
|
|
94
|
+
utl::push_metrics_stage "sc__prestep__{}"
|
|
95
|
+
if { [sc_cfg_tool_task_exists prescript] } {
|
|
96
|
+
foreach sc_pre_script [sc_cfg_tool_task_get prescript] {
|
|
97
|
+
puts "Sourcing pre script: ${sc_pre_script}"
|
|
98
|
+
source -echo $sc_pre_script
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
utl::pop_metrics_stage
|
|
102
|
+
|
|
103
|
+
utl::push_metrics_stage "sc__step__{}"
|
|
104
|
+
|
|
105
|
+
###########################
|
|
106
|
+
# Initialize floorplan
|
|
107
|
+
###########################
|
|
108
|
+
|
|
109
|
+
if { [sc_cfg_exists input asic floorplan] } {
|
|
110
|
+
set def [lindex [sc_cfg_get input asic floorplan] 0]
|
|
111
|
+
puts "Reading floorplan DEF: ${def}"
|
|
112
|
+
read_def -floorplan_initialize $def
|
|
113
|
+
} else {
|
|
114
|
+
#NOTE: assuming a two tuple value as lower left, upper right
|
|
115
|
+
set sc_diearea [sc_cfg_get constraint outline]
|
|
116
|
+
|
|
117
|
+
# Use die and core sizes
|
|
118
|
+
set sc_diesize "[lindex $sc_diearea 0] [lindex $sc_diearea 1]"
|
|
119
|
+
|
|
120
|
+
set outline [odb::Rect]
|
|
121
|
+
$outline set_xlo [ord::microns_to_dbu [lindex $sc_diesize 0]]
|
|
122
|
+
$outline set_ylo [ord::microns_to_dbu [lindex $sc_diesize 1]]
|
|
123
|
+
$outline set_xhi [ord::microns_to_dbu [lindex $sc_diesize 2]]
|
|
124
|
+
$outline set_yhi [ord::microns_to_dbu [lindex $sc_diesize 3]]
|
|
125
|
+
|
|
126
|
+
[ord::get_db_block] setDieArea $outline
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
puts "Floorplan information:"
|
|
130
|
+
puts "Die area: [ord::get_die_area]"
|
|
131
|
+
|
|
132
|
+
###########################
|
|
133
|
+
# Track Creation
|
|
134
|
+
###########################
|
|
135
|
+
|
|
136
|
+
# source tracks from file if found, else else use schema entries
|
|
137
|
+
make_tracks
|
|
138
|
+
|
|
139
|
+
###########################
|
|
140
|
+
# RDL Routing
|
|
141
|
+
###########################
|
|
142
|
+
foreach rdl_file [sc_cfg_tool_task_get {file} rdlroute] {
|
|
143
|
+
puts "Sourcing rdlroute: ${rdl_file}"
|
|
144
|
+
source $rdl_file
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
######################
|
|
148
|
+
# Do fill
|
|
149
|
+
######################
|
|
150
|
+
|
|
151
|
+
set removed_obs 0
|
|
152
|
+
foreach obstruction [[ord::get_db_block] getObstructions] {
|
|
153
|
+
odb::dbObstruction_destroy $obstruction
|
|
154
|
+
incr removed_obs
|
|
155
|
+
}
|
|
156
|
+
utl::info FLW 1 "Deleted $removed_obs routing obstructions"
|
|
157
|
+
|
|
158
|
+
if {
|
|
159
|
+
[lindex [sc_cfg_tool_task_get var fin_add_fill] 0] == "true" &&
|
|
160
|
+
[sc_cfg_exists pdk $sc_pdk aprtech openroad $sc_stackup $sc_libtype fill]
|
|
161
|
+
} {
|
|
162
|
+
set sc_fillrules \
|
|
163
|
+
[lindex [sc_cfg_get pdk $sc_pdk aprtech openroad $sc_stackup $sc_libtype fill] 0]
|
|
164
|
+
density_fill -rules $sc_fillrules
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
utl::pop_metrics_stage
|
|
168
|
+
|
|
169
|
+
utl::push_metrics_stage "sc__poststep__{}"
|
|
170
|
+
if { [sc_cfg_tool_task_exists postscript] } {
|
|
171
|
+
foreach sc_post_script [sc_cfg_tool_task_get postscript] {
|
|
172
|
+
puts "Sourcing post script: ${sc_post_script}"
|
|
173
|
+
source -echo $sc_post_script
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
utl::pop_metrics_stage
|
|
177
|
+
|
|
178
|
+
###############################
|
|
179
|
+
# Write Design Data
|
|
180
|
+
###############################
|
|
181
|
+
|
|
182
|
+
utl::push_metrics_stage "sc__write__{}"
|
|
183
|
+
source "$sc_refdir/sc_write.tcl"
|
|
184
|
+
utl::pop_metrics_stage
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
###############################
|
|
2
|
+
# Report Metrics
|
|
3
|
+
###############################
|
|
4
|
+
|
|
5
|
+
proc sc_display_report { report } {
|
|
6
|
+
if { ![file exists $report] } {
|
|
7
|
+
return
|
|
8
|
+
}
|
|
9
|
+
set fid [open $report r]
|
|
10
|
+
set report_content [read $fid]
|
|
11
|
+
close $fid
|
|
12
|
+
puts $report_content
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
set fields "{capacitance slew input_pins nets fanout}"
|
|
16
|
+
set PREFIX "SC_METRIC:"
|
|
17
|
+
|
|
18
|
+
if { [sc_cfg_tool_task_check_in_list setup var reports] } {
|
|
19
|
+
puts "$PREFIX report_checks -path_delay max"
|
|
20
|
+
report_checks -fields $fields -path_delay max -format full_clock_expanded \
|
|
21
|
+
> reports/timing/setup.rpt
|
|
22
|
+
sc_display_report reports/timing/setup.rpt
|
|
23
|
+
report_checks -path_delay max -group_count $openroad_sta_top_n_paths \
|
|
24
|
+
> reports/timing/setup.topN.rpt
|
|
25
|
+
|
|
26
|
+
puts "$PREFIX setupslack"
|
|
27
|
+
report_worst_slack -max > reports/timing/worst_slack.setup.rpt
|
|
28
|
+
sc_display_report reports/timing/worst_slack.setup.rpt
|
|
29
|
+
report_worst_slack_metric -setup
|
|
30
|
+
|
|
31
|
+
puts "$PREFIX tns"
|
|
32
|
+
report_tns > reports/timing/total_negative_slack.rpt
|
|
33
|
+
sc_display_report reports/timing/total_negative_slack.rpt
|
|
34
|
+
report_tns_metric -setup
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if { [sc_cfg_tool_task_check_in_list hold var reports] } {
|
|
38
|
+
puts "$PREFIX report_checks -path_delay min"
|
|
39
|
+
report_checks -fields $fields -path_delay min -format full_clock_expanded \
|
|
40
|
+
> reports/timing/hold.rpt
|
|
41
|
+
sc_display_report reports/timing/hold.rpt
|
|
42
|
+
report_checks -path_delay min -group_count $openroad_sta_top_n_paths \
|
|
43
|
+
> reports/timing/hold.topN.rpt
|
|
44
|
+
|
|
45
|
+
puts "$PREFIX holdslack"
|
|
46
|
+
report_worst_slack -min > reports/timing/worst_slack.hold.rpt
|
|
47
|
+
sc_display_report reports/timing/worst_slack.hold.rpt
|
|
48
|
+
report_worst_slack_metric -hold
|
|
49
|
+
|
|
50
|
+
report_tns_metric -hold
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if { [sc_cfg_tool_task_check_in_list unconstrained var reports] } {
|
|
54
|
+
puts "$PREFIX unconstrained"
|
|
55
|
+
report_checks -fields $fields -unconstrained -format full_clock_expanded \
|
|
56
|
+
> reports/timing/unconstrained.rpt
|
|
57
|
+
sc_display_report reports/timing/unconstrained.rpt
|
|
58
|
+
report_checks -unconstrained -group_count $openroad_sta_top_n_paths \
|
|
59
|
+
> reports/timing/unconstrained.topN.rpt
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if {
|
|
63
|
+
[sc_cfg_tool_task_check_in_list clock_skew var reports] &&
|
|
64
|
+
[llength [all_clocks]] > 0
|
|
65
|
+
} {
|
|
66
|
+
puts "$PREFIX clock_skew"
|
|
67
|
+
report_clock_skew -setup -digits 4 > reports/timing/skew.setup.rpt
|
|
68
|
+
sc_display_report reports/timing/skew.setup.rpt
|
|
69
|
+
report_clock_skew_metric -setup
|
|
70
|
+
report_clock_skew -hold -digits 4 > reports/timing/skew.hold.rpt
|
|
71
|
+
sc_display_report reports/timing/skew.hold.rpt
|
|
72
|
+
report_clock_skew_metric -hold
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if { [sc_cfg_tool_task_check_in_list drv_violations var reports] } {
|
|
76
|
+
puts "$PREFIX DRV violators"
|
|
77
|
+
report_check_types -max_slew -max_capacitance -max_fanout -violators \
|
|
78
|
+
> reports/timing/drv_violators.rpt
|
|
79
|
+
sc_display_report reports/timing/drv_violators.rpt
|
|
80
|
+
report_erc_metrics
|
|
81
|
+
|
|
82
|
+
puts "$PREFIX floating nets"
|
|
83
|
+
report_floating_nets -verbose > reports/floating_nets.rpt
|
|
84
|
+
sc_display_report reports/floating_nets.rpt
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
utl::metric_int "timing__clocks" [llength [all_clocks]]
|
|
88
|
+
|
|
89
|
+
if { [sc_cfg_tool_task_check_in_list fmax var reports] } {
|
|
90
|
+
puts "$PREFIX fmax"
|
|
91
|
+
# Model on: https://github.com/The-OpenROAD-Project/OpenSTA/blob/f913c3ddbb3e7b4364ed4437c65ac78c4da9174b/tcl/Search.tcl#L1078
|
|
92
|
+
set fmax_metric 0
|
|
93
|
+
foreach clk [sta::sort_by_name [all_clocks]] {
|
|
94
|
+
set clk_name [get_name $clk]
|
|
95
|
+
set min_period [sta::find_clk_min_period $clk 1]
|
|
96
|
+
if { $min_period == 0.0 } {
|
|
97
|
+
continue
|
|
98
|
+
}
|
|
99
|
+
set fmax [expr { 1.0 / $min_period }]
|
|
100
|
+
utl::metric_float "timing__fmax__clock:${clk_name}" $fmax
|
|
101
|
+
puts "$clk_name fmax = [format %.2f [expr { $fmax / 1e6 }]] MHz"
|
|
102
|
+
set fmax_metric [expr { max($fmax_metric, $fmax) }]
|
|
103
|
+
}
|
|
104
|
+
if { $fmax_metric > 0 } {
|
|
105
|
+
utl::metric_float "timing__fmax" $fmax_metric
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
# get logic depth of design
|
|
110
|
+
utl::metric_int "design__logic__depth" [count_logic_depth]
|
|
111
|
+
|
|
112
|
+
if { [sc_cfg_tool_task_check_in_list power var reports] } {
|
|
113
|
+
puts "$PREFIX power"
|
|
114
|
+
foreach corner [sta::corners] {
|
|
115
|
+
set corner_name [$corner name]
|
|
116
|
+
puts "Power for corner: $corner_name"
|
|
117
|
+
report_power -corner $corner_name > reports/power/${corner_name}.rpt
|
|
118
|
+
sc_display_report reports/power/${corner_name}.rpt
|
|
119
|
+
}
|
|
120
|
+
report_power_metric -corner $sc_power_corner
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
puts "$PREFIX cellarea"
|
|
124
|
+
report_design_area
|
|
125
|
+
report_design_area_metrics
|
|
126
|
+
|
|
127
|
+
# get number of nets in design
|
|
128
|
+
utl::metric_int "design__nets" [llength [[ord::get_db_block] getNets]]
|
|
129
|
+
|
|
130
|
+
# get number of registers
|
|
131
|
+
utl::metric_int "design__registers" [llength [all_registers]]
|
|
132
|
+
|
|
133
|
+
# get number of buffers
|
|
134
|
+
set bufs 0
|
|
135
|
+
set invs 0
|
|
136
|
+
foreach inst [get_cells -hierarchical *] {
|
|
137
|
+
set cell [$inst cell]
|
|
138
|
+
if { $cell == "NULL" } {
|
|
139
|
+
continue
|
|
140
|
+
}
|
|
141
|
+
set liberty_cell [$cell liberty_cell]
|
|
142
|
+
if { $liberty_cell == "NULL" } {
|
|
143
|
+
continue
|
|
144
|
+
}
|
|
145
|
+
if { [$liberty_cell is_buffer] } {
|
|
146
|
+
incr bufs
|
|
147
|
+
} elseif { [$liberty_cell is_inverter] } {
|
|
148
|
+
incr invs
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
utl::metric_int "design__buffers" $bufs
|
|
152
|
+
utl::metric_int "design__inverters" $invs
|
|
153
|
+
|
|
154
|
+
# get number of unconstrained endpoints
|
|
155
|
+
with_output_to_variable endpoints {check_setup -unconstrained_endpoints}
|
|
156
|
+
set unconstrained_endpoints [regexp -all -inline {[0-9]+} $endpoints]
|
|
157
|
+
if { $unconstrained_endpoints == "" } {
|
|
158
|
+
set unconstrained_endpoints 0
|
|
159
|
+
}
|
|
160
|
+
utl::metric_int "timing__unconstrained" $unconstrained_endpoints
|
|
161
|
+
|
|
162
|
+
# Write markers
|
|
163
|
+
foreach markerdb [[ord::get_db_block] getMarkerCategories] {
|
|
164
|
+
if { [$markerdb getMarkerCount] == 0 } {
|
|
165
|
+
continue
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
$markerdb writeTR "reports/markers/${sc_design}.[$markerdb getName].rpt"
|
|
169
|
+
$markerdb writeJSON "reports/markers/${sc_design}.[$markerdb getName].json"
|
|
170
|
+
}
|
|
@@ -55,7 +55,17 @@ foreach lib "$sc_targetlibs $sc_macrolibs" {
|
|
|
55
55
|
|
|
56
56
|
# Report cells
|
|
57
57
|
foreach cell [get_lib_cells *] {
|
|
58
|
-
|
|
58
|
+
set desc ""
|
|
59
|
+
if { [get_property $cell is_buffer] } {
|
|
60
|
+
set desc " (buffer)"
|
|
61
|
+
} elseif { [get_property $cell is_inverter] } {
|
|
62
|
+
set desc " (inverter)"
|
|
63
|
+
} elseif {
|
|
64
|
+
[llength [get_lib_pins -quiet [get_full_name $cell]/* -filter is_register_clock==1]] != 0
|
|
65
|
+
} {
|
|
66
|
+
set desc " (register)"
|
|
67
|
+
}
|
|
68
|
+
puts "[get_full_name $cell]$desc"
|
|
59
69
|
|
|
60
70
|
set pins [get_lib_pins -quiet [get_full_name $cell]/*]
|
|
61
71
|
if { [llength $pins] == 0 } {
|
|
@@ -7,7 +7,7 @@ and small-scale parallel runs on Unix-like systems.
|
|
|
7
7
|
|
|
8
8
|
Documentation: https://xyce.sandia.gov/documentation-tutorials/
|
|
9
9
|
|
|
10
|
-
Sources: https://
|
|
10
|
+
Sources: https://xyce.sandia.gov/downloads/source-code/
|
|
11
11
|
|
|
12
12
|
Installation: https://xyce.sandia.gov/documentation-tutorials/building-guide/
|
|
13
13
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"openroad": {
|
|
3
3
|
"git-url": "https://github.com/The-OpenROAD-Project/OpenROAD.git",
|
|
4
|
-
"git-commit": "
|
|
4
|
+
"git-commit": "1531ad983bfe91384e9253769fdc5f8dcf24fea8",
|
|
5
5
|
"docker-cmds": [
|
|
6
6
|
"# Remove OR-Tools files",
|
|
7
7
|
"RUN rm -f $SC_PREFIX/Makefile $SC_PREFIX/README.md",
|
|
@@ -91,13 +91,12 @@
|
|
|
91
91
|
},
|
|
92
92
|
"yosys": {
|
|
93
93
|
"git-url": "https://github.com/YosysHQ/yosys.git",
|
|
94
|
-
"git-commit": "0.
|
|
94
|
+
"git-commit": "0.47",
|
|
95
95
|
"version-prefix": "",
|
|
96
96
|
"auto-update": true
|
|
97
97
|
},
|
|
98
98
|
"xyce": {
|
|
99
|
-
"
|
|
100
|
-
"version": "7.8.0",
|
|
99
|
+
"version": "7.8",
|
|
101
100
|
"auto-update": false
|
|
102
101
|
},
|
|
103
102
|
"xdm": {
|
|
@@ -20,17 +20,16 @@ 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
|
-
# Download Trilinos
|
|
23
|
+
# Download Trilinos.
|
|
24
24
|
## Version specified in: https://github.com/Xyce/Xyce/blob/master/INSTALL.md#building-trilinos
|
|
25
25
|
trilinos_version=14-4-0
|
|
26
|
-
wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz -O trilinos.tar.gz
|
|
26
|
+
wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz --no-verbose -O trilinos.tar.gz
|
|
27
27
|
mkdir -p trilinos
|
|
28
28
|
tar --strip-components=1 -xf trilinos.tar.gz -C trilinos
|
|
29
|
-
rm trilinos.tar.gz
|
|
30
29
|
|
|
31
|
-
# Download Xyce
|
|
30
|
+
# Download Xyce.
|
|
32
31
|
xyce_version=$(python3 ${src_path}/_tools.py --tool xyce --field version)
|
|
33
|
-
wget https://
|
|
32
|
+
wget https://xyce.sandia.gov/files/xyce/Xyce-${xyce_version}.tar.gz --no-verbose -O xyce.tar.gz
|
|
34
33
|
mkdir -p xyce
|
|
35
34
|
tar --strip-components=1 -xf xyce.tar.gz -C xyce
|
|
36
35
|
rm xyce.tar.gz
|
|
@@ -20,17 +20,16 @@ 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
|
-
# Download Trilinos
|
|
23
|
+
# Download Trilinos.
|
|
24
24
|
## Version specified in: https://github.com/Xyce/Xyce/blob/master/INSTALL.md#building-trilinos
|
|
25
25
|
trilinos_version=14-4-0
|
|
26
|
-
wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz -O trilinos.tar.gz
|
|
26
|
+
wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz --no-verbose -O trilinos.tar.gz
|
|
27
27
|
mkdir -p trilinos
|
|
28
28
|
tar --strip-components=1 -xf trilinos.tar.gz -C trilinos
|
|
29
|
-
rm trilinos.tar.gz
|
|
30
29
|
|
|
31
|
-
# Download Xyce
|
|
30
|
+
# Download Xyce.
|
|
32
31
|
xyce_version=$(python3 ${src_path}/_tools.py --tool xyce --field version)
|
|
33
|
-
wget https://
|
|
32
|
+
wget https://xyce.sandia.gov/files/xyce/Xyce-${xyce_version}.tar.gz --no-verbose -O xyce.tar.gz
|
|
34
33
|
mkdir -p xyce
|
|
35
34
|
tar --strip-components=1 -xf xyce.tar.gz -C xyce
|
|
36
35
|
rm xyce.tar.gz
|
|
@@ -20,20 +20,20 @@ fi
|
|
|
20
20
|
# Install CMAKE
|
|
21
21
|
python3 -m venv .xyce --clear
|
|
22
22
|
. .xyce/bin/activate
|
|
23
|
-
python3 -m pip install cmake
|
|
23
|
+
python3 -m pip install cmake>=3.23.0
|
|
24
24
|
|
|
25
25
|
# Download Trilinos.
|
|
26
26
|
## Version specified in: https://github.com/Xyce/Xyce/blob/master/INSTALL.md#building-trilinos
|
|
27
27
|
trilinos_version=14-4-0
|
|
28
|
-
wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz -O trilinos.tar.gz
|
|
28
|
+
wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz --no-verbose -O trilinos.tar.gz
|
|
29
29
|
mkdir -p trilinos
|
|
30
|
-
tar --strip-components=1 -
|
|
30
|
+
tar --strip-components=1 -xf trilinos.tar.gz -C trilinos
|
|
31
31
|
|
|
32
32
|
# Download Xyce.
|
|
33
33
|
xyce_version=$(python3 ${src_path}/_tools.py --tool xyce --field version)
|
|
34
|
-
wget https://
|
|
34
|
+
wget https://xyce.sandia.gov/files/xyce/Xyce-${xyce_version}.tar.gz --no-verbose -O xyce.tar.gz
|
|
35
35
|
mkdir -p xyce
|
|
36
|
-
tar --strip-components=1 -
|
|
36
|
+
tar --strip-components=1 -xf xyce.tar.gz -C xyce
|
|
37
37
|
|
|
38
38
|
cd xyce
|
|
39
39
|
|
|
@@ -25,13 +25,13 @@ python3 -m pip install cmake>=3.23.0
|
|
|
25
25
|
# Download Trilinos.
|
|
26
26
|
## Version specified in: https://github.com/Xyce/Xyce/blob/master/INSTALL.md#building-trilinos
|
|
27
27
|
trilinos_version=14-4-0
|
|
28
|
-
wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz -O trilinos.tar.gz
|
|
28
|
+
wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz --no-verbose -O trilinos.tar.gz
|
|
29
29
|
mkdir -p trilinos
|
|
30
30
|
tar --strip-components=1 -xf trilinos.tar.gz -C trilinos
|
|
31
31
|
|
|
32
32
|
# Download Xyce.
|
|
33
33
|
xyce_version=$(python3 ${src_path}/_tools.py --tool xyce --field version)
|
|
34
|
-
wget https://
|
|
34
|
+
wget https://xyce.sandia.gov/files/xyce/Xyce-${xyce_version}.tar.gz --no-verbose -O xyce.tar.gz
|
|
35
35
|
mkdir -p xyce
|
|
36
36
|
tar --strip-components=1 -xf xyce.tar.gz -C xyce
|
|
37
37
|
|
|
@@ -25,13 +25,13 @@ python3 -m pip install cmake>=3.23.0
|
|
|
25
25
|
# Download Trilinos.
|
|
26
26
|
## Version specified in: https://github.com/Xyce/Xyce/blob/master/INSTALL.md#building-trilinos
|
|
27
27
|
trilinos_version=14-4-0
|
|
28
|
-
wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz -O trilinos.tar.gz
|
|
28
|
+
wget https://github.com/trilinos/Trilinos/archive/refs/tags/trilinos-release-${trilinos_version}.tar.gz --no-verbose -O trilinos.tar.gz
|
|
29
29
|
mkdir -p trilinos
|
|
30
30
|
tar --strip-components=1 -xf trilinos.tar.gz -C trilinos
|
|
31
31
|
|
|
32
32
|
# Download Xyce.
|
|
33
33
|
xyce_version=$(python3 ${src_path}/_tools.py --tool xyce --field version)
|
|
34
|
-
wget https://
|
|
34
|
+
wget https://xyce.sandia.gov/files/xyce/Xyce-${xyce_version}.tar.gz --no-verbose -O xyce.tar.gz
|
|
35
35
|
mkdir -p xyce
|
|
36
36
|
tar --strip-components=1 -xf xyce.tar.gz -C xyce
|
|
37
37
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: siliconcompiler
|
|
3
|
-
Version: 0.28.
|
|
3
|
+
Version: 0.28.5
|
|
4
4
|
Summary: A compiler framework that automates translation from source code to silicon.
|
|
5
5
|
Author-email: Andreas Olofsson <andreas.d.olofsson@gmail.com>
|
|
6
6
|
License: Apache License 2.0
|
|
@@ -36,14 +36,14 @@ Requires-Dist: packaging <24,>=21.3
|
|
|
36
36
|
Requires-Dist: psutil >=5.8.0
|
|
37
37
|
Requires-Dist: Pillow ==10.4.0
|
|
38
38
|
Requires-Dist: GitPython ==3.1.43
|
|
39
|
-
Requires-Dist: lambdapdk >=0.1.
|
|
39
|
+
Requires-Dist: lambdapdk >=0.1.38
|
|
40
40
|
Requires-Dist: PyGithub ==2.4.0
|
|
41
41
|
Requires-Dist: urllib3 >=1.26.0
|
|
42
42
|
Requires-Dist: fasteners ==0.19
|
|
43
43
|
Requires-Dist: fastjsonschema ==2.20.0
|
|
44
44
|
Requires-Dist: docker ==7.1.0
|
|
45
45
|
Requires-Dist: sc-surelog ==1.84.1
|
|
46
|
-
Requires-Dist: orjson ==3.10.
|
|
46
|
+
Requires-Dist: orjson ==3.10.11
|
|
47
47
|
Requires-Dist: streamlit ==1.39.0
|
|
48
48
|
Requires-Dist: streamlit-agraph ==0.0.45
|
|
49
49
|
Requires-Dist: streamlit-antd-components ==0.3.2
|
|
@@ -57,7 +57,7 @@ Requires-Dist: pydata-sphinx-theme ==0.16.0 ; extra == 'docs'
|
|
|
57
57
|
Requires-Dist: sc-leflib >=0.2.0 ; extra == 'docs'
|
|
58
58
|
Provides-Extra: examples
|
|
59
59
|
Requires-Dist: migen ==0.9.2 ; extra == 'examples'
|
|
60
|
-
Requires-Dist: lambdalib ==0.
|
|
60
|
+
Requires-Dist: lambdalib ==0.3.0 ; extra == 'examples'
|
|
61
61
|
Provides-Extra: profile
|
|
62
62
|
Requires-Dist: gprof2dot ==2024.6.6 ; extra == 'profile'
|
|
63
63
|
Provides-Extra: test
|