Skip to content
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

Need some help figuring out what's wrong with this marker database #1550

Open
donn opened this issue Nov 30, 2023 · 3 comments
Open

Need some help figuring out what's wrong with this marker database #1550

donn opened this issue Nov 30, 2023 · 3 comments
Labels

Comments

@donn
Copy link

donn commented Nov 30, 2023

I have two marker databases- one generated by KLayout (for another design) and provided by a colleague, and one that is manually converted from Magic using a script.

The one from my colleague works fine:

test

…but the one I generated simply refuses to show a bounding box for the markers when clicked:

real

Not really sure what's going on there.


I've attached a reproducible for convenience: to get this design and both marker databases, unpack it and run:

klayout -e\
    -l ./sky130A.lyp\
    ./spm.klayout.gds\
    -m ./drc.klayout.xml\
    -m ./test.xml

repro.tgz

@klayoutmatthias
Copy link
Collaborator

klayoutmatthias commented Dec 1, 2023

Hi @donn,

thanks for the nicely prepared test case.

I could see the effect you describe, but it looks consistent to me:

image

image

image

But for me it works nicely .. it jumps to the box marker. For reproduction here is my configuration:

image

Another question is how you generated it.

I guess it has been made from edges that got expanded, while the other database features edge pairs.

Can you describe the script that generated this marker?

Matthias

@donn
Copy link
Author

donn commented Dec 2, 2023

The script is public: https://github.com/efabless/openlane2/blob/main/openlane/common/drc.py

For example, this Magic DRC report, which lists rules and bounding boxes:

----------------------------------------
P-diff distance to N-tap must be < 15.0um (LU.3)
----------------------------------------
17.990um 21.995um 18.265um 22.995um
20.905um 22.935um 21.575um 22.995um
18.535um 21.995um 18.795um 22.635um

Would become this KLayout Marker Database:

<report-database>
    <cells>
        <cell>
            <name>RAM8</name>
        </cell>
    </cells>
    <categories>
        <category>
            <name>LU.3</name>
            <description>P-diff distance to N-tap must be &lt; 15.0um (LU.3)</description>
        </category>
    </categories>
    <items>
        <item>
            <cell>RAM8</cell>
            <category>'LU.3'</category>
            <visited>false</visited>
            <multiplicity>1</multiplicity>
            <values>
                <value>box: (17.990,21.995;18.265,22.995)</value>
            </values>
        </item>
        <item>
            <cell>RAM8</cell>
            <category>'LU.3'</category>
            <visited>false</visited>
            <multiplicity>1</multiplicity>
            <values>
                <value>box: (20.905,22.935;21.575,22.995)</value>
            </values>
        </item>
        <item>
            <cell>RAM8</cell>
            <category>'LU.3'</category>
            <visited>false</visited>
            <multiplicity>1</multiplicity>
            <values>
                <value>box: (18.535,21.995;18.795,22.635)</value>
            </values>
        </item>
    </items>
</report-database>

(You will notice the multiplicity is wrong- I fixed it in another branch but it doesn't appear to have any bearing on this functionality)

@klayoutmatthias
Copy link
Collaborator

Thanks for pointing to the script ... however, I still don't see the issue on my installation (0.28.13, Ubuntu 22). drc.klayout.xml works as expected. When I click on the error shapes, the boxes are shown and the view navigates to the location.

To further debug the issue, you could try to export the markers ("File" menu in the marker browser). If you export them to a Layout and they do not show up as shapes, something is wrong with the way they are read and not with the way they are handled in the browser.

Matthias

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants