Video Tutorials

Learn GDSFactory+ through hands-on video tutorials. Whether you're just getting started or looking to master advanced features, these videos will guide you through every step of the process.

Quick Navigation


Getting Started

Sign Up & Invite Your Team

What you'll learn:

  • Setting up as an Organization Admin
  • Inviting team members with appropriate roles (Admin or User)
  • Managing invitations and user access

Key steps:

  1. Sign up as the first person in your organization
  2. Navigate to the Invitations tab
  3. Click New Invitation and enter the recipient's email
  4. Assign their role and send the invitation
  5. Recipients will receive an email with a signup link (check spam/junk folders)

Install the VSCode Extension

Skip this if you only plan to use cloud workspaces.

What you'll learn:

  • Installing the GDSFactory+ extension in VSCode
  • Setting up your API key for authentication
  • Verifying the installation

Key steps:

  1. Open VSCode and go to the Extensions tab
  2. Search for and install the GDSFactory+ extension
  3. Restart VSCode and verify the GF+ and GPT menu items appear
  4. Create an API key from the GDSFactory+ website (API Keys section)
  5. In VSCode, click the PDK icon β†’ Settings β†’ Edit Global Settings
  6. Paste your API key and reload the window
  7. Open a GDSFactory+ project to activate the extension

Install Linux via WSL (Optional for Windows Users)

For better performance and compatibility on Windows, install Linux through Windows Subsystem for Linux (WSL):

  1. Open PowerShell and run: wsl --install
  2. Restart your computer
  3. After setup, open VSCode and install the Remote - WSL extension
  4. Open your Linux environment in VSCode by typing code . in the WSL terminal

Upload Private Python Packages

What you'll learn:

  • Uploading private PDKs or packages to your organization's package index
  • Ensuring compatibility across different operating systems
  • Using uploaded packages in your projects

Key steps:

  1. Navigate to your organization's private package index
  2. Upload the wheel (.whl) file for your package
  3. For cross-platform support, upload wheels for different OS/Python versions
  4. The package becomes immediately available to all organization projects
  5. GDSFactory+ automatically detects and installs the package when needed

Create & Manage Cloud Workspaces

Skip this if you plan to use the local VSCode extension.

What you'll learn:

  • Creating cloud workspaces connected to your GitHub account
  • Making projects visible on the dashboard
  • Accessing and managing workspaces

Key steps:

  1. Connect your GitHub account from the Dashboard tab
  2. Add the "GFP" topic to your GitHub project (in project Settings β†’ Topics)
  3. Create a new workspace by entering a name and selecting a GitHub project
  4. Wait for workspace setup (about 1 minute: Starting β†’ Running)
  5. Access your workspace via the generated URL
  6. Remember to sync your work before deleting a workspace (deletion is irreversible)

Library Management

PDK Explorer

What you'll learn:

  • Browsing Project Components and Foundry Components
  • Accessing component details, GDS files, schematics, and logs
  • Editing components and source code

The GF+ tab organizes your components with Project Components at the top and Foundry Components at the bottom. Click any component to view available options like GDS layout, schematic editor, logs, and source code.

Editing and Customizing PDKs

What you'll learn:

  • Creating workspaces from templates
  • Viewing and editing PDK components (code and layout)
  • Changing layers in the technology file
  • Tracking and saving changes with Git version control

This tutorial walks through editing an editable quantum RF superconducting PDK, showing you how to customize PDKs in your own workspace.

Create Projects from Templates

What you'll learn:

  • Creating new projects from PDK templates
  • Working with open-access PDKs (like Cornerstone) or private NDA PDKs
  • Setting up your environment with sample components and Jupyter notebooks

Customizing PDK Layer Views

What you'll learn:

  • Editing layer properties in KLayout (colors, patterns, etc.)
  • Saving custom layer.lyp files
  • Integrating custom layers into your PDK using Python
  • Verifying changes in GDSFactory

Perfect for designers who want to tailor their layout visualizations for better clarity and control.


Layout Design

Create New Schematics

What you'll learn:

  • Creating schematic-driven layouts
  • Adding and connecting component instances
  • Defining ports and running circuit simulations
  • Using routed connections that update automatically

