APPENDIX: Operational Rules

How to Keep Your OpenLane Environment Alive Forever


Purpose of This Document

This appendix defines non-negotiable operational rules for using OpenLane.

It does not explain how OpenLane works.
It explains how not to destroy a working environment.

If you follow these rules, you will:


The Single Most Important Rule

A working OpenLane environment is an asset, not a workspace.

You do not “fix” assets.
You protect them.


Core Operational Principles

Rule 1 — Do Not Fix. Roll Back.

If something breaks:

Rollback via WSL import immediately

Time spent debugging a broken environment is almost always wasted.


Rule 2 — Do Not Update. Clone.

If you want to try:

Clone or import a separate environment

Never update the working one.


Rule 3 — Do Not Rebuild. Export & Import.

Rebuilding environments is:

Exporting and importing is:

If rebuild seems easier, you are already making a mistake.


Daily Usage Rules (DO / DON’T)

✅ DO


❌ DON’T


OpenLane1 vs OpenLane2 Operational Separation

OpenLane1 (Primary / Stable)

Rules:


OpenLane2 (Secondary / Evaluation)

Rules:


PDK Handling Rules

PDKs are the highest-value assets.

Mandatory Rules

If LVS/DRC results change unexpectedly: → Assume PDK mismatch first


When Something Goes Wrong: Decision Table

Symptom Correct Action
Flow fails after update Import previous WSL
GLS shows unknown modules Check PDK, then rollback
All-X waveforms Rollback before debugging
Docker behaves strangely Rollback
Cause unclear Rollback

If rollback fixes it, you are done.


Export Timing Rules

You must export WSL:

Recommended command:

wsl --shutdown
wsl --export Ubuntu D:\backup\ubuntu_openlane_verified.tar

This file is your environment.


Mental Model to Adopt

Stop thinking like this:

“I’ll just try to fix it.”

Start thinking like this:

“This environment already works. I will not risk it.”

This mindset alone prevents 90% of OpenLane disasters.


Final Statement

If you remember nothing else, remember this:

Broken environments are optional.
Only unprotected environments break.

This repository exists so you never learn that lesson the hard way again.