Thanks to visit codestin.com
Credit goes to github.com

Skip to content

owasikohu/dieshot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dieshot → HDL

ダイショット写真とデータシートから、機能互換(functional-compatible)のネットリスト/HDLを 復元し、HDLシミュレータで検証するための Claude Code スキル。

die = 構造 / datasheet + ドメイン知識 = 機能 / シミュレータ + 独立した正解 = 検証。 このリポジトリは 機能互換 までを確実に出すための手順をまとめたもの。 ビット/サイクル完全一致には実チップ実測が必要(理由は下記)。

中身

パス 内容
dieshot-to-hdl/SKILL.md 本体: 全チップ対応の5フェーズ・ワークフロー(規律・限界・検証イディオム込み)
dieshot-to-hdl/scripts/make_overview.py 巨大画像→俯瞰+スカウトタイル (Phase1, 汎用)
dieshot-to-hdl/scripts/compare_vectors.py golden-vector 比較 (Phase4, 汎用)
requirements.txt Python依存(pyvips[binary], opencv, numpy 等)

5フェーズ・パイプライン

  1. 互換仕様の固定 — dieを見る前に外部契約(ピン/レジスタ/挙動)をgolden化(既存実装非依存)
  2. フロアプラン — 俯瞰→構造シグネチャでブロック分類(ROM/PLA/regfile/datapath/FSM…)
  3. サブブロック復元 — 観測(die)→解釈(docs)→Verilog→iverilog検証 を1ブロックずつ
  4. 結合 — 結線・クロック整合・時間多重。結合でしか出ないバグを潰す
  5. 独立検証 — 仕様から導いたgolden vectorで採点、可能なら実機I/Oで照合

守る規律

  • 循環検証の禁止: 穴埋めと採点に同じ既存実装を使わない
  • 中立入力: エージェントへの入力名/プロンプトでバイアスを混入させない
  • provenance分離: observed / inferred / datasheet を区別して記録
  • [APPROX]タグ: 推測した単位・係数・タイミングを明示
  • 複製でなく生成: 数式で定義されるテーブルは式から生成、RTLは独自記述

正直な限界

  • メタル付き単一光学画像では net接続・トランジスタ型・ROM/PLAビット値は読めない (メタル遮蔽+注入式ROMは光学不可視)。トランジスタ完全抽出には剥離+染色済みの層別整列画像が要る。
  • 本手順が確実に出すのは 機能/挙動の互換ビット/サイクル完全一致は[APPROX]数値を実機実測で校正 しないと到達できない(datasheet+dieだけでは原理的に詰め切れない)。
  • アナログ部(DAC/PLL/アンプ)は別途アナログモデルが必要。

インストール / 使い方(Claude Code)

スキルとして使うには dieshot-to-hdl/ を Claude Code のスキル置き場へコピー:

# プロジェクト単位
cp -r dieshot-to-hdl <your-project>/.claude/skills/
# またはユーザー単位
cp -r dieshot-to-hdl ~/.claude/skills/

以後 /dieshot-to-hdl、または「ダイショットからHDL」「reverse engineer this chip」等で起動。 dieshot-to-hdl/scripts/*.py は単体でも実行できます(pip install -r requirements.txt)。

ライセンス

LICENSE を参照。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages