などについての情報が手に最初のVHDLで記述されたプログラム:こんにちは。
新しいプログラミング言語を学ぶとき、私はいつも印刷する方法を学ぶことから始めたいと思っています。 ときにマスター出力”こんにちは。”、あなたは環境が働いていることを知っています。 また、言語の基本的なスケルトン、任意の出力を生成するために必要な最低限のコードを示しています。
あなたは考えているかもしれません:しかし、VHDLはハードウェア記述言語ですが、どのようにしてテキストを出力できますか? あなたは、FPGAまたは何かとの間にロジックのすべての種類に接続された画面が必要になり、それは全く単純ではないでしょう。 これはすべて真実ですが、FPGAとASICのことをちょっと忘れて、VHDL言語に注意を集中しましょう。
このブログ記事は、基本的なVHDLチュートリアルシリーズの一部です。
VHDLは並列プログラミング言語と考えることができるので、このプログラマのアプローチを使用して学習することができます。 を使用しておりますので、記述言語デジタル回路、すでに当社のコンピュータシミュレータを使用した、シミュレータで出力可能なもの”こんにちは。”画面に。
VHDLシミュレータとエディタを無料でインストールする方法
演習
このビデオチュートリアルでは、最初のVHDLプログラムを作成する方法を紹介します。
:
entity T01_HelloWorldTb isend entity;architecture sim of T01_HelloWorldTb isbegin process is begin report "Hello World!"; wait; end process;end architecture;
ModelSimでrunボタンを押したときのsimulatorコンソールへの出力:
VSIM 2> run# ** Note: Hello World!# Time: 0 ns Iteration: 0 Instance: /t01_helloworld
分析
最初の二つの行で、エンティティを宣言しました。 モジュールのエンティティは、その入力と出力を宣言します。 シミュレータでモジュールを実行できるようにするためには、入力または出力を持つことはできません。 したがって、私たちのモジュールには空のエンティティ宣言以外のものはありません。
次に、モジュールのアーキテクチャを宣言しました。 エンティティは外界へのモジュールのインターフェイスですが、アーキテクチャは内部実装です。 モジュールは、同じエンティティで使用できるいくつかのアーキテクチャを持つことができます。 これらは高度なVHDL機能であるため、この時点でこれらのことについてあまり心配しません。
建築の内部では、プロセスを宣言しました。 今のところ、我々は物事が順番に起こる私たちのプログラム内のスレッドとしてプロセスを考えることができます。
内の過程で、印刷しているという”こんにちは。”report
キーワードを使用します。 次の行には、単一のwait;
があります。 シミュレータがこの行に当たったとき、それ以上のことは起こりません。 プロセスはここで永遠に待ちます。
きいてシミュレーションを行本デザインModelSimしている”こんにちは。”がコンソール出力に出力されました。 その後、それ以上何も起こらなかった。
テイクアウト
- プロセスをプログラムスレッドと考えることができます
report
ステートメントはシミュレータコンソールにテキストを出力します- プロセスの実行は
wait;
ステートメント
次のチュートリアルに進みます”