mcpField
E
eda-research

eda-research

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

eda-research について

eda-researchは、プロジェクト要件と設計制約に基づいて電子部品を探し、評価するスキルです。ハードウェア設計者向けに候補部品の比較と選定記録を支援し、データシート確認や検証手順も含みます。

主な機能

  1. 01プロジェクト制約と仕様の読み込み
  2. 02JLCで候補部品を検索
  3. 03仕様・価格・在庫の比較
  4. 04熱設計と実装適合性の検証
  5. 05選定記録とBOM草案の作成
  6. 06取得したライブラリシンボルの確認

活用シーン

  1. 01制約のある設計でレギュレーターを選定
  2. 02センサーやMCUの候補を比較
  3. 03選定部品と代替候補を記録
  4. 04取得した部品シンボルを確認

MCP 対応

ワークフローはJLC部品検索、ライブラリ取得、ライブラリ修正のMCPツールを呼び出します。MCP対応エージェントは、部品検索、ライブラリデータの取得、シンボル修正の依頼に利用できます。

インストール

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

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

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

同梱ファイル

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

reference/
COMPONENT-ALTERNATIVES.md
COMPONENT-CATEGORIES.md
DATASHEET-ANALYSIS.md
DECOUPLING-STRATEGY.md
JLC-SEARCH-TIPS.md
PASSIVE-SELECTION.md
REGULATOR-SELECTION.md

詳細

EDA リサーチスキル

電子機器プロジェクト向けの部品を探して選定します。

自動起動のトリガー

このスキルは、次の場合に起動します。

  • ユーザーが「部品を探して」「検索して」「調達して」と依頼した場合
  • ユーザーが部品の仕様や比較について質問した場合
  • ユーザーが LCSC、データシート、または部品番号に言及した場合
  • ユーザーが「どの MCU/レギュレーター/センサーを使うべきか」と質問した場合
  • プロジェクトに design-constraints.json があるものの、部品の選定が未完了の場合

コンテキスト要件

必要なもの:

  • docs/design-constraints.json(または、要件をユーザーに確認)
  • docs/project-spec.md(任意。コンテキストの把握に使用)

