Peter Herrmann
11/02/2023, 7:29 PMSTDOUT: {{Step Update}} Executing Check 6 of 6: Klayout Field Oxide Mask Density on [caravel_2311ea22.oas]
STDERR: [ WARN ] FOM Density Check Result: 'caravel_2311ea22.oas' has 147 DRC violations.
It looks like we are under density for our FOM in all cases, if I am reading the log correctly"
fom density below 0.33 : 1713/2730 is 0.3268 for tile ((1820,1610;2520,2310)), area = 490000
I saw this thread where @jeffdi explained "_typically issues with being under on Li are due to using too many or all fill cells in a design vs decap. too high Li is usually due to using decap only. One solution is to use the modified EF decap size 12 cell which has a balanced Li and diffusion. This will address issues with Li density as well as FOM density (tap+diffusion)."_
In that discussion, he suggested adding the following to the config.tcl
file:
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"
I'm looking to do the equivalent in my config.json
file, but I have 2 questions:
1. Since my density is consistently under, not under/over as in the example discussion, is this decap cell still a good choice for my problem?
2. I do not see the DECAP_CELL
config documented for the config.json
, is how can I adjust this (or FOM in any way) with the current Openlane Flow?Mitch Bailey
11/02/2023, 8:24 PMMitch Bailey
11/02/2023, 8:25 PMPeter Herrmann
11/03/2023, 7:47 AM"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",
to config.json
and it had no effect on the outcome (still 147 FOM density errors, in the same spots around the SRAMs)Tim Edwards
11/03/2023, 2:13 PMPeter Herrmann
11/03/2023, 3:54 PMsky130_sram_2kbyte_1rw1r_32x512_8
from the latest recommended version of the PDK.Peter Herrmann
11/04/2023, 4:35 PMTim Edwards
11/04/2023, 4:58 PMMitch Bailey
11/04/2023, 5:07 PMTim Edwards
11/04/2023, 8:19 PMPeter Herrmann
11/04/2023, 8:23 PMsky130_sram_2kbyte_1rw1r_32x512_8.mag
and manually adding tap diffusion cells?
I'm exploring strategies (increasing spacing between the SRAMs to more than 700um so that no step check has 2 SRAM cells, not using macros for memory) but no success.Tim Edwards
11/04/2023, 8:30 PMsky130_sram_2kbyte_1rw1r_32x512_8.mag
cell itself because it is effectively an abstract view pointing to a GDS file that contains the actual contents; anything that you do to the .mag
layout will never appear in the output.
Adding the tap diffusion to the cell above sky130_sram_2kbyte_1rw1r_32x512_8
(which is presumably the user project wrapper?) is probably the best way.jeffdi
Peter Herrmann
11/04/2023, 11:15 PMjeffdi
Peter Herrmann
11/05/2023, 1:11 AM