-
Notifications
You must be signed in to change notification settings - Fork 274
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
coyote_tc config.mk in ORFS failing at PDN/PAD Placement #1621
Comments
Is this just a duplicate of #1082 ? |
I took a long look at that issue and seems to be an old issue that I was assuming was fixed. I cannot seem to understand what the exact issue is with #1082 . As mentioned above, the ODB files that are generated in the flow seem to indicate that the pads and the macros are placing. The issue I am seeing with with the PDN step. Am I incorrect in assuming that? |
The pdn problems are related to the pads so it is much of the same. |
Ok, thank you for your quick response. |
I think I have made some progress on this by fixing PDN issue and got stuck at global routing stage. |
I ran ORFS with latest commit, pdn stage goes beyond where you've raised the issue @nchiolino
|
@vijayank88 Thank you very much for continuing to dig into this! I don't see any changes to the pdn.tcl script in github. How should I proceed with your fix? |
I don't know if this is a legitimate issue or not, I am just learning all of this to be honest, but I did notice that there are no power or ground pads listed in the gate level netlist (1_synth.v). I was able to find all of the GPIO pads and they seem to be connected properly but there are no power or ground pads in that netlist. Shouldn't the power and ground pads exist in that netlist as well? That could possibly be why PDN is failing, because it cannot make a connection that is not in the top level verilog. It seems as thought the pad.tcl file is placing the I/O cells in there proper locations but the router cannot connect or "find" the power and ground nets because, I think, the top level Verilog file does not include the connections. Does that sound correct? |
The verilog doesn't need to have pg pins as we connect them up by name |
I am seeing that now actually. So the power and ground nets are handled by ios.v? |
They are handled by
in flow/platforms/sky130hd/pdn.tcl |
I am not made any changes in the coyote_tc setup. It is passing till CTS stage. Got stuck at global routing stage. |
@vijayank88 Thank you very much for your feedback. As it turns out, I was about 2GB shy from it passing through PDN and now I am getting the same failure that you are seeing. It seems to be getting stuck on global routing with too much congestion. |
@nchiolino |
Excellent. I will keep an eye on it. I am also building my own smaller example to test some things out. |
Subject
Describe the bug
When running the sky130hg/coyote_tc/config.mk Makefile, it appears as though it fails when trying to floorplan the PDN grid to the supply pins of the I/O cells. Its not clear if the error is associated with the PDN.tcl file or the PAD.tcl file. When loading the ODB files for macro placement, it appears that both macros and the I/O have successfully placed. It just seems as though the power grid cannot "find" or complete due to an issue I cannot understand. I have all the latest example files as of 11/10/23. The last few lines of the 2_6_floorplan_pdn.log file can be seen below:
[WARNING PDN-0189] Supply pin SRC_BDY_HVC of instance u_vdd_8 is not connected to any net.
[WARNING PDN-0189] Supply pin DRN_HVC of instance u_vss_8 is not connected to any net.
[WARNING PDN-0189] Supply pin SRC_BDY_HVC of instance u_vss_8 is not connected to any net.
[WARNING PDN-0189] Supply pin DRN_HVC of instance u_vzz_20 is not connected to any net.
[WARNING PDN-0189] Supply pin SRC_BDY_HVC of instance u_vzz_20 is not connected to any net.
[WARNING PDN-0189] Supply pin DRN_HVC of instance u_v18_20 is not connected to any net.
[WARNING PDN-0189] Supply pin SRC_BDY_HVC of instance u_v18_20 is not connected to any net.
[INFO PDN-0001] Inserting grid: grid
Command terminated by signal 9
Expected Behavior
I expect the example design to run successfully.
Environment
To Reproduce
run make DESIGN_CONFIG=./designs/sky130hd/coyote_tc/config.mk
Relevant log output
No response
Screenshots
No response
Additional Context
I am simply looking for a working example of a complete flow which includes both macros and I/O cells that fully routes and generates GDS. I have no preference on technology.
The text was updated successfully, but these errors were encountered: