-
Notifications
You must be signed in to change notification settings - Fork 5
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
Adding PRES table for GF180MCU DRC #64
Conversation
@proppy ? |
@atorkmabrains can you review it first? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @FaragElsayed2
# limitations under the License. | ||
################################################################################################ | ||
|
||
if FEOL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#58 but not blocking
|
||
if FEOL | ||
#================================================ | ||
#----------------P+ POLY RESISTOR---------------- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#57 but not blocking
logger.info('Executing rule PRES.1') | ||
pres1_l1 = pres_poly.width(0.8.um, euclidian) | ||
pres1_l1.output('PRES.1', 'PRES.1 : Minimum width of Poly2 resistor. : 0.8µm') | ||
pres1_l1.forget |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#53 but not blocking
## and both side (X and Y) are greater than 80um. | ||
## then the minimum spacing to adjacent RES_MK layer. is 20µm | ||
logger.info('Executing rule PRES.9b') | ||
pres9b = res_mk.with_area(15_000.001.um, nil).edges.with_length(80.001.um, nil) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we have .001
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Answered that before.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we use 1.dbu
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
filed #66 to discuss this further
|
||
# Rule PRES.3: Minimum space from Poly2 resistor to COMP. | ||
logger.info('Executing rule PRES.3') | ||
pres3_l1 = pres_poly.separation(comp, 0.6.um, euclidian).polygons(0.001.um) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we have .001
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we use 1.dbu
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
filed #66 to discuss this further
|
||
# Rule PRES.5: Minimum Plus implant overlap of Poly2 resistor. is 0.3µm | ||
logger.info('Executing rule PRES.5') | ||
pres5_l1 = pres_poly.enclosed(pplus, 0.3.um, euclidian).polygons(0.001.um) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we have .001
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we use 1.dbu
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
filed #66 to discuss this further
|
||
# Rule PRES.7: Space from salicide block to contact on Poly2 resistor. | ||
logger.info('Executing rule PRES.7') | ||
pres7_l1 = contact.and(pres_poly).separation(sab, 0.22.um).polygons(0.001.um) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we have .001
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we use 1.dbu
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
filed #66 to discuss this further
pres7_l2.forget | ||
|
||
# Rule PRES.8 is not a DRC check | ||
## Please refer to https://gf180mcu-pdk.readthedocs.io/en/latest/physical_verification/design_manual/drm_10_01.html#p-poly-resistor-pres |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#55 but not blocking
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just some nits and questions but nothing blocking per se, I'll leave it up to you if you want to address those in this PR or file separate issues to track them.
ea42cf5
to
70b2f2c
Compare
Adding PRES table for GF180MCU DRC
Fixes #43