aquiles viza
11/14/2024, 11:44 PMmaximal
version gets stuck after checking M1.c
even when all flags are disabled.
/usr/bin/klayout -c misc/klayoutrc -t -e -b -zz -r /opt/pdks/ihp-sg13g2/libs.tech/klayout/tech/drc/sg13g2_maximal.lydrc \
-rd in_gds=<GDS>.gds \
-rd log_file=<LOG>.log \
-rd report_file=<REPORT>.lyrdb \
-rd offGrid=false \
-rd density=false \
-rd filler=false \
-rd noRecommendedRules=false \
-rd sanityRules=false \
-rd checkDensityRules=false
sg13g2_minimal.lydrc
works fine and the PDK was updated today.
• There's any mistake on the drc command?
• This may be caused by hardware limitations?aquiles viza
11/14/2024, 11:46 PMtnt
11/15/2024, 7:54 AMAndreas Krinke
11/15/2024, 8:28 AMM1.c1
for me as well. I'll take a closer look.aquiles viza
11/15/2024, 1:30 PMM2.c
Andreas Krinke
11/18/2024, 6:38 AMaquiles viza
11/18/2024, 1:30 PMaquiles viza
11/18/2024, 4:22 PMAndreas Krinke
11/18/2024, 4:23 PMtnt
11/18/2024, 4:26 PMAndreas Krinke
11/18/2024, 4:29 PMtnt
11/18/2024, 4:36 PMAndreas Krinke
11/18/2024, 4:37 PMtnt
11/18/2024, 4:40 PMihp_submission.zip
the GDS will be inside.tnt
11/18/2024, 4:42 PMAndreas Krinke
11/18/2024, 4:44 PMtt_ihp_wrapper.gds
? Yeah, that's quite big. I will give it a try.tnt
11/18/2024, 4:46 PMtnt
11/18/2024, 5:30 PMDRC: batch mode
so that doesn't bode well 😅aquiles viza
11/18/2024, 6:39 PMmain
and dev
drc scripts don't. It's a necessary improvement of the drc script.
I've found a bug. It detects small metal2 boxes with the min area rule, but the box is surrounded by more metal, so the effective area is bigger than the minimum area.Daniel Arevalos
11/18/2024, 6:49 PMJorge Marin
11/18/2024, 7:11 PMJorge Marin
11/19/2024, 6:43 AMAndreas Krinke
11/19/2024, 9:26 AMAndreas Krinke
11/19/2024, 9:35 AMdev
branch, but with added support for more rules. The latest version has not been merged yet and can be found in the following PR: https://github.com/IHP-GmbH/IHP-Open-PDK/pull/259Andreas Krinke
11/19/2024, 11:39 AMaquiles viza
11/19/2024, 1:53 PMTGO.a: Min. ThickGateOx extension over Activ = 0.27
only happens on the Y axis, not on Xaquiles viza
11/19/2024, 1:57 PMAndreas Krinke
11/19/2024, 1:58 PMTGO.a
. The minimal extension is only checked where ThickGateOx extends over Activ.aquiles viza
11/19/2024, 2:00 PMaquiles viza
11/19/2024, 2:00 PMAndreas Krinke
11/19/2024, 6:42 PMM2.d
errors. I overlapped two boxes on Metal2: One very small box (triggering M2.d
) and one large box (not triggering M2.d
). The DRC script from this thread didn't find an error.
Can you provide a link to the layout file?aquiles viza
11/20/2024, 1:56 AMAndreas Krinke
11/21/2024, 11:45 AMEdgeSeal
prevents M2.d
errors. I've found the cause – could you try the attached DRC script?aquiles viza
11/21/2024, 2:25 PMNBL.a: Min. nBuLay width = 1.00
on a region with Nwells, not NBuLay. Also, it's inside digital logic generated with OpenROAD.
Maybe this is not a bug because NBuLay is a layer generated on certain conditions. DRC says `(...) Furthermore, nBuLay may be generated automatically within NWell (see 4.2) in order to reduce the resistance of the NWell.`Maybe we can avoid this with NBuLay:block
, but it's odd that OpenROAD Flow Scripts did not handle that condition.
This GDS throws a lot of errors, ignore all but NBL.a
@Krzysztof Herman @Daniel ArevalosAndreas Krinke
11/21/2024, 5:19 PMnBuLay = nBuLay + (NWell ≥ 3.0 µm) sized by 1.0 µm/side
. However, maybe our implementation is wrong. We currently size NWell
first by -0.5 µm
and then by +0.5 µm
. When I think about it, maybe we have to size by -3 µm
and then by +2 µm
? Then we would only consider NWell ≥ 3.0 µm
and size by 1.0 µm/side
.Andreas Krinke
11/21/2024, 5:22 PMAndreas Krinke
11/21/2024, 7:10 PMAndreas Krinke
11/21/2024, 8:10 PMNBL.a
errors. Thanks for reporting!Krzysztof Herman
11/22/2024, 10:49 AMM2Fil.b
rule, it gives me al lot of false negatives. The spacing I have set for fillers is 0.55 and indeed it is on the layout
Min. Metal2:filler space = 0.42Andreas Krinke
11/22/2024, 10:56 AMM2Fil.b
errors although the filler spacing in the layout is 0.55?Krzysztof Herman
11/22/2024, 11:03 AMAndreas Krinke
11/22/2024, 11:20 AMMetal2.filler
). M2Fil.b
is implemented using the KLayout default spacing check with min space = 0.42. So I am not sure what is wrong. Can you provide a simple test layout?Krzysztof Herman
11/22/2024, 11:48 AMCnt.a
rule. Ito does not detect contacts which are 0.5x0.5 um . The testcase can be found here https://github.com/IHP-GmbH/TO_Nov2024/pull/12Krzysztof Herman
11/22/2024, 11:57 AMM2Fill
issueaquiles viza
11/25/2024, 3:25 PMAndreas Krinke
11/25/2024, 4:24 PMaquiles viza
11/25/2024, 4:43 PMAndreas Krinke
11/26/2024, 4:02 PMM2Fil.b
bug has already been fixed in the DRC script pull request (which is still open because I have to incorporate some feedback) and in the DRC scripts in this thread. The issue with Cnt.a
was a little bit more complicated. I have fixed the bug in the attached DRC script. Contacts with a size of 0.5um x 0.5 um now violate CntB.a
. I will update the PR to include all the fixes from this thread and the feedback.Krzysztof Herman
03/24/2025, 12:47 PMKrzysztof Herman
03/24/2025, 2:49 PMAndreas Krinke
03/24/2025, 3:12 PM