Konrad Wilk
11/11/2021, 1:16 AM[INFO ODB-0225] Created 1 library cells
[INFO ODB-0226] Finished LEF file: ./lef/wrapper.lef
[WARNING ORD-1011] LEF master wrapper_fibonacci has no liberty cell.
[WARNING ORD-1011] LEF master wrapper_sha1 has no liberty cell.
set ::env(CLOCK_PERIOD) 20
set ::env(CLOCK_PORT) wb_clk_i
set ::env(IO_PCT) 0.2
set ::env(SYNTH_DRIVING_CELL) "sky130_fd_sc_hd__inv_1"
set ::env(SYNTH_DRIVING_CELL_PIN) "Y"
set ::env(SYNTH_CAP_LOAD) "33.5"
set ::env(SYNTH_MAX_FANOUT) "4"
create_clock [get_ports $::env(CLOCK_PORT)] -name $::env(CLOCK_PORT) -period $::env(CLOCK_PERIOD)
set_propagated_clock [get_clocks $::env(CLOCK_PORT)]
set input_delay_value [expr $::env(CLOCK_PERIOD) * $::env(IO_PCT)]
set output_delay_value [expr $::env(CLOCK_PERIOD) * $::env(IO_PCT)]
puts "\[INFO\]: Setting output delay to: $output_delay_value"
[INFO]: Setting output delay to: 4.0
puts "\[INFO\]: Setting input delay to: $input_delay_value"
[INFO]: Setting input delay to: 4.0
set_max_fanout $::env(SYNTH_MAX_FANOUT) [current_design]
set clk_indx [lsearch [all_inputs] [get_port $::env(CLOCK_PORT)]]
set all_inputs_wo_clk [lreplace [all_inputs] $clk_indx $clk_indx]
set all_inputs_wo_clk_rst $all_inputs_wo_clk
set_input_delay $input_delay_value -clock [get_clocks $::env(CLOCK_PORT)] $all_inputs_wo_clk_rst
set_output_delay $output_delay_value -clock [get_clocks $::env(CLOCK_PORT)] [all_outputs]
# TODO set this as parameter
set_driving_cell -lib_cell $::env(SYNTH_DRIVING_CELL) -pin $::env(SYNTH_DRIVING_CELL_PIN) [all_inputs]
set cap_load [expr $::env(SYNTH_CAP_LOAD) / 1000.0]
puts "\[INFO\]: Setting load to: $cap_load"
[INFO]: Setting load to: 0.0335
set_load $cap_load [all_outputs]
No paths found.
No paths found? But if I grep for wb_clk_i I can see it in lef/* and def/*Matthew Guthaus
11/11/2021, 1:19 AMKrzysztof Herman
11/11/2021, 1:20 AMKrzysztof Herman
11/11/2021, 1:20 AMset ::env(CLOCK_PORT) "wb_clk_i"
set ::env(CLOCK_NET) "wb_clk_i"
Konrad Wilk
11/11/2021, 1:23 AMset ::env(CLOCK_PERIOD) 20
set ::env(CLOCK_PORT) "wb_clk_i"
set ::env(CLOCK_NET) "wb_clk_i"
set ::env(IO_PCT) 0.2
set ::env(SYNTH_DRIVING_CELL) "sky130_fd_sc_hd__inv_1"
set ::env(SYNTH_DRIVING_CELL_PIN) "Y"
set ::env(SYNTH_CAP_LOAD) "33.5"
set ::env(SYNTH_MAX_FANOUT) "4"
puts "Before"
Before
create_clock [get_ports $::env(CLOCK_PORT)] -name $::env(CLOCK_PORT) -period $::env(CLOCK_PERIOD)
puts "After"
After
Konrad Wilk
11/11/2021, 1:24 AMMatthew Guthaus
11/11/2021, 1:25 AMMatthew Guthaus
11/11/2021, 1:25 AMKrzysztof Herman
11/11/2021, 1:26 AMKonrad Wilk
11/11/2021, 1:33 AMset clock_lists [get_clocks $::env(CLOCK_PORT)]
foreach clock_asgn $clock_lists {
set node_name [lindex $clock_asgn 0]
set clock_setting_name [lindex $clock_asgn 1]
if { $node_name == "" } {
puts "No node uses the clock \"$clock_setting_name\""
} elseif {$clock_setting_name == ""} {
puts "The node \"$node_name\" uses an undefined clock setting";
} else {
puts "The node \"$node_name\" uses the clock \"$clock_setting_name\""
}
}
The node "_d0d9fa0400000000_p_Clock" uses an undefined clock setting
Krzysztof Herman
11/11/2021, 1:35 AMKrzysztof Herman
11/11/2021, 1:36 AMKonrad Wilk
11/11/2021, 1:36 AMKrzysztof Herman
11/11/2021, 1:37 AMKrzysztof Herman
11/11/2021, 1:39 AMTom Spyrou
11/11/2021, 2:26 AMKrzysztof Herman
11/11/2021, 2:45 AMKrzysztof Herman
11/11/2021, 2:45 AMreport_units
time 1ns
capacitance 1pF
resistance 1kohm
voltage 1v
current 1mA
power 1nW
distance 1um
Krzysztof Herman
11/11/2021, 2:46 AMVijayan Krishnan
11/11/2021, 5:38 AMVijayan Krishnan
11/11/2021, 9:30 AMKrzysztof Herman
11/11/2021, 10:42 AMVijayan Krishnan
11/11/2021, 10:45 AMKrzysztof Herman
11/11/2021, 10:46 AMTom Spyrou
12/11/2021, 5:05 PM