Edusemi-v4x

4.4 SoC統合モジュールの実装(FSM + PID)

🎯 本節の目的


🛠️ ディレクトリ構成の準備

以下のように soc_top 用のプロジェクトディレクトリを構成します:

f_chapter4_openlane/
└── openlane/
    └── soc_top/
        ├── config.tcl
        └── src/
            └── soc_top.v

soc_top.v には、FSMとPIDモジュールのトップ統合RTLが含まれます。


📦 config.tcl(最小構成例)

set ::env(DESIGN_NAME) soc_top
set ::env(VERILOG_FILES) [glob $::env(DESIGN_DIR)/src/soc_top.v]
set ::env(CLOCK_PORT) "clk"
set ::env(CLOCK_PERIOD) "10.0"
set ::env(FP_CORE_UTIL) 45
set ::env(PL_TARGET_DENSITY) 0.5

🚀 flow.tcl の実行手順

cd OpenLane/
./flow.tcl -design ../f_chapter4_openlane/openlane/soc_top

📂 成果物構成とレポート出力

runs/soc_top/
├── config.tcl
├── logs/
├── reports/
│   ├── synthesis/area.rpt
│   ├── signoff/drc.rpt
│   └── signoff/lvs.rpt
└── results/
    └── final/
        ├── gds/soc_top.gds
        ├── def/soc_top.def
        └── verilog/final.v

📊 評価と観察ポイント

項目 内容
✅ 統合面積 FSM + PID 単体面積の合算に対する増減を観察
✅ 配線密度 クロックや制御信号配線の混雑度、密度の最適化
✅ I/O配置 統合モジュールにおけるI/O port配置とDRC違反の抑制確認

🖼️ レイアウト可視化手順

klayout runs/soc_top/results/final/gds/soc_top.gds

または

magic -T sky130A.tech runs/soc_top/results/final/gds/soc_top.gds

✅ まとめ


👉 4.5 設計評価レポートと比較へ進む