仮想JTAG(altera_virtual_jtag)IP コアのユーザーガイド

ID 683705
日付 10/31/2016
Public
ドキュメント目次

1.6. シミュレーション・サポート

仮想JTAG インターフェイス動作は、アルテラがサポートするすべてのシミュレーターを使用してシミュレートできます。シミュレーションのサポートは、DR およびIR スキャンシフト動作用です。 シミュレーションのために、IP コアの動作シミュレーション・モデルが、altera_mf ライブラリーのVHDL とVerilog HDL の両方で提供されています。モデルのI/O 構造はIP コアと同じです。

実装では、仮想JTAG IP コアは一方でデザインに接続し、もう一方でJTAG ハブを介してJTAG ポートに接続します。ただし、シミュレーション・モデルはデザインにのみ接続します。JTAG 回路向けのシミュレーション・モデルはありません。したがって、シミュレーションで仮想JTAG IP コアのスキャンシフト動作を模倣するためにデバイスのJTAG ポートからスティミュラスを提供することはできません。

シミュレーションにおけるスキャン動作は、シミュレーション・モデルを用いて実現されます。シミュレーション・モデルは、信号生成装置、SLD ハブのモデル、および仮想JTAG モデルから構成されています。ウィザードで定義されたスティミュラスは、バリエーション・ファイルからこのシミュレーション・モデルにパラメーターとして渡されます。シミュレーション・パラメーターは以下の表の通りです。信号生成装置は続いて、tcktditms などの仮想JTAG IP コア出力に必要な信号を生成します。

このモデルは、無制限数の仮想JTAG インスタンスのシミュレーションを可能にするようにパラメーター化されています。パラメーターsld_sim_action は、IR とDR スキャンシフトに使用される文字列を定義します。各仮想JTAG のバリエーション・ファイルは、これらのパラメーターを仮想JTAG コンポーネントに渡します。仮想JTAG のバリエーション・ファイルは、異なるスティミュラスを生成するためにいつでも編集できますが、DR およびIR スキャンシフトのスティミュラスを指定する方法として推奨されるのは、パラメーター・エディターを使用することです。

注:

機能シミュレーションとタイミング・シミュレーションを実行するには、<Quartus II installation directory>\eda\sim_lib ディレクトリーにあるaltera_mf.v ライブラリーを使用する必要があります。VHDL の場合は、<Quartus II installation directory>eda\sim_lib ディレクトリーにあるaltera_mf.vhd ライブラリーを使用する必要があります。VHDL component 宣言ファイルは、<Quartus II installation directory>\eda\sim_lib ディレクトリーのaltera_mf_components.vhd ライブラリーにあります。

表 9.  シミュレーション・パラメーターの概要

パラメーター

概要

SLD_SIM_N_SCAN

シミュレーション・モデルのシフト数を指定します。

SLD_SIM_TOTAL_LENGTH

IR シフトまたはDR シフトのいずれかでシフトされるビットの総数。 この値は、SLD_SIM_ACTION 文字列で指定されたすべてのlength 値の合計と等しくなければなりません。

SLD_SIM_ACTION

命令レジスター(IR)およびデータレジスター(DR)のスキャンシフトに使用される文字列を指定します。 文字列の形式は次のとおりです。

((time,type,value,length),
(time,type,value,length),
 ...
(time,type,value,length))

ここでは、

  • time—直前のシフトの完了に対するシフトの開始時刻を表す32 ビットのミリ秒単位の値
  • type—シフトがDR シフトであるかIR シフトであるかを決定する4 ビットの値
  • value—シフトに関連するデータ。 IR シフトの場合は32 ビット値。 DR シフトの場合、長さはlength によって決定される
  • length—シフトされるデータの長さを指定する32 ビットの値。この値はSLD_NODE_IR_WIDTH と等しくならなければならない。それ以外の場合、値フィールドは充填されたり切り捨てられたりする。0 は無効

エントリーは16 進形式です。

シミュレーションには以下の制限があります。

  • スキャンシフト(IR またはDR)は、シミュレーション時に少なくとも1 ミリ秒離れている必要がある
  • このIP コアには、動作レベルまたは機能レベルのシミュレーション・サポートのみが存在する。ゲートレベルまたはタイミングレベルのシミュレーションはサポートされない
  • 動作シミュレーションでは、スティミュラスは、仮想JTAG モデルの信号生成装置モデルに、tcktmstdi などに対して必要な出力を生成するために必要な信号のシーケンスを生成するよう指示する。デバイスのJTAG ピンでスティミュラスを与えることはできない
  • シミュレーションで使用されるtck クロック周期は、50% のデューティサイクルで10 MHz。ハードウェアでは、tck クロックサイクルの周期は変化しうる
  • 実際のシステムでは、仮想JTAG IP コアの各インスタンスは独立して動作する。 シミュレーションでは、複数のインスタンスが同時に動作することができる。例えば、仮想JTAG インスタンス番号1 のスキャンシフトを3 ミリ秒で、仮想JTAG インスタンス番号2 のスキャンシフトを同時に実行するように定義した場合、シミュレーションは正しく機能できる

ModelSim-Altera シミュレーターを使用している場合は、altera_mf.v およびaltera_mf.vhd ライブラリーがコンパイル済みの形式でシミュレーターに提供されます。

以下の図は、典型的なIR スキャンシフト動作中における仮想JTAG IP コアの入力と出力を示しています。

図 15. IR シフトの波形

以下の図は、典型的なDR スキャンシフト動作中における仮想JTAG IP コアの入力と出力を示しています。

図 16. DR シフトの波形