Technology Specification

By Lucas Heitzmann Gabrielli

This tutorial describes what a Technology Specification is within PhotonForge and how it is used to facilitate the simulation of integrated optical devices. It shows the relationship between Technology and foundry PDKs that can be used to close the gap between simulated results and the measurements on a manufactured device, as well as characterize the effects of fabrication process variations. You will learn how to choose, create, and customize a global Technology Specification for the whole project, and how to use a different one for specific components.

Share On:
Additional information: This Tutorial was updated in Mar 05, 2024

PhotonForge GUI: Tutorial 1

In this tutorial we'll take a look at technology specifications in PhotonForge: what they are and how to set up a default technology for the whole project and one specific to a single component.

A technology specification is used to describe a particular PDK, or Process Design Kit, which contains rules and definitions for all layers used to draw the layout of a device. All geometrical and textual structures in a planar layout are created in a specific layer. Whether the structure represents a waveguide core, a metallic contact, or a doping region, that is defined by the structure’s layer and the roles assigned to that layer within the foundry PDK. PhotonForge technologies [highlight Technology] are a translation of the PDK—with some extra information—to facilitate the design, simulation and verification of your device directly from the physical layout.

Technologies created for specific foundries can be found in PhotonForge’s libraries and can be used to speed up development. However, they can also be created from scratch to conform to your particular fabrication process, or customized to simulate variations of an existing one.

Let’s take a look at the contents of a technology specification and how to create and modify them.

Any project in PhotonForge has a default technology that is used for new components. This default can be selected in the project Configuration

It is initially set to an Empty specification, which, as the name implies, does not contain any rules or definitions. We'll select a more meaningful default by creating a new one from our library

The first drop-down selection box shows the technology families available to us. In this case, we only have the Basic technology option. By selecting it, we'll see a series of parameters that we can use to fine-tune it. Different technology families will have different creation parameters, but all can be entirely customized after creation as well. For now, we'll use the default options.

After clicking in Add, the newly created Basic Technology will be available in our project. We return to the Configuration dialog and we can click over the pencil icon to inspect and customize the contents of the technology we have just created.

The Technology Details dialog shows all the contents of our Basic Technology. All fields can be modified, including name and version. The background medium allows us to select the medium used as default background for simulations. Below these fields we’ll find 3 tabs with important specifications for our layout.

First, the layers defined by the technology are presented in a table showing their display style, name, number and description. These are the layers that will give meaning to the polygons, curves and labels defined in the physical layout. They can be fully customized or removed, and new ones can be created to conform to your process requirements.

Second, the extrusion specifications describe how the structures from each layer are combined to form process masks during the device fabrication. Within PhotonForge, the fabrication process is emulated by extruding those same masks into 3D solids, which can be used later to simulate the device using Tidy3D. That means that each extrusion specification includes a mask definition and the parameters that will define the extrusion process for that mask, including the medium used for the generated 3D solids.

In this case, we have 2 extrusion specifications identified by their masks: one for the WG_CORE layer, with number (2, 0), and another for the SLAB layer, with number (3, 0). The former is used to define waveguide core regions within the device by extruding a silicon structure between z coordinates 0 and 0.22 μm. The latter forms partially etched silicon regions, or waveguide slabs, with thickness of 70 nm.

Finally, the third tab presents port specifications that describe the standard waveguide profiles offered by this technology. They will be used to define each component’s input and output ports, so that we can build more complex systems by later connecting components with compatible port specifications.

The Basic Technology defines two standard waveguides: Rib and Strip. New ones can be freely added to meet project requirements. For example, when designing a multimode device, we will probably require multimode ports in addition to these 2 standards. In that case we can simply add a new port specification with the desired widths for each path profile that composes our multimode waveguide.

Once we close the Technology Details and Save the changes, the new configuration will be ready to use.

As a quick demonstration of the technology details, we can import a simple GDS file to see the effects of the technology definitions in action.

After choosing our GDS file, we can see that the new component will use, by default, the Basic Technology we just created.

This GDS file contains a circular 90° bend created using a rib waveguide as defined by the Rib port specification we just saw. We can see the geometry associated with each layer by the display pattern used to draw it.

Individual layers can be hidden to facilitate the inspection of the device geometry.

In order to see the extrusion specifications in action, we can export the planar layout to Tidy3D. This process will apply the extrusion rules one by one, and create the 3D geometry of the actual device. In order to do so, however, our component needs ports and a Tidy3D model. We will dive deeper into port and model creation in another tutorial; for now we'll just quickly accept all default options. After that, we’re ready to export the component to Tidy3D.

In Tidy3D we see the rib geometry of the waveguide as expected: a 220-nm core with a 70-nm slab around it shaped as a circular bend. We can also see here how the ports in PhotonForge are translated to sources and monitors in Tidy3D to create a valid simulation.

If desired, each component can use its own technology specification. The one we selected for our project configuration is just the default. We can edit this bend component to change its technology.

We can choose among the technologies already created for this project or create a new one specifically for this component. Let’s create a new one from our library, same as we did earlier.

To demonstrate the effects of a different definition, we'll change the last parameters in the Basic Technology creation: we’ll add a sidewall angle of 8 degrees and check the Core fill checkbox. This will emulate a fabrication process that only removes the core material from regions defined in the WG_CLAD layer, as we'll soon see in the exported 3D device.

Within the details of this new technology, we will change its name to differentiate from our previous one.

We can also take a look at the extrusion specifications to verify how they have changed to reflect the new options. This version of the Basic Technology has 3 extrusion masks. The first is an empty one, representing the full bounding box of the device. The other 2 are combinations of the geometries in 3 layers, described by expressions between the layers themselves. We also observe dilation settings related to the sidewall angle.

After the inspection, we can accept the changes and save the new component option. Now our project uses the original Basic Technology as default for new components, but this bend uses the one with the core fill option for all of its definitions: layers, extrusions, and ports.

When we export the component to Tidy3D, we'll see the new extrusion specifications in action: the resulting geometry contains the same rib waveguide bend, but now its sidewalls are angled and the silicon layer extends over any regions outside the WG_CLAD layer.

This concludes our first look at technology specifications in PhotonForge. Much more complex designs can be built on top of them, including passive and active optical layers, metallization, and full back-end-of-line processing, if required for design, simulation and verification.