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
LVS examples fail on macOS when using deep
mode
#493
Comments
How exactly do you run this LVS? I tried this (Ubuntu 18): 1.) Load "ringo.gds" from "testdata/lvs": 2.) Copied "ringo_simple.lvs" into the macro IDE and changed the first lines to
This way it runs on the currently loaded layout. Tthe "$..." variables are used by the test driver to pass the paths of input and output files. 3.) With these changes the LVS matches: When you flatten the layout, you'll also have to flatten the netlist to make it match. Flattening a netlist can be done within the LVS script. The layout is considered flat if the "deep" statement is omitted:
|
Thanks for the quick reply! When I ran this I commented out the test vars and left just the report_lvs statement, so it shouldn't have tripped up trying to load the layout. Some further testing has revealed the following:
So this may be a macOS specific problem — I'll try to dig into the internals a bit more and step through the debugger while running the macro. |
deep
mode
I don't own a Mac, so I can only try with a VM. Right now, I have Catalina. I was not able to reproduce it so far. From the error message I'd say there is something fishy with the C++ standard library. I'm using default-constructed iterators to indicate a "nil" pointer and compare them against other default-constructed ones. But this does not seem to work on the clang/STL combination specific for MacOS 10.14. It's a kind of special use case, but AFAIK that's covered by the STL standard and does not create issues on all other compilers/STL combinations I know. Currently I don't have the resources to run many MacOS VM's in parallel and MacOS in a VirtualBox is a pain. It's a pity you need expensive Mac hardware just for debugging. Matthias |
Thanks Matthias. I'm on my last thread of patience with macOS for development anyways (cost being only one of several reasons), and will look into a Catalina upgrade before dumping time into a peculiarity of Apple's compiler toolchain for 10.14. I'll post an update if I make any headway, though. |
Problem was: default-constructed iterators are not the same in clang's STL
This issue is fixed and will be released with 0.26.7. |
Was excited to see the new LVS functionality and started playing around. When I run LVS macros on flattened cells such as
inv.oas
viainv.lvs
everything runs just fine. If I try to run things likeringo.gds
andringo_simple.lvs
the LVS fails with the following:If I flatten the cells, then the LVS runs (but fails to match the circuit, presumably because the hierarchy has been lost).
I'm on version 0.26.3+ on macOS Mojave. I see the same behavior in compiled (master branch) and downloaded released versions.
Hopefully I'm just misunderstanding something! Thanks for the great software.
The text was updated successfully, but these errors were encountered: