Version 5.0.14 has a number of new features, one of them is support for callbacks.

Often properties on a device are related; for example in a finfet device there are a finite number of possibilities for device width/length; the user can only specify them in terms of number of fins, for example.

Callbacks allow calling a Python function when a property is changed by the user. So in our finfet example, changing the number of fins or the number of fingers (roughly equivalent to m-factor) will change the width property on the device.

If a callback is added for a property, it is called with an argument that is the db object that is the owner of the property. Typically this is an instance, thus providing access to all the instance properties.

Callbacks are still in early days, but an example can be found in the FreePDK15 finfet PDK.

Leave a Reply