Skip to content
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 NAT table for GF180MCU DRC #71

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

FaragElsayed2
Copy link
Collaborator

Adding NAT table for GF180MCU DRC

Copy link
Collaborator

@atorkmabrains atorkmabrains left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# frozen_string_literal: true

################################################################################################
# Copyright 2022 GlobalFoundries PDK Authors
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@atorkmabrains

I will do that for all DRC files in a separate PR after adding all tables.

Refer to #75

Copy link
Collaborator

@atorkmabrains atorkmabrains left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@atorkmabrains
Copy link
Collaborator

@proppy Could you please merge this?


if CONNECTIVITY_RULES
logger.info('CONNECTIVITY_RULES section')
_connected_nat, unconnected_nat = conn_space(natcomp, 10, 10, transparent)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we use an _ here? should we forget them after use too?


if CONNECTIVITY_RULES
logger.info('CONNECTIVITY_RULES section')
_connected_nat, unconnected_nat = conn_space(natcomp, 10, 10, transparent)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is conn_space an helper method defined somewhere else?

# Rule NAT.6: Two or more COMPs if connected to different potential
## are not allowed under same NAT layer.
logger.info('Executing rule NAT.6')
nat6_l1 = comp.and(nat).interacting(unconnected_nat.inside(nat.covering(comp, 2)).not(poly2))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

curious why the not(poly2) is necessary here (since it's not part of the wording of the rule)


# Rule NAT.8: Min. Dualgate overlap of NAT (for 5V/6V) native VT NMOS only is 0um.
logger.info('Executing rule NAT.8')
nat8_l1 = nat.not_outside(dualgate).not(dualgate)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wouldn't nat.and(dualgate) be enough?

# Rule NAT.9: Poly interconnect under NAT layer is not allowed,
## minimum spacing of un-related poly from the NAT layer is 0.3um.
logger.info('Executing rule NAT.9')
nat9_a = poly_nat.not(ncomp).interacting(ngate.and(nat), 2)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is that for the first part of the rule Poly interconnect under NAT layer is not allowed ?

@@ -0,0 +1,2 @@
nat:
--variant: "C --connectivity"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is that new should we also add it in #73 ?

Copy link
Member

@proppy proppy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, just some nits and questions.

@proppy
Copy link
Member

proppy commented Jun 12, 2023

Thanks for the hard work on this, and sorry about the late review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants