PICWaveA photonic IC, laser diode and SOA simulator |
Building Block SystemA PICWave building block is a sub-circuit (a laser or MZI, for example) which can be used and re-used as an element in any other circuit. PICWave allows you to create your own libraries of building blocks, import existing building block libraries and use the building blocks therein to construct larger circuits, just as you would with PICWave's native circuit elements. Building blocks can include native PICWave circuit elements as well as detailed passive components models imported from FIMMPROP. This allows you to create building block libraries of FIMMPROP components which can then be parameterised and used to build a tailored circuit without the need for any knowledge of FIMMPROP. When creating a building block you can specify the way in which it is to be used by choosing for instance which parameters the user can edit, which ports/contacts are available to the user and the way it appears on the user's circuit canvas. In summary, the building block system enables you to:
Designing building blocksBuildings blocks are created as part of a building block library, which can contain an arbitrary number of building blocks.
Each building block may be given a set of variables which the building block user (circuit designer) will be able to edit. These can be used to parameterise the building block model e.g. the length of a section, the width of waveguide ridge etc, and can be given a range of allowed values so as to enforce design rules. You can also specify how each building block will appear in the user’s circuit, which ports will be visible, and specify version numbers to enable version control.
Each building block in a library can be modelled using either: a circuit made from built-in elements; or a scattering matrix (S-matrix) spectrum, which can capture the detailed wavelength response of passive components. The latter may be automatically generated from an internally stored FIMMPROP component device. Both types of model can be parameterised in terms of the building block’s variables.
Using building blocks to construct circuitsWhen constructing a circuit in PICWave, you can import one or more building block libraries which you or a third party have made previously. The building blocks from these libraries will then appear in the toolbar of the circuit editor so you can add them to your circuit just as you would add native circuit elements.
You can set the properties of each instance of a building block in a circuit; the properties panel will list all the variables that the building block designer has made user-editable. PICWave will check that the values you enter are within the allowed ranges specified by the building block designer.
The building block system can be used to import or create design kits: lib: libraries of qualified, standard building blocks which circuit designers can then use to construct their circuits. InP-based design kit libraries for Oclaro and FhG Heinrich Hertz Institut fabs are available.
Mask LayoutsIn later versions of PICWave, building block designers will be able to define the physical layout of building blocks, thus enabling PICWave to generate the layout of circuits comprised of building blocks for mask export. Please contact Photon Design if you are interested in this feature.
|