📊 設計レポート解析:面積・タイミング・電力の可視化

Analysis of Area, Timing, and Power Reports in OpenLane Flow


📘 概要|Overview

この章では、OpenLaneフローで生成された各種レポートを Pythonで自動解析・CSV化・グラフ表示 する方法を紹介します。
面積・セル数・遅延・電力 などの設計指標を読み解き、設計改善や比較検証に役立てます。

This section demonstrates how to parse OpenLane reports using Python
to extract key metrics like area, timing slack, and power consumption and visualize them.


🎯 学習目的|Objectives


📁 対象レポート例|Target Directories (Example: run1)

designs/inverter/runs/run1/reports/
├── synthesis/
│   └── synthesis.log
├── placement/
│   └── placement.log
├── routing/
│   └── routing.log
├── power/
│   └── power_report.log
└── timing/
    └── final_summary.csv

🧰 Pythonスクリプト構成|Scripts for Parsing & Visualization

ファイル名 説明(Description)
parse_synthesis_log.py 面積・セル数などの論理合成ログを抽出
parse_power_report.py 電力内訳を解析(静的 / 動的 / 総電力)
parse_timing_summary.py タイミングSlack情報を抽出・ヒストグラム化
plot_metric_trend.py 複数Run間の比較可視化(横棒・折れ線など)

🚀 実行例|Usage Example

python3 parse_power_report.py \
  --input ./designs/inverter/runs/run1/reports/power/power_report.log \
  --output ./output/power_metrics.csv
python3 plot_metric_trend.py \
  --input-dir ./designs/inverter/runs/

📈 可視化例(想定)|Expected Graphs



🧠 教育的意義|Educational Significance

観点 内容
📊 データ解析力 数値だけでなく傾向・相関として理解できる力を育む
🔁 改善サイクル 改善 → 評価 → 検証の反復で設計品質向上を体験
🐍 実務対応 Pythonによるログ解析・データ整形を実践できる

📦 必要パッケージ|Required Python Packages

pip install pandas matplotlib seaborn

📝 備考|Notes