Article header library hdl first article header  2

はじめてみよう!VHDL <演習問題つき>

この『はじめてみよう!VHDL <演習つき>』は、はじめて VHDL でハードウェア論理回路の設計を行う方向けのページです。基礎の基礎から学習でき、演習を実施して理解を深めることができます。

概要

『VHDL 入門編トライアル・コース・ワークショップ』は、マクニカグループの株式会社アルティマと株式会社エルセナで 2016年3月まで開催していたワークショップです。
定期開催の終了に伴い、リニューアルして同じ内容を Web ページに掲載することになりました。

本ワークショップの対象者とコンセプト、アジェンダは、以下の通りです。

<対象者>
VHDL による論理回路設計が初めての人

<コンセプト>
VHDL の概要を理解して、基本的な記述方法を習得しましょう!

<アジェンダ>
言語設計の概要
VHDL の基本事項
VHDL の構造
回路記述
  • 簡単な組み合わせ回路
  • 複雑な組み合わせ回路
  • 順序回路
  • 下位ブロックの呼び出し

マテリアル

このページでは、以下のマテリアルを提供しています。

テキストや演習マニュアル、演習データをダウンロードすれば、自分のペースで勉強できます。習得のキッカケにして頂けたら幸いです。

テキスト

  • 説明が簡潔にまとめられたテキストです。
  • 補足説明も話し言葉で書かれているので、非常にわかりやすいです。

VHDL_Trial_Text_r1__1.pdf

テキスト

演習マニュアル & 演習データ

  • テキストの内容をもとに演習をやることで、理解度が増します。
  • この演習を行うには、ModelSim® が必要です。
    • アルテラのサイトから、ModelSim-Altera® をダウンロード することができます。
    • 無償版の ModelSim-Altera Starter Edition をインストールすれば、ライセンス設定をしなくてもすぐに使用できます。
  • 演習データをダウンロードして、演習を行ってください。
    • ZIP ファイルを解凍すると EXE ファイルが生成されます。その EXE ファイルを実行して、任意のフォルダに展開してください。
    • デフォルトは C:\lab\vhdl_lab に展開されるようになっています。

VHDL_Trial_Lab-Manual_r1__1.pdf

演習マニュアル

VHDL_Trial_Lab_r1_download__2.zip

演習データ

テストベンチ(シミュレーションするならテストベンチが必要!)

<デザインの論理検証の重要性とテストベンチ>

FPGA 内のデザイン(回路)は Verilog-HDL や VHDL といったハードウェア記述言語(HDL)で設計するのが主流になっていることは皆さんもご存じのことと思います。コンパイルや実機デバッグの前に、HDL で設計したデザインが正しく動作するかを確認するための検証作業が必要となります。デザインの論理的な検証はシミュレーションを実施することになりますが、シミュレーションをするにはデザインへの入力条件(テスト条件)を記述したテストベンチがデザインとは別に必要となります。そして、そのテストベンチも主に設計者がデザインと同様に HDL で記述することになります。 テストベンチを作る前には、どのような検証を行うかを考える必要があります。また、検証対象のデザインがどのような動作をするべきかを知っていなければなりません。それらをきちんと把握した上で、テストベンチを作成してください。 ここでは、はじめての方にもわかるようなテストベンチの作成に最低限必要となりそうな内容に絞って、記述例も交えて説明していきます。

<テストベンチとデザイン(回路)の関係>

FPGA 内のデザイン(回路)を設計するには、階層設計手法が主に用いられます。テストベンチは階層的にいうと、デザインのトップ階層よりも上位の階層に位置します。テストベンチ内でデザインのトップ階層に対する入力条件(クロック入力やリセット入力、その他の入力など)を HDL で記述して、下位階層に位置するデザインのトップ階層に入力させます。入力させた信号が各回路を経由して結果が出力され、その結果をシミュレータで確認することで動作が正しいかどうかを判断します。

Article header tb fig 1  5

ここからは、Verilog-HDL と VHDL のそれぞれにおける具体的なテストベンチの記述方法を解説します。なお、テストベンチのモジュール名(Verilog-HDL)やエンティティ名(VHDL)には _tb_sim と付けているケースを多く見かけますが、これは決してルールではありません。自由に名前を決めてもらって大丈夫です。


Article header coffeebreak 2  4

コーヒー・ブレイク:シミュレータ

設計したデザインをシミュレーションするには、シミュレータが必要です。アルテラ・ユーザ向けには ModelSim-Altera をオススメします。ModelSim-Altera の使い方については、公開中の資料をご覧ください。


関連タグ