Key workflow:

  1. Click GF+ β†’ New β†’ Schematic and name it
  2. Press I to add component instances
  3. Press L to create links between components
  4. Press P to create ports
  5. Run circuit simulations (locally or export to Cadence Spectre)
  6. Define routed connections that adjust automatically when placements change

Automatic Routing

What you'll learn:

  • Moving instances with automatic route updates
  • Using the ASTAR Bundle Router (GDSFactory+ exclusive feature)
  • Working with single routes and bundle routes

Simply drag instances to new locations, and routes automatically reconfigure to avoid obstacles while maintaining optimal connections.

Create Components in Python

What you'll learn:

  • Creating new components in Python
  • Adding polygons and arranging components in grids
  • Using the pack function to optimize space
  • Importing layouts from GDS files
  • Adding ports for component connectivity

Key concepts:

  • A Cell is a function that returns a Component
  • A Component is a canvas for adding polygons or instances
  • Use gf.grid for regular layouts
  • Use gf.pack to minimize unused space
  • Use import_gds to reuse existing layouts

Write PCells Based on Generic PDK

Learn how to create parametric cells (PCells) using the generic PDK as a foundation.

Create Custom Cross-sections

What you'll learn:

  • Defining custom cross-sections to group multiple layers
  • Configuring layer widths in a reusable way
  • Restarting the server to apply changes
  • Using custom cross-sections in your schematics

Verification

Run DRC on GDS Files

What you'll learn:

  • Running Design Rule Checks (DRC) to ensure your design meets foundry rules
  • Reviewing error reports
  • Inspecting specific violations in your layout

Key steps:

  1. Open or upload your GDS file
  2. Click Check DRC
  3. Review errors in the GF+ tab under DRC results
  4. Click on individual errors to see affected components
  5. Fix violations and re-run DRC

Run DRC Locally

What you'll learn:

  • Running DRC locally on your computer
  • Using Jupyter notebooks for DRC execution
  • Using the API for cloud-based DRC with local visualization
  • Installing the GDSFactory KLayout extension

Check Connectivity

What you'll learn:

  • Identifying connectivity issues (overlapping waveguides, disconnected ports)
  • Running connectivity checks
  • Reviewing categorized errors (instance overlaps, orphan ports)

Key steps:

  1. Open the component you want to check
  2. Click DRC β†’ Check Connectivity
  3. Review results in the DRC Verification tab
  4. Click on specific errors to highlight them in the layout

Simulations

Mode Solver with FEM (Femwell)

What you'll learn:

  • Setting up Femwell (open-source finite element multi-physics solver)
  • Running mode solver simulations in Jupyter notebooks
  • Exploring how waveguide width affects supported modes
  • Comparing different materials (silicon vs. silicon nitride)
  • Understanding single-mode vs. multi-mode conditions

Mode Solver with FDFD

What you'll learn:

  • Using the FDTD mode solver to analyze electromagnetic modes
  • Computing TE and TM modes for waveguides
  • Running mode sweeps as parameters change
  • Calculating effective index, group index, and dispersion
  • Studying bend losses and coupling coefficients

Creating Custom Circuit Models

What you'll learn:

  • Creating custom components with simulation models
  • Wrapping existing SAX models
  • Modifying model properties (e.g., simulating insertion loss)
  • Running circuit simulations with custom components

Perfect for extending your PDK with custom functionality.


Collaboration

AI Agent

What you'll learn:

  • Using the integrated AI assistant to generate designs
  • Creating hierarchical YAML netlists from natural language prompts
  • Generating schematics with custom and foundry components
  • Visualizing and refining AI-generated designs

Simply activate a PDK and prompt the assistant with descriptions like "two rings with a route" to automatically generate schematics.

Git Version Control

What you'll learn:

  • Creating Git branches in VSCode
  • Staging and committing changes with descriptive messages
  • Handling pre-commit hooks for automatic code formatting
  • Pushing branches and creating pull requests
  • Syncing with the main branch after merging

Git acts as a "time machine" for your project, allowing teams to collaborate on parametric designs without conflictsβ€”bringing software-level version control to hardware design.


Need More Help?

On This Page