Article header library hdl first article header  3

はじめてみよう!テストベンチ

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

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 の使い方については、公開中の資料をご覧ください。


Article header coffeebreak 2  1

コーヒー・ブレイク:NativeLink

アルテラの FPGA/CPLD 開発ツールの Quartus Prime / Quartus II 開発ソフトウェアは、EDA シミュレータを Quartus Prime / Quartus II から実行させてシミュレーション結果を表示させるところまで自動実行させることができます。この NativeLink 機能を使用することで、シミュレータの起動やコンパイル、デザインのロードなどの作業をわざわざ手動で実行する手間が省けます。 但し、事前にテストベンチを作成しておく必要があるので、それをお忘れなく...


EDA:電子機器や半導体など電子系の設計作業を自動化し、支援するためのソフトウェア、ハードウェアおよび手法の総称。



関連タグ