LayoutToNetlistTest

class ip_manager.testing.LayoutToNetlistTest

Test that the netlist (terms, instances, nets) extracted from the LayoutView matches the NetlistView.

Uses the ipkiss3 netlist extraction functionality.

Examples

from ip_manager.testing import LayoutToNetlistTest
import pytest

class MyComponent(i3.PCell):
    class Layout(i3.LayoutView):
        ...
    class Netlist(i3.NetlistView):
        ...

class TestMyComponent(LayoutToNetlistTest):
    @pytest.fixture
    def component(self):
        return MyComponent(name="my_component")

    @pytest.fixture
    def dive_deep(self):
        return False  # only compare the toplevel
dive_deep()

Fixture for configuring the depth of the test.

True: dive into the full hierarchy. False: only compare the toplevel.

abstract component()

Fixture returning the component (i3.PCell object) to be tested.

Needs to be implemented by the user.

library_name(component)

Fixture specifying the library name to use in the files.

Defaults to component.name.