Anton Blanchard
02/09/2022, 11:34 PMAnton Blanchard
02/10/2022, 12:06 AMFP_HORIZONTAL_HALO/FP_VERTICAL_HALO
to block the area. It looks like that option has split into two (FP_PDN_VERTICAL_HALO/FP_TAP_VERTICAL_HALO etc
). Testing with the new optionsMitch Bailey
02/10/2022, 1:33 AMAnton Blanchard
02/10/2022, 4:04 AMMitch Bailey
02/10/2022, 4:57 AMcvc -i mycvcrc
> continue
> expandnet *(*)/VPWR
> expandnet *(*)/VGND
That should show you what all your standard cell power connections are. Of course you can use macro names too.
> expandnet *(macroname)/VPWR
If you have the netlist extracted from GDS, you can use that too (after changing the device lines). If you wanted me to walk you through it via zoom sometime, let me know.Anton Blanchard
02/10/2022, 4:59 AMAnton Blanchard
02/10/2022, 5:01 AMMitch Bailey
02/10/2022, 5:07 AMAnton Blanchard
02/10/2022, 5:15 AMMatt Liberty
02/10/2022, 5:32 AMMatt Liberty
02/10/2022, 5:34 AMAnton Blanchard
02/10/2022, 7:39 AMAnton Blanchard
02/10/2022, 7:44 AMset ::env(FP_TAP_HORIZONTAL_HALO) 40
set ::env(FP_PDN_HORIZONTAL_HALO) 40
set ::env(FP_TAP_VERTICAL_HALO) 40
set ::env(FP_PDN_VERTICAL_HALO) 40
And spacing the macros 40um from the edges. Much more than I need, but it did the trick:mehdi
02/10/2022, 1:58 PMmehdi
02/10/2022, 2:04 PMAnton Blanchard
02/14/2022, 10:50 PMAnton Blanchard
02/15/2022, 12:37 AMAnton Blanchard
02/15/2022, 12:39 AMPL_RESIZER_HOLD_SLACK_MARGIN
but I wonder if I should try your ECO fixup flow instead.mehdi
02/15/2022, 1:28 AMmehdi
02/15/2022, 1:28 AMAnton Blanchard
02/15/2022, 1:30 AMAnton Blanchard
02/15/2022, 1:42 AM[INFO DRT-0267] cpu time = 00:55:37, elapsed time = 00:07:37, memory = 2569.35 (MB), peak = 3008.43 (MB)
[INFO DRT-0180] Post processing.
Saving to /home/anton/shuttle-3/caravel_user_project/openlane/multiply_add_64x64/runs/multiply_add_64x64/results/eco/arcdef/0_post-route.def
[WARNING ODB-0172] Cannot open DEF file (/home/anton/shuttle-3/caravel_user_project/openlane/multiply_add_64x64/runs/multiply_add_64x64/results/eco/arcdef/0_post-route.def) for writing
Anton Blanchard
02/15/2022, 1:42 AMHaolin Dong
02/15/2022, 1:44 AMHaolin Dong
02/15/2022, 1:59 AMAnton Blanchard
02/15/2022, 2:03 AMAnton Blanchard
02/15/2022, 3:01 AMHaolin Dong
02/15/2022, 3:40 AMHaolin Dong
02/15/2022, 3:43 AMrun_routing
. https://github.com/The-OpenROAD-Project/OpenLane/blob/74b9e108406b2948f568fa4e4daecefc9787fec7/scripts/tcl_commands/eco.tcl#L127Anton Blanchard
02/15/2022, 3:46 AMHaolin Dong
02/15/2022, 3:53 PMAnton Blanchard
02/16/2022, 12:15 AM# pin
- if (pin_name == ''):
+ if (pin_name == '' and skip_pin == 0 ):
pin_name=start_point
pin_type="BTerm"
# continue
- vio_dict[pin_name + " " + pin_type].append(float(minus_time_str.group(1)))
+ vio_dict[pin_name + " " + pin_type].append(float(minus_time_str.group(1)))
Anton Blanchard
02/16/2022, 12:15 AMAnton Blanchard
02/16/2022, 12:46 AMAnton Blanchard
02/16/2022, 12:57 AMmehdi
02/16/2022, 2:24 AMmehdi
02/16/2022, 2:24 AMAnton Blanchard
02/16/2022, 7:16 AMAnton Blanchard
02/16/2022, 7:25 AM# if diode insertion does *not* happen as part of global routing, then
# we can insert fill cells early on
- if { $::env(DIODE_INSERTION_STRATEGY) != 3 } {
+ if { ($::env(DIODE_INSERTION_STRATEGY) != 3) && ($::env(ECO_FINISH) ==1) } {
ins_fill_cells
}
global_routing
- if { $::env(DIODE_INSERTION_STRATEGY) == 3 } {
+ if { ($::env(DIODE_INSERTION_STRATEGY) == 3) && ($::env(ECO_FINISH) ==1) } {
# Doing this here can be problematic and is something that needs to be
# addressed in FastRoute since fill cells *might* occupy some of the
# resources that were already used during global routing causing the
Anton Blanchard
02/16/2022, 7:30 AMDIODE_INSERTION_STRATEGY=0
. ECO_FINISH
is getting set to 1. So why no fill?Anton Blanchard
02/16/2022, 8:03 AMECO_FINISH=1
? It looks like we set it, then exit out. Don't we have to do another pass, applying fill?Anton Blanchard
02/16/2022, 8:09 AMAnton Blanchard
02/16/2022, 9:21 AM-s 0
to work:
-parser.add_argument('--skip_pin', '-s', required=True, help='skip input ouput cases')
+parser.add_argument('--skip_pin', '-s', type=int, required=True, help='skip input output cases')
Haolin Dong
02/16/2022, 2:13 PMHaolin Dong
02/16/2022, 2:15 PMAnton Blanchard
02/16/2022, 7:05 PMAnton Blanchard
02/16/2022, 7:06 PMHaolin Dong
02/16/2022, 7:08 PMHaolin Dong
02/16/2022, 7:10 PMHaolin Dong
02/16/2022, 7:10 PMAnton Blanchard
02/16/2022, 7:11 PMAnton Blanchard
02/16/2022, 7:12 PMHaolin Dong
02/16/2022, 7:14 PMAnton Blanchard
02/16/2022, 7:16 PMinsert_buffer io_in[33] BTerm sky130_fd_sc_hd__dlygate4sd3_1 net_HOLD_NET_0_1 U_HOLD_FIX_BUF_0_1
insert_buffer io_in[33] BTerm sky130_fd_sc_hd__dlygate4sd3_1 net_HOLD_NET_0_2 U_HOLD_FIX_BUF_0_2
insert_buffer io_in[33] BTerm sky130_fd_sc_hd__dlygate4sd3_1 net_HOLD_NET_0_3 U_HOLD_FIX_BUF_0_3
...
insert_buffer io_in[33] BTerm sky130_fd_sc_hd__dlygate4sd3_1 net_HOLD_NET_0_97 U_HOLD_FIX_BUF_0_97
insert_buffer io_in[33] BTerm sky130_fd_sc_hd__dlygate4sd3_1 net_HOLD_NET_0_98 U_HOLD_FIX_BUF_0_98
insert_buffer io_in[33] BTerm sky130_fd_sc_hd__dlygate4sd3_1 net_HOLD_NET_0_99 U_HOLD_FIX_BUF_0_99
Anton Blanchard
02/16/2022, 7:17 PMHaolin Dong
02/16/2022, 7:19 PMAnton Blanchard
02/16/2022, 7:21 PMHaolin Dong
02/16/2022, 7:22 PMAnton Blanchard
02/16/2022, 7:26 PMAnton Blanchard
02/16/2022, 7:27 PMmehdi
02/16/2022, 7:30 PMAnton Blanchard
02/16/2022, 7:34 PMAnton Blanchard
02/16/2022, 7:35 PMmehdi
02/16/2022, 7:36 PMmehdi
02/16/2022, 7:37 PMAnton Blanchard
02/16/2022, 7:38 PMmehdi
02/16/2022, 7:40 PMAnton Blanchard
02/16/2022, 7:40 PMAnton Blanchard
02/16/2022, 7:41 PMmehdi
02/16/2022, 7:44 PMAnton Blanchard
02/16/2022, 7:45 PMmehdi
02/16/2022, 7:45 PMAnton Blanchard
02/16/2022, 7:46 PMmehdi
02/16/2022, 8:10 PMAnton Blanchard
02/18/2022, 11:41 AMMatt Liberty
02/19/2022, 2:31 AMMatt Liberty
02/19/2022, 2:31 AMAnton Blanchard
02/19/2022, 3:39 AMmehdi
02/19/2022, 4:30 AMmehdi
02/19/2022, 4:31 AMHaolin Dong
02/19/2022, 4:45 AMmake pdk
to update my open_pdk verison so I am not able to test it. I got the error:
Error message output from magic script: /home/haolind/OpenLane/pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech: line 19: section version: Error: Magic version 8.3.260 is required by this techfile, but this version of magic is 8.3.209. The following sections of /home/haolind/OpenLane/pdks/open_pdks/sky130/sky130A/libs.tech/magic/sky130A.tech contained errors: version Traceback (most recent call last): File "../common/foundry_install.py", line 1696, in <module> cwd = destlibdir, File "../common/foundry_install.py", line 274, in subprocess_run raise SystemError("".join(emsg)) SystemError: Command magic failed with exit code: -11 magic -dnull -noconsole
@Anton Blanchard Do you have any ideas on this? Thanks!Haolin Dong
02/19/2022, 4:48 AMmake build-magic
doesn't help.Mitch Bailey
02/19/2022, 7:08 AMHaolin Dong
02/20/2022, 2:38 PM