class ipkiss3.pcell.cell.pcell.PCell(*args, **kwargs)

PCell primitive (Parametric Cell). This class is used to describe the different aspects of a component, including the layout, netlist, compact models, hierarchy etc.

A PCell has Views and Properties. It must have a name and is member of a Library.


cell_instances: _PCellInstanceDict, optional

name: optional

The unique name of the pcell


return the set of dependencies (child cells) of this cell, for a given view

This works recursively: the dependencies of the view will look for their dependencies, and so on.


view: View or string

The View or name of the view from which to deduce the dependencies The default is ‘layout’


set of dependencies


returns the cell corresponding to the given instance name

If there are instances in different views with this name, but corresponding to different cells, an exception will be thrown

Returns:PCell object
get_instances(instance_name=None, cell_view=None, reference_view_name=None, reference_view_type=None, owner_view_name=None, owner_view_type=None)

Queries the cell’s views for instances of other views.

If no parameters are supplied, retrieve all instances in all views A parameter will not be used if it is None.


instance_name: str

retrieve instances with the given name.

cell_view: View or PCell

retrieve instances to the given View or PCell

reference_view_name: str

retrieve instances to all views with the given name

reference_view_type: View subclass

retrieve instances to all views with a given type

owner_view_name: str

retrieve instances in the view with the given name

owner_view_type: View subclass

retrieve instances in the views of the given type


dictionary with dictionary per view: {view_name: {instance_name: instance, …}, …}


Create a copy and override the properties given as keyword arguments.