...

第4回 - CQ出版社

by user

on
Category: Documents
7

views

Report

Comments

Transcript

第4回 - CQ出版社
変則技の実践Verilog HDL解説
第4回
大串哲弘
Verilog HDL の標準規格であるIEEE 1364-1995 には,文
レータは,Verilog HDL によって記述するASIC 設計の
法的なあいまいさが存在した.今年(2001 年)3 月にIEEE
ためのもっとも一般的なシミュレータとなっていました.
が承認したIEEE 1364-2001(Verilog 2001)では,この
その後,米国 Synopsys 社,米国 Logic Automation
あいまいとされてきた部分が改善された.今回はVerilog
社,米国 Logic Modeling Systems 社は,Cadence 社
2001 の概要を,記述例と併せて紹介する.
からVerilog HDL のライセンスを受け,ASIC 向けの設
(編集部)
計ツールを開発しました.
IEEE 1364-1995 は,策定されてからすでに5 年が経
1990 年,Cadence 社はVerilog HDL をパブリック・
過しました.現在,Verilog HDL は,大規模な半導体
ドメインとして公開しました.このことにより,特別な
設計で必要とされる仕様に沿って,改善が進められてい
ライセンス許諾を得ることなくVerilog HDL を利用する
ます.1999 年から始まったVerilog HDL の仕様の改善
ことが可能となりました.
は,2001 年になってようやくIEEE で承認されました.
同年,米国 Open Verilog Internatinal( OVI)が,
今回は,Verilog HDL の新仕様への各 EDA ベンダの対
Verilog HDL の普及促進のために組織されました.この
応と,Verilog 2001 について説明します.
後,Verilog HDL の管理はCadence 社からOVI に移行
なお,新仕様のトピックスなどは,ドラフト版である
します.OVI は,最初のパブリック・ドメインのVerilog
LRM(Language Reference Manual)において確認で
HDL である「Verilog HDL 1.0」をリリースしました.さ
きたもののみを記載しています.すべてのVerilog ソー
らにVerilog HDL をIEEE 標準にするため,言語仕様
ス・コードは,ツールで検査されたものではありません.
案をIEEE に提出しました.
あらかじめご了承ください.
1995 年,IEEE はIEEE 1364-1995 を発表しました.
このときIEEE 1364-1995 では,それまで利用されてい
● Verilog HDL の歴史
た言語仕様の標準規格化のみを目標としており,ハード
簡単にVerilog HDL の歴史を振り返ってみましょう.
ウェア記述言語としての強化は考慮されませんでした(よ
1983 年,米国 Gateway Design Automation 社が
って,今回のVerilog 2001 に盛り込まれた内容は,5 年
「Verilog-XL」というディジタル・シミュレータの販売を
以上前の言語に対する不足を補ったものになっている).
開始しました.この Verilog-XL はこの後,Verilog
2001 年,IEEE は新仕様 IEEE 1364-2001(Verilog
HDL のシミュレータの標準として扱われることになりま
2001)を承認しました.IEEE 1364 Verilog Standard
す.当時は標準のハードウェア記述言語というものは存
Group(VSG)が約 3 年の月日をかけてVerilog HDL の
在していませんでした.そこでGateway 社は,このシミ
改善仕様を吟味し,策定に至りました.
ュレータのために「Verilog HDL」というハードウェア記
述言語を開発しました.
1989 年,Gateway 社が米国Cadence Design Systems
社に買収されました.このときすでにVerilog-XL シミュ
106 Design Wave Magazine 2001 December
● Verilog 2000 ? 2001 ?
Verilog 2001 はすでに2000 年の段階で完成していまし
た.そして,各 EDA ベンダもこの新仕様の完成を見て,
ツールへの実装を開始しました.主要なツールのほとんど
のです.これによって,Verilog HDL の物理的なコード
はVerilog 2001 への対応を開始しており,一部の新規仕
を書き換えなくても,論理的に指定したファイルを加え
様はすでに実装されています.
「Verilog 2000」
,
「Verilog
れば,論理・物理マッピングを行えます.
2001」と記載が異なることがありますが,実質的に同じ内
>インスタンスに接続されるモデルのソース・コードを
容です.IEEE の承認が2001 年 3 月にずれ込んだため,
IEEE 1364-2001 という名称になったようです.現在は,
LRM の最終バージョンが待たれるのみとなっています.
Verilog 2001 の主な目標としては,
指 定 するための構 文 = 論 理 マッピングの機 能
(configuration)
>任意の場所に存在するソース・コードをまとめて管理
する構文=物理マッピングの機能(library)
>文法的に「あいまい」と指摘されてきた部分の修正
で実現します.configuration 名の定義と library の
>システム・レベルの記述に対して対応可能な構文の追加
定義(マッピング・ファイル)は,それぞれ異なるファイ
が挙げられています.長い間,従来のVerilog HDL に
ルでも定 義 できます.例 えば,図 1 のインスタンス
対する不満が蓄積されたためか,“修正”と呼ぶものが多
UFUNC1 は,ビヘイビア・レベルのシミュレーション時
く見受けられます.
に, .../beh_sim/acum.v が接続されます.また,
しかし,基本的にIEEE 1364-1995 の記述は,そのま
ま使用可能となっています.IEEE 1364-1995 との互換
RTL のシミュレーション時には,.../acum.v が接続さ
れます.このときの記述例をリスト1 に示します.
性を損なうことがないようにIEEE 1364-2001 の仕様は
2)generate
作成されています.
generate に続くライン・ブロックに条件を加えるこ
●新仕様のトピックス
とにより,generate(生成)の制御を行えるようになり
では,具体的に仕様はどのように改善されたのでしょ
ました.制御文を使用して(例えばパラメータ化されたビ
うか.ここでは,新しい仕様について記述例を用いなが
ット幅の指定によって)生成する回路の構造を変えること
ら説明します.
ができます.for ループを使用して構文の generate が
可能になります.また,if else case を使用して構文
1)configuration
の generate 制御が可能になります.リスト2 に記述例
今までEDA ツールのオプション(-v,-y など)によっ
を示します.
て行われてきたディレクトリ,ファイル,モジュール,
ファンクションなどの物理マッピングを文法で定義したも
3)定数関数
より複雑な式(function )を用いることによって,定
数指定の定義を行えます.定数の指定時に,関数の呼び
Design RTL_LIB
出しを直接記述できるので,複雑な定数演算も効率良く
module SIM
UDUT
(module TOP)
どのライブラリを使用するかを定義=configuration
〔リスト1〕configuration の記述例
UFUNC1
(module ACUM)
../beh_sim/
acum.v
./acum.v
どこに存在するかを定義=library
〔図 1〕configuration
インスタンスUFUNC1 は,ビヘイビア・レベルのシミュレーション時
に,.../beh_sim/acum.v が接続されます.また,RTL レベルのシミ
ュレーション時には,.../acum.v が接続される.
//
// configuration 名の定義.
config CFGN;
// この configuration を適用するトップ・モジュールの定義
design RTL_LIB.SIM;
// デフォルト・ライブラリの検索順序を指定
default liblist BEH_LIB RTL_LIB;
// インスタンスに対して適用するライブラリを明示
instance SIM.UDUT.UFUNC1 liblist BEH_LIB;
endconfig
//
// library の定義.(マッピング・ファイル)
library BEH_LIB "../beh_sim/*.v";
library RTL_LIB "./*.v";
Design Wave Magazine 2001 December 107
Fly UP