Installation instructions - SiEPIC/SiEPIC_EBeam_PDK Wiki

SiEPIC-EBeam-PDK Installation

There are three parts: 1) installation of KLayout, 2) installation of SiEPIC-Tools + SiEPIC-EBeam-PDK, and 3) installation of the SiEPIC-EBeam compact model library in Lumerical Interconnect.

Part 1 - Install KLayout: version 0.27.5 or greater

Part 2 - Install SiEPIC-Tools + SiEPIC-EBeam-PDK using KLayout's Package Manager

Open KLayout, then menu item Tools | Manage Packages

  • Install the 'SiEPIC-Tools' package (install this one first)

  • Install the 'SiEPIC-EBeam-PDK' package

** Note: If you receive an error "Error downloading file", please report it to the KLayout developer, and install the package using GitHub (instructions below).

  • [Windows only:] Install the 'Windows_Python_Packages_for_KLayout' package: this includes some packages that are missing in the Python distribution included in KLayout, such as numpy (math package), which is useful for making complex PCells and required for integration with Lumerical INTERCONNECT and FDTD Solutions tools.

  • Restart KLayout

  • You should see a new menu item, "SiEPIC" with the version number

  • Check back periodically in the Package Manager for updates

Part 3 - Install the SiPIC-EBeam Compact Model Library (CML) in Lumerical INTERCONNECT via KLayout

  • You need Lumerical INTERCONNECT installed, and you need a license feature called "INTERCONNECT and Automation API" available.

  • Create a new layout (File | New), and choose EBeam as the technology, top cell = test.

  • then menu item, SiEPIC | Simulation, Circuits | Setup Lumerical INTERCONNECT Compact Model Library

  • INTERCONNECT should open, and you should get a confirmation that the library is loaded

  • The EBeam CML uses variables and expression for Monte Carlo simulations. The variables are only defined when KLayout calls INTERCONNECT to run the simulations. The new version of INTERCONNECT checks for undefined variables. When creating simulations in INTERCONNECT alone, there may be errors preventing the simulation (e.g. Unable to evaluate expression '%MC_uniformity_width%'). The solution is to disable expression checking, which can be done by turning off the "Validate expressions prior to running simulation" in the Options window. Or, type in "expressioncheckoff;" in the Script Prompt window.


  • Close INTERCONNECT so that the library information and settings are saved.

Alternative installation instructions for Part 3:

Part 3 - Install the SiPIC-EBeam Compact Model Library (CML) in Lumerical INTERCONNECT manually:

  • Open Lumerical INTERCONNECT
  • Open the window "Element Library"
  • Scroll down to "Design Kits", and right-click, then "Install"
  • Compact Model Library Package: find the EBeam_vxxxx.CML file in the PDK, located in the "tech/EBeam" folder.
  • Destination Folder: can be anywhere on your computer.
  • Disable expression checking (see above, "expressioncheckoff;" in the Script Prompt window).

Alternative installation instructions for Part 2:

Part 2 - Install SiEPIC-EBeam-PDK using GitHub

  • This method allows you to fetch the latest version of the package by fetching it directory from the repository. This alternate installation method downloads the files from GitHub, and makes them available to KLayout either by telling KLayout where to find them, or by creating symbolic links from your local GitHub folder to the KLayout folder.

  • Install GitHub Desktop (for Windows and Mac OSX users; Linux users need to use git)

  • Install this repo using GitHub Desktop: click on the green button Code > Open in GitHub Desktop

Install SiEPIC-EBeam-PDK using GitHub and KLayout > Add Technology

  • Start KLayout
  • Menu Tools > Manage Technologies
  • In the window on the left (Technologies), right click, then Import Technology
  • Navigate to your GitHub folder and select GitHub / SiEPIC_EBeam_PDK / klayout_dot_config / tech / EBeam / EBeam.lyt.
  • Create a new layout, menu File > New Layout, Technology = EBeam

PDK Updates via GitHub

  • Subscribe to PDK updates by clicking on the Watch buttom at the top
  • To update the PDK, open GitHub Desktop, and click on "Pull Origin"
  • Restart KLayout

Install SiEPIC-EBeam-PDK using GitHub and symbolic links