AIによるオープンソースVerilogシミュレータ構築:43日で58万行
Normal ComputingのエンジニアがAIエージェントを使ってCIRCT上に実用的な検証スタック(シミュレーション、形式検証、ミューテーションテストなど)を構築した方法。
2026年1月から2月にかけての43日間、Normal ComputingのエンジニアThomas AhleはAIエージェントを使用して、CIRCT(LLVMベースのハードウェア設計インフラストラクチャ)上に完全なオープンソース検証スタックを構築しました。プロジェクトは合計2,968回のコミットを記録し、580,430行のコードを追加。イベント駆動シミュレーション、VPI/cocotb統合、UVMランタイムサポート、有界モデルチェック、論理等価性チェック、ミューテーションテストをカバーしています。
CIRCTはこれまで実用的なシミュレーションランタイムを欠いていました。AIエージェントはIEEE 1800-2017標準仕様を活用してこのギャップを埋めました。ワークフローは主に非同期で、高レベルの目標(新しいテストスイート、JIT最適化ターゲットなど)を設定し、出力をレビューするというサイクルです。AIエージェントはエンジニアリングログを共有して進捗を追跡し、障害を解決しました。プロジェクトは1,554回の反復サイクルを記録し、多くの機能はテスト通過までに3~5回の反復を要しましたが、UVMシーケンサ統合やVPIコールバック処理は20回以上を必要としました。
シミュレータは実際のテストベンチで検証されました:MirafraのAVIP(APB、AHB、AXI4などのプロトコル用UVMテストベンチ)、NVIDIAのCVDPベンチマーク(cocotbを使用した783のハードウェア設計タスク)、そしてOpenTitanとIbexからの形式検証モジュールを正常に実行しました。パフォーマンス面では、JITコンパイルを追加した後でも、シミュレータは競合製品よりも100~1000倍遅いままです。プロジェクトはコルーチン、ステートマシン変換、ブロックレベルJITなどのアプローチを探求し、現在のブロックレベルJITはI2Sで2.1倍の高速化を実現しています。
このプロジェクトは、AI支援を受けた単一のエンジニアが数週間で機能的な検証スタックを構築できることを示し、EDA業界における検証ツールの複雑さに関する従来の前提に挑戦しています。