Macro-Aware Physical Design with OpenLane2 (SRAM Hard Macro Integration)
| Language | GitHub Pages π | GitHub π» |
|---|---|---|
| πΊπΈ English |
This repository demonstrates macro-aware physical design using OpenLane2 (v2)
by integrating an SRAM hard macro into a complete RTL β GDS flow.
The focus is not SRAM design, but realistic integration of a hard macro
(LEF / GDS / blackbox) into an OpenLane2-based physical design flow.
Please read in the following order:
π Project Plan
Scope definition, milestones (M0βM3), and completion criteria.
π Environment Setup
OpenLane2 installation, Python environment, and PDK handling.
βΆ Baseline OpenLane2 Flow
Minimal RTL β GDS run without macros.
π§ SRAM Macro Integration
Blackbox declaration, LEF/GDS usage, and macro placement strategy.
π Results and Observations
Final GDS, warnings, limitations, and lessons learned.


This repository is structured to clearly separate
documentation, design inputs, and generated artifacts.
openlane2-sram/
ββ README.md
ββ docs/
β ββ 00_plan.md # Project scope and milestones
β ββ 10_env.md # Environment setup (OpenLane2, PDK)
β ββ 20_openlane2.md # Baseline OpenLane2 flow (no macros)
β ββ 30_macro_sram.md # SRAM hard macro integration
β ββ 40_results.md # Results, warnings, lessons learned
β
ββ designs/
β ββ spm/
β ββ config.json # Main OpenLane2 configuration
β ββ run_config.json # Runtime / flow options
β ββ pin_order.cfg # IO pin ordering
β ββ src/
β ββ spm.v # Top-level RTL
β ββ spm.sdc # Timing constraints
β
ββ runs/ # Generated by OpenLane2 (gitignored)
β ββ RUN_YYYY-MM-DD_* # Per-run artifacts (logs, DEF, GDS)
β
ββ .gitignore
Each milestone produces verifiable artifacts.
SRAM macros are treated strictly as external hard macros.
This keeps the project license-safe and reusable.
βοΈ Baseline flow and SRAM macro integration verified
This repository evolves incrementally with emphasis on
clarity, reproducibility, and realistic physical design practice.
| π Item | License | Description |
|---|---|---|
| Source Code | MIT License | Free to use, modify, and redistribute |
| Text Materials | CC BY 4.0 or CC BY-SA 4.0 | Attribution required; share-alike applies for BY-SA |
| Figures & Diagrams | CC BY-NC 4.0 | Non-commercial use only |
| External References | Follow the original license | Cite the original source properly |
Suggestions, improvements, and discussions are welcome via GitHub Discussions.