-
Notifications
You must be signed in to change notification settings - Fork 373
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
FP_PDN_CFG Met3 and Met4 not connecting to macro's defined power rails #1947
Comments
With the default configuration, vertical met4 stripes have a high pitch. There is no vertical met4 stripe that is passing through the macro. This is the cause of your LVS issue. If you decrease the vertical pitch by changing
|
Thank you for looking into the issue. VDD is there as a floating pin, to fulfill pdn_macro_hooks pins and nets requirements. |
In general, it is better to use variables and avoid having hard coded values. So I advise against using
I am not sure that I follow. Do you mean you want to have two ground domains and assign a different ground for each macro ? |
That's the idea. We want to be able to measure the two macro's power in their own domain. We have thought of having the macro's ground to GPIO pins for better way to access/measure them. I was wondering how caravel's vssa1 and vssa2 are connected. |
Hi @kareefardi , I made some changes to the PDN rails and the ground pin name for the macro. I want the macro's ground to be connected to a GPIO pin where I named it GND_gpio. The PDN rails VDD and GND are now floating pins. |
Description
I have a basic building block of a macro that I want to connect to the PDN rails. The macro is analog and adiabatic in nature which uses trapezoidal wave as power. VDD rail (Met3) in this macro is floating and is there to satisfy PDN_MACRO_HOOKS. GND rail (Met3) is planned to be connected to analog ground either via vssa or GPIO pin for external ground. All of this is done with the caravel_user_project_analog.
All the input and output pins are recognized properly by flow.tcl and are connected. The following image shows a graphic of the macro and the main VDD and GND rail not connected. Yellow highlight should be the main PDN rails for the buffer and decaps.
I made, renamed and point to a copy of
pdn_cfg.tcl
to have the following:Openlane seems to refuse connect to the macro's GND or VDD rail which causes lvs mismatch with macro's VDD rail. LVS reports pin list matches. I have tried making a separate ground pin for the macro's GND rail. Openlane connects to the pin but lvs fails at matching the netlist for VDD so I shelved that and continued with its current iteration.
Expected Behavior
Openlane to recognize macro's VDD and GND rail (Met3) and no netlist mismatch.
Environment report
Reproduction material
current_state_08172023.zip
lef command: lef write bitfour_EESPFAL -tech -hide 200 -toplayer -pinonly 200
magic used to write GDS file and used for blackbox macro located in GDS folder
~/caravel_user_project_analog/openlane/
and is a copy ofcaravel_user_project/openlane/
makefile.export OPENLANE_TAG=2023.07.19
Relevant log output
The text was updated successfully, but these errors were encountered: