改訂版EDA用語辞典とは・著者一覧

 ハードウェア記述言語(hardware description language:HDL)は,デジタル回路やシステムなどのハードウェアの構成を記述するための言語である。一方,設計した回路が正しく動作するかを検証するために必要な要素を記述する言語が検証記述言語(hardware verification language:HVL)である。

ハードウェアの特徴を表現可能

 HDLでは回路の論理を記述するほか,時間の概念が構文として含まれており,遅延や並列動作などハードウェア設計特有の仕様の記述が可能である。RTL(resister transfer level)と呼ぶ設計の抽象度では,1クロック・サイクルごとの回路動作を明示的に記述する。RTL記述のHDLは論理合成でゲート・レベルの論理回路に変換される。

 現在,広く普及している言語として,Verilog HDLとVHDL(Very High Speed Integrated Circuit Hardware Description language)がある。両者は基本的に同じ概念の言語であるが,その特徴によって使い分けられながら共存している。

 Verilog HDLは,もともと,米Gateway Design Automation Corp.(後に米Cadence Design Systems, Inc.が買収)が,同社の論理シミュレータ用の言語として開発した。C言語に似た文法で,記述性を重視し,比較的容易に習得できることが特徴である。

 その後,言語仕様が公開され,IEEE std. 1364として標準化された。多くのEDAベンダーの論理合成ツールや論理シミュレータがサポートしており,実質的な業界標準言語である。

 最近,Verilog HDLの記述のあいまい性を削減し,記述量の削減が可能なように機能強化を図った「SystemVerilog」も普及を始めた。

 VHDLは,米国防省が中心になった開発した言語である。プログラミング言語の「Ada」を元に開発され,多種多様な設計データを管理・保守するドキュメンテーション言語でもある。IEEE std. 164として標準化されており,複雑な回路の設計,解析,シミュレーションを実行するため幅広い言語構文を持つ。あいまい性のない厳格な言語である。

HDL設計の検証向け

 HDLで記述した回路やシステムの検証に適した機能を備える言語が,検証記述言語である。

 回路の機能が多様化・複雑化するにつれて,検証の効率的の重要性が増している。効率化のためには,ランダム検証,アサーション・ベース検証といった技術の活用が挙げられる。これらを活用する上で,従来のHDLでは機能不足のため,検証に特化した言語としてHVLが登場した。

 例えば, ランダム検証向けの機能として,「機能カバレッジ」を取得するための記述や,ランダムに生成する入力信号の制約に向けた記述(信号の値に対する,組み合せ/遷移/重み付け)などがある。また,アサーション検証,フォーマル検証を実現する機能として,通常の論理式に時間軸上の概念を加えた「時相論理」の表現)などがある。

 具体的なHVLとしては,SystemVerilogや,「e言語」,「PSL(Property Specification Language)」などが挙げられる。

 SystemVerilogは,Verilog HDLの言語仕様を拡張し,オブジェクト指向プログラミング(object oriented programming)の要素や,ランダム検証,アサーション検証,カバレッジといった検証技術を組み込んだ。2005年にIEEE std.1800-2005として標準化され,多くのEDAベンダーがSystemVerilogをサポートする。

 e言語は,米Verisity, Ltd.(後にCadenceが買収)が同社の機能検証用EDAツール「Specman」向けに開発したアスペクト指向プログラミング言語(aspect oriented programming)である。ランダム検証実現のための回路仕様記述をはじめ,再利用性の高いテストベンチ記述可能である。検証言語として2006年にIEEE std. 1647として標準化されたことでEDAベンダーがサポートをはじめ,特定のツール向けのの言語ではなくなった。

 PSLは,米IBM Corp.が開発した言語「Sugar」をベースに,標準化団体の米Accelleraが開発した。2005年にIEEE std. 1850として標準化された。ハードウェア設計における信号レベルでの特性を表現し,アサーション検証・フォーマル検証を実現するための言語である。用途が限られており,検証を行う際は,Verilog HDLやVHDLなど他の言語と組み合わせて使用する。

参考文献
1)桜井 至,『HDLによるデジタル設計の基礎』,テクノプレス,pp.24-25,p.50,1997年2月.
2)小林優,『入門Verilog-HDL記述』, CQ出版株, pp.12-13,1996年7月.
3)浜口加寿美,河原林政道,高嶺美夫,明石貴明,『SystemVerilogによるLSI設計』,丸善,pp.2-5, 2005年1月