独習したい方へ
VHDLトレーニングこちら
Verilogトレーニングこちら
セミナーのお知らせ、御依頼はこちら
HDL設計見積り依頼こちら
E-Shop

HDL(Hardware Discription Language:ハードウエア記述言語)とは?


HDLは電子回路やシステムの振る舞いを記述するためのプログラム言語です。BasicやCと同じような感覚で電子回路を設計することが出来ます。LSIに含まれる回路の規模が膨大になった現在、回路図でデジタル回路を設計するようではとても間に合わないのです。そこでコンピューターに自動設計をさせて合理化する必要が生じました。そのために考えられたのがHDLというわけです。

HDL設計と従来の設計との違い

従来の回路設計では回路図という絵を書いていました。これらの絵によって部品の接続関係を記述し、回路を製作するときのよすがにしていたわけです。実際回路図にしたがって基板を作り、部品を組み合わせていったわけです。

HDLの設計では全て文字で記述されます。そして接続関係ではなく、回路の動作を記述します。そしてシミュレーションで動作を確認した後、コンピューターによってネットリストに(構成部品の接続関係を記述したファイル)変換されます。LSI等はこのネットリストをもとに製造されます。設計者は図面上で線を引くこと無くデジタル回路の設計ができるのです。部品の選択はコンピューターが行います。

HDL設計の優越性と限界

HDLは設計者の作業を大幅に改善しました。回路の細かいことは考慮せずに、動作だけを記述すればいいのですから大規模な回路の設計を簡単にしました。しかし設計者の記述した動作がすべて回路に変換できるわけではありません。物理的に実現不可能な動作を記述してもそれは無理というもので、コンピューターがエラーを起こしてしまいます。HDLで記述した回路は論理合成ソフトを使用して回路に変換しなければなりません。このソフトのおめがねにかなう記述でないと変換できないのです。そういう意味では誰にでも簡単に設計できるわけではありません。

HDLの種類

現在LSIやFPGAの設計で実用に供されているのは2種類しかありません。VHDLとVerilogです。その他にも提案された言語はありましたが、この2つが生き残った様です。現在ではC言語による設計も検討されているようですが、まだ発展途上といった段階です。

  1. VHDLの生い立ち
  2. Verilog−HDLの生い立ち
  3. シミュレーションのためモデリング
  4. 設計図としてのHDL
  5. HDLでテストパターンを作る
  6. HDLと論理合成
  7. Verilog−HDLとVHDL
  8. HDLとASIC設計
  9. HDLは難しい?

VHDLの生い立ち

VHDLは1980年代アメリカ国防省のVHSIC(超高速集積回路)計画から生まれました。ここで技術者たちは大規模な回路設計しようとしましたが、従来の回路図を使った方法ではもはや不可能であるとの結論に達し、新たな設計手法が求められました。そのとき国防省の付託によりIBM、テキサスインスルメンツ、インターメトリックの3社によって開発されたのがVHDLによる言語設計の手法でした。1985年にその情報が公開され、以後1987年にIEEE1076として標準化され、世の中で初めて標準化されたハードウェア記述言語となりました。その後も5年毎に機能拡張が行われ、現在に至っています。

現在ではVHDLの標準化推進団体(VI:VHDL International)も組織され、アナログ回路への拡張などさまざまな活動が続けられています。

Verilog−HDLの生い立ち

Verilog−HDLはAutomated Integrated Design Systemsの Phil Moorbyという人が考案しました。もともとはVerilog-XLというシミュレーターを制御するための言語として考案されたもので当時は論理合成に使うことなど考えてもいませんでした。Verilog-XLは当時としては最も高速を誇ったシミュレーターで日本でも多くの会社に導入され、この会社は多いに繁栄しました。のちにケイデンス社に買収されてしまいます。この間Verilogは1社の占有物でありました。VHDLとの対抗もあり、ケイデンス社は1990年にこの言語の仕様を公開し、そのときに推進団体であるOVI (Open Verilog International) も創設されました。その後いろんなメーカーがVerilog対応のシミュレーターの市販を開始し、1995年にはIEEE1364として規格化されました。最近の改訂ではVHDLに対して劣っているとされていた、システムシミュレーションへの対応など、新しい機能が盛り込まれ続けています。

シミュレーションのためモデリング

HDLは電子回路の動作を記述するためのさまざまな機能を持っており、AND,ORといったゲートからマイクロプロセッサのような複雑な動作をするデバイスまで容易に記述することが出来ます。しかも複雑な動作を数式のような抽象的な形で記述するだけで実現出来るため、複雑なロジック図を書くことなく動作を表現できます。

またHDLはCやBasicと同じくコンピューター上で動作を検証できるのですることが出来るので回路の動作検証(シミュレーション)が容易に出きるようになります。

設計図としてのHDL

HDLからは論理合成ソフトにより、回路図をコンピューターに作らせることが出来ます。ありがたいことにこれらの論理合成ソフトはたいていの場合、遅延時間やファンアウトを自動調整してくれるので、設計者の手間を大幅に省いてくれます。 PLDやFPGAではABEL等の言語がすでに存在していますが、ふたつのHDLはこれらの言語に比較してはるかに抽象性が高く、複雑で大規模な回路の記述に適してます。またHDLの記述はメーカーに依存しないので移植性が高い言語です。

HDLでテストパターンを作る

