Known changes and backwards incompatibilities in 3.12.0

Deprecation of i3.PlaceRelative

In favour of a more unified and clear workflow, the placement spec i3.PlaceRelative has been deprecated and will be removed in a future version of IPKISS. Instead it is now recommended to use i3.Place with its relative_to argument. The behaviour of relative placement remains the same.

Where before you had:

import si_fab.all as pdk
import ipkiss3.all as i3

gc = pdk.FC_TE_1550()
circuit = i3.Circuit(
    insts={
        "gc1": gc,
        "gc2": gc
    },
    specs=[
        i3.Place("gc1:out", (0, 0)),
        i3.PlaceRelative("gc2:out", "gc1:out", (0, 50)),
    ],
)

This can simply be replaced by:

import si_fab.all as pdk
import ipkiss3.all as i3

gc = pdk.FC_TE_1550()
circuit = i3.Circuit(
    insts={
        "gc1": gc,
        "gc2": gc
    },
    specs=[
        i3.Place("gc1:out", (0, 0)),
        i3.Place("gc2:out", (0, 50), relative_to="gc1:out"),
    ],
)

Minimum version for Siemens EDA

The supported OpenAccess version has been updated to 22.60. As a result you need to use L-Edit 2023 (from Siemens EDA) or later.