Chapter2: FSM β†’ Verilog RTL

AITL Silicon Pathway

This chapter formalizes the Finite State Machine (FSM) defined in Chapter1
and translates it from a Python-level specification into synthesizable Verilog RTL.

The goal is not only to write RTL code, but to establish a reproducible and deterministic mapping process from software FSM models to hardware implementations suitable for ASIC synthesis using OpenLane.


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

🎯 Objectives


🧠 Role of FSM in AITL

LLM (Outer Layer)
  └─ Anomaly detection, redesign, parameter updates

FSM (Middle Layer)  ← Focus of this chapter
  └─ Mode management, state transitions, control policy switching

PID (Inner Layer)
  └─ Real-time control (V–I response stabilization)

The FSM covered in this chapter has the following characteristics:


πŸ“‚ Directory Structure

docs/chapter2/
β”œβ”€β”€ README.md          ← Entry point of Chapter2
β”œβ”€β”€ overview.md        ← Chapter overview and design flow
β”œβ”€β”€ fsm_spec.md        ← Formal FSM specification
β”œβ”€β”€ mapping_rules.md   ← Python-to-Verilog mapping rules
β”œβ”€β”€ verilog_rtl.md     ← FSM RTL (skeleton β†’ complete)
β”œβ”€β”€ rtl_guidelines.md  ← ASIC / OpenLane RTL guidelines
└── assets/
    β”œβ”€β”€ fsm_diagram.mmd
    β”œβ”€β”€ state_table.csv
    β”œβ”€β”€ transition_table.csv
    └── signal_list.csv

  1. overview.md
    Understand the purpose and overall flow of Chapter2

  2. fsm_spec.md
    Formalize the FSM using state tables, transition tables, and signal definitions

  3. mapping_rules.md
    Learn how Python FSM constructs are mapped to Verilog RTL

  4. verilog_rtl.md
    Examine the FSM RTL, from skeleton structure to a complete implementation

  5. rtl_guidelines.md
    Learn ASIC-oriented RTL coding rules to avoid synthesis pitfalls


⚠ Out of Scope

The following topics are intentionally excluded from this chapter:

These topics will be covered in Chapter3 and later.


🧩 Relationship to Other Chapters


✍️ Target Audience