初めての VHDL プログラムの作成方法:Hello World!
新しいプログラミング言語を学ぶとき、私はいつも印刷方法を学ぶことから始めるのが好きです. 「Hello World!」の出力をマスターすると、環境が機能していることがわかります。また、言語の基本的なスケルトン、出力を生成するために必要な最小限のコードも示します。
VHDL はハードウェア記述言語ですが、どうすればテキストを出力できるのでしょうか? FPGA か何かに接続されたスクリーンと、その間にあるあらゆる種類のロジックが必要になりますが、それはまったく単純ではありません。これはすべて真実ですが、FPGA と ASIC のことはしばらく忘れて、VHDL 言語に注意を向けましょう。
このブログ投稿は、基本的な VHDL チュートリアル シリーズの一部です。
VHDL は並列プログラミング言語と見なすことができるため、このプログラマーのアプローチを学習に使用できます。私たちはこの言語を使ってデジタル回路を記述しているため、コンピューターで実行できる唯一の方法は、シミュレーター を使用することです。 、そしてシミュレーターは間違いなく「Hello World!」を出力できます。画面に。
VHDL シミュレーターとエディターを無料でインストールする方法
エクササイズ
このビデオ チュートリアルでは、最初の VHDL プログラムを作成する方法を紹介します:
作成した最終的なコード:
entity T01_HelloWorldTb is end entity; architecture sim of T01_HelloWorldTb is begin process is begin report "Hello World!"; wait; end process; end architecture;
ModelSim で実行ボタンを押したときのシミュレータ コンソールへの出力:
VSIM 2> run # ** Note: Hello World! # Time: 0 ns Iteration: 0 Instance: /t01_helloworld
分析
最初の 2 行で entity を宣言しました .モジュールのエンティティは、その入力と出力を宣言します。シミュレーターでモジュールを実行できるようにするために、モジュールに入力または出力を含めることはできません。したがって、モジュールには空のエンティティ宣言以外はありません。
次に、アーキテクチャを宣言しました モジュールの。エンティティがモジュールの外界へのインターフェイスであるのに対し、アーキテクチャはモジュールの内部実装です。モジュールには、同じエンティティで使用できる複数のアーキテクチャが含まれる場合があります。これらは高度な VHDL 機能であるため、現時点ではあまり心配する必要はありません。
アーキテクチャ内で、プロセスを宣言しました .今のところ、プロセスはプログラム内のスレッドと考えることができます。そこでは、物事が順番に発生します。
プロセス内で「Hello World!」を出力します。 report
を使用して キーワード。次の行には、単一の wait;
があります。 .シミュレーターがこの行に到達すると、それ以上何も起こりません。プロセスはここで永久に待機します。
このデザインを ModelSim でシミュレートしたところ、「Hello World!」というメッセージが表示されました。コンソール出力に出力されました。その後、何も起こりませんでした。
テイクアウト
- プロセスはプログラム スレッドと考えることができます
report
ステートメントはシミュレータ コンソールにテキストを出力します- プロセスの実行は
wait;
で永久に待機します 声明
次のチュートリアルに進む »
VHDL