```Number of pins violated: 6 Number of nets viola...
# openlane
t
Copy code
Number of pins violated: 6
Number of nets violated: 6
during the OR antenna check.
a
@tnt: I don't think that with current state of the opensource tools
that it's possible to reach 0 antenna violations without manual changes above a certian limit on the design size (number of cells).
t
Ok. I mean, I already need manual tweak for DRC. Those are easy enough. But ATM I need to understand the report to know where those violation are and "see" them so I can fix them.
a
So, actully 6 violations is pretty good (although there might be others undetected and would require a commercial tool to do so).
t
And ATM ... I don't know how to find them.
a
@mehdi is the one who developed OpenROAD's ARC. So, he should be the right person to ask.
m
@tnt the issue you encountered is being fixed. For the locations of the violations, there us an api for that in my code. I will see how I can report/dump it out
t
@mehdi Which issue ?
(I've had so many :D)
m
@tnt it is related to antenna as well: diodes placed next to macros with no grid?
t
Ah yes. I switched to antenna insertion mode 1 to avoid that.
m
I can see how I can add the sinks location in the report.
👍 1
@tnt Can you please help answer these questions: • Why are you reading a DEF file from the floorplan stage? (according fastroute log, your script reads tmp/floorplan/pdn.def) • What library file should I use to run repair_antennas? I see a couple of them in the tmp/ dir, but I don’t know which one is the correct one • Could you send me the original LEF files? I can’t load the design with Innovus using the merged lef • Could you also sent me the script that you’ve used to run FastRoute? I can infer some parameters fro the logs, but I want to make sure I’m running the exact same thing as you
t
Huh ... so this is all from a default run of OpenLane "normal flow".
m
Can you send your LEF files you are using (original ones) -- last question should be simple to answer as well. I actually never fully used the openlane flow. @Amr Gouhar Do you mind help answering these questions?
t
I'm looking now to see where the LEF are ...
I'm not sure they are anywhere tbh ... I only see them in consolidated form 😕
m
Ok, let's see what Amr says. What library are you using? I can probably get the LEF files from the repo
@Ahmed Ghazy Can you help ^
t
the
hd
one.
But the think is AFAIK the LEF used are regenerated by
magic
and are not the original ones.
m
I see.. The issue is that the merged lef can't be loaded in innovus.. So there is probably some issue
t
So about the first question. It might be named
floorplan
but looking at the
cmd.log
thisis run after placement ... I think PDN used to be run earlier in previous version.
m
I need a way to reproduce/isolate the issue
t
yeah, I'm trying to dive again in this ... (I've hit and worked around so many things I'm starting to loose track)
Ok, so the pdn.def is definitely post-detailled placement. ( https://github.com/efabless/openlane/blob/develop/flow.tcl#L36 )
I'm extracting a minimal script to reproduce the issue.
@mehdi Ok, so if you look into http://people.osmocom.org/~tnt/stuff/sky130/
openroad -exit rep.tcl
will reproduce the issue.
(you'll need to edit the paths inside it, but all files requires are either in the tar.gz and I also included sky130_fd_sc_hd__tt_025C_1v80.lib in that URL above).
running that gives
Copy code
Warning: Placed in rows check failed (18).
Warning: Overlap check failed (64).
Warning: Site check failed (18).
m
@tnt Okay, thanks!
a
@mehdi: • The reason why a DEF file from the floorplan stage is used is that previously pdngen had a couple of issues with regard to cutting rows and so we had the pdn stage moved to after placement and cts. However, pdn is still considered a floorplan step (which might be confusing). • For repair_antennas we use the typical corner of the library. i.e.
$::env(PDK_ROOT)/$::env(PDK)/libs.ref/lib/$::env(STD_CELL_LIBRARY)/sky130_fd_sc_hd__tt_025C_1v80.lib
as is from the skywater-pdk. • We're using the .magic.lef files from the skywater source. we run them through open_pdks to get a single nice LEF file. Then in the flow we merge the techfile into this and create the
merged_unpadded.lef
. • The script depends on what version of openlane is @tnt using? it could be found in
scripts/openroad/or_route.tcl
But, I guess @tnt already packaged a test case. So, I'm a bit late for the party 😅.
👍 1