〒224-0041 神奈川県横浜市都筑区仲町台1-3-7
◆電車でお越しの場合
横浜市営地下鉄ブルーライン 仲町台駅より徒歩1分
◆お車でお越しの場合
第三京浜 都筑インターより5分

1. 概要
  ① Verilog-HDL のシステムタスクを用いたテストパターンの作成を行う。

  ② 使用するシステムタスクは『$readmemh』、『$fopen』、『$fclose』、『$fdisplay』を使用。
外部ファイルの読み込み、シミュレーションデータの外部ファイルへの書き出しを用いたシミュレーションを行う。
 

2. システムタスクを用いたシミュレーションについて
  ① 通常シミュレーションを行う場合テストベンチ上でシミュレーション対象のモジュールへ信号を与えるテスト記述を行うが、複雑なシミュレーションデータを用いてシミュレーションを行う場合、テスト記述で時間がかかり、テストソースが膨大な量になりテストソースの修正が大変である。
システムタスクを用いた場合のシミュレーションのメリットとしてテスト記述の使いまわし、記述の簡略化、検証結果のデータを外部ファイルへ出力を行う事で設計期間の短縮が期待出来る。

1.bmp

3. システムタスクについて
 ① 外部ファイルの読み出し(『$readmemh』について
『$readmemh』は16 進数データの読み出しを行うシステムタスクである。
『$readmemb』で宣言した場合2 進数データのファイルを読み出せる。
『$readmemh』宣言後(“『読み出しを行うファイル』”, 『読み出しデータの書き込みを行うレジスタの宣言』, 『先頭アドレス』, 『最終アドレス』);となっていて、読み出しを行うファイルのパスはシミュレータのプロジェクトファイルのあるディレクトリを基準としてパスを宣言する。
上記の宣言ではシミュレータのプロジェクトファイルと同じディレクトリに読み出しファイルを置く。

2.bmp

  ② 外部ファイルの書き込み(『$fopen』、『$fclose』、『$fdisplay』について)
   A) 『$fopen』は書き込みを行うファイルの展開を行うシステムタスクである。
       ファイル変数のmcd を用いて記述を行う。
       mcd = $fopen (“書き込みを行うファイル名”);で使用する。

   B) 『$fclose』は書き込みを行ったファイルを閉じるシステムタスクである。

       読み出し記述の最後に記述を入れる。
   C) 『$fdisplay』はファイルへのデータの書き込みを行うシステムタスクである。
      $fdisplay(mcd,”HEX データ”,書き込みを行うイベント);で使用する。
     下記の記述例では i がインクリメントされるごとに16 進表記のデータをファイルへ書き込みを行う。

3.bmp

記述例ではデータの取り込み開始に状態遷移を用いている。
シーケンス 2’h0 でデータの取り込み開始をif 文で記述しデータの取り込みを開始。
シーケンス 2’h1 ではcnt レジスタ(カウンタ)がインクリメントされるごとに『data』をmem レジスタへ格納を行う。cnt レジスタが2048 数カウントを終えたらシーケンス2’h2 へ状態遷移を行う。
シーケンス 2’h2 ではmem レジスタに格納されたデータのファイル書き込みを行っている。
データの書き込みを行う場合、メモリ(ファイル出力を行うデータの格納しているレジスタ)への書き込みの完了後にデータを読み出さないと無効なデータが出力されるため、使用例のようにステートマシンを使用するか、メモリへのデータ書き込みの完了のイベントをフラグにデータの書き込みのイベントを開始するとよい。

4. 評価
  ① シミュレーション対象モジュール内にて$fopen タスクを使用しRead タスクより読み出されたデータをダンプしデータが一致していることを確認する。
  ② シミュレーション上にて読み出したデータとシミュレーション対象のデータの波形が一致していることを確認する。
なお、ファイル読み出しを行うデータはサイン波とする。
 

5. 回路の作成

4.bmp

  A) 上記は読み出しファイルの先頭アドレスと最終アドレスの記述例である。
      クロック同期で先頭アドレスから順次読みだされる。
 

6. 結果
  ① 下図に読み出しを行ったデータと、シミュレーション対象からダンプを行ったデータの先頭アドレス付近と、最終アドレス付近のデータである。
先頭アドレス、最終アドレス付近のデータはそれぞれ一致していた。

5.bmp

  下図は読み出しデータと、シミュレーション対象のデータをシミュレータ上にてサイン波で表示した波形である。両波形とも波形が一致していた。

6.bmp

お問合せ・ご相談はこちら

お電話でのお問合せ・ご相談はこちら
045-949-0081

弊社はアナログおよびデジタルの電子回路設計でお悩みのお客様に、最適なハードウエアデザイン・ソフトウエアデザインをご提供します。
高周波アナログ回路設計と高集積ロジック信号処理の両方に強みを持っております。
また、環境に配慮した省電力、省資源で電子機器のシステム化をお手伝いします。