@quentinw91
read_lef "sky130/sky130_tech.lef"
read_lef "sky130/sky130.lef"
read_liberty "sky130/sky130_tt.lib"
//read_def "mydef.def"
//read_sdc "mysdc.sdc"
configure_cts_characterization -max_cap cap 52 \
-max_slew slew 24 \
-sqr_cap capvalue 5 \
-sqr_res resvalue 5 \
-slew_inter slewvalue 8 \
-cap_inter capvalue 22
clock_tree_synthesis -buf_list <list_of_buffers> \
-out_path path ./sky130 \
-characterization_only
write_def "final.def
But it come out a err named:
#Error: trygenerate.tcl, 12 invalid command name "configure_cts_characterization"
I try the following .tcl,it still failed.
read_lef "sky130/sky130_tech.lef"
read_lef "sky130/sky130.lef"
read_liberty "sky130/sky130_tt.lib"
//read_def "mydef.def"
//read_sdc "mysdc.sdc"
clock_tree_synthesis -buf_list <list_of_buffers> \
-out_path path ./sky130 \
-characterization_only \
-max_cap cap 52 \
-max_slew slew 24 \
-sqr_cap capvalue 5 \
-sqr_res resvalue 5 \
-slew_inter slewvalue 8 \
-cap_inter capvalue 22
write_def "final.def
#Error: trygenerate.tcl, 16 TypeError in method 'TritonCTSKernel_set_max_char_cap', argument 2 of type 'double'
So I still confuse about generate those files(.lut and .sol_list), I wonder if you can give me a complete .tcl for reference,I would be very appreciate .
.lyp
is a layout properties file and is just convenient for viewing layouts, it isn't a required file. .lyt
can be created by looking at a GDS mapping file provided by the kit. Creating a .lydrc
is not reasonable for GF12. There are too many rules, which are probably too complex for any current open-source DRC engine to handle. You should use a commercial DRC engine at this time instead.
When I try running fastroute with the sample gcd design, I get the following:
fastroute -guide_file ./results/gf12/gcd/route.guide -verbose 2
0:06.58elapsed 99%CPU 259360memKB
make: * [results/gf12/gcd/route.guide] Error 11
When I run in openroad interactively I see this:
[INFO] P3 runtime: 0.000000 sec
[INFO] Final 2D results:
[Overflow Report] total Usage : 4072
[Overflow Report] Max H Overflow: 0
[Overflow Report] Max V Overflow: 0
[Overflow Report] Max Overflow : 0
[Overflow Report] Num Overflow e: 0
[Overflow Report] H Overflow : 0
[Overflow Report] V Overflow : 0
[Overflow Report] Final Overflow: 0
Layer Assignment Begins
Layer assignment finished
[INFO] 2D + Layer Assignment Runtime: 4.210000 sec
Post Processing Begins
Error: heap underflow
Segmentation fault
Any suggestions?
@jtpedicone It's really hard to diagnose these problems from error messages alone. I would visually inspect the guides and routes for the problematic net to see if something looks suspicious. In OpenROAD-flow you can use make klayout_guides
to view guides in KLayout or use make gui_final
to view in the OpenROAD GUI. In either case you will have to adjust the Makefile to use the DEF for 4_cts.def
rather than 5_route.def
.
Your issue might have to do with cells with difficult pin access. (it is strongly recommended to put cells with strength less than X1 in DONT_USE_CELLS
). Congestion might also be high, or if there are macros then the channel width might be too narrow / the keep-out halos aren't large enough.
logs/5_2_TritonRoute.log:32:Warning: METAL1 does not have viaDef align with layer direction, generating new viaDef VIA12_FR...
Hi,
I found some issues in OpenRoad dealing with file-paths containing a space character. These issues can be fixed by changing 4 lines of code in 3 files:
file: src/OpenRoad.tcl
change line 49 from
set filename [file nativename $args]
to
set filename [lindex [file nativename $args] 0]
change line
set filename [file nativename $args]
to
set filename [lindex [file nativename $args] 0]
file: src/pdngen/src/PdnGen.tcl
change line 95 from
set config_file $args
to
set config_file [lindex $args 0]
file: src/OpenSTA/tcl/Liberty.tcl
change line 29 from
set filename [file nativename $args]
to
set filename [lindex [file nativename $args] 0]