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.
π Official Links
| Language | GitHub Pages π | GitHub π» |
|---|---|---|
| πΊπΈ English |
π― Objectives
- Convert a Python-based FSM into a formal hardware specification
- Fully hardware-implement the FSM layer in the PID Γ FSM Γ LLM architecture
- Define clear and reusable rules for translating FSM behavior into Verilog RTL
- Avoid ad-hoc RTL coding by fixing state, transition, and output semantics
π§ 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:
- Accepts decisions or flags generated by the LLM layer as input conditions
- Controls PID operation modes through explicit state transitions
- Is fully deterministic and synthesizable
- Is clearly separated from the real-time PID control loop
π 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
π Recommended Reading Order
-
overview.md
Understand the purpose and overall flow of Chapter2 -
fsm_spec.md
Formalize the FSM using state tables, transition tables, and signal definitions -
mapping_rules.md
Learn how Python FSM constructs are mapped to Verilog RTL -
verilog_rtl.md
Examine the FSM RTL, from skeleton structure to a complete implementation -
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:
- OpenLane execution procedures
- Testbench implementation
- Lint or synthesis error handling
- VSCode or editor usage
- SoC integration and top-level wiring
These topics will be covered in Chapter3 and later.
π§© Relationship to Other Chapters
-
Chapter1
FSM design at the Python level
β Conceptual behavior and control logic -
Chapter2 (this chapter)
Formal specification and RTL realization of the FSM
β Hardware-level definition of states and transitions -
Chapter3 (planned)
RTL simulation, synthesis, and ASIC flow
β Verification using OpenLane
βοΈ Target Audience
- Engineers who want to translate FSM logic into RTL systematically
- Designers moving from Python-based models to ASIC implementation
- Readers interested in OpenLane-compatible FSM design
- Anyone studying the FSM layer of the AITL architecture
π Related Chapters
- Chapter1: FSM Design (Python)
- Chapter3: RTL Simulation & ASIC Flow (planned)