pdaBBinstance
BB instance in a netlistStructure
The attributes and elements are shown below, in a sorted per type fashion.In case a list is printed after an element, it indicates that you can have many, otherwise it should be a single element. With a optional it tells the element is not required.
<bb_instance bbref="..." name="..." source="..." ... > ...
<elastic_data> ... </elastic_data> list
<parameter> ... </parameter> list
<port_placement> ... </port_placement> list
<post_layout> ... </post_layout> list
</bb_instance>
XSD The schema file can be downloaded or viewed at xPDK_Netlist.
Details
bbref
Name that identifies the BB.Corresponding with Source, this is either:
- the name of the BB as defined in the PDK
- the name of the sub-netlist in NetlistStore::Netlists that defines the CBB
- or else the name of custom BB as defined by its creator.
Identifiers are used in the Python library for the
getName()
and
setName()
function and can thus be used to identify the different elements in list
s.In text the specification is a letter, followed by letters, numbers, underscore. The XSD schema validation is a regular expression: [A-Za-z]([A-Za-z0-9_])*
elastic_data
Contains data pertaining to elasticity.- This field must be present if the BB instance is an instance of an elastic BB; otherwise it must not be present.
The properties are obtained from the schematic driven layout approach, where the layout software makes sure all things are connected properly. For this to work, it is often needed that some parts of the design are specified by the designer to be "elastic". Such elastic properties depend on the type of routing element that is used.
For example if a straight waveguide is used for routing, only the length is flexible. For a sine-bend shape both length and offset can be flexible.
This information is key for the circuit simulation / designer in a post-layout verification of the pre-layout simulations as the actual properties of the elastic building blocks may change their optical/electrical behaviour somewhat.
name
Name of BB instance in netlist (must be unique). Type pdaIdentifier documentation:Identifiers are used in the Python library for the
getName()
and
setName()
function and can thus be used to identify the different elements in list
s.In text the specification is a letter, followed by letters, numbers, underscore. The XSD schema validation is a regular expression: [A-Za-z]([A-Za-z0-9_])*
parameter
List of BB parameters that user has set for this instance. Type pdaNamedValue documentation:port_placement
List of port placements, which specify the positions and orientations of the BB instance’s ports in the netlist’s frame of reference.- This field allows port positions computed by a layout tool to be written back to the main netlist
- If there is no port placement data then the list can be left empty
- Typically, port placement data will not be specified in CBB sub-netlists, as these may conflict with layout tools
- The location of the origin in the netlist’s frame of reference is not specified explicitly; rather, all the port locations are specified relative to it by the writer of the netlist