eda-research について
eda-researchは、プロジェクト要件と設計制約に基づいて電子部品を探し、評価するスキルです。ハードウェア設計者向けに候補部品の比較と選定記録を支援し、データシート確認や検証手順も含みます。
主な機能
- 01プロジェクト制約と仕様の読み込み
- 02JLCで候補部品を検索
- 03仕様・価格・在庫の比較
- 04熱設計と実装適合性の検証
- 05選定記録とBOM草案の作成
- 06取得したライブラリシンボルの確認
活用シーン
- 01制約のある設計でレギュレーターを選定
- 02センサーやMCUの候補を比較
- 03選定部品と代替候補を記録
- 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.mdCOMPONENT-CATEGORIES.mdDATASHEET-ANALYSIS.mdDECOUPLING-STRATEGY.mdJLC-SEARCH-TIPS.mdPASSIVE-SELECTION.mdREGULATOR-SELECTION.md詳細
EDA リサーチスキル
電子機器プロジェクト向けの部品を探して選定します。
自動起動のトリガー
このスキルは、次の場合に起動します。
- ユーザーが「部品を探して」「検索して」「調達して」と依頼した場合
- ユーザーが部品の仕様や比較について質問した場合
- ユーザーが LCSC、データシート、または部品番号に言及した場合
- ユーザーが「どの MCU/レギュレーター/センサーを使うべきか」と質問した場合
- プロジェクトに
design-constraints.jsonがあるものの、部品の選定が未完了の場合
コンテキスト要件
必要なもの:
docs/design-constraints.json(または、要件をユーザーに確認)docs/project-spec.md(任意。コンテキストの把握に使用)
生成するもの:
docs/component-selections.md- 人が読める選定記録docs/bom-draft.json- 機械可読形式の BOMdatasheets/*.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_match | true | 露出パッド(EP)を確認します |
has_power_pins | true(IC の場合) | ピンの種類を確認します |
has_ground_pins | true(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-*- インジケーター LEDsensor-*- 各種センサー
ガイドライン
- 適切な場合は、JLCPCB の「Basic」部品を優先します(実装コストを抑えられます)
- 在庫数を確認し、在庫が 100 未満の部品は避けます
- パッケージサイズと手はんだ付けの可否を考慮します
- 在庫のない部品はリードタイムを記録します
- 部品を選んだ理由を必ず記録します
- 選定したすべてのコンポーネントのデータシートをダウンロードします
- 重要なコンポーネントについて、代替品を1~2個特定します(
reference/COMPONENT-ALTERNATIVES.mdを参照) - 電源コンポーネントを確定する前に、熱設計を検証します
- 選定前に、design-constraints.json のアーキテクチャ上の決定事項を確認します
参考ドキュメント
| ドキュメント | 用途 |
|---|---|
REGULATOR-SELECTION.md | LDO と Buck の選定基準 |
DECOUPLING-STRATEGY.md | IC 用コンデンサーの容量 |
PASSIVE-SELECTION.md | 抵抗器/コンデンサーの基礎 |
COMPONENT-ALTERNATIVES.md | 互換部品の検索 |
DATASHEET-ANALYSIS.md | 主要仕様の抽出 |
COMPONENT-CATEGORIES.md | 役割の命名規則 |
JLC-SEARCH-TIPS.md | 検索方法 |
次のステップ
コンポーネントの選定が完了したら:
- 残りのコンポーネントに対して
/eda-sourceを実行します - すべてのコンポーネントを選定したら、
/eda-schematicを実行します design-constraints.jsonの stage を「schematic」に更新します