xPDK BB - GUI fieldsStandardizing look & feel (from a foundry / designer perspective) can be helpful too. This allows quicker understanding of what to find where in different software and facilitates communication between foundry and design teams as well as within design teams.
BB changes / versionTo get an idea of the maturity of the BB design, you can add a lastChangedDate in the BB definition. It does not imply that it needs to have run on many wafers since that change. Another option to show this is the use of the version tag.
<bb name="myDate"> <lastChangedDate>2022-04-29</lastChangedDate> <version>1.2.3</version> </bb>
This date allows a foundry to define the date that the BB really changed, so things like new layout, changes in layer stack and so on. Doing new measurements is not part of this. The date is specified in the following form "YYYY-MM-DD" where: YYYY indicates the year MM indicates the month DD indicates the day
The version can be defined as:
The version can be defined as:
this is the short-hand version number. This can be a YYYY.MM (year.month) value also.
adds the patch to indicate small changes. This can be a YYYY.MM.DD (year.month.day) value also.
where the iteration is often relating to a (software) implementation and thus less typical in PDK or BB versions. It can be useful in the compact model files to indicate that the same measurements or simulations have received a new model instance.
Export control & libraryThe devicetype in the BB can be used for export control as some combinations need (legal) validation.
The library provides for grouping of comparable foundry BB, mostly handy in case there are many BBs.
<bb name="myBB2" devicetype="source"> <library>Advanced components/Using parameters</library> </bb>
This information is intented for export control as some combinations of BBs need legal validation. Design software can validate the devicetype combinations that are used in the design and report on possible export regulations.
Defines the location in an library / element tree. In OptoDesigner it is used as dlgname and thus populates the Element dialog.
Icon & drawingIcon’s can be fully embedded as base64 encoded data. This avoids the need for external file references.
But using files is possible also as shown with the filename statement. And calling some (software specific) functions can also be defined.
<bb name="myIcon1" devicetype="amplifier"> <icon> <!-- this data is not actually a PNG ! --> <file format="png">4oVIUNDopNMHqhuzLaDOFXnzCT+cRkQM/NroSIdxnALeS1kYcYMKeRGrdRnc yXtMtUAk6Xmnoje2X6EnYll/Zn0+GEfFl/6birD2W6ZVc3HhoRQ5Fnl8DObg WhiGthy1dwNPhKULEzVoDEsffEilx1FfnRWaNSQr0sMfVPIUXH5Gpfb0+zvn 69+xutJmQa9cCrUgsNpYPQFZQLNj7B/gxzYywQHlNQPjO2OakXW7zruTfrgU TYJlSTSmdJXwdBNN0Vbbn0giRM7RHDgJy/XA6Yvm2BIJci4K41fu+DEhtq+e L8zzN6cDA6SzeOBcSDd4LWf6nvdmKdX9tIBw5zPlDO+kFSg/ldUPiSJG5udy PnoaiBfw6faCyV3lTMD13w+HR0EUZCYWF+pu5swDlYstQidbSO59isRQsi7j +VZb+D/l8SI0JpB2HCpw97gePmXuVKIKuXKmfpOqSWC9nSRlc1qm+++m270p b2sdpETAstnriFLgcn98jrvKzbCQPRyLJteBzqBOyIaTe50zcDjwENSoVTzI gwquDVYndjqZIR/ZrcCG7R3ic0LqFzuznQB0BIFN3sbBaVwquCS5Fd9vr0hp 96HXjpSz3NQouc5fMYPYcwK2QU1m+w5L/e5DFqLzbTpbWKO2MvGz5tlPuqoR 1hi7iZHduuKAwyba1acptLGw9zp6ZmtSFaqWKHHcQFV2Uu+vFnM24lunQHW/ VfpLIx5joVsncxfVDYbDcqlffKM3RmszKIt/NRVRbNwKTRteO3EhE4SrRKNi FX19GlCWXz9vjqFDBvq4cRf+4XLG6IHk6lLxo6QY4zzRNo1p</file> </icon> </bb>
The resolution of pictures should be high enough to allow good scaling in schematic designs. As such SVG is preferred.
<bb name="myIcon2" devicetype="amplifier"> <icon> <!-- use fixed files --> <filename format="png">icon.png</filename> <filename format="svg">icon.svg</filename> <!-- call some drawing code, specific per software --> <function software="Software1">call_something_to_draw();</function> <function software="Software2">draw_me();</function> </icon> </bb>
Define a picture. The picture can be provided as embedded (use file) or file reference (so external file, use reffile) and for some software via function calls (use function).
Picture for use in schematic designs. Specify the type of icon data via the format attribute, default is a png.
Picture for use in schematic designs in external file. Specify the type of icon data via the format attribute, default is a png.
Call a function in a specified software to draw / display the picture.