LSI設計で使うハードウェア記述言語「Verilog-HDL」を拡張した「SystemVerilog」が,IEEE Standard 1800として2005年11月に標準化された(図1)。LSI開発現場への適用も進んでいる。例えば2006年1月には2回目の「日本ユーザー・フォーラム」が開催された。2006年3月の国際会議「DATE(Design, Automation & Test in Europe)06」では,米Intel Corp.が全社規模で導入したことや,英ARM Ltd.が次期プロセサ・コア「Cortex-A8」の開発に使っていることを発表した。

検証と検証を一つの言語でカバー

 SyetemVerilogにはVerilog-HDLの機能であるモデリング(設計対象を記述すること)に加えて,検証に必要な情報を記述するための機能が備わっている。かつては,検証用EDA(electronic design automation)ツールのベンダーが,それぞれ独自の検証用言語を提供していた。複数の検証用言語があることや,設計と検証に異なる言語を使わなければならないことに,LSIの開発現場は不満を持っていた。その解消をSystemVerilogは狙った。

 具体的には,検証向けに(1)アサーション,(2)テストベンチ,(3)機能カバレッジの三つを扱えるようにした。アサーションは,検証項目を自然言語に近い形で記述したものをいう。「信号Aが『0』の間は,信号Bは『1』でなくてはならない」はその一例である。テストベンチは,被検証対象回路の周りの回路を指す。SystemVerilogを使ってテストベンチの動きを記述する。機能カバレッジは,被検証対象回路が備える論理機能のうち,検証が済んだ論理機能の割合を指す。機能カバレッジをチェックして,検証の進み具合を見る。

「SystemVerilog」の歩み
図1「SystemVerilog」の歩み
EDA業界の標準化機関である米Accelleraが音頭を取り,整備が進んだ。2003年にはEDAベンダーのサポートが始まり,2004年ころにはチップ設計への適用も始まった。本誌が作成。