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 を使ってテストベンチの動きを記述する。機能カバレッジは,被検証対象回路が備える論理機能のうち,検証が済んだ論理機能の割合を指す。機能カバレッジをチェックして,検証の進み具合を見る。
図1 「SystemVerilog」の歩み
EDA 業界の標準化機関である米Accellera が音頭を取り,整備が進んだ。2003 年にはEDA ベンダーのサポートが始まり,2004 年ころにはチップ設計への適用も始まった。本誌が作成。