mcpField
E
eda-architect

eda-architect

github.com/l3wiその他19135 回インストール43 週間前に更新
リポジトリ

eda-architect について

eda-architectは、基板設計を始める人向けに電子機器プロジェクトのアーキテクチャを計画するスキルです。要件を仕様書と機械可読な制約にまとめ、設計確定前にリスクを示します。

主な機能

  1. 01機器の目的と要件の整理
  2. 02電源と熱予算の計画
  3. 03プロセッサとインターフェース要件の定義
  4. 04層数と物理的制約の評価
  5. 05仕様書と制約ファイルの作成
  6. 06アーキテクチャ上のリスク提示

活用シーン

  1. 01新しいPCBプロジェクトの開始
  2. 02電子機器の要件整理
  3. 03電力・熱・基板層数の検討

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/l3wi/claude-eda --skill eda-architect

インストール後、Claude Code で/eda-architectを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

reference/
CONSTRAINT-SCHEMA.md
LAYER-COUNT-DECISION.md
POWER-TOPOLOGY-DECISION.md
PROJECT-TEMPLATES.md
THERMAL-BUDGET.md

詳細

EDA アーキテクトスキル

電子プロジェクトのアーキテクチャと制約を定義します。

自動有効化のトリガー

このスキルは、次の場合に有効になります:

  • ユーザーが「基板を設計する」「プロジェクトを作成する」「新しい PCB を始める」と依頼した場合
  • ユーザーが電子プロジェクトについて「何が必要ですか?」と尋ねた場合
  • プロジェクトに docs/project-spec.md または docs/design-constraints.json がない場合
  • ユーザーが要件の取りまとめやプロジェクト計画について言及した場合

コンテキスト要件

必要なもの: ありません(これが最初のステップです)

生成するもの:

  • docs/project-spec.md - 人が読める仕様書
  • docs/design-constraints.json - 機械可読な制約

ワークフロー

1. プロジェクトの目標を理解する

ユーザーに次の点を尋ねます:

  • このデバイス/基板は何をするためのものですか?
  • 想定する用途(プロトタイプ、製品、趣味)を教えてください。
  • 参考にできる既存の設計はありますか?
2. 電源アーキテクチャを定義する

次の点を決定します:

  • 入力電源(USB、バッテリー、商用電源、PoE、太陽光)
  • 必要な電圧レール(3.3V、5V、12V など)
  • 各レールの電源トポロジー:LDO と降圧コンバーターのどちらにするか
    • 判断フローについては reference/POWER-TOPOLOGY-DECISION.md を参照してください
  • 推定電力バジェット
  • 該当する場合はバッテリー駆動時間の要件
2.5 熱バジェット

早い段階で次の点を見積もります:

  • 総消費電力(すべての負荷の合計)
  • 発熱する部品(0.5W を超えるものには対策が必要です)
  • 冷却方法:自然冷却、強制冷却、ヒートシンク
  • 見積もり方法については reference/THERMAL-BUDGET.md を参照してください
3. 処理要件

次の点を確認します:

  • MCU/プロセッサーの必要性(そもそも必要かどうか)
  • 処理要件(速度、周辺機能)
  • メモリー要件(Flash、RAM)
  • 希望するファミリー(STM32、ESP32、RP2040 など)
4. 接続性とインターフェース

次の項目を記録します:

  • ワイヤレス:WiFi、Bluetooth、LoRa、Zigbee、セルラー
  • 有線:Ethernet、USB、CAN、RS485、RS232
  • ユーザーインターフェース:ボタン、LED、ディスプレイ
  • デバッグ/プログラミング用インターフェース
4.5 層構成の決定

複雑さに基づいて層数を決定します:

  • 2 層:シンプル、LDO のみ、低速(I2C/SPI)
  • 4 層:スイッチングレギュレーター搭載 MCU、USB、Ethernet、WiFi
  • 6 層:高速(>100MHz)、DDR、高密度配線
  • 判断フローについては reference/LAYER-COUNT-DECISION.md を参照してください
5. センサーと I/O

次の項目を列挙します:

  • 必要なセンサー
  • アナログ入力/出力
  • デジタル I/O の要件
  • 特殊なインターフェース(モーター制御など)
6. 物理的な制約

次の点を定義します:

  • 基板の目標寸法
  • 筐体の要件
  • 取り付け穴の位置
  • コネクター配置の制約
  • 高さ制限
7. 環境条件

次の点を記録します:

  • 動作温度範囲
  • 屋内/屋外での使用
  • 該当する場合は IP 等級
8. 製造目標

次の項目を記録します:

  • 目標数量
  • 実装方法(手作業、リフロー、ターンキー)
  • 希望する層数
  • 予算の制約
8.5 DFM の初期制約

メーカーの対応能力を記録します:

  • 希望するメーカー(JLCPCB、PCBWay、OSHPark)
  • 実装方法に関する制約
  • ファインピッチ部品(手はんだ付けに影響します)
  • 予算区分:プロトタイプ、少量生産、量産

出力形式

project-spec.md の構成
# Project Specification: [Name]

## Overview
[Brief description and goals]

## Requirements Summary
| Category | Requirement |
|----------|-------------|
| Power Input | ... |
| Voltage Rails | ... |
| MCU | ... |
| Connectivity | ... |

## Detailed Requirements
[Sections for each category with full details]

## Constraints
[Physical, environmental, budget constraints]

## Open Questions
[Any unresolved items]
design-constraints.json のスキーマ

完全なスキーマの説明については reference/CONSTRAINT-SCHEMA.md を参照してください。

ガイドライン

  • 推測で決めず、確認の質問をしてください
  • ユーザーが判断に迷う場合は、一般的な解決策を提案してください
  • 電力バジェットやスペースの制約など、潜在的な問題を早めに指摘してください
  • 仕様の範囲を絞り、スコープクリープを避けてください
  • 重要な決定の根拠を記録してください
  • 出発点として reference/PROJECT-TEMPLATES.md のプロジェクトテンプレートを使用してください

アーキテクチャの検証警告

アーキテクチャの段階を完了する前に、次のリスクの高い組み合わせがないか確認してください。

条件警告
2層基板 + スイッチングレギュレーター「4層基板を検討してください。スイッチングレギュレーターには安定したグラウンドプレーンが必要です」
2層基板 + USB/Ethernet「2層基板ではインピーダンス制御が困難です。4層基板を検討してください」
合計 >2W + 熱設計なし「熱予算を追加してください。高電力には計画が必要です」
手作業での組み立て + ファインピッチ(<0.5mm)「はんだ付けのしやすさを確認してください。ファインピッチは手作業でのはんだ付けが困難です」
>0.5Wの部品 + 熱対策なし「0.5Wを超える電力を消費する部品には、熱への配慮が必要です」
バッテリー + Vin-Voutの差が大きいLDO「バッテリー駆動時間を延ばすため、降圧コンバーターを検討してください」

警告条件が検出された場合は、ユーザーに提示し、次のどちらを希望するか尋ねてください。

  1. 対応するよう設計を更新する
  2. リスクを認識したうえで続行する

次のステップ

アーキテクチャの完了後、次を提案してください。

  1. /eda-source [component-role] で部品選定を開始する
  2. MCUや電源レギュレーターなど、重要な部品から始める

コメント