From e7f64bf4f7753b7dc66810898ca12ea0510364d9 Mon Sep 17 00:00:00 2001 From: mo-hosni Date: Mon, 18 Mar 2024 21:41:26 +0200 Subject: [PATCH] update `caravel_core` openlane configuration to fix LVS issues --- openlane/caravel_core/config.json | 6 +++-- openlane/caravel_core/macros-sta.json | 2 +- openlane/caravel_core/macros.json | 2 +- openlane/caravel_core/openlane2-command.bash | 2 +- .../caravel_core/pdn_configuration/pdn.tcl | 24 +++++++++---------- openlane/caravel_core/sdc_files/base.sdc | 2 +- openlane/caravel_core/sdc_files/signoff.sdc | 4 ++-- 7 files changed, 22 insertions(+), 20 deletions(-) diff --git a/openlane/caravel_core/config.json b/openlane/caravel_core/config.json index 250a156b..3d8bb9a8 100644 --- a/openlane/caravel_core/config.json +++ b/openlane/caravel_core/config.json @@ -147,7 +147,8 @@ "met5 3043 2082 3171.23 2167", "met5 3043 1859 3171.23 1945", "met4 992 -10 1071 122", - "met4 2648 4631 2747 4772.41" + "met4 2648 4631 2747 4772.41", + "met5 2722.055 118.380 3154.920 166.380" ], "FP_PDN_CFG": "dir::/pdn_configuration/pdn.tcl", "PDN_MACRO_CONNECTIONS": [ @@ -236,7 +237,8 @@ "MAGIC_DEF_LABELS": false, "MAGIC_EXT_USE_GDS": true, "ERROR_ON_MAGIC_DRC": false, + "MAGIC_WRITE_FULL_LEF": true, "//": "netgen", - "ERROR_ON_LVS_ERROR": false + "ERROR_ON_LVS_ERROR": true } \ No newline at end of file diff --git a/openlane/caravel_core/macros-sta.json b/openlane/caravel_core/macros-sta.json index 9eb20860..e872c7c3 100644 --- a/openlane/caravel_core/macros-sta.json +++ b/openlane/caravel_core/macros-sta.json @@ -666,7 +666,7 @@ ], "instances": { "clock_ctrl": { - "location": [2747, 9.40], + "location": [2772, 9.40], "orientation": "N" } }, diff --git a/openlane/caravel_core/macros.json b/openlane/caravel_core/macros.json index d0565d82..6819032f 100644 --- a/openlane/caravel_core/macros.json +++ b/openlane/caravel_core/macros.json @@ -610,7 +610,7 @@ ], "instances": { "clock_ctrl": { - "location": [2747, 9.40], + "location": [2772, 9.40], "orientation": "N" } }, diff --git a/openlane/caravel_core/openlane2-command.bash b/openlane/caravel_core/openlane2-command.bash index 14470a2c..12fe0ba8 100644 --- a/openlane/caravel_core/openlane2-command.bash +++ b/openlane/caravel_core/openlane2-command.bash @@ -1,4 +1,4 @@ -export RUN_TAG=RUN_15 +export RUN_TAG=RUN_18 rm -rf /home/hosni/caravel-3/caravel/openlane/caravel_core/runs/$RUN_TAG export DEFINE_CLOCKS=0 ; python3 -m openlane /home/hosni/caravel-3/caravel/openlane/caravel_core/config.json /home/hosni/caravel-3/caravel/openlane/caravel_core/macros.json --run-tag $RUN_TAG --to OpenROAD.CTS --log-level WARNING export DEFINE_CLOCKS=1 ; python3 -m openlane /home/hosni/caravel-3/caravel/openlane/caravel_core/config.json /home/hosni/caravel-3/caravel/openlane/caravel_core/macros.json --run-tag $RUN_TAG --from OpenROAD.ResizerTimingPostCTS --to OpenROAD.RCX --log-level WARNING diff --git a/openlane/caravel_core/pdn_configuration/pdn.tcl b/openlane/caravel_core/pdn_configuration/pdn.tcl index 481ba839..f3d2c56c 100644 --- a/openlane/caravel_core/pdn_configuration/pdn.tcl +++ b/openlane/caravel_core/pdn_configuration/pdn.tcl @@ -163,7 +163,7 @@ add_pdn_stripe \ -width 4.8 \ -pitch 120 \ -offset 844.3 \ - -spacing 3.2 \ + -spacing 2 \ -number_of_straps 1 \ -nets "vccd1 vssd1 vccd2 vssd2 vdda1 vssa1 vdda2 vssa2" \ -starts_with POWER @@ -262,19 +262,19 @@ add_pdn_stripe \ -pitch 386 \ -offset 2641 \ -spacing 2 \ - -number_of_straps 2 \ - -nets "vddio vssio" \ - -starts_with POWER - add_pdn_stripe \ - -grid stdcell_grid \ - -layer met4 \ - -width 4.8 \ - -pitch 386 \ - -offset 665 \ - -spacing 2 \ - -number_of_straps 2 \ + -number_of_straps 1 \ -nets "vddio vssio" \ -starts_with POWER + # add_pdn_stripe \ + # -grid stdcell_grid \ + # -layer met4 \ + # -width 4.8 \ + # -pitch 386 \ + # -offset 665 \ + # -spacing 2 \ + # -number_of_straps 1 \ + # -nets "vddio vssio" \ + # -starts_with POWER ## mprj connections add_pdn_stripe \ diff --git a/openlane/caravel_core/sdc_files/base.sdc b/openlane/caravel_core/sdc_files/base.sdc index eccbd3b9..f4589695 100644 --- a/openlane/caravel_core/sdc_files/base.sdc +++ b/openlane/caravel_core/sdc_files/base.sdc @@ -59,7 +59,7 @@ set_input_transition -min $min_in_tran [all_inputs] set_input_transition -max $max_in_tran [all_inputs] # derates -set derate 0.06 +set derate 0.065 puts "\[INFO\]: Setting derate factor to: [expr $derate * 100] %" set_timing_derate -early [expr 1-$derate] set_timing_derate -late [expr 1+$derate] diff --git a/openlane/caravel_core/sdc_files/signoff.sdc b/openlane/caravel_core/sdc_files/signoff.sdc index 7f25ab7d..e4358d4b 100644 --- a/openlane/caravel_core/sdc_files/signoff.sdc +++ b/openlane/caravel_core/sdc_files/signoff.sdc @@ -56,8 +56,8 @@ set_multicycle_path -setup 2 -through [get_pins {mprj/wbs_stb_i}] set_multicycle_path -hold 1 -through [get_pins {mprj/wbs_stb_i}] # add loads for output ports (pads) -set min_cap 0.5 -set max_cap 1.0 +set min_cap 0.1 +set max_cap 0.5 puts "\[INFO\]: Cap load range: $min_cap : $max_cap" # set_load 10 [all_outputs] set_load -min $min_cap [all_outputs]