3

HDL とは?


HDL
Hardware Description Langueage ハードウェア記述言語
LSI設計の自動化は、1970年代の LSIのレイアウトマスク設計からはじまる。1980年代では、論理ゲートに基づき、回路図入力と、ゲートレベルシミュレーションによる論理ゲートレベル設計に設計の自動化が進んだ。しかし、回路規模が数万ゲート以上にになり、ゲートレベル設計では対応出来なくなった、それは、入力するのも大変、シミュレーションに膨大な時間がかかってしまうからである。そして、1990年代にハードウェアの動作を直接記述出来る HDL で回路を設計し、HDL から ゲート回路を自動的に、合成(synthesis)する設計手法に移行した。HDL は C 言語などのプログラミング言語に似ている、しかし大きな違いは、HDL では、入力信号にしたがって並列に動作するような並列処理やタイミングなどが記述可能である。
HDL での記述は、まず HDL シミュレータにかけることが出来る。
このシミュレーションは遅延などはほとんど考慮しなくて、純粋に論理が正しく記述されているかを確認することが出来る。このように、設計ミスの発見と修正を短いサイクルで行うことが出来る。
HDL 合成
これは、HDL の記述を ゲート回路に直すことである。
ターゲットとなる ASIC のライブラリをもちいて、制約条件(クロック周期、面積、消費電力) から、回路が最適化される。
このあとネットリストが生成され、ゲートレベルシミュレーションがおこなわれ、タイミング動作の検証が行われる。
そして、セルの配置配線がおこなわれ、この実配線による遅延値をまた、タイミング検証にバックアノテートして問題があるなら、修正される。
このように HDL では 機能の設計とゲートセルのタイミング設計が分離している。
ゲートレベルシミュレーション
回路図の入力後、ファンアウト制限や、接続関係の回路チェックを行い、シミュレーション時に、セットアップ・タイムや、ホールドアップ・タイムなどのタイミングチェックも行う。またシミュレーションの結果は、波形表示したりリスト表示したりして、信号間のタイミング関係や機能の確認を行う。