-
Notifications
You must be signed in to change notification settings - Fork 111
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
C route and other fixes #358
base: main
Are you sure you want to change the base?
Conversation
Subhampal9
commented
Dec 19, 2024
- added code to add more vias at intermediate nodes of c_route
- minor fix in four transistor interdigitized block
1. drc and lvs reports are also attached 2. sample picture of gds is attached 3. README file and annotations in fvf.py are added
added FVF Pcell files, Analog Vibes, Chipathon 2024
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 you remove these files and only keep the files relevant to the fix?
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 you highlight which lines were changed? Or revert the styling changes so that the diff only shows the relevant changes.
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.
I have added some comments where the changes are
added comments to show the changes
raise ValueError("Ports must be parralel and have same orientation") | ||
width1 = width1 if width1 else edge1.width | ||
width2 = width2 if width2 else edge1.width | ||
cwidth = cwidth if cwidth else max(width1,width2) |
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.
What is cwidth here? It is an argument but there is no description for it in the docstring. Can you add a line for it?
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.
it is the width of the intermediate connection route
if round(edge1.orientation) == 90 or round(edge1.orientation) == 270: | ||
viastack1 = via_array(pdk, e1glayer, cglayer, size=(width1,cwidth), fullbottom=fullbottom, no_exception=True) | ||
|
||
viastack2_dims = evaluate_bbox(viastack2,True) |
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.
The code repeats here. Can you use loops or some other method to reduce the duplication?
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.
via_array is taking different sizes in each case, I am not sure how I can loop it.
viastack2 = via_stack(pdk,e2glayer,cglayer,fullbottom=fullbottom,assume_bottom_via=True,fulltop=True) | ||
|
||
viastack1_dims = evaluate_bbox(viastack1,True) | ||
#condition checking for multiple vias at first intermediate node |
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 you also describe the condition here? eg: "Creates a via array if ..."
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.
okay
added comments and updated docstring