-
Notifications
You must be signed in to change notification settings - Fork 8
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
Missing Resistance for vias in tech lef #19
Comments
@kareefardi looks that there are some is this issue about also having value in the via |
Yes exactly. The resistance information is lost through |
@RTimothyEdwards @tspyrou @donn is that a hard blocker for the PDK to be usable with OpenLane? |
@mohanad0mohamed Please take a look at this. We will discuss on Sunday. |
VIARULE GENERATE statements have an optional RESISTANCE field but it defaults per the manual: So either the VIARULE needs a resistance or the cut layer does. It appears that neither has it here which isn't good. As for importance, this will only affect vias in the power grid as the detailed router doesn't use generated vias. So IR drop analysis would be somewhat off but timing would be unaffected. |
@RTimothyEdwards @proppy In looking in the PDK I don't see any openrcx setup. The LEF rules are very rough estimates only. We have found that normally the rules in LEF are optimistic and in most pdks we have a setRC.tcl |
@tspyrou : The rules file for OpenRCX is maintained in open_pdks. It is derived from the capacitance modeling in magic, which currently is about as good as it is in SkyWater (that is, needs a bit of refinement in the modeling plus scripts to run a complete set of curve fits on the existing GF data, and/or data from running FasterCap. All that is in the works). The current rules file for OpenRCX for GF180MCU is a rough estimate, much better than the LEF rules, although like the SkyWater rules file is tending toward pessimistic calculations of delay. If the tendency toward pessimism is in the modeling, I should be able to figure that out and get rid of it. |
@maliberty @tspyrou looking at the tech lef: It seems that there are some globalfoundries-pdk-libs-gf180mcu_fd_sc_mcu7t5v0/tech/gf180mcu_5LM_1TM_9K_7t_tech.lef Line 1069 in 1ebee70
Given that that dimentions seem to correspond to the
And that according to http://coriolis.lip6.fr/doc/lefdef/lefdefref/LEFSyntax.html#918957
Would it be "correct" to move the |
No it would be better to have a per cut value on the LAYER definition assuming only simple cuts are used (which is likely but I haven't verified). |
@tspyrou is there a @RTimothyEdwards is RTimothyEdwards/open_pdks#281 the right issue to follow to track the OpenRCX refinements? |
@maliberty oh I see, so this would eventually come up from the |
I believe so |
Note that ORFS has a set of scripts from @jjcherry56 to create RC layer estimates based on real designs. We really need to do this vs using the LEF data as @tspyrou mentions. It would be useful to integrate this functionality into Openlane (I haven't had the time myself yet). The script to create the data is at: It creates the data in a separate pass, but we could just dump the data during the openlane flow based on a variable. The script to create the RC layer estimates is at: https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/blob/master/flow/util/correlateRC.py Which not only creates more accurate estimates for each layer, but creates better RC values used before global routing ( |
Expected Behavior
No Via resistance in tech lef
Actual Behavior
Via resistance in tech lef
Steps to Reproduce the Problem
Specifications
The text was updated successfully, but these errors were encountered: