確率的AIと決定論的ハードウェア正しさの架け橋
半導体業界は重大なパラドックスに直面しています: LLMはRTL生成を高速化しますが、ハルシネーションが1,000万ドル超のシリコンレスピンを引き起こします。 VeriprajnaのニューロシンボリックAIは、大規模言語モデルの創造力と形式検証の数学的厳密さを融合させます。
ハードウェア設計では、構文は意味論ではなく、もっともらしさは正しさではありません。 私たちはコードを生成するだけでなく、テープアウト前にその正しさを証明します。
Veriprajnaは、ファブレス半導体企業、IPベンダー、R&Dチームに対し、次の経済的现实に対応したサービスを提供します。それは 1つのレースコンディションが1年分のエンジニアリング予算を超えるコストになり得るという現実です。
ハードウェアにはパッチを当てられません。テープアウト時の1つのロジックバグは、マスク費用1,000万ドル超、6ヶ月の遅延、製品生涯収益の30〜50%損失を意味します。Veriprajnaは検証を左にシフト(shift-left)し、バグを1,000万ドルではなく100ドルで捉えます。
パイプラインハザード、フォワーディングロジックのバグ、CDC違反がカスタムコアを悩ませます。当社の形式サンドイッチは、デバッグユニットのデッドロックやAXIスタべーションを検出します。これらは10,000サイクルのシミュレーションを見逃すバグです。
市場ウィンドウは18ヶ月しかありません。テープアウトを6ヶ月遅らせることは世代を逃すことを意味します。LLMは5倍速いRTL生成を約束しますが、検証なしでは速度と引き換えにシリコンの墓場リスクを負います。
Veriprajnaは痛みを伴う現実から生まれました: メモリアービター内の1つのレースコンディションが、1,000万ドルのレスピンと6ヶ月の市場遅延を引き起こしました。 これは知能の失敗ではなく、検証方法論の失敗でした。
高度な技術を持つチームが、LLM支援ワークフローを使って高速メモリインターフェースアービターを生成しました。そのコードは:
6ヶ月後、初回シリコンが到着しました。まれな サーマルスロットリングと高帯域幅トラフィックの同時発生の下で、アービターはデッドロックしました。
5nmマスクセットが使用不能に。新しいマスクと再製作が必要。
デバッグ + 修正 + 再検証 + 再合成 + 再製作 + パッケージング。
市場ウィンドウの喪失 = 製品生涯粗利益の30〜50%の損失。
この同じバグは、形式検証があれば 数分 で発見できたでしょう。当社のSMTソルバーは自動的に以下を検出します:
半導体設計では、バグのコストは設計ライフサイクルの 各段階で10倍に増加 します。この指数関数的増大により、ポストシリコンのバグは存続を脅かす存在になります。
| 設計段階 | 検出手法 | 修正コスト | リスクプロファイル |
|---|---|---|---|
| RTL設計 | 設計者レビュー / Lint | 約100ドル | 無視できる |
| ブロック検証 | ユニットシミュレーション / 指向テスト | 約1,000ドル | 低 |
| システム検証 | フルチップエミュレーション / 回帰 | 約10,000ドル | 中程度 |
| ポストシリコン(実験室) | 検証ボード / ロジックアナライザ | 1,000万ドル超 | 壊滅的 |
| 現場 | 顧客返品 / リコール | 1億ドル超 | 存続に関わる |
「ラッパー」ソリューション(GPT-4 + Verilogシステムプロンプト)は RTL設計段階のみで動作します。コード生成の速度を上げても、検証の厳密さは高めません。
結果:
微妙なバグがブロック検証とシステム検証を回避 → ポストシリコン段階で顕在化 → コスト1,000万ドル超
私たちは 検証を左へシフトします。生成ループに形式検証を直接組み込むことで、深いロジックバグの発見を100ドル段階で強制します。
結果:
レースコンディション、デッドロック、プロトコル違反を合成前に捕捉 → 1,000万ドル超の債務リスクを防止
LLMが司法試験に合格できるのに、なぜチップ設計では壊滅的に失敗するのか?答えは ソフトウェア記述言語とハードウェア記述言語の根本的な乖離にあります。
LLMはPython/Java/C++(逐次実行)で訓練されています。Verilogは宣言的かつ並行です。すべての文が同時に実行されます。コード行の順序はしばしば無意味です。
ハードウェアは複雑な時間的規則を持つ厳格なプロトコル(AXI、PCIe)に依存します。LLMは統計によって「理解をシミュレート」し、90%は正しく見えるが曖昧な条項に違反するコードを生成します。
GitHub上の高品質なVerilogはPythonより桁違いに少ない。その多くは産業タイミング制約に違反する学生プロジェクトです。LLMには物理的コンテキスト(SDCファイル、合成ログ)が欠けています。
バグ: データがstage1→stage3へ1サイクルで移動。非決定的動作。合成不一致。
修正: Non-blocking + SVA特性。形式ソルバーが正しさを証明。パイプラインは意図通り2サイクルかかります。
1つのバグのコストが各段階で10倍になる様子をご覧ください。パラメータを調整して設計のリスクプロファイルをモデル化できます。
Veriprajnaがたった 1つのレースコンディションでも シリコン到達を阻止するだけで、節約額(1,000万ドル超)は検証プラットフォーム全体のコストの100倍に達します。
LLMが 確率の領域で動作するのに対し、形式検証は 証明の領域で動作します。VeriprajnaはニューロシンボリックAIでこの2つの世界を橋渡しします。
伝統的アプローチ:数千のテストベクトルでテストベンチを実行。障害がなければ正しさを仮定します。
類推:
車のブレーキを街区を1,000周してテストするようなもの。しかし雨の日、時速100km、ラジオをつけているときだけ故障したら?
Veriprajnaアプローチ:設計を数式に変換。考えられるすべての状態(2^N通りの組み合わせ)について正しさを証明。
類推:
物理と構造力学を使って応力限界を計算する。いかなる条件でもブレーキが故障しないことを証明します。
Veriprajnaエンジンの中心にあるのは、Z3やCVC5といった 充足可能性モジュロセオリー(SMT) ソルバーです。ハードウェアをブーリアン式に変換し、反例を探索します。
Verilogを、すべてのゲートとフリップフロップを表す巨大なブーリアン式(SATインスタンス)に変換します。
特性(アサーション)を受け取り、それを破る反例の発見を試みます。
代数的ヒューリスティクスを使って状態空間全体を探索します。考えられる2^N通りの入力/状態の組み合わせすべてです。
UNSAT = 正しさの証明。SAT = バグ発見、反例トレース付き。
ソルバーは バグが存在しないことを証明します。その特性に関して設計は数学的に完全です。
ソルバーが 設計を破る具体的入力系列を発見。反例トレースを返します。
SVAはハードウェア動作の「契約」を定義します。これらのアサーションを書くことは難しいことで知られており、だからこそ Veriprajnaの画期は、アサーションをAIに書かせることであり、AIのコードを形式ツールで検査することです。
このアサーションは、シミュレーションを通過しながらシリコンでハングを起こすAXI4プロトコル違反を検出します。
私たちは「コパイロット」ではありません。独自の反復ワークフローにより構築による正しさを保証する ニューロシンボリック検証エンジン です。
Verilog/SystemVerilogに特化してファインチューニングされたLLM。「何を」担います。人間の意図を解釈し、初期RTL + アサーションを生成します。
SMTソルバー(形式検証エンジン)。「どのように」を担います。正しさを証明します。ニューラル層の出力に対する不退転の審判として機能します。
ユーザーが仕様を提供します(テキスト、タイミング図の画像、データシートのスクリーンショット)。 仕様解析エージェント が機能要件へ分解します。
LLMは互いに補完し合う2つの成果物を同時に生成します:
Veriprajnaが形式検証インスタンスを起動します。 成果物Aを成果物Bに対して証明しようと試みます。
ソルバーがバグ(SAT)を発見すると、波形トレースを出力します。 この数学的反例をLLMにフィードバックします。
設計が正しいと証明されるまで(UNSAT)、ループは自動的に繰り返されます。人間の介入は不要です。
大規模設計では形式検証が計算量の面で高価になることがあります。Veriprajnaは自動抽象化技法を使用します:
大きなサブブロック(RAM、ALU)をインターフェース契約付きブラックボックスとして扱いながらグルーロジックを検証します。
valid/readyパスを切断して、データ処理とは独立にフロー制御を検証し、複雑さを軽減します。
ルーターの1チャネルについて特性を証明し、数学的に全Nチャネルへ帰納します。
Veriprajnaの方法論をRISC-Vプロセッサ設計に適用。徹底的に精査されてきたオープンソースコアでさえ、形式検証でしか発見できないバグを含む領域です。
コア: Ibex(OpenTitanのセキュアなハードウェアルートオブトラストに採用)
バグ:
Axiomiseによる形式検証が判明:分岐命令中の特定サイクルに到着したデバッグ要求が、コアをデッドロックさせたり誤った命令を実行させ得ることがありました。
コア: PULP Platform(Parallel Ultra-Low Power)
バグ:
AWVALIDとAWREADYが特定の「ビジー」パターンで相互作用すると、AXIインターコネクトがマスターを無期限に飢餓状態にできました。典型的な活性性障害です。
LSUの生成を任されると、Veriprajnaは以下のためのアサーションを自動生成・検証します:
AXI4要件:validはreadyまで高を保たなければならない。
スコアボーディング:読み出しは最後に書き込んだデータを返さねばならない。
活性性:LSUは最終的に応答を返さねばならない。
Veriprajnaは、マルチエージェントシステムと知識拡張生成を通じて、 「CAD」(コンピュータ支援設計) から 「コンピュータ自動設計」 への転換を切り拓いています。
単一プロンプトのやり取りから自律ワークフローへ。複数の専門エージェントが協働します:
検索拡張生成はコードだけでなくドメイン知識にも活用します:
LLMはコーディング標準の「規則34」を取得 → ハルシネーションなしで準拠を保証します。
究極の目標:アサーションでカバーされるロジックにおいて、バグ流出率をほぼゼロに引き下げること。
アナログ物理は常に課題であり続けますが、ロジックバグは数学的に不可能になります:
LLMは主にPythonやJavaのような逐次的プログラミング言語で訓練されていますが、Verilogは並行的かつ宣言的で、すべての文が同時に実行されます。LLMはblocking(=)とnon-blocking(<=)代入を混同し、データが2サイクルではなく1サイクルでパイプラインを通過するコードを生成します。このコードはコンパイルされ、10,000超のテストベクトルのシミュレーションを通過し、テープアウトにも成功しますが、初回シリコンで稀なサーマルスロットリングと高帯域幅トラフィックの同時発生の下でデッドロックします。
Formal Sandwichには2つの層があります。ニューラル層(ファインチューニング済みLLM)がRTLコードとSystemVerilogアサーションを同時に生成し、シンボリック層(SMTソルバー)がアサーションに対してコードを証明しようと試みます。ソルバーがバグ(SAT結果)を発見すると、反例波形トレースを出力し、それをLLMにフィードバックして自動修正します。設計が正しいと証明されるまで(UNSAT)、このループが繰り返されます。空虚性チェックによりアサーションが自明に真でないことを保証し、境界モデル検査が50〜100サイクル深の状態空間を探索します。
10倍の法則により、バグのコストは設計の各段階で10倍になります。RTL段階で発見されたバグの修正費は約100ドルです。同じバグがブロック検証では1,000ドル、システム検証では10,000ドル、そしてポストシリコンではマスクセット込みで1,000万ドル超に加え6ヶ月の遅延となります。設計の68%は少なくとも1回のレスピンが必要で、市場ウィンドウを逃すと製品生涯粗利益の30〜50%を失いかねません。たった1つのレースコンディションでもシリコン到達を阻止できれば、検証プラットフォーム全体のコストを上回る節約になります。
チャットボットを使って 最善を願う こともできます。
あるいは Veriprajna を使って 証明 することもできます。
完全なエンジニアリングレポート:ニューロシンボリックアーキテクチャ、SMTソルバーの仕組み、SystemVerilogアサーション、反例ガイド改良、RISC-Vケーススタディ、エージェンティックワークフロー、36件の学術引用。