RTLバイブコーディング時代、エンジニアが守るべき5つの検証ゲート
AIがRTLとテストベンチを作る時代です。実務者が実際のプロジェクトやポートフォリオで必ず確認すべき5つの検証ゲートを整理しました。
「AIでRTLを書いてもよいのでしょうか」「LLMが作ったテストベンチを信頼してもよいのでしょうか」。最近、身近な設計・検証エンジニアや就職活動中の学生からよく聞かれる質問です。特定の個人やプロジェクトは引用せず、匿名で繰り返し寄せられた悩みだけを一般化し、現場のエンジニアの視点から答えます。
一言で答えると: AIでRTLのドラフトを作ることは可能です。ただし、仕様 → lint → simulation・coverage → formal・CDC → synthesis・STA・PPAという5つの検証ゲートを人が承認しなければなりません。
AIが数行のVerilog作成を支援するだけの段階は、すでに過ぎました。Cadenceは、ChipStack AI Super AgentがRTL生成、テストベンチ生成、regression orchestration、debugを専門エージェントで連携させると説明しています。2026年4月には、初期顧客の作業で最大10倍の生産性向上を確認したと発表しました。この数値は独立ベンチマークではなくベンダー発表なので、そのまま一般化すべきではありません。しかし、EDAインターフェースがGUIとTcl中心から、「目標を与え、ツールの結果をフィードバックするエージェント」へ移行する方向は明らかです。
AI EDAが産業のどの段階から変えるのかという大きな流れについては、AI EDA生産性スタック: RTLより先に検証とクロージャが変わるで取り上げました。本稿では、実際のプロジェクトやポートフォリオに適用できる承認ゲートに焦点を当てます。
問題は、ソフトウェアのバイブコーディングのように「コンパイルできてデモが動けばよい」という基準をRTLに適用したときに生じます。RTLは、機能が合っていれば完了というコードではありません。clock、reset、protocol、CDC、power intent、合成可能性、PPA、signoff constraintを同時に満たす必要がある実装仕様です。
ゲート1: 自然言語を実行可能な仕様に変換したか
「AXI slaveを作って」は仕様ではありません。少なくとも、次の項目を決める必要があります。
- 対応するprotocolとsubset
- data/address width
- outstanding transaction数
- latencyとthroughputの目標
- resetの種類とpolarity
- invalid accessの処理
- backpressure条件
- clock domainとpower domain
AIに空欄を勝手に埋めさせてはいけません。未決定の項目は質問として返すようにする必要があります。最近のLLM RTL研究でも、エラーの多くはモデルの推論能力だけでなく、曖昧な説明や回路概念の誤解から生じています。
通過条件: 要件一覧、I/O表、状態遷移、timing example、error behaviorが文書化され、それぞれに追跡IDが付いている。
ゲート2: 文法ではなくRTL品質を検査したか
コンパイル成功は最も低いハードルです。latch inference、width truncation、signedness、incomplete assignment、combinational loop、reset漏れ、simulation-synthesis mismatchの可能性を静的に検査する必要があります。
AIエージェントがlint結果を読み取って自動修正する場合でも、警告を無条件にsuppressさせてはいけません。waiverには理由、責任者、適用範囲、失効条件が必要です。
通過条件: compile/elaborationに成功し、lint severity基準を満たし、すべてのwaiverに根拠が記録されている。
ゲート3: self-checking simulationとcoverageがあるか
AIがRTLとテストベンチを一緒に作ると、同じ誤解を2つのファイルに複製する可能性があります。reference model、assertion、testbenchは、可能な限り独立した表現で作成する必要があります。
最小限のテストセットには、次の項目を含める必要があります。
- resetとreset release
- 正常なsingle transactionと連続transaction
- backpressureと最大遅延
- 境界値とillegal input
- protocol orderingで可能な組み合わせ
- long random regression
VerilogEval系の研究がLLM RTLをtestbenchで評価し、最近の研究がsimulation-error localization-correction loopを導入して性能を高めている理由も同じです。one-shot生成より、ツールに基づくフィードバックループが重要です。
通過条件: すべての要件IDにtestまたはassertionが紐づき、regressionを再現でき、functional coverageの未到達項目が説明されている。
ゲート4: 独立したformal・CDC・equivalenceを通過したか
シミュレーションで確認できるのは、実行したパスだけです。control logic、arbitration、protocol safety propertyのように状態空間が重要なブロックでは、formal propertyが有効です。複数のclockやasynchronous resetがある場合は、CDC/RDC解析を別のゲートにする必要があります。
AIが既存RTLを最適化したりECOを作成したりした場合、equivalenceは特に重要です。CadenceはConformal系equivalenceツールを、実装ツールが生成した結果が論理的に同一かを確認する独立auditorと説明しています。ここで重要な言葉はAIではなく、独立です。生成器と判定器を同じ推論に結び付けてはいけません。
通過条件: assertion proofまたは明示的なbound、CDC/RDC violation disposition、変更前後のequivalence結果が残っている。
ゲート5: 合成・STA・PPA・物理条件を満たしているか
機能的に正しいRTLでも、合成後に失敗することがあります。長いcombinational path、過度なpriority chain、誤ったclock gating、大きなfanout、memory inferenceの失敗が代表例です。
AIにPPA目標を1つの数値だけで与えてはいけません。areaだけを減らし、timingやtestabilityを損なう可能性があります。constraint、library、corner、tool versionを固定したうえで、次の項目を併せて比較する必要があります。
- worst/total negative slack
- areaとcell count
- dynamic/leakage power estimate
- congestionとphysical feasibility
- DFTとlow-power ruleへの影響
通過条件: 基準RTLとの機能equivalenceを維持しながら、合意したtiming・area・power・physical feasibilityの範囲を満たしている。
AIに任せてよい作業と人が承認すべき作業
| AIに任せやすい作業 | 人の承認が必要な作業 |
|---|---|
| boilerplate RTL・testbenchのドラフト | architectureとstate behavior |
| lint・compileエラーの修正候補 | warning waiverとreset policy |
| test scenarioとassertion候補の生成 | 検証計画の完全性とoracleの独立性 |
| regression失敗の分類とログ要約 | root causeとrelease判断 |
| PPA探索候補の提案 | constraint、signoff、tape-outの承認 |
AI時代に価値がさらに高まるエンジニアの能力
コードをタイピングする割合は減る可能性があります。一方で、次の4つの能力は価値が高まります。
- 曖昧な要件を実行可能な契約に変える能力
- ツールのログとwaveformから真の原因を見つける能力
- 生成器と検証器の独立性を設計する能力
- 機能・性能・電力・物理実装のtrade-offを説明する能力
よくある質問
Q. ChatGPTやClaudeで作ったRTLをポートフォリオに使ってもよいですか?
可能です。ただし、プロンプトよりも検証の証拠を示してください。仕様、test plan、assertion、coverage、合成結果、AIが作ったエラーを発見して修正した記録が必要です。
Q. AIがtestbenchまで作れば、検証は完了ではありませんか?
いいえ。RTLとtestbenchが同じ誤った解釈を共有する可能性があります。独立したreference model、protocol assertion、formal、商用VIPなど、別のoracleが必要です。
Q. では、RTLエンジニアの仕事は減りますか?
反復的なコーディングやログ分類の比重は減る可能性があります。一方、spec、architecture、verification closure、physical trade-offに責任を持つ人の重要性は高まります。役割がなくなるというより、責任の中心が移る可能性が高いでしょう。
Q. 会社のコードを外部AIに入力してもよいですか?
会社のポリシーとセキュリティ承認がなければ、入力してはいけません。RTL、constraint、log、waveformには、製品構造や脆弱性が含まれる可能性があります。承認済みのenterprise環境とデータ境界を先に整える必要があります。
まとめ
「AIが作ったRTLを信頼できるか」は、正確な問いではありません。より良い問いは、次のとおりです。
誰が作ったかに関係なく、同じ5つの検証ゲートを通過させたか。
バイブコーディングは、ドラフトを素早く作ります。シリコンを作るのは、今も検証可能な証拠です。
公開情報源
- Cadence ChipStack AI Super Agent
- Cadence–NVIDIAのagentic AI発表
- Cadence Conformal AI Studio
- OpenLLM-RTL論文
- Understanding and Mitigating Errors of LLM-Generated RTL Code
- NVIDIA VerilogEvalリポジトリ
編集方針: 本稿は、身近で繰り返し耳にした匿名の悩みを一般化して執筆しました。個人やプロジェクトを特定できる非公開情報は使用しておらず、ベンダーの性能数値はベンダーの主張として区別しました。