図 10-24: テスト・パターン・チェッカー
テスト・パターン・チェッカー・コアは、Avalon-STインタフェースを介してデータを受け取 り、テスト・パターン・ジェネレータがデータの生成に使用するのと同じ事前に決定されたパタ ーンに照らし合わせて検証します。テスト・パターン・チェッカー・コアは、制御インタフェー スに例外を報告し、エラー・ビットの数やデータ幅といったテスト・パターン・チェッカーの
Avalon-STインタフェースにある多くの部分をパラメータ化することが可能です。パラメータ
化を行うことで、異なるインタフェースを持つコンポーネントを検証する機能がイネーブルでき るようになります。テスト・パターン・チェッカーは、Avalon-MM制御インタフェースを介し て設定するスロットル・レジスタを有します。スロットル・レジスタの値は、データが受け入れ られる速度を制御します。
Avalon-MM Slave Port
Avalon-ST Sink
TEST PATTERN CHECKER data_in
control & status
テスト・パターン・チェッカーは例外を検出し、深度が32エレメントの内部FIFOを介して制 御インタフェースにその例外を報告します。このような例外には、データ・エラー、スタート・
オブ・パケット(SOP)の欠如、エンド・オブ・パケット(EOP)の欠如、およびシグナル・エ ラーがあります。
こうした例外が発生すると、FIFOに例外ディスクリプタがプッシュされますが、同じ例外が連 続して複数回発生した場合は、1つの例外ディスクリプタだけがFIFOにプッシュされます。
FIFOがフルになると、例外はすべて無視されます。例外ディスクリプタが制御およびステータ ス・インタフェースによって読み取られると、例外ディスクリプタはFIFOから削除されます。
テスト・パターン・ジェネレータの入力インタフェース
テスト・パターン・チェッカーの入力インタフェースは、オプションでデータ・パケットをサポ
ートするAvalon-STインタフェースです。システム要件と整合するように、入力インタフェース
をコンフィギュレーションすることができます。受信データは、インターリーブされたパケット
QII51025
2014.12.15 2014.12.15 テスト・パターン・ジェネレータの機能パラメータ 10-43
のフラグメントを含ことがあります。テスト・パターン・チェッカーは各チャネルの内部状態を 維持することで、シンボルの現在位置を記録します。
テスト・パターン・チェッカーの制御およびステータス・インタフェース
テスト・パターン・チェッカーの制御インタフェースおよびステータス・インタフェースは、32
ビットのAvalon-MMスレーブであり、データ受入れのイネーブルとディセーブルやスロットル
の設定を行うことができます。このインタフェースは、チャネルの数、そしてテスト・パター ン・チェッカーがデータ・パケットをサポートするかどうか、といった生成時の情報を提供しま す。制御インタフェースおよびステータス・インタフェースは、テスト・パターン・チェッカー によって検出された例外に関する情報も提供します。インタフェースは、この情報を例外FIFO から読み取ることで取得します。
テスト・パターン・チェッカーの機能パラメータ
テスト・パターン・チェッカーの機能パラメータを使用すると、システム全体としてテスト・パ ターン・チェッカーをコンフィギュレーションすることができます。
テスト・パターン・チェッカーの出力インタフェース
次に示すパラメータを使用してテスト・パターン・チェッカーの入力インタフェースをコンフィ ギュレーションすることができます。
• Data Bits Per Symbol—シンボルあたりのビットは、readdata信号とwritedata信号の幅に関 連しており、シンボルあたりのビットの倍数でなければなりません。
• Data Symbols Per Beat—ビートあたりの転送シンボル(ワード)数です。有効な値は1~32で
• Include Packet Support—データ・パケット転送がサポートされるかどうかを示します。パケッす。
ト・サポートには、startofpacket、endofpacket、およびempty信号が含まれます。
• Number of Channels—テスト・パターン・チェッカーがサポートしているチャンネル数です。
有効な値は1~256です。
• Error Signal Width (bits)—入力インタフェースのエラー信号の幅です。有効な値は1~31で す。値0はエラー信号が使用されていないことを表します。
注: データ幅を変更せずにシンボルあたりのビットのみを変更する場合、エラーが生成されま す。
テスト・パターン・ジェネレータとテスト・パターン・チェッカー・コア用のソ フトウェア・プログラミング・モデル
HALシステム・ライブラリ・サポート、ソフトウェア・ファイル、およびレジスタ・マップは、
テスト・パターン・ジェネレータとテスト・パターン・チェッカー・コア用のソフトウェア・プ ログラミング・モデルを記述します。
HAL
システム・ライブラリ・サポートアルテラでは、Nios IIプロセッサ・ユーザ向けに、テスト・パターン・ジェネレータおよびテ スト・パターン・チェッカー・コアにアクセスし初期化できるHALシステム・ライブラリ・ド ライバを提供しています。アルテラは、レジスタに直接アクセスするのではなく、提供されたド ライバを使用してコアにアクセスすることを推奨しています。
Nios II IDEユーザであれば、提供されたドライバを以下のインストレーション・フォルダからお
10-44 テスト・パターン・チェッカーの制御およびステータス・インタフェース 2014.12.15 2014.12.15QII51025
• <IP installation directory>/ip/sopc_builder_ip/altera_avalon_data_source/HAL
• <IP installation directory>/ip/sopc_builder_ip/altera_avalon_data_sink/HAL
注: Nios IIコマンドライン・ツールには、この手順は適用されません。
テスト・パターン・ジェネレータ・ファイルおよびテスト・パターン・チェッカー・コア・フ ァイル以下のファイルは、ハードウェアへの下位レベル・アクセスを定義し、HALデバイス・ドライ
バ用にルーチンを提供します。
注: テスト・パターン・ジェネレータ・ファイルおよびテスト・パターン・チェッカー・コア・
ファイルは変更しないでください。
• テスト・パターン・ジェネレータ・ファイル:
• data_source_regs.h—テスト・パターン・ジェネレータのレジスタ・マップを定義するヘッ ダー・ファイルです。
• data_source_util.h 、 data_source_util.c—ドライバをHALシステム・ライブラリに統合する のに必要な関数および変数のヘッダとソース・コードです。
• テスト・パターン・ジェネレータ・ファイル:
• data_sink_regs.h—コアのレジスタ・マップを定義するヘッダ・ファイルです。
• data_sink_util.h 、 data_sink_util.c—HALシステム・ライブラリにドライバを統合する際に 必要となる関数と変数へのヘッダーおよびソース・コードです。
テスト・パターン・ジェネレータおよびテスト・パターン・チェッカー・コアのレジスタ・マ ップ
テスト・パターン・ジェネレータの制御およびステータス・レジスタ
表10-13: テスト・パターン・ジェネレータの制御およびステータス・レジスタ・マップ
テスト・パターン・ジェネレータの制御およびステータス・レジスタのオフセットを示しています。各 レジスタの幅は32ビットです。
オフセット レジスタ名
base + 0 status
base + 1 control
base + 2 fill
表10-14: テスト・パターン・ジェネレータのステータス・レジスタ・ビット
ビット 名称 アクセス 説明
[15:0] ID RO 定数値は0x64です。
QII51025
2014.12.15 2014.12.15 テスト・パターン・ジェネレータ・ファイルおよびテスト・パターン・チェッカ
ー・コア・ファイル 10-45
ビット 名称 アクセス 説明
[23:16] NUMCHANNELS RO コンフィギュレーションされたチャネル数で
す。
[30:24] NUMSYMBOLS RO ビートあたりのコンフィギュレーションされ
たシンボル数です。
[31] SUPPORTPACKETS RO 値1はデータ・パケット・サポートを表しま
す。
表10-15: テスト・パターン・ジェネレータのコントロール・レジスタ・ビット
ビット 名称 アクセス 説明
[0] ENABLE RW このビットを1に設定すると、テスト・パターン・ジェネレ
ータ・コアがイネーブルされます。
[7:1] 予約
[16:8] THROTTLE RW 0~256の範囲となるスロットル値を指定します。テスト・パ
ターン・ジェネレータは、データ発生率を絞るために、擬似 ランダム数ジェネレータと連動してスロットル・レジスタの 値を使用し、データ生成レートを抑制します。
このTHROTTLEを0に設定すると、テスト・パターン・ジェ
ネレータ・コアが停止し、0~256の値に設定すると、スロッ トル値に比例したデータ・レート結果となります。
[17] SOFT RESET RW このビットを1に設定すると、内部カウンタと統計のすべて
がリセットされます。リセットを終了させるには、このビッ トに0をライトします。
[31:18] 予約
表10-16: テスト・パターン・ジェネレータのフィル・レジスタ・ビット
ビット 名称 アクセス 説明
[0] BUSY RO 値1は、データ送信が進行中であるか、もしくはコマンド・
キュー内に少なくとも1つのコマンドがあることを示して います。
[6:1] 予約
[15:7] FILL RO 現在のコマンドFIFO内にあるコマンドの数を取得します。
10-46 テスト・パターン・ジェネレータの制御およびステータス・レジスタ 2014.12.15 2014.12.15QII51025
ビット 名称 アクセス 説明 [31:16] 予約
テスト・パターン・ジェネレータのコマンド・インタフェース
表10-17: テスト・パターン・ジェネレータのコマンド・レジスタ・マップ
コマンド・レジスタのオフセットを示しています。各レジスタの幅は32ビットです。
オフセット レジスタ名
base + 0 cmd_lo
base + 1 cmd_hi
cmd_loがアドレス指定される場合にのみcmd_loがFIFOにプッシュされます。
表10-18: cmd_loレジスタ・ビット
ビット 名称 アクセス 説明
[15:0] SIZE RW シンボルでのセグメント・サイズです。パケットの最後のセ
グメントを除き、すべてのセグメントのサイズは、ビートあ たりのコンフィギュレーションされたシンボル数です。こ の条件が満たされない場合、テストパターン・ジェネレー タ・コアは、条件が確実に満たされるようにセグメントに追 加のシンボルを挿入します
[29:16] CHANNEL RW セグメントを送信するチャネルです。channel信号が14ビ
ット幅より小さい場合、テスト・パターン・ジェネレータ は、このレジスタの下位ビットを使用し信号をドライブしま す。
[30] SOP RW パケットの最初のセグメントを送信する場合、このビットを 1に設定します。データパケットがサポートされていない 場合、このビットは無視されます。
[31] EOP RW パケットの最後のセグメントを送信する場合、このビットを 1に設定します。データパケットがサポートされていない 場合、このビットは無視されます。
QII51025
2014.12.15 2014.12.15 テスト・パターン・ジェネレータのコマンド・インタフェース 10-47