Harald Pretl
03/11/2022, 9:33 AMcaravel_00054fe4.oas
). By inspecting I find that the filling structures are on purpose 28, which is not documented here: https://skywater-pdk.readthedocs.io/en/main/rules/layers.html?highlight=28#gds-layers-information and not here: https://skywater-pdk.readthedocs.io/en/main/_downloads/b4838a38f1379533883c717f8f86d7b2/gds_layers.csv — Someone should please complete the layer docs in the above references.
• When I look at the layers 56:0 and 56:28 then I find that the filling structures are there on 56:28, but nothing on 56:0 (CLI1M). However, the layer 67/20 (LI1 drawing) is really full.
As I have no idea how I could increase density (and anyway it is automatically generated), I have the impression that the density calculation might be wrong, not taking into account filling plus user structures? Could this be?Mitch Bailey
03/11/2022, 10:46 AMdecap12
?Harald Pretl
03/11/2022, 10:48 AMHarald Pretl
03/11/2022, 10:49 AMHarald Pretl
03/11/2022, 10:50 AMHarald Pretl
03/11/2022, 10:52 AMMitch Bailey
03/11/2022, 10:58 AMHarald Pretl
03/11/2022, 11:08 AMMitch Bailey
03/11/2022, 12:40 PMHarald Pretl
03/11/2022, 12:42 PMMatt Venn
03/11/2022, 1:25 PMMitch Bailey
03/11/2022, 1:27 PMMarwan Abbas
03/11/2022, 1:37 PMTim Edwards
03/11/2022, 1:46 PMHarald Pretl
03/11/2022, 1:50 PMHarald Pretl
03/11/2022, 2:02 PMFILL_CELL
accordingly. now it is set to
set ::env(FILL_CELL) "sky130_fd_sc_hd__fill_"
,
I would change this to
set ::env(FILL_CELL) "sky130_fd_sc_hd__fill_3 sky130_fd_sc_hd__fill_4 sky130_fd_sc_hd__fill_6 sky130_fd_sc_hd__fill_8"
Would this work?Tim Edwards
03/11/2022, 2:14 PMsky130_ef_sc_hd__decap_12
from open_pdks (installed along with the sky130_fd_sc_hd
cells). Another solution is a mixture of decap and fill, but that can cause a different issue by under-filling diffusion, which is why we have Efabless versions of the fill cells, too, with extra diffusion shapes to mitigate that problem (sky130_ef_sc_hd__fill_12/8/4
).Tim Edwards
03/11/2022, 2:15 PM_fd_
to _ef_
. I have a script in open_pdks that will do a string substitution in a GDS file.Mitch Bailey
03/11/2022, 3:01 PMHarald Pretl
03/11/2022, 3:14 PMMitch Bailey
03/11/2022, 3:27 PMHarald Pretl
03/12/2022, 3:09 PMdecap_12
still caused too low CA density. Then I tried to use the efabless’ decap_12
by including this in the `config.tcl`:
set ::env(DECAP_CELL) "\
sky130_fd_sc_hd__decap_3 \
sky130_fd_sc_hd__decap_4 \
sky130_fd_sc_hd__decap_6 \
sky130_fd_sc_hd__decap_8 \
sky130_ef_sc_hd__decap_12"
OpenLane runs and the GDS looks good, but the flow fails at extraction with:
[ERROR]: There are illegal overlaps (e.g., routes over obstructions) in your design.
[ERROR]: See /home/harald/caravel_mpw5/iic-audiodac-v1/openlane/user_proj_dac/runs/user_proj_dac/logs/magic/36-magic_ext2spice.feedback.txt for more.
Any idea why, and how to fix it?Tim Edwards
03/12/2022, 3:16 PMdecap_12
isn't going to work because OpenROAD still needs to fill the unused space; it's just going to use smaller fill cells instead, and they have the same problem. I'm not sure why the use of decap_12
causes overlap errors---it could be that the cell doesn't match the others in the way that it specifies which layers are obstructions, or the LEF view might not be correct. Can you figure out where the illegal overlaps are (it it is not clear from any output generated by Openlane, you can read the layout into magic and run extraction, which will leave "feedback areas" where it sees the overlaps. "routes over obstructions" is only one way to get that error. Mismatched abstract views seems to be the more common problem, though.Harald Pretl
03/12/2022, 4:02 PMef_decap_12
vs. the fd_decap_12
and there are a few changes, not just a reduction of LI1. So it would be an option to rework the ef
version by copying the original, and just reduce LI1.
I tried also to extract manually in magic
, but this does not trigger the error, unfortunately. Not sure what happens here.Harald Pretl
03/12/2022, 4:03 PMef_decap_12
.Harald Pretl
03/12/2022, 4:05 PMef_decap_12
in open_pdk and re-create the PDK, but this sound like too much work in the moment.Tim Edwards
03/12/2022, 4:07 PMef_decap_12
?Harald Pretl
03/12/2022, 4:08 PMTim Edwards
03/12/2022, 4:08 PMef_decap_12
in exactly the way you mention, by simply editing the GDS layer for LI to scale it back, changing the name strings from fd
to ef
, and otherwise leaving it untouched.Tim Edwards
03/12/2022, 4:09 PMHarald Pretl
03/12/2022, 4:13 PMHarald Pretl
03/12/2022, 4:21 PMHarald Pretl
03/12/2022, 4:49 PM.gds
in open_pdks looks different label-wise.Tim Edwards
03/12/2022, 4:57 PMmd5sum sky130_ef_sc_hd__decap_12.gds
197f111bda68f16e425d978b560c99e3 sky130_ef_sc_hd__decap_12.gds
md5sum sky130_fd_sc_hd__decap_12.gds
cdc431dd1951c3cd0895edc58850ecc2 sky130_fd_sc_hd__decap_12.gds
The first layout you displayed above is wrong. The labels should not be in the middle like that. What version of open_pdks is that from?Harald Pretl
03/12/2022, 5:06 PMHarald Pretl
03/12/2022, 5:08 PMharald@xserv:~/caravel_mpw5/pdks$ find . -name *decap_12*
./sky130A/libs.ref/sky130_fd_sc_hd/mag/sky130_ef_sc_hd__decap_12.mag
./sky130A/libs.ref/sky130_fd_sc_hd/mag/sky130_fd_sc_hd__decap_12.mag
./sky130A/libs.ref/sky130_fd_sc_hd/maglef/sky130_ef_sc_hd__decap_12.mag
./sky130A/libs.ref/sky130_fd_sc_hd/maglef/sky130_fd_sc_hd__decap_12.mag
./sky130A/libs.ref/sky130_fd_sc_hd/spice/sky130_ef_sc_hd__decap_12.spice
./sky130A/libs.tech/xschem/sky130_stdcells/decap_12.sym
./open_pdks/sky130/custom/sky130_fd_sc_hd/lef/sky130_ef_sc_hd__decap_12.lef
./open_pdks/sky130/custom/sky130_fd_sc_hd/gds/sky130_ef_sc_hd__decap_12.gds
./open_pdks/sky130/custom/sky130_fd_sc_hd/verilog/sky130_ef_sc_hd__decap_12.v
./open_pdks/sources/xschem_sky130/sky130_stdcells/decap_12.sym
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12.gds
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__tt_100C_1v80.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ss_n40C_1v35.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12.cdl
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12.v
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12.svg
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ss_n40C_1v76.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__tt_025C_1v80.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ff_n40C_1v65.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ss_n40C_1v40.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12.netlist.tsv
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ff_100C_1v65.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ff_n40C_1v56.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ss_n40C_1v60_ccsnoise.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ff_n40C_1v95_ccsnoise.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ss_n40C_1v28.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ss_n40C_1v44.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12.magic.lef
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ff_n40C_1v76.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12.lef
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ss_100C_1v40.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ss_100C_1v60.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12__ff_100C_1v95.lib.json
./skywater-pdk/libraries/sky130_fd_sc_hd/latest/cells/decap/sky130_fd_sc_hd__decap_12.spice
Tim Edwards
03/13/2022, 3:23 PMGeorgios T
03/15/2022, 2:26 PMHarald Pretl
03/15/2022, 2:29 PMdecap_12
cells. Is also tried the _ef_
decap cells, but they caused issues with extraction, and I did not want to do a brute force approach of manipulating the final GDS and swapping cells.Georgios T
03/15/2022, 2:32 PMGeorgios T
03/15/2022, 6:26 PMDIODE_INSERTION_STRATEGY
to 3 (from 4 that we were using) reduces the number of diode2 significantly. Could this be a solution? Is there a reason why 4 is used in the provided example?Harald Pretl
03/15/2022, 8:17 PMGeorgios T
03/15/2022, 8:48 PM