This is modelled as the boolean difference contact_to_silicon = contact - poly.
Contacts wich have polysilicon below do not reach this lowest layer. For instance on the lowest layer there is only a piece of contact down to silicon. This is only due to the layer by layer creation of the 3D model but it is important to understand for writing the layerstack definition. Note that the contact from metal1 down to silicon (which is not shown nor included in the example) consists of three parts. The crossection of the layer stack described in the example above is shown here. # The 3D model is created layer by layer from bottom to top. material = m_metal1 # Define additional layers from boolean operation contact_to_silicon = contact - poly # Define layer stack structure as a list of (layer thickness, ). Use this file as a starting point and adapt it to your needs.Įssentially a layerstack file is just a python script that defines some data structures.Įxample: from gds3xtrude.include import layer, Material # Define layers poly = layer ( 15 ) contact = layer ( 16 ) metal1 = layer ( 21 ) # Define materials and colors m_poly = Material ( 'poly', color = ( 0.8, 0.2, 0.2 )) m_metal1 = Material ( 'metal1', color = ( 0.8, 0.2, 0.2 )) # Assign materials poly. An example of a simple layer stack descriptionįor the FreePDK45 can be found in examples/freepdk45.layerstack. This information must be passed to gds3xtrude as a file.
To convert a 2D layout into a 3D model some information about the physical layer stack is necessary. Try to add the pip binary directory to the PATH variable first: PATH = $PATH: $HOME/.local/bin If you get an error like gds3xtrude: command not found the program is probably not in your PATH environment variable. # Run gds3xtrude gds3xtrude -tech freepdk45.layerstack -input NAND2X1.gds -view (Example for FreePDK45 can be found in examples/freepdk45.layerstack)Įxample usage: # Get layerstack file for FreePDK45. Select the layerstack file for your technology.Select Tools -> gds3xtrude -> run script.Zoom in to the region you want to pass to gds3xtrude.
Rest should be similar to the Linux install instructions.
Windows is currently not supported but very likely you can get gds3xtrude running there with some tweaks. Install from Git (instead of installing using pip) git clone cd gds3xtrude When used as a standalone tool gds3xtrude additionally depends on the klayout Python package. Use the KLayout package manager to install gds3xtrude.ĭependencies (gds3xtrude python package, OpenSCAD) must be installed manually: apt install openscad