VHDLプログラミングの開始:独自のハードウェアの設計

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


VHDLは、ハードウェア記述言語(HDL)です。 HDLはプログラミング言語に少し似ていますが、目的が異なります。ソフトウェアの設計に使用されるのではなく、HDLはコンピューターチップの定義に使用されます。 VHDLは、あらゆるタイプの回路を記述するために使用でき、プロセッサ、CPU、マザーボード、FPGA、ASIC、およびその他の多くのタイプのデジタル回路の設計、シミュレーション、およびテストで頻繁に使用されます。.

VHDLの歴史

VHDLという名前はネストされた頭字語です。 VHSICハードウェア記述言語の略です。 VHSICは、Very High Speed Integrated Circuitの略です。高速プロセッサの説明であるだけでなく、1980年代の米国政府のプログラムの名前でもあり、その使命は超高速集積回路(高速コンピュータチップ)の分野での研究開発でした。.

材料科学、アルゴリズム、チップ設計、リソグラフィー、その他多数の関連分野における主要な進歩に加えて、VHSICはVHDLを開発しました.

言語の最初の公式標準は1987年にIEEEから出され、IEEE 1076として知られています。それ以降、いくつかの版があり、最新版は2008年に登場します。1076で指定された「コア」言語に加えて、他の仕様で成文化された拡張の数:

  • IEEE 1076.1 VHDLアナログおよび混合信号(VHDL-AMS)
  • IEEE 1076.1.1 VHDL-AMS標準パッケージ(stdpkgs)
  • IEEE 1076.2 VHDL Mathパッケージ
  • IEEE 1076.3 VHDL合成パッケージ(vhdlsynth)
  • IEEE 1076.3 VHDL合成パッケージ–浮動小数点(fphdl)
  • IEEE 1076.4タイミング(ASICライブラリに向けたVHDLイニシアチブ:重要)
  • IEEE 1076.6 VHDL合成の相互運用性
  • IEEE 1164 VHDLマルチバリューロジック(std_logic_1164)パッケージ

VHDLの設計と構文

VHDLはAdaに基づいており、構文と概念の両方で広範囲に借用されました。その後、これには、多値ロジック、物理的並列処理、ブール演算子の拡張セットなどのハードウェア固有の概念が追加されました。 VHDLは配列を昇順と降順の両方でインデックス付けすることもできますが、Ada(および他のほとんどのプログラミング言語も)は昇順でのみインデックス付けします.

ほとんどのプログラミング言語は、基本的に手続き型です。コンピューターは、あるコマンドを次々に実行します。 VHDLは異なります。 (実際のまたはシミュレートされた)物理構造を記述するハードウェア言語です。その構造は多数のモジュールで構成されており、各モジュールは他のすべてのモジュールと同時に動作します.

したがって、各モジュール内には、変数、制御フロー、条件、ループを備えた、小さな自己完結型ソフトウェアプログラムのように見える手順の手順フローがあります。各モジュールには、1つ以上の出力に加えて1つ以上の入力があります。入力はエンティティと呼ばれる構造内で指定され、自己完結型ロジックはアーキテクチャで定義されます.

2つの入力と1つの出力がある「ANDゲート」のアイデアを考えてみましょう。両方の入力が「オン」(true、1)の場合、出力は「オン」です。それ以外の場合、出力は「オフ」になります。したがって、VHDLを使用して、2つの入力と1つの出力を定義します。これらの入力と出力の受け入れられる値は、通常のプログラミング言語のライブラリのようにインポートされるstd_logicモジュールで定義されます。次に、アーキテクチャは「ANDゲート」の内部動作を定義し、先ほど説明したように機能します。.

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入門書:ペンシルバニア大学のVHDLに関するチュートリアル.
  • ウィキペディアのVHDL:ウィキペディアのVHDLの範囲は驚くほど詳細かつ明快であり、言語全体の優れた紹介を提供します.
  • VHDLクックブック:無料のオンラインブック、大学コースの教科書の長さと形式.
  • VHDLチュートリアル:例で学ぶ:この由緒あるチュートリアルは一見の価値はありませんが、情報は非常によく整理されています.
  • VHDL言語ガイド:これは非常に詳細な言語(400ページ)をカバーするPDFで、非常に簡単なナビゲーションのためのドキュメント内リンクが含まれています。これは素晴らしいリファレンスです.
  • VHDL設計者向けガイド:リソース、チュートリアル、リンクのコレクション。ビデオとオンライン認定コースが含まれています.
  • プログラマブルロジック/ VHDLモジュールの構造
  • VHDLの基礎—オンラインコース
  • VHDLハンドブック
  • VHDLスターターガイド

これらすべての本はVHDLに焦点を合わせています:

  • デザイナー向けVHDLガイド、第3版
  • VHDLによる回路設計とシミュレーション
  • 例によるVhdl
  • VHDL:プログラミングの基礎
  • エンジニア向けVHDL
  • 例によるVHDL:デジタルデザインの基礎
  • VHDLによる回路設計
  • VHDLを使用したデジタルデザイン:システムアプローチ

VHDL & Verilogブック

VHDLの主な「競争」はVerilogです。どちらの言語もハードウェア設計に使用されるため、基礎となる設計とエンジニアリングの概念に焦点を当て、VHDLとVerilogの両方を使用する書籍が多数あります。.

  • RTLデザイン、VHDL、Verilogを使用したデジタルデザイン
  • Hdlチップ設計:設計、合成のための実用的なガイド & アシックスのシミュレーション & VhdlまたはVerilogを使用するFpgas
  • FPGA、第2版のデザインレシピ:VerilogおよびVHDLの使用
  • HDLプログラミングの基礎:VHDLおよびVerilog

その他の重要なVHDLリンク

実装とシミュレータ

  • 無料/オープンソース
    • GHDL
    • NVC
    • 無料のHDLプロジェクト
  • コマーシャル/プロプライエタリ
    • VHDL Simili
    • アクティブHDL
    • 鋭い企業シミュレーター
    • ModelSim

ツール

  • EDA Utils:VHDL、Verilog、その他のHDLを操作するためのユーティリティの大規模なコレクション.
  • EDA Playground:VHDLデザインをテストするためのオンラインサンドボックス.
  • エディターパッケージ
    • Emacs VHDLモード
    • vim用VHDLプラグイン
    • Sublime Text用のVHDLパッケージ
    • AtomのVHDL
    • メモ帳用VHDL++

また知っておくべき…

VHDLは、2つの主要なハードウェア記述言語の1つです。もう1つはVerilogです。ほとんどのハードウェア設計者は、両方と、Cand Cなどの低レベルのオペレーティングシステム言語に精通しています。++.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me