PDK tools at a glance¶
As detailed in the Overview, the Alcyon PDK package is designed to enable the user to build circuits by combining Alcyon’s IP building blocks with their own. For this purpose, it incorporates tools that facilitate:
Building blocks creation: Creating a new component is as easy as coding a
Drawer class
in a single Python file. ADrawer class
is a Python class containing the methods that build the shapes and establish the contact points of the building block. A separate Python file is required for each component.Custom libraries creation: It is possible to create a new library with just a few clicks from the KLayout menu. The library can be easily populated by adding the Python file linked to a building block.
PICs layout creation: Once the building blocks are avaible in the KLayout Library menu, they can be added to the current layout sheet by dragging and dropping. However, Alcyon has created the Layout-Creator Module to easily build circuits by scripting, taking blocks from the different libraries and connecting them by following a netlist.
NOTE: A detailed explanation of the Modules can be found within the Utilities documentation or directly in the following directory:
~\KLayout\salt\AlcyonPDK_utils\docs
SEM check: In order to protect Alcyon’s IP, placing a SEM cell on top of Alcyon’s black boxes is blocked by the foundries. With the SEM check tool the user can verify that the layout fulfill this condition before the mask submission.
Users should follow the AlcyonPDK
programing rules, which are deeply explained in this document.