たいていの回路シミュレーターの場合、回路をテストするためのテストパターンは別のツールで作ることになります。しかしHDLシミュレーターではテストパターンもHDLで記述することが出来ます。そのため回路のデバッグとテストパターンのデバッグが同時に出来ることになります。

HDLと論理合成

HDL設計の命は論理合成ソフトが握っているといっても過言ではありません。論理合成ソフトが無ければHDLは絵に書いた餅なのですから。市販の論理合成ソフトは非常に高価で、寡占状態にあります。しかし好運なことに多くのFPGAベンダーが安価な論理合成ツールを提供してくれており、HDL設計の普及に大きな役割を果たしました。いまFPGAがASICの領域を侵食している原因の一つにはこのような事があるのかも知れません。性能はそこそこでも良いから安価な合成ツールの開発がまたれます。

先に述べた様に、論理合成の要求にあったHDLを記述しなければ、回路を生成できません。二つの言語を比較したときどちらが親和性がよいかとするなら、VHDLに軍配があがります。これは生い立ちから来るもので、論理合成を意識した言語だからです。その分文法の規則はVerilogに比較して厳しいものになっています。

Verilog−HDLとVHDL

VHDLが登場する前、1980年代にはVerilog−HDLが事実上標準的なハードウェア記述言語でした。今でも根強いファンが存在し、日本ではまだ使っているところも多いかもしれません。どちらも電子回路の動作を記述する上では同じような機能を持っています。VerilogはC言語に似ており、VHDLはPASCLかADAに似ています。どちらも習得するのはそれほど簡単では有りません。

VHDLは後発で有るだけに新しい趣向が取り入れられており、より抽象性の高い記述が出来る言語となっています。トランジスタからコンピューターシステムまで記述出来るとのこと。Verilogはより具体的な回路図に近い記述となるためシステムシミュレーションのような大規模な回路の記述にはあまり向かないようです。両方習得できればいうこと無いですが、しかし電子回路の設計にはどちらか一方を習得すれば十分です。

どちらの言語が優れているかは人によって意見の割れるところでしょう。世の中の状況を見回して見るとどちらがどちらかを凌駕するという関係ではなさそうです。VHDLが登場した当初はいずれはVHDLに統合されるだろうと思っていました。しかし実際には2つの言語が共存している状態がつづいてます。ほとんどのEDAベンダーは両方の言語をサポートしています。重要なのはその言語を支えるソフトがどれだけの性能を持っているかであって、言語の性能は二の次です。ハードウェア記述言語はコンピューターシステムなくしては存在出来ません。電子回路を設計するCADを考えるときには言語を支えるソフトとのトータルの環境で判断すべきです。

VIとOVIは既に統合され、ACCELLERAという団体になってしまいました。

HDLとASIC設計

HDLはASIC開発に大きな変革をもたらしました。従来回路図を用いていた設計から、テキストベースの設計環境に一変させました。年々巨大化する回路規模に対応するには、もはや回路図を用いた設計では間に合わなくなったのです。

従来のASIC設計でもCADは不可欠でしたが、回路図を如何に入力し、入力した回路図を如何に検証するかが大きな問題でした。設計ミスはもちろん、接続間違いのようなケアレスミスが頻発しており、実際の回路の検証よりもケアレスミスの排除に多くの時間を割いてしまうのが現実でした。

VHDLで記述する利点は、こういった間違いを早い段階で効率よく排除できることです。よく考えられた文法規則はミスの発生を防いでくれます。また記述も回路図を書くよりも簡単に回路を表現でき、設計のスピードアップが計られます。

VITAL(VHDLを使ったライブラリーの記述規約)のおかげでVHDLシミュレーターは論理合成前の記述と、論理合成された回路。レイアウト後の回路が全てシミュレーションできます。ASIC設計を行う技術者はVHDLシミュレーターと論理合成ツールさえあればASIC開発の全ての作業ができるようになったのです。

Verilogは文法規則が緩い分、ある程度の慣れが必要なようですが最初の学習のしやすさではこちらに利があるかも知れません。論理合成可能かどうかの見極めがなかなか難しいので論理合成を繰り返しながらデバッグする人もいるようです。そうはいっても慣れてしまえばどちらの言語を使っても同じようなものです。Verilogは古くから使われて来た言語であり、設計資産もいっぱい残っています。

ただ両方を学習するとき、VHDLを先に学習するとVerilogは比較的簡単に習得できるようです。しかしその逆となると難しいようです。これは文法規則の難易度が関係してるようです。

HDLの設計経験を豊富にもつ当社はASIC設計に取り組もうとされる方のお手伝いを致します。いつでもご相談ください。詳細は当社へメールして下さい。

HDLは難しい?

VHDLにしてもVerilog−HDLにしても簡単に習得出来る言語では 有りません。しかしだからといって専門家でしか使いこなせないような難しい言語でも有りません。要は慣れの問題です。(ただ経験から言わせてもらうとVHDLの方が合成可能かどうかの見極めが簡単です)回路図で設計してきた方には戸惑いがあるでしょうが、ほとんどの人は2〜3日の講習で自分で書けるようになります。早く習得するには良い教師に付くの一番。(当社では実践的なHDLの書き方を指導いたします。詳細は当社へメールして下さい。

VHDLVerilog

セミナーのお知らせはこちら


質問、ご要望はwebmaster@cyber-labo.co.jp
ホームページに戻る。