# sky130

Daniel da Silva Santos

03/19/2022, 4:56 PM
Hello everyone, I came across this problem while trying to harden my design with openlane, could someone please help me to solve it?
my config.tcl: set ::env(PDK) "sky130A" set ::env(STD_CELL_LIBRARY) "sky130_fd_sc_hd" set script_dir [file dirname [file normalize [info script]]] set ::env(DESIGN_NAME) leaf_chip set ::env(VERILOG_FILES) "\ $::env(CARAVEL_ROOT)/verilog/rtl/defines.v \ $script_dir/../../verilog/rtl/leaf_chip.v" set ::env(DESIGN_IS_CORE) 0 set ::env(CLOCK_PORT) "clk" set ::env(CLOCK_NET) " " set ::env(CLOCK_PERIOD) "10" set ::env(FP_SIZING) absolute set ::env(DIE_AREA) "0 0 2000 2000" set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg set ::env(PL_BASIC_PLACEMENT) 0 set ::env(PL_TARGET_DENSITY) 0.45 # Maximum layer used for routing is metal 4. # This is because this macro will be inserted in a top level (user_project_wrapper) # where the PDN is planned on metal 5. So, to avoid having shorts between routes # in this macro and the top level metal 5 stripes, we have to restrict routes to metal4. # # set ::env(GLB_RT_MAXLAYER) 5 set ::env(RT_MAX_LAYER) {met4} # You can draw more power domains if you need to set ::env(VDD_NETS) [list {vccd1}] set ::env(GND_NETS) [list {vssd1}] set ::env(DIODE_INSERTION_STRATEGY) 4 # If you're going to use multiple power domains, then disable cvc run. set ::env(RUN_CVC) 1

andrew foote

03/19/2022, 5:55 PM
this is potentially an out of memory error that resulted in the kernel killing the router process. i suggest checking dmesg after it happens to see if there are any OOM events in the log

Arman Avetisyan

03/19/2022, 6:13 PM
Yeah, definitely out of memory

Ruediger Ehlers

03/19/2022, 6:22 PM
There is also the possibility to run "top" in a seperate terminal in parallel and observe the memory consumption of the openroad process in parallel. If the error occurs pretty much exactly the process hits the amount of memory available, it*s an out of memory error. Some observations made: The amount of memory needed to harden a macro with actual logic in it appears to depend on the area of the macro. A macro of size 1600x1200 was fine to harden with 16 Gigabyte of Ram. However, trying the same design on the wrapper area didn't work for me at all with 16 GB of RAM.

Daniel da Silva Santos

03/19/2022, 8:26 PM
thank you all, indeed, that seems to be the problem.