生成するもの:

  • docs/component-selections.md - 人が読める選定記録
  • docs/bom-draft.json - 機械可読形式の BOM
  • datasheets/*.pdf - 選定した部品のダウンロード済みデータシート

ワークフロー

1. コンテキストの読み込み

既存のプロジェクト制約を読み込みます。

@docs/design-constraints.json
@docs/project-spec.md
@docs/component-selections.md (if exists)

制約が見つからない場合は、最低限必要な要件をユーザーに確認します。

  • この部品には何をさせる必要がありますか?
  • 重要な仕様(電圧、電流、パッケージ)は何ですか?
  • 予算の制約はありますか?
2. 要件の把握

対象となる部品の役割について、以下を特定します。

  • 重要な仕様(必須)
  • 希望する仕様(あれば望ましい)
  • パッケージの希望(SMD サイズ、スルーホール)
  • 検討対象または除外対象の特定ブランドやシリーズ
2.5 アーキテクチャの制約を確認

検索の前に、design-constraints.json を確認し、以下を把握します。

  • 電源トポロジー: LDO と buck のどちらを採用するかは、アーキテクトのフェーズですでに決定済みです
  • 熱予算: この役割に許容される最大ワット数(thermal.hotComponents を確認)
  • DFM の目標: 実装方法がパッケージの選択に影響します
  • 基板の層数: 部品の実装密度に影響する場合があります

電源部品については、選定基準を reference/REGULATOR-SELECTION.md で確認してください。 受動部品については、reference/PASSIVE-SELECTION.md と reference/DECOUPLING-STRATEGY.md を確認してください。

3. 選択肢の調査

ウェブ検索を使って、以下を把握します。

  • この用途で一般的なソリューション
  • リファレンスデザインで推奨されている部品
  • 既知の問題や注意点
  • 代替アプローチ
4. JLC で検索

mcp__jlc__component_search を使って候補を探します。

  • 条件を具体的に指定して検索
  • 在庫状況で絞り込み
  • 目標数量での価格を記録
  • JLCPCB の組み立て料金が安くなる「Basic」部品かどうかを確認
5. 候補を分析

上位 3~5 件の候補について、以下を実施します。

  • データシートをダウンロードまたは取得
  • 主要な仕様を抽出
  • 応用回路を確認
  • レイアウト要件を記録
  • 注意点を特定
5.5 制約との適合性を検証

選択肢を提示する前に、各候補を検証します。

熱に関する検証:

P_dissipation = (calculated from datasheet)
Thermal budget = (from design-constraints.json)
✓ P_dissipation < Thermal budget

実装の適合性:

  • 手作業で実装する場合 → 0603/0805 以上、ファインピッチは不可
  • リフローの場合 → 0402 以上は使用可能
  • ターンキーの場合 → JLCPCB での入手可能性を確認

アーキテクチャへの準拠:

  • アーキテクトのフェーズで決定した LDO/buck の方針に適合している
  • レールの種類(アナログ/デジタル)に対してノイズ仕様が適切である
  • バッテリー駆動の用途に対して効率が許容範囲内である

検証に不合格の候補があれば、具体的な懸念点とともに明記します。

6. 比較結果を提示

比較表を作成します。

部品MPN主な仕様価格在庫メリットデメリット
.....................

根拠を添えて推奨品を提示します。

7. 選定を確定
  • ユーザーの確認を得る
  • 根拠とともに選定内容を記録
  • 制約ファイルを更新
  • データシートを保存
8. シンボルを検証する(library_fetch の後)

mcp__jlc__library_fetch でオンラインのコンポーネントを取得したら、返された validation_data を分析します。

簡易チェック:

チェック項目期待値失敗した場合の対応
pin_pad_count_matchtrue露出パッド(EP)を確認します
has_power_pinstrue(IC の場合)ピンの種類を確認します
has_ground_pinstrue(IC の場合)ピン名を確認します

よくある問題:

  • QFN/BGA パッケージでは、シンボルに含まれていない露出サーマルパッド(EP)があることがよくあります
  • ピンの電気的タイプが誤っている場合があります(電源ピンがパッシブとして指定されているなど)
  • ピン名がデータシートと一致しない場合があります

library_fix で修正する:

mcp__jlc__library_fix を使用して、修正を反映したシンボルを再生成します。

mcp__jlc__library_fix lcsc_id="C#####" corrections='{
  "pins": [
    { "action": "add", "number": "EP", "name": "GND", "type": "passive" },
    { "action": "modify", "number": "1", "set_type": "power_in" }
  ]
}'

修正アクション:

  • add - 不足しているピンを追加します(番号、名前、タイプが必要です)
  • modify - 名前や電気的タイプを変更します
  • swap - 2つのピンの位置を入れ替えます
  • remove - 誤ったピンを削除します

出力形式

component-selections.md のエントリ
### [Role]: [Part Name] ([LCSC Number])

**Selected:** [Date]
**MPN:** [Manufacturer Part Number]
**Manufacturer:** [Name]
**Price:** $X.XX @ [quantity]

**Specifications:**
- Key spec 1: value
- Key spec 2: value

**Rationale:**
[Why this part was chosen over alternatives]

**Alternatives Considered:**
- [Part 2] - rejected because [reason]
- [Part 3] - rejected because [reason]

**Design Notes:**
- [Any layout or application notes from datasheet]

**Datasheet:** `datasheets/[filename].pdf`
bom-draft.json のエントリ
{
  "role": "regulator-3v3",
  "lcsc": "C6186",
  "mpn": "AMS1117-3.3",
  "manufacturer": "AMS",
  "description": "3.3V 1A LDO Regulator",
  "value": "3.3V",
  "footprint": "SOT-223",
  "quantity": 1,
  "unitPrice": 0.04,
  "extendedPrice": 0.04,
  "category": "power",
  "basic": true
}

コンポーネントの役割カテゴリー

役割の詳細な定義は reference/COMPONENT-CATEGORIES.md を参照してください。

一般的な役割:

  • mcu - メインマイクロコントローラー
  • regulator-Xv - 電圧レギュレーター
  • crystal - 発振器/水晶振動子
  • connector-* - 各種コネクター
  • esd-* - ESD 保護
  • decoupling-* - バイパス/バルクコンデンサー
  • led-* - インジケーター LED
  • sensor-* - 各種センサー

ガイドライン

  • 適切な場合は、JLCPCB の「Basic」部品を優先します(実装コストを抑えられます)
  • 在庫数を確認し、在庫が 100 未満の部品は避けます
  • パッケージサイズと手はんだ付けの可否を考慮します
  • 在庫のない部品はリードタイムを記録します
  • 部品を選んだ理由を必ず記録します
  • 選定したすべてのコンポーネントのデータシートをダウンロードします
  • 重要なコンポーネントについて、代替品を1~2個特定します(reference/COMPONENT-ALTERNATIVES.md を参照)
  • 電源コンポーネントを確定する前に、熱設計を検証します
  • 選定前に、design-constraints.json のアーキテクチャ上の決定事項を確認します

参考ドキュメント

ドキュメント用途
REGULATOR-SELECTION.mdLDO と Buck の選定基準
DECOUPLING-STRATEGY.mdIC 用コンデンサーの容量
PASSIVE-SELECTION.md抵抗器/コンデンサーの基礎
COMPONENT-ALTERNATIVES.md互換部品の検索
DATASHEET-ANALYSIS.md主要仕様の抽出
COMPONENT-CATEGORIES.md役割の命名規則
JLC-SEARCH-TIPS.md検索方法

次のステップ

コンポーネントの選定が完了したら:

  1. 残りのコンポーネントに対して /eda-source を実行します
  2. すべてのコンポーネントを選定したら、/eda-schematic を実行します
  3. design-constraints.json の stage を「schematic」に更新します

コメント