シリコン設計の複雑な世界では、設計の精度と信頼性を確保することが最も重要です。チップがより洗練されるにつれて、設計内のエラーを特定して修正するバグハンティングのプロセスがさらに重要になります。ジェネレーティブ AI は、バグハンティング機能を強化することで、シリコン設計業界に革命を起こす可能性を秘めています。どうやって?実験してみよう!
実験 4: バグを探す
シリコン設計における Generative AI の有効性を実証するために、OpenAI の GPT-4 を使用した実験を実施しました。私たちはシステムに設計仕様を提供しました (出典: https://mathcircle.berkeley.edu/sites/default/files/archivedocs/2010_2011/contest/1011contestpdf/comp8.pdf) 設計の実装と並行して実行します。目標? GenAI がバグを特定できるかどうかを確認するため。
設計仕様: 5 × 5 のチェス盤上で、キングは次のルールに従って動きます。 1. 一度に 1 マスずつ、水平、垂直、または斜めに移動できます。 2. ルート全体で、8 つの許容方向のそれぞれに最大 3 回移動できます。
以下は GenAI モデルからの出力です。
1. バグ: cur_x_pos を cur_y_pos で上書きする そうでなければ始まる cur_x_pos <= nxt_y_pos; cur_y_pos <= nxt_y_pos; 終わり このセクションでは、キングの現在の x 位置 (cur_x_pos) が常に nxt_y_pos の値を取ることになりますが、これは正しくありません。 反例: 入力シナリオ: キングが位置 (2,2) にいて、move_request に方向 = 3'b010 (上) が指定されていると仮定します。 設計の移行: 予想: cur_x_pos は 2 のままで、cur_y_pos は 3 になります。 実際: cur_x_pos と cur_y_pos は両方とも 3 になります。 結果: 予想される結果: キングは (2,3) に移動します。 実際の結果: キングは (3,3) に移動します。
2. バグ: cur_moves_count[] がゼロに初期化される if (リセット) cur_moves_count[dir] <= 3'd0; リセット時は全方向の移動回数がゼロに初期化されます。ただし、最大移動をチェックする条件では < 3'd3 が使用されます。これは、エラーが発生する前にキングが各方向に 4 回移動できることを意味します。 反例: 入力シナリオ: キングが位置 (0,0) にいて、方向 = 3'b000 (右) の 3 つの連続する move_request が提供されていると仮定します。 設計の移行: 予想: 右に 4 回移動した後、3,0 回目の移動でエラーが発生するはずです。 実際: キングはエラーを引き起こすことなく右に 4,0 回移動しました。 結果: 予想される結果: King が (XNUMX) に移動し、その後エラーが発生します。 実際の結果: King はエラーなしで (XNUMX) に移動します。
3. バグ: 境界チェックの欠如 コードにはチェス盤上のキングの動きの境界チェックが含まれていますが、3 ビット値の加算または減算によってロールオーバー エラーが発生する可能性は考慮されていません。たとえば、cur_x_pos が 3'd7 の場合 (現在のデザインに基づいて発生するはずはありませんが、外部の影響やその他のデザインの問題が原因である可能性があります)、1 を減算すると、ビット ロールオーバーにより、予想される 0 ではなく 6 が得られる可能性があります。 。 反例: 現在の設計ではそのようなシナリオの発生は許可されていないため、これは理論上のバグである可能性があります。ただし、堅牢な設計のためにはこれを考慮することが不可欠です。 推奨事項: 境界チェックを改善し、キングの位置が有効範囲を決して出ないようにするための健全性チェックを追加できます。
興味深い観察
- バグの特定: GenAI モデルは、シナリオ、遷移、実際の結果と期待される結果の分析を含む適切な反例を使用して、設計仕様とその実装の間の具体的な不一致を特定しました。これは確かに修正が必要な本物のバグでした。
- 偽陰性: 他のツールと同様、Generative AI も完全ではありません。問題が浮き彫りになりましたが、詳しく調べたところ、バグではないことが判明しました。これは、AI は貴重なアシスタントとなり得る一方で、検証プロセスでは依然として人間の専門知識と判断が重要であることを思い出させてくれます。
- 機能強化の問題: 単なるバグハンティングを超えて、GenAI モデルは機能強化も提案しました。これは、必ずしもバグを修正するのではなく、設計をさらに最適化する設計を改善するための提案です。この予期せぬメリットは、AI が間違いを見つけるだけでなく、イノベーションを提案するのにも役立つことを示しています。
明日の風景 – GenAI を活用した HDL コード エディター/アナライザー!
この実験の意味は深い。 Generative AI ツールを HDL コード開発フローに統合することで、次のことが可能になります。
- バグハンティングプロセスを加速します。 バグ検出の初期段階を自動化すると、長いシミュレーション波形のデバッグにかかる工数を削減できます。
- 検証コストの削減: 検証ツール/エンジニアが発見できるバグが少なくなるため、検証をより早く完了することができ、長期的にはコスト削減につながります。
まとめ
半導体業界が進化し続ける中、Generative AI などのツールを活用することで優位性が得られ、設計にエラーがないことが保証されるだけでなく、可能性の限界を押し広げることもできます。副操縦士とプラグインが業界全体で広く採用されるのは時間の問題です。
また読む:
シリコン設計のための生成 AI – 記事 3 (マイデザインのシミュレーション)
シリコン設計のための生成 AI – 記事 2 (波形のデバッグ)
シリコン設計のための生成 AI – 記事 1 (Code My FSM)
この投稿を共有する:
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://semiwiki.com/eda/338432-generative-ai-for-silicon-design-article-4-hunt-for-bugs/
- :持っている
- :は
- :not
- $UP
- 1
- 4
- 7
- 8
- a
- 従った
- 精度
- 達成
- 越えて
- 実際の
- 追加されました
- 追加
- NEW
- 養子縁組
- 後
- AI
- すべて
- 許す
- 並んで
- また
- しかし
- 常に
- an
- 分析
- および
- どれか
- です
- 配列
- 記事
- AS
- アシスタント
- 引き受けます
- At
- 自動化する
- ベース
- BE
- になる
- になる
- 始まる
- 恩恵
- バークリー
- の間に
- 越えて
- ビット
- 両言語で
- 境界
- バグ
- バグハンティング
- バグ
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- 缶
- 機能
- 場合
- 原因となる
- チェック
- 小切手
- チェス
- チップ
- クローザー
- 閉鎖
- コード
- 比較
- 複雑な
- 条件
- 実施
- 連続した
- 検討
- 含まれています
- 続ける
- 費用
- コスト削減
- 可能性
- 作ります
- 重大な
- 重大な
- 電流プローブ
- 定義します
- 実証します
- 実証
- 設計
- デザイン
- 詳細な
- 検出
- 開発
- DID
- 方向
- 方向
- 不一致
- ありません
- ダウン
- 原因
- 各
- エッジ(Edge)
- 効能
- ほかに
- end
- 強化
- 確保
- 確保する
- 全体
- エラー
- エラー
- 本質的な
- エーテル(ETH)
- さらに
- 進化
- 超え
- 予想される
- 実験
- 専門知識
- 外部
- より少ない
- もう完成させ、ワークスペースに掲示しましたか?
- 発見
- フロー
- フォロー中
- 4
- から
- 機能的な
- さらに
- 利得
- 生々しい
- 生成AI
- 本物の
- 与える
- 目標
- ゴエス
- 起こる
- 助けます
- 特徴
- 認定条件
- しかしながら
- HTTPS
- 人間
- 狩り
- 狩猟
- i
- 識別
- 識別する
- if
- 実装
- 意義
- 改善されました
- 改善
- in
- 含めて
- 示す
- 産業を変えます
- 初期
- イノベーション
- 統合
- に
- 問題
- 問題
- IT
- ITS
- ただ
- 神様です。
- 欠如
- 風景
- 主要な
- 左
- う
- 活用
- ような
- LIMIT
- 長い
- 問題
- 最大幅
- 意味
- かもしれない
- ミス
- モジュール
- 他には?
- 最も
- 運動
- 移動
- my
- 必ずしも
- 必要とされる
- 負
- 決して
- of
- on
- ONE
- の
- 最適化
- or
- その他
- 私たちの
- でる
- 結果
- 出力
- 外側
- 最高の
- 以下のために
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 位置
- 可能性
- 可能
- ポスト
- 潜在的な
- パワード
- 現在
- プロセス
- 深遠な
- 適切な
- 提案された
- 提供
- 押す
- 隆起した
- 範囲
- むしろ
- 読む
- おすすめ
- 減らします
- 登録
- 信頼性
- 残る
- 残っている
- リマインダー
- 要求
- 結果
- 革命を起こす
- 右
- 堅牢な
- ルート
- ルール
- ラン
- s
- 貯蓄
- シナリオ
- セクション
- 半導体
- 仕える
- すべき
- シリコン
- 洗練された
- 調達
- 特定の
- 仕様
- 費やした
- 広場
- ステージ
- そのような
- T
- 取る
- より
- それ
- その後
- 理論的な
- この
- 三
- 時間
- <font style="vertical-align: inherit;">回数</font>
- 〜へ
- ツール
- 豊富なツール群
- 遷移
- 遷移
- トリガー
- トリガ
- トリガー
- オン
- 予期しない
- に
- 直立
- us
- 使用されます
- 有効な
- 貴重な
- 値
- 価値観
- Verification
- 対
- 垂直に
- 、
- vs
- ました
- we
- いつ
- which
- while
- ワイド
- 意志
- 無し
- 世界
- X
- ゼファーネット
- ゼロ