expose_ports
- ipkiss3.all.expose_ports(instances, port_name_map=None, optical='explicit', electrical='explicit')
Expose ports of a list of instances by copying and renaming the instance-ports specified in the port name map.
- Parameters:
- instances: InstanceDict or dict {inst_name: PCell/Layout view}
instances for which to expose the ports
- port_name_map: dict
mapping of instance port names to external port names For instance: {“inst1:in1”: “in”, “inst1:out1”: “out”}
- optical: str, either ‘explicit’ or ‘all’
String, defines which optical ports to expose. Default is ‘explicit’. If ‘explicit’, only the optical ports specified in ‘port_name_map’ will be exposed. If ‘all’, all the unconnected optical ports will be exposed and renamed as ‘inst-name_port-name’ unless specified otherwise in ‘port_name_map’.
- electrical: str, either ‘explicit’, ‘all’ or ‘unconnected’
String, defines which electrical ports to expose. Default is ‘explicit’. If ‘explicit’, only the electrical ports specified in ‘port_name_map’ will be exposed. If not, ‘all’ or ‘unconnected’ electrical ports will be exposed and renamed as ‘inst-name_port-name’ unless specified otherwise in ‘port_name_map’.
- Returns:
- ports: PortList
List of external ports.
Examples
>>> ports = i3.expose_ports(insts, { >>> 'inst1:in1': 'in', >>> 'inst1:out1': 'out', >>> })
>>> ports = i3.expose_ports(insts, optical='all', electrical='all')