ハードウェア記述言語

読み:はーどうぇあきじゅつげんご / 英語表記:Hardware Description Language

デジタル回路の構成や動作を、プログラムのような文字で記述するための言語。記述した内容を論理合成して、FPGAやLSIの回路を作る。VHDLとVerilog HDLが代表。

イマシルちゃんの解説

電子回路は、昔は、部品と配線を一つひとつ図に描いて設計していたんだ。
でも、今のチップには何十億個ものトランジスタが入っているから、とても手で描ききれないよね。

ハードウェア記述言語は、「こういう動きをする回路がほしい」って文字で書くための言葉なんだ。
書いたものを道具に通すと、自動で実際の回路の設計図にしてくれる。
しかも、FPGAっていうチップなら、その場で書き込んで回路として動かせるんだよ!

より深い解説

定義

ハードウェア記述言語(HDL:Hardware Description Language)は、論理回路の構造や動作を、テキストで記述するための言語である。記述は、シミュレーションで動作を確認した後、論理合成ツールで、論理ゲートとその接続(ネットリスト)に変換され、FPGAやASIC(特定用途向けのLSI)として実現される。

代表的な言語

言語特徴
VHDL米国国防総省の主導で開発された。IEEE 1076。記述が厳密で冗長
Verilog HDLC言語に似た文法で、簡潔に書ける。IEEE 1364
SystemVerilogVerilog HDLを拡張し、検証の機能を大幅に強化したもの。IEEE 1800

プログラム言語との違い

ソフトウェアのプログラム言語ハードウェア記述言語
実行のされ方命令が順番に実行される記述した回路が同時に(並列に)動作する
結果CPUで実行される命令の列回路(ゲートと配線)
時間の概念基本的にないクロックや信号の遅延を扱う

FPGA

FPGA(Field Programmable Gate Array)は、製造した後で、利用者が回路の構成を書き換えられるLSIである。HDLで記述した回路を論理合成し、FPGAに書き込むことで、専用のハードウェアとして動作させられる。

FPGAASIC
回路の変更何度でも書き換えられる製造後は変更できない
開発期間・初期費用短い・小さい長い・大きい
量産時の単価、性能、消費電力不利有利

FPGAは、試作、少量生産の製品、ネットワーク機器の高速なパケット処理、AIの推論の高速化などに使われる。

設計言語の区別

言語用途
VHDL、Verilog HDL論理合成してFPGAで動作させるハードウェア論理の記述に使う、ハードウェア記述言語
SystemCハードウェアとソフトウェアの協調設計に使う、C++を基にしたシステムレベル記述言語
SysMLシステムの設計と検証のための、UMLを拡張したモデリング言語
MathMLWebページに数式を表示するための、XMLのマークアップ言語

実際の試験ではここに出る!

この用語が出てくる記事

↑