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 - Set up your account, install the extension, and create workspaces
- Library Management - Browse and customize PDKs and components
- Layout Design - Create schematics, components, and circuits
- Verification - Run DRC, connectivity checks, and LVS
- Simulations - Run mode solvers and circuit simulations
- Collaboration - Use AI tools and Git version control
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:
- Sign up as the first person in your organization
- Navigate to the Invitations tab
- Click New Invitation and enter the recipient's email
- Assign their role and send the invitation
- 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:
- Open VSCode and go to the Extensions tab
- Search for and install the GDSFactory+ extension
- Restart VSCode and verify the GF+ and GPT menu items appear
- Create an API key from the GDSFactory+ website (API Keys section)
- In VSCode, click the PDK icon → Settings → Edit Global Settings
- Paste your API key and reload the window
- 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):
- Open PowerShell and run:
wsl --install - Restart your computer
- After setup, open VSCode and install the Remote - WSL extension
- 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:
- Navigate to your organization's private package index
- Upload the wheel (.whl) file for your package
- For cross-platform support, upload wheels for different OS/Python versions
- The package becomes immediately available to all organization projects
- 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:
- Connect your GitHub account from the Dashboard tab
- Add the "GFP" topic to your GitHub project (in project Settings → Topics)
- Create a new workspace by entering a name and selecting a GitHub project
- Wait for workspace setup (about 1 minute: Starting → Running)
- Access your workspace via the generated URL
- Remember to sync your work before deleting a workspace (deletion is irreversible)
Library Management¶
Create Projects from Templates¶
What you'll learn:
- Creating new projects from PDK project templates
- Working with open-access PDKs (like Cornerstone) or private PDKs under NDA
- Setting up your environment with sample components
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.
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:
- Click GF+ → New → Schematic and name it
- Press I to add component instances
- Press L to create links between components
- Press P to create ports
- Run circuit simulations (locally or export to Cadence Spectre)
- 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.gridfor regular layouts - Use
gf.packto minimize unused space - Use
import_gdsto 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:
- Open or upload your GDS file
- Click Check DRC
- Review errors in the GF+ tab under DRC results
- Click on individual errors to see affected components
- 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:
- Open the component you want to check
- Click DRC → Check Connectivity
- Review results in the DRC Verification tab
- 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?¶
- Browse the Quickstart Guide for step-by-step tutorials
- Check the Community page for support and discussion
- Visit the Changelog page to see the latest features