VHDLはハードウェア記述言語(HDL)です。 HDLはプログラミング言語に少し似ていますが、目的は異なります。 ソフトウェアの設計に使用されるのではなく、HDLはコンピュータチップを定義するために使用されます。 VHDLは、あらゆるタイプの回路を記述するために使用でき、プロセッサ、Cpu、マザーボード、Fpga、Asic、および他の多くのタイプのデジタル回路の設計、シミュレーション、およ
VHDL History
VHDLという名前はネストされた頭字語です。 これは、VHSICハードウェア記述言語の略です。 VHSICは非常に高速集積回路の略です。 高速プロセッサの説明であることに加えて、それはその使命は、非常に高速集積回路(高速コンピュータチップ)の分野での研究開発だった1980年代の米国
材料科学、アルゴリズム、チップ設計、リソグラフィー、およびその他の関連分野の主要な進歩とともに、VHSICはVHDLを開発しました。
言語の最初の公式標準は1987年にIEEEから来ており、IEEE1076として知られています。 それ以来、いくつかのエディションがあり、最新のものは2008年に来ています。 In addition to the “core” language specified in 1076, there are a number of extensions codified in other specs:
- IEEE 1076.1 VHDL Analog and Mixed-Signal (VHDL-AMS)
- IEEE 1076.1.1 VHDL-AMS Standard Packages (stdpkgs)
- IEEE 1076.2 VHDL Math Package
- IEEE 1076.3 VHDL Synthesis Package (vhdlsynth)
- IEEE 1076.3 VHDL Synthesis Package – Floating Point (fphdl)
- IEEE 1076.4 Timing (VHDL Initiative Towards ASIC Libraries: vital)
- IEEE 1076.6VHDL合成相互運用性
- IEEE1164VHDLマルチバリューロジック(std_logic_1164)パッケージ
VHDL設計と構文
VHDLはAdaに基づいており、構文と概念の両方で広範囲に借用されています。 これはその後、多値論理、物理的並列性、ブール演算子の拡張セットなどのハードウェア固有の概念で補完されました。 VHDLは配列を昇順と降順の両方で索引付けすることもできますが、Ada(および他のほとんどのプログラミング言語も同様)は昇順で索引付けするだけです。
ほとんどのプログラミング言語は、心臓部では、手続き型です—コンピュータは順番に別のコマンドを実行します。 VHDLは異なります。 これは、(実際のまたはシミュレートされた)物理構造を記述するハードウェア言語です。 その構造は多数のモジュールで構成されており、各モジュールは他のすべてのモジュールと同時に動作します。
だから、各モジュール内には、変数、制御フロー、条件、ループを持つ、小さな自己完結型のソフトウェアプログラムのように見える命令の手続き的な流れがあ 各モジュールには、1つ以上の入力と1つ以上の出力があります。 入力はエンティティと呼ばれる構造内で指定され、自己完結型ロジックはアーキテクチャ内で定義されます。
二つの入力と一つの出力を持つ”ANDゲート”の考えを考えてみましょう。 両方の入力が”on”(true,1)の場合、出力は”on”になり、それ以外の場合、出力は”off”になります。「そのため、VHDLを使用して、2つの入力と1つの出力を定義します。 これらの入力と出力の受け入れられる値は、通常のプログラミング言語のライブラリのようにインポートされるstd_logic
モジュールで定義されます。 アーキテクチャは、私たちが今議論したように動作するように、私たちの”AND gate”の内部の仕組みを定義します。
std_logic
モジュールは興味深いハードウェア固有のタイプの値です。 これは、プログラミング言語に存在するブール値(1ビット:trueまたはfalse)に似ていますが、物理システム内の実際の電気インパルスを表すため、値の範囲を:
-
U
: 初期化されていない。 この信号はまだ設定されていません。 -
X
: 不明。 この値/結果を決定することは不可能です。 -
0
: 論理0 -
1
: 論理1 -
Z
: ハイインピーダンス -
W
: 弱い信号は、それが0または1であるべきかどうかを伝えることはできません。 -
L
: おそらくに行く必要があります弱い信号0 -
H
: おそらくに行く必要があります弱い信号1 -
-
: 気にしないで
これは、ミニチュアでは、完全なVHDLデザインがどのように構築されているかです。 非常に単純で論理的に自己完結型のI/Oアクティビティのモジュールが構築され、互いに接続されて、異なるタイプのタスクを実行できる計算機を形 VHDL設計は、完全に機能する汎用コンピュータを記述することも、ビットコインマイニングに使用されるブルートフォースの作業証明のような単一のアルゴリ
VHDL設計はプログラムではなく、実行または実行されないことを認識することが重要です。 設計図のように、それはアーキテクチャを定義します。 設計が完了すると、それは通常、ソフトウェアテストベンチテストのためにシミュレートされ、合成され、実際のチップまたは回路基板上に実装できる物理的な設計に変換されることを意味します。
VHDLを学習するためのリソース
VHDLを学習するためのリソースがたくさんあります。 私たちは最高のものをいくつかまとめました。
オンラインリソース
- VHDL Primer:ペンシルベニア大学のVHDLに関するチュートリアル。
- Vhdl on Wikipedia:WikipediaのVHDLの報道は驚くべきことに深く明快であり、言語全体を素晴らしい紹介しています。
- VHDLクックブック:無料のオンラインブック、大学のコースの教科書の長さと形式。
- VHDLチュートリアル:例によって学ぶ: この由緒あるチュートリアルは見ていいものではありませんが、情報は素晴らしいと非常によく組織されています。
- VHDL言語ガイド:これは非常に簡単なナビゲーションのためのドキュメント内のリンクで巨大な詳細(400ページ)で言語をカバーするPDFです。 これは素晴らしい参考文献です。
- Vhdlデザイナーズガイド:リソース、チュートリアル、およびリンクのコレクション。 ビデオとオンライン認定コースが含まれています。
- Programmable Logic/VHDL Module Structure
- VHDL Basics — Online Course
- VHDL Handbook
- VHDL Starters Guide
Books
All these books focus on VHDL:
- The Designer’s Guide to VHDL, Third Edition
- Circuit Design and Simulation with VHDL
- Vhdl By Example
- VHDL: Basics to Programming
- VHDL for Engineers
- VHDL By Example: Fundamentals of Digital Design
- Circuit Design with VHDL
- Digital Design Using VHDL: システムアプローチ
VHDL&Verilog Books
VHDLの主な”競争”はVerilogです。 両方の言語はハードウェア設計に使用されているため、基礎となる設計とエンジニアリングの概念に焦点を当て、VHDLとVerilogの両方を使用する多くの本が
- RTL Design、VHDL、Verilogを使用したデジタルデザイン
- Hdlチップデザイン:VhdlまたはVerilogを使用したAsic&Fpgaの設計、合成のための実用的なガイド&Fpgaの設計レシピ、第二版:VerilogおよびVHDLを使用
- HDLプログラミングの基礎: VhdlとVerilog
その他の重要なVHDLリンク
実装とシミュレータ
- 無料/オープンソース
- GHDL
- NVC
- 無料HDLプロジェクト
- 商用/プロプライエタリ
- VHDL Simili
- Active-HDL
- Incisive Enterprise Simulator
- ModelSim
Tools
- EDA Utils:VhdlやVerilogやその他のHDLsを操作するためのユーティリティの大規模なコレクションです。
- 江田運動場: VHDL設計をテストするためのオンラインサンドボックス。
- エディタパッケージ
- Emacs VHDLモード
- vim用のVHDLプラグイン
- Sublime Text用のVhdlパッケージ
- Atom用のVhdl
- メモ帳用のVhdl++
あなたも知っておくべきです。..
VHDLは、二つの主要なハードウェア記述言語の一つです。 もう一つはVerilogです。 ほとんどのハードウェア設計者は、Cand C++のような低レベルのオペレーティングシステム言語と同様に、両方に精通しています。