2025年11月24日 – CHIPS Alliance は、オープンソース RTL シミュレータ Verilator が UVM 2017-1.0 をパッチなしで完全にエラボレート可能になったと発表した。
この成果は Antmicro と Verilator メンテナの協業により実現し、UVM Cookbook のサンプル動作に必要な多数の SystemVerilog 機能が追加された。
これにより、オープンソース EDA を用いた本格的な ASIC 検証環境構築が現実的な選択肢となり、業界の検証エコシステムに大きな影響を与える可能性がある。
発表の背景
近年、半導体開発では 検証工数の増大 が大きな課題となっている。特に SoC の大規模化に伴い、UVM(Universal Verification Methodology)はデファクトスタンダードとして広く採用されている。一方で、UVM をフルサポートするオープンソース RTL シミュレータは存在せず、商用シミュレータへの依存が続いていた。
Verilator は高速な静的コンパイル型シミュレータとして人気が高いが、従来は UVM の完全サポートが不十分で、複雑な testbench の実行には制約があった。CHIPS Alliance と Antmicro はこの課題を数年にわたり解消し、今回の発表に至った。
発表内容の詳細
今回の発表では、Verilator が UVM 2017-1.0 をパッチなしでエラボレート可能になったことが正式に示された。
主な追加・改善点は以下の通り:
- UVM Cookbook のサンプルを動作させるための SystemVerilog 機能の拡充
- パラメータ化クラスのデフォルトパラメータ解決
- typedef linking の改善
- ネストクラス対応
- expression purity(副作用のない式判定)の修正
- 制約ランダマイゼーションの強化
randomize..withの複雑な式対応$countonesのサポート- パラメータ化クラスやエイリアス型での randomize 修正
- rand dynamic array の改善
- カバレッジ機能の基盤整備
- covergroup のパースと初期エラボレーションをサポート(ただし実行は限定的)
- disable 文の改善
- fork ブロック内外での disable の正しい動作
これらにより、従来はパッチ適用が必須だった UVM ライブラリが、そのまま Verilator 上で動作するようになった。
技術的ポイント
今回の改善は、オープンソース EDA の中でも特に難易度の高い SystemVerilog の動的機能 に踏み込んだ点が重要である。
- 動的スケジューリング・コルーチン対応
UVM のフェーズ実行モデルに必要な動的スケジューリングが Verilator に実装されている。 - 制約ランダマイゼーションの実用レベルへの到達
UVM testbench の多くは constrained random に依存しており、今回の改善で実用性が大きく向上した。 - パラメータ化クラス・型解決の強化
SystemVerilog の高度な型システムに対応することで、複雑な UVM コンポーネントのエラボレーションが可能になった。 - カバレッジ解析の基盤整備
SAIF 対応など、低消費電力設計のための解析機能も強化されている。
これらは、商用シミュレータが長年蓄積してきた機能領域であり、オープンソースでの実現は大きな技術的前進といえる。
ビジネス的ポイント
- 商用シミュレータ依存の軽減
UVM を必要とする ASIC/FPGA 検証で、オープンソースツールの選択肢が現実的になる。 - コスト削減と開発スピード向上
Verilator は高速であり、CI/CD との相性が良いため、検証の自動化・高速化に寄与する。 - オープンソースエコシステムの強化
CHIPS Alliance の活動により、EDA ツールのオープン化が加速し、企業間での共同開発が進む。 - スタートアップや学術機関へのメリット
高価な商用ツールを使わずに UVM ベースの検証環境を構築できるため、参入障壁が下がる。
今後の展望
CHIPS Alliance と Antmicro は、今後 UVM 2020 のサポート や、より複雑な testbench の動作を目指すとしている。
オープンソース EDA の進化は、ソフトウェア主導の ASIC 開発フロー(software-driven silicon development)を後押しし、商用ツールとのハイブリッド利用が一般化する可能性が高い。
特に、
- RISC-V エコシステム
- AI/ML チップ開発
- オープンソース SoC プロジェクト
などでは、Verilator の UVM 対応が大きなインパクトを持つと考えられる。


コメント