spm_min_counter β€” Minimal RTL β†’ GDS Reference Flow

A pre-declared, self-authored minimal RTL flow validated through OpenLane (superstable) on SKY130A.

This project demonstrates a clean, modification-free RTL β†’ GDS completion, serving as a baseline physical design reference.


Language GitHub Pages 🌐 GitHub πŸ’»
πŸ‡ΊπŸ‡Έ English GitHub Pages EN GitHub Repo EN

🎯 Purpose

This design exists to prove flow stability, not functionality richness.

All design intent, constraints, and structure were defined before execution, explicitly avoiding post-hoc tuning or interpretation.


🧩 Design Overview

Item Description
Function Free-running binary counter
FSM None
Clock domains Single
Reset None (simulation-only initialization)
Macros / SRAM Not used

RTL implementation: rtl/spm_min_counter.v


⏱ Pre-declared Constraints

Parameter Value
Clock period 10 ns (100 MHz)
Core utilization 30 %
Aspect ratio 1.0

πŸ“¦ Flow Results

Final layout database: results/spm_min_counter.gds


πŸ–Ό Layout Visualization (KLayout)

All layout images are provided as PNG for browser-based inspection.

Embedded Overview


πŸ§ͺ RTL Simulation (Testbench & GTKWave)

Standalone RTL simulation is provided without modifying the OpenLane RTL.

spm_min_counter/
β”œβ”€ rtl/
β”œβ”€ sim/
β”‚  β”œβ”€ tb_spm_min_counter.v
β”‚  β”œβ”€ run.sh
β”‚  └─ wave/

Simulation run:

cd sim
./run.sh

πŸ“ˆ GTKWave – RTL Counter Behavior

Waveform snapshot:

Direct link: https://raw.githubusercontent.com/Samizo-AITL/SemiDevKit/main/openlane/openlane-superstable/spm_min_counter/results/gtkwave.png


πŸ“ Position within SemiDevKit

openlane/
└─ openlane-superstable/
   β”œβ”€ spm_reference/
   └─ spm_min_counter/

πŸ‘€ Author

πŸ“Œ Item Details
Name Shinichi Samizo
GitHub GitHub