-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DRC Validation cells errata #291
Comments
Hi @RTimothyEdwards, thank you for detailed analysis and reporting!
Primitive library:
Docs:
For the other questions, I'll come back later after internal review |
@sergeiandreyev : Sorry about the false positive with the standard cell name; I must have manually copied the cell with a typo although I don't remember doing anything with that cell. Anyway, it is not repeatable and clearly not a problem and I should have done a bit more due diligence before reporting it. |
@sergeiandreyev : Looking at the klayout extraction deck, it appears that a PNP is identified as an area inside a p-type guard ring (ptap) that literally isn't everything that is not a bipolar (i.e., "bjt_exclude" = poly + pwell + nSD + salicide block + ext block + diode ID + resistor ID + inductor ID + substrate ID). It seems both over-complicated and non-robust to identify a PNP transistor as "not (everything that is not a PNP transistor)". (So I suppose I have to rescind my comment that it is "impossible" to differentiate the PNP from other devices. It is possible. It just isn't straightforward.) |
@RTimothyEdwards I respectfully disagree with you about the PNP exclude conclusion here. There is a reason we follow such exclusion it's important for proper functionality and proper identification of devices. |
@atorkmabrains : I don't intend to get into a flame war here, but under what circumstance is it not simpler / more efficient / cleaner / more robust simply to draw TRANS over top a PNP device and declare that an NPN device = (TRANS containing low- or high-voltage emitter window) and a PNP device = (TRANS not containing emitter window)? Or equivalently, just define an additional GDS layer called PNPTRANS which identifies a PNP transistor? |
@sergeiandreyev I believe the suggestion above by @RTimothyEdwards is for you not for us. We follow your lead on this. I believe I mentioned something similar at the very beginning of the project about marker layers and truth table. @sergeiandreyev Do you want to proceed with @RTimothyEdwards suggestion? |
unfortunately, we have to discuss this internally as always for such questions (the consistency with the proprietary PDK is an important topic) |
yes, this is a question to our internal PDK |
Signed-off-by: Sergei Andreev <[email protected]>
…emoved SRAM (these will be changed), topVia1/2 not updated (#291) Signed-off-by: Sergei Andreev <[email protected]>
Hi @RTimothyEdwards, most of the items from the DRC validation list should be fixed with the latest commit, could you please double check on your side? |
@sergeiandreyev : Yes, I mean the top metals (I've mapped them to names "metal6" and "metal7" in the magic tech file). |
@sergeiandreyev : After pulling your updates from this morning, I find that my item number 5
is still showing as an issue in the DRC pass/fail layout for GatPoly. |
on this one - we have |
@sergeiandreyev : I am currently preparing to have magic extract devices such as |
added also @prabhatdubey92 to this issue, he's working on |
I think the |
@sergeiandreyev : Specifically, rule |
@KrzysztofHerman , @sergeiandreyev , et al.,
Here's a list of things I came across while working on the tech file for magic for IHP s13g2. It is just a dump of things I found, mostly minor, and I have not looked through the issues list to see if any of them have already been reported.
In the DRC validation GDS library:
Documentation (SG13G2_os_layout_rules.pdf):
In the sg13g2_pr.gds library:
In the standard cell library:
The text was updated successfully, but these errors were encountered: