Choose Your Environment Setup

  • Native Standalone Ubuntu: Skip virtual machine creation and remote display setups entirely, as your desktop inherently supports GUI applications out of the box.
  • Windows Subsystem for Linux (WSL): Open Windows PowerShell as Administrator, run wsl --install, and install Docker Desktop for Windows with WSL integration enabled.
  • Free Azure VM (Cloud): Go to the Azure Portal, deploy a Standard_B1s instance running Ubuntu 24.04 LTS, enable inbound port 22 (SSH), and connect to the provided public IP address.

GUI Display Configuration (For Cloud & WSL)

  • Windows X11 Server: Install and launch VcXsrv (XLaunch) on Windows. Click through the prompts until you can check the box for Disable access control.
  • Azure VM Connection: Install the authentication package on your Linux VM using sudo apt install -y xauth, then connect from your Windows command prompt using the trusted X11 flag: ssh -Y username@<azure-ip>.
  • WSL Connection: Route the display variable locally by appending export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 to your Linux ~/.bashrc file.

OpenLane & Docker Installation

  • Install Dependencies: Update your package manager and install the required tools by running sudo apt update && sudo apt install -y build-essential python3 python3-pip make git docker.io (skip docker.io if using Docker Desktop for WSL).
  • Configure Docker Permissions: Run sudo usermod -aG docker $USER and log out/reboot to ensure Docker runs without root privileges.
  • Download and Build: Clone the repository (git clone --depth 1 [https://github.com/The-OpenROAD-Project/OpenLane.git](https://github.com/The-OpenROAD-Project/OpenLane.git)), navigate to the folder (cd OpenLane), run make to build the PDK, and run make test to verify.

Running SPM and Viewing Layouts

  • Execute the ASIC Flow: From the OpenLane directory, run make mount to enter the container, then ./flow.tcl -design spm to synthesize, place, and route the default serial-parallel multiplier.
  • Analyze Text Reports: Check your final timing, power, and area metrics in the terminal by running cat designs/spm/runs/RUN_*/reports/metrics.csv.
  • Inspect the Silicon: Launch the visual layout directly from the terminal by running klayout designs/spm/runs/RUN_*/results/signoff/spm.klayout.gds to view it on your mapped display.