パターン・ジェネレータの使用法

Agilent Technologiesの16720Aパターン・ジェネレータは、ディジタル設計チームが、開発中の回路のディジタル信号をエミュレートするのに用いられます。パターン・ジェネレータは、欠けているデバイスの代わりに用いたり、プロトタイプのファンクション・テストのための入力信号の機能を果たすことができます。

  • パターン・ジェネレータの概要
  • 被試験デバイスへの出力信号の接続
    • 適切なプローブ・ポッドの選択
    • プローブ・ポッドの接続
  • パターン・ジェネレータの構成
    • 出力モードの選択（チャネルと速度のトレード・オフ）
    • クロック・ソースの選択
  • バス／信号名のパターン・ジェネレータ・プローブへの割当て
  • ベクトル・シーケンスの作成
    • 初期化シーケンスの作成
    • メイン・シーケンスの作成
    • ベクトル／コマンドの挿入
    • 自動パターン入力によるベクトルの設定
    • シーケンスの編集
    • マクロの編集
    • ベクトル・シーケンス表示オプションの設定
  • パターン・ジェネレータ出力の実行／停止
  • パターン・ジェネレータの設定の保存／ロード
  • ベクトル・シーケンスのエクスポート／インポート
  • パターン・ジェネレータ・リファレンス
  • パターン・ジェネレータの制御、COMオートメーション
  • パターン・ジェネレータのセットアップ、XMLフォーマット

© Agilent Technologies, Inc. 2001-2004


パターン・ジェネレータの概要

Agilent Technologiesの16720Aパターン・ジェネレータは、ディジタル信号を作成するためのツールです。このジェネレータは、ディジタル回路をシミュレートしたり、ディジタル信号を作成してプロトタイプ・ハードウェアのファンクション・テストを行うのに外部信号源が必要なアプリケーションに用いられます。

ロジック解析システムのアナログ／ディジタル測定機能と併用すれば、ディジタル・スティミュラス／レスポンス測定ニーズに合った総合的なソリューションが実現します。

パターン・ジェネレータの使用手順

正確な出力パターン、クロック・タイプ／速度、必要な信号数は、用途によって異なります。パターン・ジェネレータの設定方法や作成する信号作成シーケンスの種類はさまざまです。ただし、手順という観点からすると、セットアップ、シーケンスの作成、パターン・ジェネレータの起動手順は毎回同じです。

  1. 被試験デバイスに対応するプロービングを選択します。

  2. Output ModeとClock Sourceパラメータを設定します。

  3. 回路にプローブを接続し、パターン・ジェネレータ・ユーザ・インタフェースでバスと信号を定義します。

  4. テスト・ベクトル・シーケンスを作成し、必要な出力信号を作成します。

  5. パターン・ジェネレータを起動し、目的の結果を得るために被試験デバイスを測定します。

パターン・ジェネレータ・プログラムの再使用

パターン・ジェネレータの設定が済んだら、必要に応じて設定を保存しておいて、再度使用することができます。テスト・ルーチン・セットまたは回路シミュレータを作成したい場合があるかもしれません。再使用可能設定の処理方法は3通りあります。

  • 以前に保存したパターン・ジェネレータ設定を再ロードすることができます。マクロ／ループは、最初に定義された通りに復元されます。

  • カンマ区切り値(CSV)フォーマット・ファイルから以前にエクスポートしたデータをインポートすることができます。CSVフォーマット・ファイルには、コンパイル済みのデータが含まれます。つまり、マクロは展開され、ループは反復ベクトル・シーケンスとして示されます。

  • パターン・ジェネレータ・バイナリ(PGB)フォーマット・ファイルからデータをインポートすることができます。PGBフォーマット・ファイルにデータをエクスポートすることはできません。

注記：

カンマ区切り値(CSV)フォーマット・ファイルとXMLフォーマット・ファイルに16522Aパターン･ジェネレータASCIIフォーマット・ファイルを変換して、それぞれにベクトル・データとセットアップ情報を含めることができます。

注記：

16700シリーズ・ロジック解析システムの構成ファイルに再使用したいパターン・ジェネレータ・データが含まれている場合は、データをパターン・ジェネレータ・バイナリ(PGB)フォーマット・ファイルにエクスポートして（16700シリーズ・ロジック解析システムから）、16900シリーズPGBフォーマットに変換することができます。

関連項目

  • 主な特性


被試験デバイスへの出力信号の接続

  • 適切なプローブ・ポッドの選択
    • データ・ポッドの概要
    • クロック・ポッドの概要
    • ポッド寸法
    • データ・ケーブルの特性（データ・ポッドなし）
    • クロック・ケーブルの特性（クロック・ポッドなし）
  • プローブ・ポッドの接続
    • ポッド-ボード間直接接続
    • ケーブル-ポッド間ジャンパ接続
    • プローブ・リード・セット-ボード・ピン間接続


適切なプローブ・ポッドの選択

用途に合った適切なクロック／データ・ポッドを簡単に選択できるように、以下の等価回路情報が提供されています。

  • データ・ポッドの概要
    • 10461A TTLデータ・ポッド
    • 10462A 3ステートTTL/CMOSデータ・ポッド
    • 10464A ECLデータ・ポッド（終端）
    • 10465A ECLデータ・ポッド（未終端）
    • 10466A 3ステートTTL/3.3Vデータ・ポッド
    • 10469A PECLデータ・ポッド
    • 10471A LVPECLデータ・ポッド
    • 10473A 3ステート2.5Vデータ・ポッド
    • 10476A 3ステート1.8Vデータ・ポッド
    • 10483A 3ステート3.3Vデータ・ポッド
    • E8141A LVDSデータ・ポッド
  • クロック・ポッドの概要
    • 10460A TTLクロック・ポッド
    • 10463A ECLクロック・ポッド
    • 10468A PECLクロック・ポッド
    • 10470A LVPECLクロック・ポッド
    • 10472A 2.5Vクロック・ポッド
    • 10475A 1.8Vクロック・ポッド
    • 10477A 3.3Vクロック・ポッド
    • E8140A LVDSクロック・ポッド
  • ポッド寸法
  • データ・ケーブルの特性（データ・ポッドなし）
  • クロック・ケーブルの特性（クロック・ポッドなし）

関連項目

  • プローブ・ポッドの接続


データ・ポッドの概要

  • 10461A TTLデータ・ポッド
  • 10462A 3ステートTTL/CMOSデータ・ポッド
  • 10464A ECLデータ・ポッド（終端）
  • 10465A ECLデータ・ポッド（未終端）
  • 10466A 3ステートTTL/3.3Vデータ・ポッド
  • 10469A PECLデータ・ポッド
  • 10471A LVPECLデータ・ポッド
  • 10473A 3ステート2.5Vデータ・ポッド
  • 10476A 3ステート1.8Vデータ・ポッド
  • 10483A 3ステート3.3Vデータ・ポッド
  • E8141A LVDSデータ・ポッド

関連項目

  • クロック・ポッドの概要
  • プローブ・ポッドの接続


10461A TTLデータ・ポッド

出力タイプ： | 10H125（100Ω直列）
最大クロック： | 200MHz
スキュー： | <2ns（代表値）、ワーストケース＝4ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | 10474A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


10462A 3ステートTTL/CMOSデータ・ポッド

出力タイプ： | 74ACT11244（100Ω直列）、非3ステート・チャネル7では10H125（「3ステート入力」イネーブル入力の使用法を参照）
3ステート・イネーブル： | 負論理、100kΩ～GND、接続なしの場合イネーブル
最大クロック： | 100MHz
スキュー： | <4ns（代表値）、ワーストケース＝12ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | 10474A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


10464A ECLデータ・ポッド（終端）

出力タイプ： | 10H115（348Ωプルダウン、42Ω直列）
最大クロック： | 300MHz
スキュー： | <1ns（代表値）、ワーストケース＝2ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | 10474A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


10465A ECLデータ・ポッド（未終端）

出力タイプ： | 10H115（未終端）
最大クロック： | 300MHz
スキュー： | <1ns（代表値）、ワーストケース＝2ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | 10347A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


10466A 3ステートTTL/3.3Vデータ・ポッド

出力タイプ： | 74LVT244（100Ω直列）、非3ステート・チャネル7では10H125（「3ステート入力」イネーブル入力の使用法を参照）
3ステート・イネーブル： | 負論理、100kΩ～GND、接続なしの場合イネーブル
最大クロック： | 200MHz
スキュー： | <3ns（代表値）、ワーストケース＝7ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | 10474A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


10469A PECLデータ・ポッド

出力タイプ： | 100EL09（5V、グランドに対し348Ωプルダウン、42Ω直列）
最大クロック： | 300MHz
スキュー： | <500ps（代表値）、ワーストケース＝1ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | 10498A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


10471A LVPECLデータ・ポッド

出力タイプ： | 100LVEL90（3.3V、グランドに対し215Ωプルダウン、42Ω直列）
最大クロック： | 300MHz
スキュー： | <500ps（代表値）、ワーストケース＝1ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | 10498A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


10473A 3ステート2.5Vデータ・ポッド

出力タイプ： | 74AVC16244
3ステート・イネーブル： | 負論理、38kΩ～GND、接続なしの場合イネーブル（「3ステート入力」イネーブル入力の使用法を参照）
最大クロック： | 300MHz
スキュー： | <1ns（代表値）、ワーストケース＝2ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | 10498A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


10476A 3ステート1.8Vデータ・ポッド

出力タイプ： | 74AVC16244
3ステート・イネーブル： | 負論理、38kΩ～GND、接続なしの場合イネーブル（「3ステート入力」イネーブル入力の使用法を参照）
最大クロック： | 300MHz
スキュー： | <1.5ns（代表値）、ワーストケース＝2.5ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | 10498A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


10483A 3ステート3.3Vデータ・ポッド

出力タイプ： | 74AVC16244
3ステート・イネーブル： | 負論理、38kΩ～GND、接続なしの場合イネーブル（「3ステート入力」イネーブル入力の使用法を参照）
最大クロック： | 300MHz
スキュー： | <1ns（代表値）、ワーストケース＝2ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | 10498A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


E8141A LVDSデータ・ポッド

出力タイプ： | 65LVDS389（LVDSデータ・ライン）、10H125（TTL非3ステート・チャネル7、「3ステート入力」イネーブル入力の使用法を参照）
3ステート・イネーブル： | 正論理TTL、接続なし＝イネーブル
最大クロック： | 300MHz
スキュー： | <1ns（代表値）、ワーストケース＝2ns（データ・ポッドのスキュー特性についてを参照）
推奨するリード・セット： | E8142A

ピン割当て

関連項目

  • ポッド寸法
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


データ・ポッドのスキュー特性について

GNDに対して約10pF/50kΩの負荷を持つポッド・コネクタで行われた代表的なスキュー測定。ワーストケースのスキュー値は、回路全体のワーストケース条件を計算して得られたものです。どちらの数値も、単一または複数のモジュール・システム内のすべてのチャネルに当てはまります。


「3ステート入力」イネーブル入力の使用法

パターン・ジェネレータは、停止時には常に最新のステート・ベクトル・セットを保持しています。

論理"1"レベルが「3ステート入力」入力に適用される場合、3ステート・イネーブル出力は「高インピーダンス」状態に置かれます。論理"0"レベルが「3ステート入力」入力に適用される場合、または入力が接続されていない場合は、3ステート・イネーブル出力がアクティブになり、最後のベクトルのレベルが出力されます。

3ステート制御のデータ・ポッドは、非3ステート・イネーブルのパラレル・チャネル7を提供します。この出力を「3ステート入力」入力にループバックすることにより、パターン・ジェネレータのチャネル7出力を3ステート制御信号として使用できます。


クロック・ポッドの概要

  • 10460A TTLクロック・ポッド
  • 10463A ECLクロック・ポッド
  • 10468A PECLクロック・ポッド
  • 10470A LVPECLクロック・ポッド
  • 10472A 2.5Vクロック・ポッド
  • 10475A 1.8Vクロック・ポッド
  • 10477A 3.3Vクロック・ポッド
  • E8140A LVDSクロック・ポッド

関連項目

  • データ・ポッドの概要
  • プローブ・ポッドの接続


10460A TTLクロック・ポッド

クロック出力タイプ： | 10H125（42Ω直列）、負および反転
クロック出力レート： | 100MHz（最大）
クロック出力遅延： | 14ステップで最大約8ns
クロック入力タイプ： | TTL - 10H124
クロック入力レート： | DC～100MHz
パターン入力タイプ： | TTL - 10H124（接続なしは論理1）
クロック入力からクロック出力まで： | 約30ns
パターン入力から認識まで： | 約15ns＋1クロック周期
推奨するリード・セット： | 10474A

ピン割当て

関連項目

  • ポッド寸法
  • データ・ポッドの概要
  • プローブ・ポッドの接続


10463A ECLクロック・ポッド

クロック出力タイプ： | 10H116差動未終端、-5.2Vに対し348Ω、42Ω直列の差動
クロック出力レート： | 300MHz（最大）
クロック出力遅延： | 14ステップで最大約8ns
クロック入力タイプ： | ECL - 10H116（-5.2Vに対し50k）
クロック入力レート： | DC～300MHz
パターン入力タイプ： | ECL - 10H116、50kΩ（接続なしは論理0）
クロック入力からクロック出力まで： | 約30ns
パターン入力から認識まで： | 約15ns＋1クロック周期
推奨するリード・セット： | 10474A

ピン割当て

関連項目

  • ポッド寸法
  • データ・ポッドの概要
  • プローブ・ポッドの接続


10468A PECLクロック・ポッド

クロック出力タイプ： | 100EL90（5V、グランドに対し348Ωプルダウン、42Ω直列）
クロック出力レート： | 300MHz（最大）
クロック出力遅延： | 14ステップで最大約8ns
クロック入力タイプ： | 100EL91 PECL（5V、未終端）
クロック入力レート： | DC～300MHz
パターン入力タイプ： | 100EL91 PECL (5V)、未終端（接続なしは論理0）
クロック入力からクロック出力まで： | 約30ns
パターン入力から認識まで： | 約15ns＋1クロック周期
推奨するリード・セット： | 10498A

ピン割当て

関連項目

  • ポッド寸法
  • データ・ポッドの概要
  • プローブ・ポッドの接続


10470A LVPECLクロック・ポッド

クロック出力タイプ： | 100LVEL90（3.3V、グランドに対し215Ωプルダウン、42Ω直列）
クロック出力レート： | 300MHz（最大）
クロック出力遅延： | 14ステップで最大約8ns
クロック入力タイプ： | 100LVEL91 PECL（3.3V、未終端）
クロック入力レート： | DC～300MHz
パターン入力タイプ： | 100LVEL91 PECL (3.3V)、未終端（接続なしは論理0）
クロック入力からクロック出力まで： | 約30ns
パターン入力から認識まで： | 約15ns＋1クロック周期
推奨するリード・セット： | 10498A

ピン割当て

関連項目

  • ポッド寸法
  • データ・ポッドの概要
  • プローブ・ポッドの接続


10472A 2.5 Vクロック・ポッド

クロック出力タイプ： | 74AVC16244
クロック出力レート： | 200MHz（最大）
クロック出力遅延： | 14ステップで最大約8ns
クロック入力タイプ： | 74AVC16244（最大3.6V）
クロック入力レート： | DC～200MHz
パターン入力タイプ： | 74AVC16244（最大3.6V、接続なしは論理0）
クロック入力からクロック出力まで： | 約30ns
パターン入力から認識まで： | 約15ns＋1クロック周期
推奨するリード・セット： | 10498A

ピン割当て

関連項目

  • ポッド寸法
  • データ・ポッドの概要
  • プローブ・ポッドの接続


10475A 1.8Vクロック・ポッド

クロック出力タイプ： | 74AVC16244
クロック出力レート： | 200MHz（最大）
クロック出力遅延： | 14ステップで最大約8ns
クロック入力タイプ： | 74AVC16244（最大3.6V）
クロック入力レート： | DC～200MHz
パターン入力タイプ： | 74AVC16244（最大3.6V、接続なしは論理0）
クロック入力からクロック出力まで： | 約30ns
パターン入力から認識まで： | 約15ns＋1クロック周期
推奨するリード・セット： | 10498A

ピン割当て

関連項目

  • ポッド寸法
  • データ・ポッドの概要
  • プローブ・ポッドの接続


10477A 3.3Vクロック・ポッド

クロック出力タイプ： | 74AVC16244
クロック出力レート： | 200MHz（最大）
クロック出力遅延： | 14ステップで最大約8ns
クロック入力タイプ： | 74AVC16244（最大3.6V）
クロック入力レート： | DC～200MHz
パターン入力タイプ： | 74AVC16244（最大3.6V、接続なしは論理0）
クロック入力からクロック出力まで： | 約30ns
パターン入力から認識まで： | 約15ns＋1クロック周期
推奨するリード・セット： | 10498A

ピン割当て

関連項目

  • ポッド寸法
  • データ・ポッドの概要
  • プローブ・ポッドの接続


E8140A LVDSクロック・ポッド

クロック出力タイプ： | 65LVDS179(LVDS)および10H125(TTL)
クロック出力レート： | 最大200MHz（LVDSおよびTTL）
クロック出力遅延： | 14ステップで最大約8ns
クロック入力タイプ： | 65LVDS179（LVDS、100Ω終端）
クロック入力レート： | DC～150MHz(LVDS)
パターン入力タイプ： | 10H124(TTL)（接続なしは論理1）
クロック入力からクロック出力まで： | 約30ns
パターン入力から認識まで： | 約15ns＋1クロック周期
推奨するリード・セット： | E8142A

ピン割当て

関連項目

  • ポッド寸法
  • データ・ポッドの概要
  • プローブ・ポッドの接続


ポッド寸法（ミリメートル単位）

関連項目

  • データ・ポッドの概要
  • クロック・ポッドの概要
  • プローブ・ポッドの接続


データ・ケーブルの特性（データ・ポッドなし）

クロック・ポッドがないデータ・ケーブルは、ECL終端（-3.25Vに対し470Ω）差動信号を提供します。これらの信号は、差動レシーバによって受信される場合に使用されます。この場合、ライン間を100Ωで終端するのが最適です。これらの信号は、立ち下がり時間の遅延や電圧しきい値の変動を引き起こすため、シングルエンドでは使用しないでください。ECLとの互換性はありません。


クロック・ケーブルの特性（クロック・ポッドなし）

クロック出力信号（CLKOUTおよびnot-CLKOUT）は、クロック・ポッドがない場合は、ECL終端（-3.25Vに対し215Ω）差動信号を提供します。これらの信号は、差動レシーバによって受信される場合に使用されます。この場合、ライン間を100Ωで終端するのが最適です。これらの信号は、立ち下がり時間の遅延や電圧しきい値の変動を引き起こすため、シングルエンドでは使用しないでください。ECLとの互換性はありません。


プローブ・ポッドの接続

注記：

適切な信号インタフェースを実現するには、クロック・ポッドとデータ・ポッドが必要です。さまざまな種類のポッドが用意されているので、被試験デバイスの回路特性に合ったものをお選びください。また、選択した出力モードによっては、使用できないポッドがあります。
  • ポッド-ボード間直接接続
  • ケーブル-ポッド間ジャンパ接続
  • プローブ・リード・セット-ボード・ピン間接続


ポッド-ボード間直接接続

ポッドを©3M 2520シリーズまたはPCボード上のそれに代わる類似のコネクタに直接プラグ接続します。


ケーブル-ポッド間ジャンパ接続

PCボード上にスペースの問題がある場合は、この方法を用いてください。フラットリボン・ケーブを作成し、上の図のように接続します。

注記：

3M以外から同等のコネクタを調達することができます。


プローブ・リード・セット-ボード・ピン間接続

PCボード・ピンの接続には、以下のプローブ・リード・アセンブリを使用できます。

  • E8142A 8チャネルLVDSプローブ・リード・セット（約15cmの長さのリード線）。
  • 10498A 8チャネル・プローブ・リード・セット（約15cmの長さのリード線）。
  • 10474A 8チャネル・プローブ・リード・セット（約30cmの長さのリード線）。
  • 10347A 8チャネル・プローブ・リード・セット、50Ω同軸（未終端信号用）。

どちらのリード・セットのプローブ・チップも、直径約0.065～0.0825cmの丸ピンまたは約0.0625cmの角ピンを備えた約0.25cmのグリッドに直接接続することができます。これらのプローブ・チップは、5090-4356表面実装グラバおよび5959-0288スルーホール・グラバと連携して動作します。

注記：

LVDSデータ・ポッドは、帯状のケーブルが上向きになるようにして、リード線に接続してください。


パターン・ジェネレータの構成

  • 出力モードの選択（チャネルと速度のトレード・オフ）
  • クロック・ソースの選択


出力モードの選択（チャネルと速度のトレード・オフ）

出力モードによって、チャネル幅、使用可能ポッド、内部と外部の両方のクロックの周波数レンジが決定します。クロック速度とチャネル幅のトレード・オフによって、何を選択するかが決まります。

出力モードはクロック周波数レンジ、使用可能ポッド、チャネル幅に影響を及ぼすため、回路のハードウェア・インタフェースを決定したり、テスト回路とパターン・ジェネレータのラベルの間のプローブ接続をマッピングする場合は、モードの選択を念頭に置いて行ってください。

この表は、フル・チャネル180Mb/sモードとハーフ・チャネル300Mb/sモードの違いを示したものです。

 | フル・チャネル180Mb/s | ハーフ・チャネル300Mb/s
使用可能なポッド | ポッド1、2、3、4、5、6 | ポッド1、3、5
最大チャネル数： | 48。ポッド当たり8 | 24。ポッド当たり8
最大外部クロック周波数 | 180MHz | 300MHz
最大内部クロック周波数 | 180MHz | 300MHz
最小外部クロック周波数 | DC | DC
最小内部クロック周波数 | 1MHz | 1MHz


クロック・ソースの選択

Clock Sourceフィールドは、内部と外部の間で切り替えられます。内部クロック・ソースは、パターン・ジェネレータによって提供され、ベクトルを被試験システムに出力するのに用いられる周波数を制御します。外部クロックは、ユーザまたは被試験システムによって提供され、クロック・ポッドのCLK INプローブ経由でのパターン・ジェネレータへの入力です。

外部クロックを使用することの利点は、パターン・ジェネレータのベクトル出力を被試験システムと同期させることです。どのクロック・ソースが用いられようと、ベクトルは常にクロックの立ち上がりエッジで出力されます。

内部クロック・ソース

出力ベクトルの周波数を制御したい場合、出力ベクトルを被試験システムと同期させることが重要でなければ、内部クロック・ソースを使用します。

1MHz単位でクロック周波数を選択します。キーパッドを使ってステップ間隔とステップ間隔の間の値を選択した場合、その値は最も近い間隔に丸められます。

 | フル・チャネル180Mb/s | ハーフ・チャネル300Mb/s
最大内部クロック周波数 | 180MHz | 300MHz
最小内部クロック周波数 | 1MHz | 1MHz

外部クロック・ソース

出力ベクトルの周波数を被試験システムと同期させたい場合は、外部クロック・ソースを使用します。このモードを選択した場合は、出力ベクトルの周波数を直接制御することはできません。出力ベクトルの周波数は、外部クロックと同じになります。

 | フル・チャネルでは180Mb/s | ハーフ・チャネルでは300Mb/s
最大外部クロック周波数 | 180MHz | 300MHz
最小外部クロック周波数 | DC | DC

注意：

外部クロックが最大周期より高速の場合は、Agilent 16720Aパターン・ジェネレータの出力ベクトルに誤差が生じます。

クロック出力遅延

クロック出力遅延設定により、データと出力クロックの配置を変更することが可能です。ゼロ設定は未校正なので、データに関する初期位置を決定するためには測定が必要です。500ps単位でクロックを遅延させることができます。


バス／信号名のパターン・ジェネレータ・プローブへの割当て

パターン・ジェネレータのベクトル・シーケンスを設定する前に、データを出力したいチャネルのバス／信号名を定義する必要があります。

Buses/Signalsタブを表示するには、メニュー・バーのSetup>(Pattern Generator Module)>Bus/Signal...コマンドを使用します。Buses/Signalsタブを使って、バス／信号名をプローブのポッド／チャネル接続にマッピング（割当て）します。Displayボタンを使って、表示するバス／信号情報を選択することができます。

Buses/Signalsタブでは、以下の作業を行います。

  • 新しいバスまたは信号の追加
  • バスまたは信号の削除
  • バスまたは信号の名前変更
  • デフォルトのビット順でのチャネルの割当て
  • チャネルを割り当てるためのビット順の選択
  • チャネル割当て文字列の編集によるビットの並替え
  • デフォルト基数の設定
  • 極性の設定
  • ユーザ・コマンドの追加
  • フォルダの追加
  • バス／信号名のソート

Displayボタンを使って、表示するバス／信号セットアップ情報を選択することができます（チャネル割当て、幅、極性、デフォルト基数、コメント、チャネル番号）。


新しいバスまたは信号の追加

パターン・ジェネレータのプローブ・チャネルをバス／信号名に割り当てる前に、バス／信号名を作成する必要があります。

  1. メイン・バーから、Setup>(Pattern Generator Module）>Bus/Signals...を選択します。

  2. Pattern Generator SetupダイアログのBuses/Signalsタブで、Add Bus/Signal...を選択します。

  3. Add Bus/Signalダイアログで、バス／信号の名前を入力します。

  4. OKをクリックします。

関連項目

  • バスまたは信号の削除
  • バスまたは信号の名前変更
  • デフォルトのビット順でのチャネルの割当て
  • チャネルを割り当てるためのビット順の選択


バスまたは信号の削除

バス／信号の削除機能を用いることによって、バスや信号を個別に削除したり、一度にすべて削除することができます。

  • 個々のバスまたは信号の削除
  • すべてのバス／信号の削除

個々のバスまたは信号の削除

  1. メイン・バーから、Setup>(Pattern Generator Module）>Bus/Signals...を選択します。

  2. Pattern Generator SetupダイアログのBuses/Signalsタブで、削除したいバスまたは信号を強調表示します。

  3. Deleteをクリックします。

すべてのバス／信号の削除

  1. メイン・バーから、Setup>(Pattern Generator Module）>Bus/Signals...を選択します。

  2. Pattern Generator SetupダイアログのBuses/Signalsタブで、Delte Allを選択します。


バスまたは信号の名前変更

バス／信号の名前変更機能を用いることによって、バス／信号名を変更することができます。名前が変更されたバス／信号のポッド・チャネル割当てはまったく変わりません。

  1. メイン・バーから、Setup>(Pattern Generator Module）>Bus/Signals...を選択します。

  2. Pattern Generator SetupダイアログのBuses/Signalsタブで、バス名または信号名を右クリックし、Rename...を選択します。

  3. 新しいバス名または信号名を入力します。

  4. OKをクリックします。

関連項目

  • 新しいバスまたは信号の追加
  • バスまたは信号の削除


デフォルトのビット順でのチャネルの割当て

  1. メイン・バーから、Setup>(Pattern Generator Module）>Bus/Signals...を選択します。

  2. Pattern Generator SetupダイアログのBuses/Signalsタブで、チャネルをバス／信号名に割り当てるためのグリッドの目を選択します。

    各パターン・ジェネレータ出力信号に対して、黒いチェック・マークを付けて、特定のポッド・チャネルをバス／信号名にマッピングする必要があります。未割当てチャネルは無効です。

    例：下の図では、

    • ポッドF1のチャネル0～7は、My Bus １にマッピングされています。
    • ポッドF2のチャネル0～7は、My Bus 2にマッピングされています。
    • ポッドF3のチャネル0は、My Signal １にマッピングされています。
    • ポッドF3のチャネル1は、My Signal 2にマッピングされています。

注記：

単一の出力チャネルを複数のバス／信号に割り当てることはできません。

関連項目

  • チャネル割当て文字列の編集によるビットの並替え
  • チャネルを割り当てるためのビット順の選択


チャネルを割り当てるためのビット順の選択

パターン・ジェネレータでは、選択したビット順にチャネルをバス名に割り当てることができます。

  1. メイン・バーから、Setup>Bus/Signal...を選択します。

  2. Pattern Generator SetupダイアログのBuses/Signalsタブで、バス名を右クリックし、Enable Channel Order Selectionを選択します。

  3. バスの下位ビットから上位ビットに向ってチャネルを割り当てるためのグリッドの目の選択を開始します。

    ビット番号は、グリッドの目を選択すると表示されます。

デフォルトのビット順のリセット

割当て済みチャネルのデフォルトのビット順では、左の方が上位ビット、右の方が下位ビットです（Bus/Signal Setupダイアログ）。

デフォルトのビット順をリセットする手順：

  • バス名を右クリックし、Enable Channel Order Selectionのチェックを外します。

関連項目

  • チャネル割当て文字列の編集によるビットの並替え
  • デフォルトのビット順でのチャネルの割当て


チャネル割当て文字列の編集によるビットの並替え

Channels Assignedテキスト文字列を編集することによって、バス名のビット順（デフォルト順または選択順に割り当てられた）を変更することができます。

  1. Pattern Generator SetupダイアログのBuses/Signalsタブで、バス名に対するChannels Assigendをクリックします。

  2. Assign Channelsダイアログで、バスの適切なビット順を入力します。

    例 | 説明
    Pod F1[0] | 最初のポッドの最初のチャネルから構成される信号。
    Pod F1[7:0] | Pod F1の8つチャネルすべてから構成されるバス（デフォルト順）。
    Pod F1[3:0], Pod F2[7:4] | 最初のポッドの4つのチャネルの後に、2番目のポッドの4つのチャネルが続くバス。
    Pod F1[7:0], Pod F2[7:0] | 16ビット・バス上のビッグエンディアン、リトルエンディアン・スイッチ。
    Pod F1[0,1,2,3] | ビットが逆順のバス。

  3. OKをクリックします。

    チャネル番号は、Buses/Signalsタブの再順序付けされたビットに対して表示されます。

デフォルトのビット順のリセット

以下のいずれかの手順を実行します。

  • バス名を右クリックし、Enable Channel Order Selectionのチェックを外します。

または、

  1. バス名に対するChannels Assignedをクリックします。

  2. Assign Channelsダイアログで、Default Channel Orderをクリックします。

  3. OKをクリックします。

関連項目

  • チャネルの割当て


デフォルト基数の設定

バスを作成する際に、バスのデフォルト基数を設定することができます。デフォルト基数は、カラムの挿入時にSequenceタブやMacrosタブで使用されます。デフォルト基数の影響を受けるのは、新しいバス／信号カラムだけです。既存のバスまたは信号のデフォルト基数を変更しも、SequenceタブやMacrosタブの基数が変わることはありません。

  1. メイン・メニューから、Setup>(Pattern Generator Module）>Bus/Signals...を選択します。

  2. Pattern Generator SetupダイアログのBuses/Signalsタブで、Displayをクリックし、Default Baseを選択します。

  3. バスまたは信号のデフォルト基数を変更するには、デフォルト基数値をクリックし、新しいデフォルト基数を選択します。


極性の設定

極性が負または正のバスおよび信号を定義することができます。この影響を受けるのは、パターン・ジェネレータによって表示される値だけなので、異なる極性のベクトルを表示または入力することができます。

デフォルト極性は正（1＝ハイ）です。

  1. メイン・メニューから、Setup>(Pattern Generator Module）>Bus/Signals...を選択します。

  2. Pattern Generator SetupダイアログのBuses/Signalsタブで、Displayをクリックし、Polarityを選択します。

  3. Polarity欄が表示されるので、+（正）／-（負）を切り替えます。


ユーザ・コマンドの追加

バスや信号にコメントを付けることができます。コメントは、XMLフォーマットの構成ファイルに記録されます。

  1. メイン・メニューから、Setup>(Pattern Generator Module）>Bus/Signals...を選択します。

  2. Pattern Generator SetupダイアログのBuses/Signalsタブで、Displayをクリックし、Commentを選択します。

    Comment欄が表示されます。

  3. Comment欄に、バスまたは信号に関するコメントを入力します。

注記：

コメントは、メモ帳としてではなく、バス／信号名を修飾するための記述子として用いられます。256文字までの長さのコメントを入力できます。


フォルダの追加

Add Folder...機能は、Windowsスタイルのフォルダをバス／信号リストに追加します。多数のバス／信号名を使用している場合は、フォルダを使ってバス／信号名を簡単に整理することができます。

  1. メイン・メニューから、Setup>(Pattern Generator Module）>Bus/Signals...を選択します。

  2. バス／信号名を右クリックし、Add Folder...を選択します。

  3. Add Folderダイアログで、フォルダ名を入力し、OKをクリックします。

    新しいフォルダが強調表示されているバス／信号名の真下に表示されます。希望するバス／信号名と同じにフォルダの名前を変更することができます。


バス／信号名のソート

バス／信号名やフォルダ名をソートして、簡単に整理することができます。

  1. メイン・メニューから、Setup>(Pattern Generator Module）>Bus/Signals...を選択します。

  2. Pattern Generator SetupダイアログのBuses/Signalsタブで、ソートするバス／信号またはフォルダ名の1つを右クリックし、Sort>AscendingまたはSort>Descendingを選択します。

関連項目

  • フォルダの追加


ベクトル・シーケンスの作成

テスト・ベクトルは、各クロック・サイクルにおけるパターン出力を決定します。テスト・ベクトルは、シーケンスと呼ばれるリスト内に位置付けられています。シーケンスが実行されると、ベクトル・リストが最初のベクトルから最後のベクトルの順に実行されます。ベクトルは常に、クロックの立ち上がりエッジで出力されます。

パターン・ジェネレータ・アプリケーションごとに、2つのシーケンスがあります。INIT SEQUENCE（初期化シーケンス）は、回路またはサブシステムを既知の状態にするのに用いられます。初期化シーケンスの後にMAIN SEQUENCEが続きます。メイン・シーケンスは、被試験回路をシミュレートする実際のパターンに用いられます。INITシーケンスが一度しか実行されないのに対して、MAINシーケンスは繰り返し実行することもできます。

ハードウェア／ソフトウェア･コマンドの使用法

テスト・ベクトル以外にも、INITとMAINの両方のシーケンスには、既定義のコマンドを含めることができます。コマンドは、中断、ループ、外部イベントまたはアーミング待ち、または別の機器へのアーミング信号の送信を命令することができます。最も有効なコマンドは、ユーザ定義マクロで、パラメータを指定して再使用可能なシーケンスの作成が可能です。こうした柔軟性は、プロトタイプ・ターンオン／環境テストで威力を発揮します。

INIT/MAINシーケンスおよびそれらの作成方法の詳細については、以下の項目を参照してください。

  • 初期化シーケンスの作成
  • メイン・シーケンスの作成
  • ベクトル／コマンドの挿入
    • ベクトルの挿入
    • Breakコマンドの挿入
    • Wait External Eventコマンドの挿入
    • Send Armコマンドの挿入
    • Wait for Armコマンドの挿入
    • Start/End Loopコマンドの挿入
    • ユーザ定義マクロ・コマンドの挿入
  • 自動パターン入力によるベクトルの設定
    • 固定パターンによる充てん
    • カウント・パターンによる充てん
    • 回転パターンによる充てん
    • トグル・パターンによる充てん
    • 擬似ランダム・パターンによる充てん
  • シーケンスの編集
    • 行の削除
    • 行の切り取り、コピーおよび貼り付け
    • 行番号への移動
    • 行の選択
    • ベクトル・シーケンスの検索
  • マクロの編集
    • マクロの追加
    • マクロの削除
    • マクロの名前変更
    • マクロのコピー
    • マクロ・パラメータの定義
    • マクロ・シーケンスでのパラメータの使用法
  • ベクトル・シーケンス表示オプションの設定
    • カラム幅の調整
    • 基数の設定


初期化シーケンスの作成

初期化(INIT)シーケンスは、Sequenceディスプレイに表示される2つのベクトル・シーケンスのうちの最初のシーケンスです。INITシーケンスを使って、回路またはサブシステムを既知の開始状態に置きます。INITシーケンスでSend Armコマンドを使用し、ロジック・アナライザやオシロスコープをアーミングして、MAINシーケンスが開始する前に測定を開始することも可能です。INITシーケンスをブランクのままにした場合、このシーケンスは無視されます。

INITシーケンスの作成

INITシーケンスには、ベクトル・データだけでなく、ハードウェア／ソフトウェア・コマンドを含めることもできます。ただし、最初の2つのベクトル行にはコマンドを含めることはできません。

  1. Sequenceタブを選択し、Init Startを選択します。

  2. Insert Line Afterを選択します。

  3. 新たに挿入したい各ベクトル行に対して繰り返します。

  4. ベクトル・データを指定するには、新しいベクトル行の左端の文字を選択します。

  5. 必要なベクトル・データを入力します。情報の入力中は、デフォルトのカーソル・ラップ設定によって、カーソルは左から右に移動します。

  6. オプション：ベクトル・データを入力する代わりに、コマンドを挿入することもできます。

関連項目

  • バス／信号の定義
  • シーケンスの編集
  • ベクトル／コマンドの挿入
  • マクロの編集
  • パターン・ジェネレータ出力の実行／停止


メイン・シーケンスの作成

MAINシーケンスは、Sequenceに表示される2つのベクトル・シーケンスのうちの2番目のシーケンスです。MAINシーケンスを1次信号作成シーケンスとして使用します。MAINシーケンスには、出力するベクトルを最低2つは含めなければなりません。

MAINシーケンスには、ベクトル・データだけでなく、ハードウェア／ソフトウェア･コマンドを含めることもできます。ただし、最初の2つのベクトル行または最後のベクトル行にはコマンドを含めることはできません。

  1. Sequenceタブを選択し、Main Startを選択します。

  2. Insert Line Afterを選択します。

  3. 新たに挿入したい各ベクトル行に対して繰り返します。

  4. ベクトル・データを指定するには、新しいベクトル行の左端の文字を選択します。

  5. 必要なベクトル・データを入力します。情報の入力中は、デフォルトのカーソル・ラップ設定によって、カーソルは左から右に移動します。

  6. オプション：ベクトル・データを入力する代わりに、コマンドを挿入することもできます。

関連項目

  • バス／信号の定義
  • シーケンスの編集
  • ベクトル／コマンドの挿入
  • マクロの編集
  • パターン・ジェネレータ出力の実行／停止


ベクトル／コマンドの挿入

ベクトルは、パターン・ジェネレータが出力する値を指定します。コマンドは、プログラミング・コマンドのようなもので、ベクトル出力フローを制御します。ハードウェアとソフトウェアの2種類のコマンドがあります。

行を挿入した場合、同種データ値（すなわち、前のベクトルと同じ値）を持つベクトルになります。データ値を編集するか、ベクトルをその他のコマンドのうちの1つに変更することができます。

ベクトルの挿入

  • ベクトルの挿入

ハードウェア・コマンドの挿入

ハードウェア・コマンドは、パターン・ジェネレータまたは外部ハードウェアに影響を与えます。

  • Breakコマンドの挿入
  • Wait External Eventコマンドの挿入
  • Send Armコマンドの挿入
  • Wait for Armコマンドの挿入

ソフトウェア・コマンドの挿入

ソフトウェア・コマンドは、現在実行中のシーケンスの実行フローにしか影響を与えません（ただし、ユーザ定義マクロにはハードウェア・コマンドが含まれている可能性があります）。

  • Start/End Loopコマンドの挿入
  • ユーザ定義マクロ・コマンドの挿入

コマンドの規則

有効なコマンドは、SequenceタブとMacroｓタブで異なります。

有効なコマンド
Sequenceタブ | Macroｓタブ
Start Loop/Stop Loop | Start Loop/Stop Loop
Break | Break
Macro | Macro
Wait for External Event | Wait for External Event
Send Arm |
Wait for Arm |

各種コマンドを使用できる場合と使用できない場合についても、規則があります。

  • コマンドは、Init StartまたはMain Startの後に続く2行と、Macro Startの次の行には含めることはできません。

  • コマンドは、Main Endの直前の行には含めることはできません。

  • Wati for External Events、Wait for Arm、Send ArmおよびBreakコマンドの前後には、ベクトル行がなければなりません。

  • Sequenceタブには、Wait for ArmコマンドとSend Armコマンドが少なくとも1つずつなければなりません。Macroｓタブには、Wait for ArmコマンドやSend Armコマンドを含めることはできません。

関連項目

  • 初期化シーケンスの作成
  • メイン・シーケンスの作成
  • 自動パターン入力によるベクトルの設定
  • シーケンスの編集
  • マクロの編集


ベクトルの挿入

ベクトルは、パターン・ジェネレータに指定パターンを作成するように命令します。ベクトル行のセルは編集可能です。

  1. SequenceまたはMacroｓタブで、前または後に新しいベクトルを挿入したいベクトルを選択します。

  2. Editをクリックし、Insert Line BeforeまたはInsert Line Afterを選択します。

    キーボード上のInsertキーを押すのも、Insert Line Beforeを選択するのと同じです。

  3. ベクトルのバス／信号データ値が前のベクトルと同じ場合は、同上値のままにします。そうでなければ、必要なバス／信号パターンを入力します。

    データ値セルの内容を切り取ることによって、編集したデータ値を同上値に戻すことができます。

関連項目

  • 自動パターン入力によるベクトルの設定


Breakコマンドの挿入

Breakコマンドが発生した場合、パターン・ジェネレータはシーケンスを停止し、ユーザが再開または停止するまで、前のベクトルの出力を保留します。

  1. SequenceまたはMacroｓタブで、前または後にコマンドを挿入したいベクトルを選択します。

  2. Editをクリックし、Insert Line BeforeまたはInsert Line Afterを選択します。

    キーボード上のInsertキーを押すのも、Insert Line Beforeを選択するのと同じです。

  3. Vectorを選択してから、Breakを選択します。

使用上の制限事項

Breakコマンドは、データ・ベクトルの後になければなりません。また、Breakコマンドは、シーケンスの次のベクトル行には使用できません。

  • INITシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最後のベクトル。
  • Macroシーケンスの最初のベクトル。


Wait External Eventコマンドの挿入

Wait External Eventコマンドは、パターン・ジェネレータが4つの指定イベント（A～D）のうちの1つを受け取るまで、プログラム・シーケンスの実行を停止します。

このコマンドが発生した場合、パターン・ジェネレータは、指定された外部イベントが発生するまで停止します。外部イベントはすべて、クロック・ポッドのWait 2、Wait 1、Wait 0入力チャネルのパターンに関係しています。これらのチャネルのパターンは、外部ソース（例えば、被試験デバイス）から受け取ります。

  1. SequenceまたはMacroｓタブで、前または後にコマンドを挿入したいベクトルを選択します。

  2. Editをクリックし、Insert Line BeforeまたはInsert Line Afterを選択します。

    キーボード上のInsertキーを押すのも、Insert Line Beforeを選択するのと同じです。

  3. Vectorを選択してから、Wait for External Eventを選択します。

  4. External Eventダイアログで、External Event（A～D）を選択します。

  5. 外部イベントを定義するには、イベントに信号を送ることのできるウエイト入力パターンに対応するボックスをチェックします。

    1つのチェック・ボックスも選択しなかった場合は、"None"または"Always Wait"ケースとなり、パターン・ジェネレータは再開の可能性のない待ち状態に置かれます。

    注意：

    "Always Wait"イベント後に、パターン・ジェネレータの出力を再開することはできません。中断後にパターン・ジェネレータの出力を再開できるので、"Always Wait"ケースではなく、Breakコマンドを使用してください。

    すべてのチェック・ボックスを選択した場合は、"Any"または"Never Wait"ケースとなり、パターン・ジェネレータが待ち状態に置かれることはありません。

  6. OKをクリックします。

使用上の制限事項

Wait External Eventコマンドは、すべてのハードウェア・コマンドと同様に、データ・ベクトルの後になければなりません。Wait External Eventは、シーケンスの次のベクトル行には使用できません。

  • INITシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最後のベクトル。
  • Macroシーケンスの最初のベクトル。


Send Armコマンドの挿入

Send Armコマンドは、コマンドの実行時にアーミング信号を作成します。このアーミング信号は、フレーム内の他のモジュールまたは外部機器が使用することができます。

  1. Sequenceタブで、前または後にコマンドを挿入したいベクトルを選択します。

  2. Editをクリックし、Insert Line BeforeまたはInsert Line Afterを選択します。

    キーボード上のInsertキーを押すのも、Insert Line Beforeを選択するのと同じです。

  3. Vectorを選択してから、Send Arm out toを選択します。

    次のダイアログによって、アーミング信号を個別に受信するように、モジュール、すなわち外部トリガをセットアップする必要があることが知らされます。

  4. OKをクリックして、この情報ダイアログを閉じます。

  5. アーミング信号の受信者を設定します（モジュールの別のモジュールのトリガとのアーミングまたは他の機器のトリガ -　トリガ出力を参照）。

一例として、パターン・ジェネレータが特定の行に達した時にトリガするようにロジック・アナライザをセットアップすることができます。この場合、Send Armコマンドでその行をセットアップし、パターン・ジェネレータからアーミング信号を受け取った場合にトリガするようにロジック・アナライザをセットアップすることができます。

使用上の制限事項

Send Armコマンドは、すべてのハードウェア・コマンドと同様に、データ・ベクトルの後になければなりません。また、Send Armコマンドは、1つのシーケンスに1度だけ用いることができます。従って、ユーザ・マクロや繰り返しループには用いることはできません。Send Armコマンドは、シーケンスの次のベクトル行には使用できません。

  • INITシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最後のベクトル。

関連項目

  • 他のモジュール／コマンドからのトリガと他のモジュール／コマンドへのトリガの送信


Wait for Armコマンドの挿入

このコマンドは、指定されたモジュールからアーミング信号を受け取るまで、パターン・ジェネレータを休止状態にします。

  1. Sequenceタブで、前または後にコマンドを挿入したいベクトルを選択します。

  2. Editをクリックし、Insert Line BeforeまたはInsert Line Afterを選択します。

    キーボード上のInsertキーを押すのも、Insert Line Beforeを選択するのと同じです。

  3. Vectorを選択してから、Wait for Arm in fromを選択します。

  4. "Wait for Arm in from"ダイアログで、アーミング信号をどのモジュールから受け取るか選択します。

  5. OKをクリックします。

使用上の制限事項

Wait for Armコマンドは、すべてのハードウェア・コマンドと同様に、データ・ベクトルの後になければなりません。また、Wait for Armコマンドは、1つのシーケンスに1度だけ用いることができます。従って、ユーザ・マクロや繰り返しループには用いることはできません。Wait for Armコマンドは、シーケンスの次のベクトル行には使用できません。

  • INITシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最後のベクトル。


Start/End Loopコマンドの挿入

Start Loopコマンドは、1つの空白データ・ベクトル行と一緒に、繰り返しループの開始／終了ベクトルを挿入します。

  1. SequenceまたはMacroｓタブで、前または後にコマンドを挿入したいベクトルを選択します。

  2. Editをクリックし、Insert Line BeforeまたはInsert Line Afterを選択します。

    キーボード上のInsertキーを押すのも、Insert Line Beforeを選択するのと同じです。

  3. Vectorを選択してから、Start Loopを選択します。

  4. Loop Countダイアログで、ループを繰り返す回数を入力します。

    実行時に、ループ・カウントは、ループの本体を個々のベクトルに展開される回数を決定します。

  5. OKをクリックします。

  6. 空白データ・ベクトル行を編集します。

  7. ベクトルおよびコマンドをループに挿入またはコピーします。

繰り返しループの開始ベクトルと終了ベクトルの両方が、いずれか1つが削除コマンドに含まれている場合に、シーケンスから削除されます。

ネスト構造のStart/End Loopコマンド

この例は、ネスト構造のループを示したものです。Loop[1]は、5回繰り返される1の巡回パターンです。Loop[2]は、Loop[1]の1の巡回パターンの途中で直接2回繰り返されるパターンです。

使用上の制限事項

次のコマンドは、繰り返しループには使用できません。

  • Send Armコマンド。
  • Wait for Armコマンド。

Send/End Loopコマンドは、シーケンスの次のベクトル行には使用できません。

  • INITシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最後のベクトル。
  • Macroシーケンスの最初のベクトル。


ユーザ定義マクロ・コマンドの挿入

マクロは、プログラミング言語のサブルーチンに似ています。マクロを用いることによって、名前でベクトル・グループを定義できるので、シーケンス内のさまざまなポイントで参照することができます。

  1. SequenceまたはMacroｓタブで、前または後にコマンドを挿入したいベクトルを選択します。

  2. Editをクリックし、Insert Line BeforeまたはInsert Line Afterを選択します。

    キーボード上のInsertキーを押すのも、Insert Line Beforeを選択するのと同じです。

  3. Vectorを選択してから、User-Defined Macroを選択します。

  4. Select User-Defined Macroダイアログで、呼び出すマクロを選択し、パラメータ値を入力します。

    注記：

    パラメータをマクロに追加しなければ、コールでパラメータに値が割り当てられません。

    パラメータ値を入力する場合の桁数に制限はありません。例えば、24ビットのデータをパラメータに対して入力し、そのパラメータが8ビット・バスで使用された場合、最上位の16ビットは無視されます。

  5. OKをクリックします。

実行時に、ユーザ定義マクロは対応するベクトルに展開されます。

使用上の制限事項

ユーザ定義マクロ・コマンドは、シーケンスの次のベクトル行には使用できません。

  • INITシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最後のベクトル。
  • Macroシーケンスの最初のベクトル。

関連項目

  • マクロの編集


自動パターン入力によるベクトルの設定

信号パターンをすばやく作成し、シーケンスやユーザ定義マクロに挿入するのに用いることができる自動パターン入力ユーティリティが5種類あります。パターン・フィルを用いることによって、汎用的なパターンの作成時間を短縮できるだけでなく、シーケンスの確度も保証されます。

  1. SequenceまたはMacrosタブで、Editをクリックし、Fill...を選択します。

  2. Fillダイアログで、Type of Fillおよびそのパターンを選択します。参照：

    • 固定パターンによる入力
    • カウント・パターンによる入力
    • 回転パターンによる入力
    • トグル・パターンによる入力
    • 擬似ランダム・パターンによる入力

  3. 入力するバス/信号を選択します。

  4. 開始行を入力します。

  5. 作成するベクトルの数を入力します。

  6. 編集モードを選択します。

    • Insert - 選択したシーケンス行またはその前に挿入します。
    • Overwrite - 選択したシーケンス行から始まる既存のベクトルを上書きします。

  7. Fillをクリックします。


固定パターンによる入力

Fixed機能による入力は、ベクトル数によって指定された回数だけ、与えられたパターンを取り込んでSequenceスプレッドシートに入れます。

  1. Fillダイアログで、Fixedタイプを選択します。

  2. Fixed Fillボックスで、基数を選択し、作成するパターンを入力します。

  3. その他のオプションを指定します（自動パターン入力によるベクトルの設定を参照）。


カウント・パターンによる入力

Count機能による入力は、増減するベクトルを作成するのに用いられます。

  1. Fillダイアログで、Countタイプを選択します。

  2. Count Fillボックスで、

    1. カウントを開始するStarting Patternを入力します。

    2. ステップの適用頻度を指定するCount Frequencyを入力します。

      例えば、頻度が4回の場合は、同じパターンのベクトルが4つ連続し、その後に続く4つのベクトルはステップ値分だけ異なります。

    3. 各ベクトルの増減量を指定するCount Stepを入力します。

  3. その他のオプションを指定します（自動パターン入力によるベクトルの設定を参照）。


回転パターンによる入力

Rotate機能による入力は、バイナリ値の変更と考えるのが最適です。例えば、開始値がバイナリで0000 0001、ステップが1の場合、次の値は0000 0010になり、その次の値は0000 0100になります。開始値が0000 0001で、ステップが2の場合は、次の値は0000 0100になります。

開始パターンがオール1またはオール0の場合は、「回転」の効果はなく、RotateはFixtedと同じになります。

  1. Fillダイアログで、Rotateタイプを選択します。

  2. Rotate Fillボックスで、

    1. 回転を開始するStarting Patternを入力します。

    2. 回転回数、すなわち、回転が値に変化を引き起こすまでまったく変わらない値の数を指定するRotate Frequencyを入力します。

      例えば、回数が4回の場合は、同じパターンのベクトルが4つ連続し、その後に続く4つのベクトルはステップ値分だけ回転されます。

    3. 回転する桁数を指定するRotate Stepを入力します。

    4. LeftかRightのRotate Directionを選択します。

  3. その他のオプションを指定します（自動パターン入力によるベクトルの設定を参照）。


トグル・パターンによる入力

Toggle機能による入力は、バイナリ値の変更と考えるのが最適です。開始値が0101 0101で、ステップが1の場合、次の値は1010 1010になります。つまり、1はすべて0に、0はすべて1に変わります。

  1. Fillダイアログで、Togｇleタイプを選択します。

  2. Toggle Fillボックスで、

    1. 切り替えを開始するStarting Patternを入力します。

    2. 切り替え回数、すなわち、切り替えが値に変化を引き起こすまでまったく変わらない値の数を指定するToggle Frequencyを入力します。

      例えば、回数が4回の場合は、同じパターンのベクトルが4つ連続し、その後に続く4つのベクトルは切り替えられます。

  3. その他のオプションを指定します（自動パターン入力によるベクトルの設定を参照）。


擬似ランダム・パターンによる入力

Pseudo-Random機能による入力は、擬似乱数を作成してSequecneスプレッドシートに挿入します。

Random Frequencyは、新しい乱数を作成する回数を示します。

  1. Fillダイアログで、Pseudo-Randomタイプを選択します。

  2. Random Fillボックスで、新しい乱数を作成する回数を指定するRandom Frequencyを入力します。

    例えば、回数が4回の場合は、同じパターンのベクトルが4つ連続し、その後に続く4つのベクトルは次の乱数になります。

  3. その他のオプションを指定します（自動パターン入力によるベクトルの設定を参照）。


シーケンスの編集
  • 行の削除
  • 行の切り取り、コピーおよび貼り付け
  • 行番号への移動
  • 行の選択
  • ベクトル・シーケンスの検索


行の削除

注意：

シーケンス行を削除した場合は、永久的に削除されます。シーケンス行を一時記憶バッファに入れたい場合は、削除ではなく切り取ります。

  1. SequenceまたはMacroｓタブで、削除するベクトル・シーケンス行を選択します（行の選択を参照）。

  2. キーボード上のDeleteキーを押すか、Editをクリックし、Delteを選択します。

使用上の制限事項

次のシーケンス行を削除することはできません。

  • Init Start行。
  • Init End行。
  • Main Start行。
  • Main End行。
  • Macro Start行。
  • Macro End行。

削除の結果としてベクトル以外のコマンドが次の行のうちの1つに置かれる場合は、削除は実行されません。

  • INITシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最初または2番目のベクトル。
  • MAINシーケンスの最後のベクトル。
  • Macroシーケンスの最初のベクトル。

削除の結果として以下のいずれかの事態が生じる場合は、削除は実行されません。

  • 別のベクトル以外のコマンドの直後にハードウェア・コマンドが置かれる。
  • MAINシーケンスに含まれるデータ・ベクトルが2つより少なくなる。

関連項目

  • 行の選択


行の切り取り、コピーおよび貼り付け

注記：

EditメニューのCutおよｂCopy処理を使用した場合、シーケンス行は一時記憶バッファに入れられます。後続のPaste処理ではすべて、新しい行が切り取られるかコピーされるまで、一時記憶バッファのシーケンス行が挿入されます。EditメニューのDelete処理を使用した場合は、シーケンス行は一時バッファには入れられず、単に削除されます。

行の切り取り

  1. SequenceまたはMacroｓタブで、切り取るベクトル・シーケンス行を選択します（行の選択を参照）。

  2. Ctrlキーを押しながらxを押すか、Editをクリックし、Cutを選択します。

注記：

すべてのシーケンス行を切り取る（または削除する）と、シーケンスは電源投入時の状態にリセットされます。

行のコピー

  1. SequenceまたはMacroｓタブで、コピーするベクトル・シーケンス行を選択します（行の選択を参照）。

  2. Ctrlキーを押しながらcを押すか、Editをクリックし、Copyを選択します。

行の貼り付け

  1. SequenceまたはMacroｓタブで、貼り付ける行の下の行にカーソルを位置付けるか、貼り付け先のベクトル・シーケンス行を選択します（行の選択を参照）。

  2. Ctrlキーを押しながらvを押すか、Editをクリックし、Pasteを選択します。

使用上の制限事項

簡単な規則は以下の通りです。

  • コマンドセルを含め、行全体を選択しない限り、ベクトル行以外のセルをコピーすることはできません。（ベクトル行以外の部分をコピー／貼り付けすることはできません）。

  • Main Start、Main End、Init Start、Init End、Macro Start、Macro Endは、切り取り、コピー、貼り付け、削除はできません。これらは、完全に編集不可能な行です。

  • 非隣接セル・ブロックは、選択、切り取り、コピー、貼り付け、削除はできません。

  • 削除できるのは行だけです。

  • セルの内容を切り取った場合、値はすべて引用符に戻ります。

  • 1つのカラムから別のカラムに値がコピーされた場合、その値は、それによって表示される桁数が違ってしまうとしても、貼り付けられたカラムの底部に示されます。例えば、"1111"という値をバイナリ・カラムからコピーして16進カラムに貼り付けた場合は、"F"と表示されます。

  • 1つのカラムから別のカラムに値がコピーされ、その値が貼り付けられたカラムの範囲外になってしまった場合は、貼り付けバッファの最上位ビットが切り捨てられます。例えば、"1234 5678"という値を8ビット幅のバイナリ・カラムからコピーして4ビット幅の16進カラムに貼り付けた場合は、貼り付けられた値は"5678"になります。

関連項目

  • 行の選択
  • 行の削除


行番号への移動

  1. SequenceまたはMacrosタブで、Editをクリックし、Go to line...を選択します。

  2. Goto Lineダイアログが表示されるので、目的の行番号を入力します。

  3. OKをクリックします。

関連項目

  • ベクトル・シーケンスの検索


行の選択

編集機能（削除、切り取り、コピー、貼り付けなど）を実行するために、ベクトル・シーケンス行を選択することができます。

すべての行の選択

  1. SequenceまたはMacrosタブで、Editをクリックし、Select All Linesを選択します。

行の範囲の選択

  • マウスの左ボタンを押しながら行の上にドラッグすることによって、行を強調表示します。

  • Select Lines機能を使って、複数行を同時に選択できます。

    1. SequenceまたはMacroｓタブで、Editをクリックし、Select Linesを選択します。

    2. Select Linesダイアログで、選択範囲の開始行と終了行を入力します。

    3. OKをクリックします。

関連項目

  • 行の削除
  • 行の切り取り、コピーおよび貼り付け
  • ベクトル・シーケンスの検索


ベクトル・シーケンスの検索

  • SequenceまたはMacroｓタブで、キーボード上の次のキーのうちの1つを押します。

    押すキー | 実行される動作
    Enterキー | 現在選択しているセルの真下のセルに移動します。現在のセルがシーケンスの一番下にある場合は、新しい行が自動的に挿入されます。
    Tabキー | 現在選択しているセルの右隣のセルに移動します。そのセルが右端の場合は、下の行の左端のセルに移動します。
    Shift＋Tabキー | 現在選択しているセルの左隣のセルに移動します。そのセルが左端の場合は、上の行の右端のセルに移動します。
    矢印キー | キーの方向に移動します。
    Home | シーケンスの最初の行に移動します。
    End | シーケンスの最後の行に移動します。
    Page Up | 1画面分のデータだけ上方へスクロールします。
    Page Down | 1画面分のデータだけ下方へスクロールします。
    Insert | Insert Line Beforeを選択した場合と同じ動作が実行されます。
    Delete | Delete Line(s)を選択した場合と同じ動作が実行されます。

関連項目

  • 行番号への移動


マクロの編集

マクロは、プログラミング言語のサブルーチンに似ています。シーケンスの複数の箇所で同じベクトル・セットを使用したい場合は、それらをマクロとして定義することができます。

パラメータ値をマクロに渡すことができます。このため、マクロ出力のベクトルはシーケンス内のポイントごとに異なります（コールで渡されたパラメータ値による）。パラメータは、マクロ・シーケンスでベクトル値の代わりに用いることのできる変数のようなものです。

注記：

マクロ・パラメータのビット数は無制限です。パラメータを使用するバス／信号のビット数が少ない場合は、パラメータ値の最上位ビットは切り捨てられます。

マクロは、ユーザ定義マクロ・コマンドを使って呼び出されます。マクロは、SequenceタブのINITまたはMAINベクトル・シーケンス、あるいはその他のマクロに挿入（ネスト）することができます。

注記：

無限ループ（マクロ0はマクロ1を呼び出し、マクロ1はマクロ1を呼び出す）にならないように注意してください。

Macroｓタブでのコマンドの挿入、ベクトルの設定、シーケンスの編集は、以下の点以外は、Sequenceタブの場合と同じです。

  • パラメータは、ベクトル・データ・フィールドで設定／クリアできます。
  • Send Arm／Wait for Armコマンドは、使用できません。（これらのコマンドはシーケンス内に一度しか使用できませんが、マクロはシーケンス内で何度も呼び出すことができます）。

マクロ・シーケンスには、ベクトル・データだけでなく、ハードウェア／ソフトウェア・コマンドを含めることもできます。ただし、最初のベクトル行にはコマンドを含めることはできません。

パターン・ジェネレータがテスト・ベクトルをコンパイルした場合、マクロとパラメータはテスト・ベクトル・フラット・リストに展開されます。

  • マクロの追加
  • マクロの削除
  • マクロの名前変更
  • マクロのコピー
  • マクロ・パラメータの定義
  • マクロ・シーケンスでのパラメータの使用法

マクロの使用法

  1. マクロを作成し、パラメータ（もしあれば）を定義します。

  2. マクロ・シーケンスを編集します。パラメータがある場合は、目的のベクトル・データ・フィールドに設定します。

  3. ユーザ定義マクロ・コマンドを使って、マクロ（メイン・シーケンスまたはその他のマクロ・シーケンス）にコールを挿入します。

関連項目

  • ベクトル／コマンドの挿入
  • 自動パターン入力によるベクトルの設定
  • シーケンスの編集


マクロの追加

  1. Macroｓタブで、Add...をクリックします。

  2. Add Macroダイアログで、新しいマクロの名前を入力します。

  3. OKをクリックします。

関連項目

  • マクロの名前変更
  • マクロの削除
  • マクロのコピー
  • マクロ・パラメータの定義
  • マクロ・シーケンスでのパラメータの使用法


マクロの削除

  1. Macroｓタブで、削除したいMacro Nameを選択します。

  2. Deleteをクリックします。


マクロの名前変更

  1. Macroｓタブで、名前を変更したいMacro Nameを選択します。

  2. Rename...をクリックします。

  3. Rename Macroダイアログで、マクロの新しい名前を入力します。

  4. OKをクリックします。

関連項目

  • マクロの追加
  • マクロの削除
  • マクロのコピー
  • マクロ・パラメータの定義
  • マクロ・シーケンスでのパラメータの使用法


マクロのコピー

あるマクロを別のマクロのシーケンス／パラメータで上書きすることができます。この機能を使って、元のマクロとは多少異なる新しいマクロを作成できます。

  1. Macroｓタブで、Copy...をクリックします。

  2. Copy Macroダイアログで、コピー元のマクロとコピー先のマクロの名前を選択します。

  3. OKをクリックします。

関連項目

  • マクロの追加
  • マクロの削除
  • マクロの名前変更
  • マクロ・パラメータの定義
  • マクロ・シーケンスでのパラメータの使用法


マクロ・パラメータの定義

  1. Macroｓタブで、定義したいパラメータを持つMacro Nameを選択します。

  2. Parameters...をクリックします。

  3. Parametersダイアログで、

    • Add...をクリックして、パラメータを追加して名前を指定します。
    • Delete...をクリックして、パラメータを削除します。

  4. パラメータの定義が済んだら、OKをクリックします。

関連項目

  • マクロの追加
  • マクロの削除
  • マクロの名前変更
  • マクロのコピー
  • マクロ・シーケンスでのパラメータの使用法


マクロ・シーケンスでのパラメータの使用法

注記：

パラメータはデータ・ベクトル内のデータ・フィールドに置き換わるため、既存のデータ・ベクトルにだけパラメータを設定することができます。パラメータをコマンド・ベクトルに設定することはできません。

パラメータの設定

  1. Macroｓタブで、パラメータを使用する必要のあるデータ・フィールドを選択します。（これによって、カーソルが位置付けられます）。

  2. Editをクリックし、Set Parameterを選択します。

  3. Select Parameterダイアログで、データ・フィールドに使用するパラメータを選択します。

  4. OKをクリックします。

パラメータは、設定されると、対応するセル内に表示されます。パラメータ以外の値と区別するため、パラメータはアスタリスク"*"で始まります。

パラメータのクリア

  1. Macroｓタブで、削除するパラメータが含まれているデータ・フィールドを選択します。

  2. Editをクリックし、Clear Parameterを選択します。

パラメータをクリアした場合、現在選択されているセルは、パラメータから値に戻ります。（デフォルトでは、新しい値はすべて引用符です）。

関連項目

  • ユーザ定義マクロ・コマンドの挿入


ベクトル・シーケンス表示オプションの設定

これらの表示オプションは、SequenceとMacrosの両方のタブで使用できます。

  • 列幅の調整
  • 基数の設定
  • カラム色の変更
  • カラム・データ・アライメントの変更


列幅の調整

  1. SequenceまたはMacrosタブで、カラム区切りを目的の列幅にドラッグします。


基数の設定

SequenceタブとMacrosタブに、バス／信号の基数がカラム見出しに表示されます。

基数の設定を変更する手順：

  1. SequenceまたはMacrosタブで、変更したいカラムの基数ボタンをクリックし、新しい基数を選択します。


列の色の変更

SequenceタブとMacrosタブで、ベクトル・シーケンス列に使用するフォアグランドとバックグランドの色を変更することができます。

  1. SequenceまたはMacrosタブで、バス／信号列見出しを右クリックし、Properties...を選択します。

  2. Pattern Generator PropertiesダイアログのColumn Propertiesタグで、

    1. 変更を適用するBus/Signal列を選択します。

    2. 目的のForegroundおよびBackground色を選択します。

    3. OKをクリックします。


列のデータ・アライメントの変更

SequenceタブとMacrosタブで、ベクトル・シーケンス列内のデータの並べ方を変更することができます。

  1. SequenceまたはMacrosタブで、バス／信号列見出しを右クリックし、Properties...を選択します。

  2. Pattern Generator PropertiesダイアログのColumn Propertiesタグで、

    1. 変更を適用するBus/Signal列を選択します。

    2. 列内のデータの目的のAlignmentを選択します。

    3. OKをクリックします。


パターン・ジェネレータ出力の実行／停止

パターン・ジェネレータのベクトル出力を制御する場合、以下が可能です。

  • Run：パターン・ジェネレータは、初期化シーケンスの最初の行からベクトルの出力を開始します。"Run"は、初期化シーケンスとメイン・シーケンスを1度だけ実行してから停止します。パターン・ジェネレータの出力は、リセットするか再度実行するまで、最後のベクトルのままです。

  • Run Rep：パターン・ジェネレータは、初期化シーケンスの最初の行からベクトルの出力を開始します。メイン・シーケンスのすべてのベクトルが出力された場合、Main Start（Init Startではなく）の実行が続行されます。初期化シーケンスは1度だけ出力され、メイン・シーケンスは繰り返し出力され、停止するまで続行されます。

  • Stop：実行が現在のベクトルで停止します。パターン・ジェネレータの出力は、再開、ステップ、リセットまたは再度実行するまで、現在のベクトルのままです。

  • Step...：Single Stepダイアログを開きます。

    Single Stepダイアログでは、以下が可能です。

    • Step：パターン・ジェネレータは、指定数のベクトルを出力します。

    • Reset：パターン・ジェネレータは、初期化シーケンスの最初の行にリセットします。"Run"は常に初期化シーケンスの最初の行から始まるため、これは"Step"と"Resume"にしか影響しません。

    • Resume：パターン・ジェネレータは、最後に出力されたベクトル以降のベクトルの出力を続行します。システムが最初のベクトルで停止された場合、"Run"および"Resume"は同じ機能を実行しますが、それ以外の場合は異なります。

パターン・ジェネレータのベクトル出力を制御する方法はいくつかあります。

方法： | ツールバーでクリックする | Setupダイアログでクリックする | Run/Stop>(PattGen Module)メニューから選択する
1度だけ実行する |  | Run | Run
繰り返し実行する |  | Run Rep | Run Repetitive
停止する |  | Stop | Stop
ステップする |  | Step（Single Stepダイアログ内） | Step
再開する |  | Resume（Single Stepダイアログ内） | Resume
リセットする |  | Reset（Single Stepダイアログ内） | Reset


パターン・ジェネレータの設定の保存／ロード

パターン・ジェネレータの設定およびデータをALAフォーマットの構成ファイルに保存することができます。 後で、構成ファイルを開くことによって、データや設定を復元することができます。

  • 設定ファイルのオープン
  • 設定ファイルの保存

ALFフォーマットの構成ファイル

設定をALAフォーマット・ファイルに保存した場合、セットアップ情報がすべて.ala拡張子のファイルに保存されます。 保存されるのは、バス／信号、クロック・オプション、シーケンス、マクロです。

XMLフォーマットの構成ファイル

設定をXMLフォーマット・ファイルに保存することもできます。 XMLフォーマット・ファイルに保存されるのは、バス／信号とクロック・オプションだけです。 パターン・ジェネレータのシーケンスとマクロは、XMLフォーマットの構成ファイルには保存されません。


ベクトル・シーケンスのエクスポート／インポート

  • ベクトル・シーケンスのCSVフォーマット・ファイルへのエクスポート
  • ベクトル・シーケンスのCSVフォーマット・ファイルからのインポート
  • パターン・ジェネレータ・バイナリ(PGB)フォーマット・ファイルのインポート
  • Agilent 16522A ASCIIファイルの変換
  • 16700シリーズPGBファイルの変換


ベクトル・シーケンスのCSVフォーマット・ファイルへのエクスポート

パターン・ジェネレータのベクトル・シーケンスのCSVフォーマット・ファイルへのエクスポートは、ロジック・アナライザのいずれかの表示ウィンドウ（Listing、Waveformなど）からデータをエクスポートするのと同様です。実際に、同じExportダイアログが用いられます。パターン･ジェネレータをエクスポート・ソースとして選択するだけです。

ただし、注意しなければならないことがいくつかあります。

  • パターン・ジェネレータのCSVファイルには、コンパイル済みデータしか記述されせん。ループ、ユーザ定義マクロ、同種文字は含まれません。

  • エクスポートされた最初の行には、バス／信号名が含まれています。2番目の行には、ポッド・インデックスとチャネル番号が含まれています。次に、初期化シーケンス行がエクスポートされ、その後にメイン・シーケンス行がエクスポートされます。

  • 区切り記号／コマンド行は、アスタリスク(*)で始まります。

  • すべてのベクトル・データが16進値としてエクスポートされます。

例：

"MY BUS 1","MY BUS 2","MY SIGNAL 1","MY SIGNAL 2"
"Pod 1[7:0]","Pod 3[7:0], Pod 2[7:0]","Pod 4[0]","Pod 4[1]"
*Init Start,,,
FF,FFFF,1,1
EE,EEEE,0,0
*Wait for Arm in from "External Trigger",,,
DD,DDDD,1,1
CC,CCCC,0,0
*Init End,,,
*Main Start,,,
BB,BBBB,1,1
AA,AAAA,0,0
*Break,,,
99,9999,1,1
88,8888,0,0
*Wait for External Event A = (000 + 010 + 100 + 110),,,
77,7777,1,1
66,6666,0,0
*Send Arm out to "My 16910A-1" , "External Trigger",,,
55,5555,1,1
44,4444,0,0
*Main End,,,

関連項目

  • パターン・ジェネレータのCSVファイル・フォーマット


パターン・ジェネレータのCSVファイル・フォーマット

パターン・ジェネレータは、カンマ区切り値(CSV)フォーマット・ファイルのロードをサポートしています。 CSVファイル・フォーマットは、Microsoft Excelのような表計算ソフトなどのアプリケーションや、Listingディスプレイなどの他のAgilent Logic Analyzerアプリケーション・ウィンドウと互換性があります。 例えば、ListingウィンドウにCSVファイルとして表示されているデータをエクスポートし、小さな変更をいくつか加えて、そのキャプチャ・データをパターン・ジェネレータにインポートすることができます。

パターン・ジェネレータのCSVファイルには、パターン・ジェネレータのコンパイル済みデータしか記述されません。 したがって、ソフトウェア・コマンドであって、コンパイル済みベクトル・データの一部ではないループやユーザ定義コマンドは、CSVファイルには含まれません。 ユーザ・マクロやループは、対応するベクトルをCSVファイルに直接挿入することによって展開されます。 さらに、CSVファイルには、初期化またはメイン・シーケンスのベクトル行の同上文字は使用できません。 同上文字は、前のベクトルの対応する実効値に置き換えられます。

パターン・ジェネレータCSVのシンタックスまたはファイル・フォーマットは、比較的単純です。 CSVファイルは、ファイルの各行がカンマで区切られた値の並びのASCIIファイルです。 各行は、改行文字で区切られています。 カンマで区切られた値については、各値の間にホワイトスペース文字を含めなくても、複数含めても問題ありません。 行は空白でも、ホワイトスペースだけを含めることも可能です。 CSVファイルは、本質的に、Microsoft ExcelでCSVファイル・フォーマットを使ってエクスポートしたファイルと同じフォーマットです。 Agilent Logic Analyzerアプリケーションを使ってCSVフォーマットでデータをエクスポートすることによって作成されたフォーマットとも同じです。 CSVシンタックスの詳細については、以下で説明します。

ファイルの命名規則

パターン・ジェネレータCSVファイルは、拡張子*.csvで終わります。 これは、Agilent Logic AnalyzerアプリケーションおよびMicrosoft Excelと一致しています。

CSVサンプル・ファイル

以下の図は、パターン・ジェネレータCSVサンプル・ファイルを示したものです。

"My Bus 1","My Bus 2","My Bus 3"
"Pod 1 [7:0]","Pod 2 [7:0]","Pod 3 [7:0]"
*Init Start
64,64,64
65,64,65
*Send Arm out to "External Trigger"
66,64,66
67,64,67
*Init End
*Main Start
68,64,68
69,64,69
6A,64,6A
*Wait for External Event A = (001 + 101 + 000)
6B,640.6B
6C,64,6C
*Wait for External Event A
6D,64,6D
6E,64,6E
*Wait for External Event B = (None)
6F,64,6F
70,64,70
*Wait for External Event C = (Any)
71,64,71
72,64,72
*Wait for Arm in from "My 1674x/5x-1"
73,64,73
74,64,74
75,64,75
76,64,76
*Break
77,64,77
78,64,78
*Main End

上のファイルは、パターン・ジェネレータCSVファイルのラベル・ヘッダ、初期化シーケンス、メイン・シーケンスの3つのメイン部分を示しています。 これらの部分については以下で説明します。

シンタックスの説明

  • トークン（ターミナル）には、FOOのように下線が引かれています。
  • ターミナル以外は、<foo>のように山括弧で示されています。
  • 必須のオプション選択は、(A | B | C)のように、丸括弧で示され、"|"で各オプションが区切られています。
  • オプション記号には、<foo>?のように後に"?"が付けられています。
  • ゼロ回または複数回の繰り返し（オプションまたは1回以上）は、(<foo>)*のように"*"で示されています。
  • 1回以上の繰り返しは、(<foo>)+のように"+"で示されています。
  • 文字列リテラルは、"String literal"または'String literal'のように、単一引用符または二重引用符で示されています。

ラベル・ヘッダ

ファイルの一番上は、オプションのラベル・ヘッダ部です。 ラベル・ヘッダ部は、カンマで区切られたラベル名のリストで始まります。 ラベル名は一意でなければなりません。そうでないと、エラーが発生します。 ラベル名の名前の中にホワイトスペースが含まれている場合は、二重引用符で囲む必要があります。 それ以外の場合は、引用符はオプションです。 ラベル・ヘッダ部が欠落している場合、シーケンス・データはパターン・ジェネレータ内の既存のラベルに適用されます。

ラベル名の下には、ラベル定義が続きます。 ラベル定義の順番は、その上のラベル名の順番にそれぞれ固有です。 したがって、最初のラベル定義は、最初のラベル名に適用されます。以下同様です。 ラベル定義のシンタックスは、XMLのラベル・シンタックスと一致しています。

<label_definition> = <pod_assignment> (, <pod_assignment>)*
<pod_assignment>   = Pod <integer> [ <channels> (, <channels>)* ]
<channels>         = (<integer> | <integer> : <integer>)

ここで、 <integer> = 整数値

Podキーワードに続く最初のintegerは、ポッド番号です。 この文法では、ポッドには1からNまでの番号が付けられます。ここで、Nはモジュール内の最高ポッド数です。 5カード16720Aパターン・ジェネレータの設定では、これはフル・チャネル・モードの場合で1～30、ハーフ・チャネル・モードの場合で1～15です。 ポッドには、Bus/Signal Setupダイアログの場合と同様に、下から上、右から下に番号が付けられます。 フレーム内の名前ではなく、本来はインデックス番号であるものを使用しているため、コマンドはフレームの構成方法とは無関係です。

3種類のラベルの例の一部を以下に示します。

例1："Pod 1 [7:0], Pod 2 [0:7]", "Pod 3 [1,2,3,4:6], Pod 4 [0:5,7:6]", "Pod 5 [0]"
例2：Pod1[0], Pod1[1], Pod2[7:0]
例3："Pod 1 [3,4,2:0]", "Pod 2 [0:2]", "Pod 3 [6:4], Pod 4 [1:2]"

各レベルのポッド定義は位置と順番の両方を指定しています。 したがって、並び替えられたチャネルを指定することができます。 順番は、常に、最上位ビットから最下位ビット方向に指定されます。 上の例3では、最初の3つのラベルにMSBからLSBに向って順番に後続のビットが割当てられるように指定しています。

  • 最初のラベル（全5ビット）：3,4,2,1,0の順にポッド1から5ビット
  • 2番目のラベル（全3ビット）：0,1,2の順にポッド2から3ビット
  • 3番目のラベル（全5ビット）：6,5,4の順にポッド3から3ビット、1,2の順にポッド4から2ビット

ビットの再順序付けは、ロード中に行われます。 すなわち、データは、インポート中に順序付けし直されます。 したがって、ラベルが順序付けし直された場合、ロード後にはデータはモジュール内に順序付けし直された状態で現れますが、ラベルは順序付けし直された状態で現れません。 ラベルの再順序付けはディスプレイ上のことで、インポートの再順序付けがデータのロード順に影響を与えます。

初期化シーケンス

ラベル・ヘッダの後には、初期化シーケンスが続きます。 初期化シーケンスは、初期化シーケンス・ベクトルがなくても、必ず存在していなければなりません。 初期化シーケンスは、*Init Startコマンドで始まり、*Init Endコマンドで終わります。 初期化シーケンスは、シーケンス内にベクトルまたはコマンドを含めなくても、複数含めても問題ありません。 各既定義ラベルのベクトルは、カンマ文字と0個以上のホワイトスペースで区切られます。 後続／先行のホワイトスペースも使用可能です。 余分な後続カンマも、ホワイトスペースのように扱われます。 Microsoft Excelではこのようなコマンド行があるCSVファイルが作成されるため、これはコマンド行の場合には重要です。

*Init Start,,
64,64,64
65,64,65
66,64,66
67,64,67
*Init End,,

*Main Start,,
68,64,68
69,64,69

Microsoft Excelは、アプリケーション内のカラム数に基づいて、適切な数のカンマ文字が常に存在していることを確認しようとします。 上の例には3つのカラムが含まれているため、各行には2つのカンマ文字があります。 したがって、パーサは、コマンド行の後続のカンマを無視します。

最後に、対応するラベルの幅より長い値が指定された場合は、値の最下位ビットだけがラベルに適用されます。 したがって、値FEが4ビット幅のラベルに適用された場合は、ラベルはそのベクトルのEの値を取ります。

メイン・シーケンス

初期化シーケンスの後にメイン・シーケンスが続きます。 メイン・シーケンスは、*Main Startコマンドで始まり、*Main Endコマンドで終わります。 メイン・シーケンスは、シーケンス内に2つ以上のベクトルまたはコマンドを含めることができます。 初期化シーケンスと同様に、各既定義ラベルのベクトルは、カンマ文字と0個以上のホワイトスペースで区切られます。 初期化シーケンスと同様に、後続のカンマ文字、および後続／先行のホワイトスペースも使用可能です。

コマンド

パターン・ジェネレータのコマンドはすべて、アスタリスク(*)文字で始まります。 これは、コマンドであることを示します。 コマンドは、行の最初のカラム内になければなりません。 したがって、カンマ文字が前にあってはなりません。 以下に、パターン・ジェネレータCSVファイル内で使用可能なコマンドと使用不可能なコマンドをリストします。

使用可能なコマンド

*Init Start
*Init End
*Main Start
*Main End
*Break

*Wait for External Event (A | B | C | D) (= <event_desc>)?

   <event_desc> = ( (None | Any | <3dbn_list>) )
   <3dbn_list> = <wait_pattern> (+ <wait_pattern>)*

*Wait for Arm in from <module_list>?

   <module_list> = (<module_name> | 'External Trigger') (, <module_name> | 'External Trigger')*

*Send Arm out to <module_list>?

   (<module_name> | 'External Trigger') (, <module_name> | 'External Trigger')*

ここで、

<wait_pattern> = 3桁の2進数（例：001)
<ModuleName>   = ローカル・フレームのモジュール名。
                 モジュール名にホワイトスペースが含まれている場合は、
                 単一引用符か二重引用符で囲みます。それ以外の場合は、
                 引用符はオプションです。

*Init Start、*Init End、*Main Start、*Main Endは、実際はパターン・ジェネレータのコマンドではありません。 これらは、パターン・ジェネレータ・シーケンスの各部を区切るのに用いられる特殊なコマンドです。 ただし、CSVパーサは、これらを特殊コマンドのように扱います。 *Init Start、*Init End、*Main Start、*Main Endはすべて、パターン・ジェネレータ内に1度だけ含める必要があります。 さらに、*Main Startコマンドは、*Init Endコマンドの直後になければなりません。

  • Init Startコマンド。 Init Startコマンドは、初期化シーケンスの開始を表します。

  • Init Endコマンド。 Init Endコマンドは、初期化シーケンスの終了を表します。

  • Main Startコマンド。 Main Startコマンドは、メイン・シーケンスの開始を表します。

  • Main Endコマンド。 Main Endコマンドは、メイン・シーケンスの終了を表します。

その他のコマンド*Break、*Wait for External Event、*Wait for Arm in from、*Send Arm out toコマンドは、オプションです。 *Breakおよび*Wait for External Eventコマンドは、何度でも挿入できます。 *Wait for Arm in fromおよび*Send Arm out toコマンドは、1度までしか挿入できません。

  • Breakコマンド。 Breakコマンドは、ハードウェアBreakを挿入することを知らせます。

  • Wait for External Eventコマンド。 Wait for External Eventコマンドは、最後にオプションの{}シンタックスがある待ちイベントを随意に定義することができます。 Wait for External Eventコマンドがイベントを定義していない場合は、イベントの既存の既定義値をデフォルトとして取ります。 最低でも1つのWait for External Eventコマンドによって、待ちイベントを定義する必要があります。 そうしないと、イベントは、パターン・ジェネレータ・モデル内に保存されている現在の値をデフォルトとして取ります。 複数のWait for External Eventコマンドが同じイベントを定義しようとした場合（例えば、2つの"*Wait for External Event A = .."が発生した場合）は、ファイル内の最後の定義が勝ち、前の定義をすべてオーバライドします。

  • Wait for Arm in fromコマンド。 Wait for Arm in fromコマンドは、パターン・ジェネレータが指定モジュールからインタモジュール信号を受け取るまで待ってから先に進むように、Wait for Arm in fromハードウェア・コマンドを挿入することを知らせます。

  • Send Arm out toコマンド。 Send Arm out toコマンドは、指定モジュールにインタモジュール信号の作成を知らせる信号を送ってから先に進むように、Send Arm out toハードウェア・コマンドを挿入することを知らせます。

使用不可能なコマンド

  • ループ
  • マクロ
  • If

関連項目

  • ベクトル・シーケンスのCSVフォーマット・ファイルへのエクスポート
  • ベクトル・シーケンスのCSVフォーマット・ファイルからのインポート


ベクトル・シーケンスのCSVフォーマット・ファイルからのインポート

パターン・ジェネレータCSVフォーマット・ファイルには、コンパイル済みデータ（すなわち、ループ、マクロ、同上文字以外）とバス／信号セットアップ情報が含まれます。（クロック・ソースまたは出力モード／周波数設定情報は含まれていません）。

CSVフォーマットはパターン・ジェネレータおよび表示ウィンドウ（Waveform、Listingなど）全体を通して同じなので、表示ウィンドウからCSVフォーマット・ファイルにデータをエクスポートしてから、データをパターン・ジェネレータ・モジュールにベクトルとしてインポートし直すことによって、キャプチャ・データをベクトルに変換することができます。

CSVフォーマット・ファイル（およびXMLフォーマット・セットアップ・ファイル）に古い16522Aパターン･ジェネレータASCIIフォーマット・ファイルを変換し、それらのCSVフォーマット・ベクトル・シーケンスをインポートすることも可能です。

カンマ区切り値(CSV)フォーマット・ファイルからベクトル・シーケンスをインポートする手順：

  1. Agilent Logic Analyzerアプリケーションのメイン・メニューから、File>Import..を選択します。

  2. Importダイアログで、CSV Data For Pattern Generatorを選択し、OKをクリックします。

  3. 次のImportダイアログで、インポートしたいCSVファイルのファイル名を選択または入力します。

  4. Destinationパターン・ジェネレータ・モジュールを選択します。

  5. Openをクリックします。

関連項目

  • ベクトル・シーケンスのCSVフォーマット・ファイルへのエクスポート
  • Agilent 16522A ASCIIファイルの変換
  • パターン・ジェネレータのCSVファイル・フォーマット


パターン・ジェネレータ・バイナリ(PGB)フォーマット・ファイルのインポート

16700シリーズ・ロジック解析システムのパターン・ジェネレータ・バイナリ(PGB)ファイルがある場合（さらに、それを16900シリーズのフォーマットに変換した場合）、またはPGBファイルを16900シリーズのフォーマットで作成した場合は、そのファイルをインポートして16720Aパターン・ジェネレータをセットアップすることができます。

通常は、パターン・ジェネレータ・バイナリ・ファイルは、ASCIIセットアップ・コマンド・セットとそれに続くバイナリ表記の出力ベクトルから構成されます。PGBファイルには、ループやマクロは含まれません。PGBファイルには、8,388,608ベクトル（フル・チャネル・モード）または16,777,216ベクトル（ハーフ・チャネル・モード）まで含めることができます。

注意：

パターン・ジェネレータ・バイナリ(PGB)ファイルをインポートすると、現在のセットアップ／シーケンス情報がすべて上書きされます。インポート処理を開始する前に、パターン・ジェネレータの設定を保存してください。

パターン・ジェネレータ・バイナリ(PGB)フォーマット・ファイルからベクトル・シーケンスをインポートする手順：

  1. Agilent Logic Analyzerアプリケーションのメイン・メニューから、File>Import..を選択します。

  2. Importダイアログで、Pattern Generator Binaryを選択し、OKをクリックします。

  3. 次のImportダイアログで、インポートしたいCSVファイルのファイル名を選択または入力します。

  4. Destinationパターン・ジェネレータ・モジュールを選択します。

  5. Openをクリックします。

PGBは、インポート方法としてサポートされているに過ぎません。一度データがPGBフォーマット・ファイルからインポートされたら、ALAフォーマット構成ファイルに保存したり、カンマ区切り値(CSV)フォーマット・データ・ファイルにエクスポートすることができます。


バターン・ジェネレータ・バイナリ・ファイルの作成

パターン・ジェネレータ・バイナリ・フォーマットは主に、ロング(>1048576)ベクトル・セットを対象としています。CSVフォーマット（16522A ASCIIファイルの変換によって作成可能）は、もっと短いセットに用いることができます。

パターン・ジェネレータ・バイナリ(PGB)フォーマット・ファイルは、以下の方法で作成できます。

  • 16700シリーズ・ロジック解析システムのPGBフィルを変換する。

  • PGBフォーマット・ファイルを作成するためのプログラムを使用する。

    ロング・ベクトル・セットは、Verilogシミュレータなどのツールによって作成し、サード・パーティのツールまたは開発したデータ変換ユーティリティによって変換することができます。ベクトル、バス／信号名などの変更は、最初にベクトルを作成したツール（例えば、Verilog）で行ってください。

パターン・ジェネレータ・バイナリ・ファイル作成用のサンプル・コード

パターン・ジェネレータ・バイナリ・ファイル作成用のVisual C++コードは、Agilentロジック・アナライザアプリケーションによってインストールされ、以下のディレクトリに格納されています。

C:\<Install directory>\Pattern Generator\Visual C++ Examples\

例：

C:\Program Files\Agilent Technologies\Logic Analyzer\Pattern Generator\Visual C++ Examples\

2つのサブディレクトリがあり、それぞれにreadmeファイル、プログラム・ソース・コード、コンパイル済み実行ファイル、プログラムによって作成されたパターン・ジェネレータ・バイナリ・ファイルが含まれています。

  • SimplePGB：パターン・ジェネレータ・バイナリ・ファイルの作成方法の簡単なサンプル。

  • CommandLinePGB：より広範な例（コマンド・ライン・オプションを含む）。

パターン・バイナリ・ファイルの条件／注意事項

  • ファイルには、指定のパターン・ジェネレータ・コマンドだけを、下の例に示されている順番およびフォーマットで含めるようにしてください。
  • このファイルは、バイナリ・バイトストリーム・フォーマットで作成します。
  • ベクトル・データは、全体にバイナリでなければなりません。
  • データには、パターン・ジェネレータ・コマンドを含めることはできません。
  • パターン・ジェネレータ・マクロをデータの中で定義したり、実行することはできません。
  • バス／信号名（ラベル）は、隣接ビットまたは任意の順に順番付けられたビットで構成することができます。
  • 各ASCIIコマンドは、ライン・ターミネーション文字（改行"<LF>"またはキャリッジ・リターンと改行"<CR><LF>"）で終わらなければなりません。
  • 最初のコマンド(PGBINARY)の後には、コメントを含めることができます。
  • コメントは、スラッシュ'/'で始まり、行の終わりで終了します。

パターン・ジェネレータ・バイナリの例

注記：

この例では、ASCIIパターン・ジェネレータ・コマンドだけが示されています。バイナリ・ベクトル・データは示されていません。

PGBINARY
MODE FULL
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)

注記：

5行目～10行目に指定されているLABELシーケンスによって、特有のビット割当てになります。これらのLABELコマンドのさまざまなPOD割当てによって、ビッドに異なる順番が付けられます。


バイナリ・ファイル・コマンド

以下のASCIIコマンドは、パターン・ジェネレータ・バイナリ(PGB)フォーマット・ファイルで、ファイルの終わりにバイナリ・ベクトル・データ用にパターン・ジェネレータをセットアップするのに用いられます。コマンドは省略したり、切り捨てたりすることはできません。

コマンド

  • パターン・ジェネレータ・ファイル識別子
  • CLOCk
  • DELAY
  • MODE
  • LABEL
  • ORDER
  • WIDTH
  • DEPTH
  • BREAK
  • EVENT
  • WAITARM
  • WAITEXT
  • SENDARM
  • MAIN
  • DESTINATION
  • BEGIN
  • バイナリ・データ


パターン・ジェネレータ・ファイル識別子

パターン・ジェネレータ・バイナリ・ファイルの最初の行には、テキスト文字列"PGBINARY"が含まれていなければなりません。この文字列の目的は、ファイルをパターン・ジェネレータ・バイナリ・ファイルとして一意に識別することです。

例

PGBINARY
MODE FULL
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)


CLOCKコマンド

CLOCKコマンドはオプションです。指定しなかった場合は、既存のクロック方式が用いられます。CLOCKコマンドは、パターン・ジェネレータのクロック・ソースを指定します。

コマンド・シンタックス

CLOCK [ EXTERNAL | INTERNAL <floating_point_number> ]

EXTERNAL＝クロック・モードを外部クロックに設定します。

INTERNAL＝クロック・モードを内部クロックに設定します。

<浮動小数点>＝内部クロック周波数を指定します。1.0以上の数値の場合は、Hzとして処理されます。<1.0の数値の場合は、クロック周期として処理されます。

注記：

最大クロック・レートは、チャネル・モードによって制限されます。MODEコマンドを参照してください。

例

PGBINARY
MODE FULL
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)


DELAYコマンド

DELAYコマンドはオプションです。指定しなかった場合は、既存の遅延方式が用いられます。DELAYコマンドは、クロック出力遅延を指定します。クロック出力遅延設定により、データとクロックの配置を変更することができます。遅延設定範囲は0～14で、1つ増加するに従って、クロックは約500ps遅延します。

注記：

0に対応する遅延設定は未校正です。測定して基本クロック／データ・タイミングを決定する必要があります。

コマンド・シンタックス

DELAY <delay_arg>

<delay_arg>＝0～14の整数で、1つ増加するに従って、クロックは約500ps遅延します。

例

PGBINARY
MODE FULL
CLOCK INTERNAL 5e7   / 50 MHz.
DELAY 6
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)


MODEコマンド

MODEコマンドはオプションです。指定しなかった場合は、既存のモード方式が用いられます。FULLチャネル出力モードは、データ・レートを最高180MHzに制限しますが、カード当たり48チャネルが可能です。HALFチャネル出力モードでは、最大300MHzの出力レートが可能ですが、カード当たりのチャネル数が24に制限されます。

コマンド・シンタックス

MODE [ FULL | HALF ]

例

PGBINARY
MODE FULL
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)


LABELコマンド

LABELコマンドは、パラメータ・ジェネレータ・バイナリ・ファイルで使用されるバス／信号名を設定します。

PODキーワードに続く最初の<integer>は、ポッド番号です。ポッドには、1からNまでの番号が付けられます。ここで、Nはカード・セット内のポッド数です。例えば、5カード・パターン・ジェネレータ・モジュールには、フル・チャネル・モードの場合は30ポッド、ハーフ・チャネル・モードの場合は15ポッドあります。ポッドには、下のカードから上のカード、右のポッドから左のポッドの順に番号が付けられます。

スロット／ポッド名ではなくポッド・インデックス番号を使用することによって、LABELコマンドは、パターン・ジェネレータ・モジュールのカードが入っているスロットから独立しています。

ビット割当ては、最上位ビットから最下位ビットに向って行われます。

コマンド・シンタックス

LABEL <name_str> POD <integer> '[' <integer> | <integer> : <integer> {, ...} ']' {, POD ...}

<name_str> ＝ 最長20の文字から成るバス／信号名。名前文字列は、英字（A～Z、a～z）または下線(_)で始まらなければなりません。また、英字、下線または数字（0～9）を後に続けることができます。バス／信号名には、キーワードを使うことはできません。キーワードをバス／信号名として使用したい場合は、引用符で囲まなければなりません。

<integer> = ポッド・インデックスまたはビット番号。

ポッド／ビット順は、データのロード順に影響します。ポッド／チャネル割当ては、MSBからLSBに向って順番に指定され、データのロード方法に影響を及ぼします。これによってラベルが並び替えられることはありません。

例

以下の図は、バイナリ・ファイルのパターン・ジェネレータへのインポート方法を例示したものです。

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL Select0 POD 6 [7]
LABEL Select1 POD 6 [6]
LABEL IN_Bus0 POD 6 [5:2]
LABEL IN_Bus1 POD 6 [1,0], POD 5 [7:6]
LABEL IN_Bus2 POD 5 [5:2]
LABEL IN_Bus3 POD 5 [1,0], POD 4 [7:6]
LABEL OUT_Bus POD 4 [5:2]
WIDTH 7
DEPTH 4096
BEGIN
（バイナリ・データ...)


キーワード

以下は、パターン・ジェネレータ・バイナリ・ファイルのキーワードで、ラベルとして用いることはできません。

  • A
  • B
  • BEGIN
  • BREAK
  • C
  • CLOCk
  • D
  • DELAY
  • DEPTH
  • EVENT
  • EXTERNAL
  • FULL
  • HALF
  • INTERNAL
  • LABEL
  • MAIN
  • MODE
  • NONE
  • ORDER
  • PGBINARY
  • POD
  • PEPETITIVE
  • RMODE
  • SENDARM
  • SINGLE
  • WAITARM
  • WAITEXT
  • WIDTH


ORDERコマンド

ORDERコマンドは、ラベル・データの表示順を指定するためのオプションの方法を提供します。順番が指定されない場合は、ラベルが定義された順番と仮定されます。ORDERコマンドに定義されたラベルのサブセットしか含まれていない場合は、後続のBEGINコマンドは、ORDERコマンドで指定されたラベルだけを参照します。

コマンド・シンタックス

ORDER { <name_str> ... }

<name_str> = 最長20文字のラベル文字列。

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
ORDER "My Bus 6" "My Bus 5" "My Bus 4" "My Bus 3" "My Bus 2" "My Bus 1"
WIDTH 6
DEPTH 4096
BEGIN


WIDTHコマンド

WIDTHコマンドは、バイナリ・データの幅をバイト数で定義します。ORDERコマンドで定義または指定されたすべてのラベルのサイズを集計（フルバイトにラウンドアップ）することによって、幅は決定されます。ファイルの総データ・バイト数は、（DEPTH * WIDTH)でなければなりません。WIDTHは、バイナリ・データ部分の開始前に定義する必要があります。バイナリ・データ部分には、WIDTHも含まれます。この冗長情報は、バイナリ・データの1つの証明として用いられます。

コマンド・シンタックス

WIDTH <integer>

<整数> = バイナリ・データのバイト幅数。

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)


DEPTHコマンド

DEPTHコマンドは、バイナリ・データに含めるベクトル数を定義します。ファイルのバイナリ・データ部分の総バイト数は、（DEPTH * WIDTH)でなければなりません。DEPTHは、バイナリ・データ部分の開始前に定義する必要があります。バイナリ・データ部分には、DEPTHも含まれます。この冗長情報は、バイナリ・データの1つの証明として用いられます。

DEPTHには、機器のMODEがFULLかHALFかによって、以下の制限があります。これらの制限は、DESTINATIONがHARDWARE_ONLYまたはHARDWARE_AND_SETUPの場合にだけ当てはまります。それ以外の場合は、ユーザ・インタフェースの通常のシーケンス規則が適用されます。

FULLチャネル・モード

  • INIT部分は、偶数のベクトルでなければなりません。
  • MAIN部分は、偶数のベクトルでなければなりません。
  • 全体のDEPTHは、最大8,388,608です。
  • 全体のDEPTHは、4,096以上です。

HALFチャネル・モード

  • INIT部分は、4の倍数のベクトルでなければなりません。
  • MAIN部分は、4の倍数のベクトルでなければなりません。
  • 全体のDEPTHは、最大16,777,216です。
  • 全体のDEPTHは、4,096以上です。

コマンド・シンタックス

DEPTH <整数>

<整数> = バイナリ・データのベクトル数。

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)


BREAKコマンド

BREAKコマンドは、ベクトル番号 <integer>にハードウェアBREAKコマンドを出します。ベクトルには、0～DEPTH-1までの番号が付けられます。

コマンド・シンタックス

BREAK <integer>

<integer>＝ハードウェアBREAKコマンドが出されるベクトル

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
BREAK 100
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)

注記：

BREAKコマンドは、最初のベクトルまたは最後のベクトル以外のベクトルに出すことができます。最後のベクトルは、単一もしくは繰り返し実行モードを実現するのに用いられ、他の用途には使用できません。最後のベクトル以降にコマンドを出そうとすると、エラーになります。


EVENTコマンド

EVENTコマンドは、パターンを4つの外部イベント・レジスタの1つに設定します。これらのイベント・レジスタは、WAITEXTコマンドの中で指定することができます。パターンがNONEの場合は、このイベント待ちは常に後回しにされます。パターンが整数の場合は、その値が下の表に従って解釈されます。

外部イベント
整数               入力値
（16進）      WAITEXT_2    WAITEXT_1    WAITEXT_0

#H01          0            0            0
#H02          0            0            1
#H04          0            1            0
#H08          0            1            1
#H10          1            0            0
#H20          1            0            1
#H40          1            1            0
#H80          1            1            1

値は論理和することができます。例えば、#H22の値は、（101 + 001)のパターンを示します。

コマンド・シンタックス

EVENT [ A | B | C | D ] [ NONE | <integer> ]

A, B, C, D = 4つの外部ウエイト・イベント・レジスタ。

NONE - 「常にウェイト」を示す値。

<integer> = 上の表のイベント・パターン。

例

PGBINARY
MODE FULL
RMODE SINGLE
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
EVENT A #H01
WAITEXT A 100
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)


WAITARMコマンド

WAITARMコマンドは、ベクトル番号 <integer>にハードウェア・コマンドを出します。ベクトルには、0～DEPTH-1までの番号が付けられます。1つの構成に1つのWAITARMコマンドしか含めることはできません。

コマンド・シンタックス

WAITARM { [ <module_name> | "External Trigger" ] {, ...} } <integer>

<integer>＝ハードウェアWAITARMコマンドが出されるベクトル

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WAITARM "EXTERNAL TRIGGER" 200
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)

注記：

WAITARMコマンドは、最初のベクトルまたは最後のベクトル以外のベクトルに出すことができます。最後のベクトルは、単一もしくは繰り返し実行モードを実現するのに用いられ、他の用途には使用できません。最後のベクトル以降にコマンドを出そうとすると、エラーになります。


WAITEXTコマンド

WAITEXTコマンドは、ベクトル番号 <integer>にハードウェア・コマンドを出します。ベクトルには、0～DEPTH-1までの番号が付けられます。

コマンド・シンタックス

WAITEXT [ A | B | C | D ] <integer>

A, B, C, D = 外部ウエイト・イベント。

<integer>＝ハードウェアWAITEXTコマンドが出されるベクトル。

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
EVENT A #H01
WAITEXT A 100
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)

注記：

WAITEXTコマンドは、最初のベクトルまたは最後のベクトル以外のベクトルに出すことができます。最後のベクトルは、単一もしくは繰り返し実行モードを実現するのに用いられ、他の用途には使用できません。最後のベクトル以降にコマンドを出そうとすると、エラーになります。


SENDARMコマンド

SENDARMコマンドは、ベクトル番号 <integer>にハードウェアSENDARMコマンドを出します。ベクトルには、0～DEPTH-1までの番号が付けられます。1つの構成に1つのSENDARMコマンドしか含めることはできません。

コマンド・シンタックス

SENDARM <integer>

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
SENDARM 100
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)

注記：

SENDARMコマンドは、最初のベクトルまたは最後のベクトル以外のベクトルに出すことができます。最後のベクトルは、単一もしくは繰り返し実行モードを実現するのに用いられ、他の用途には使用できません。最後のベクトル以降にコマンドを出そうとすると、エラーになります。


MAINコマンド

MAINコマンドは、ベクトル・セットのMAIN部分が開始する場所のベクトル番号を与えます。MAINベクトルの前にあるベクトルは、INIT部分を構成します。これは、デフォルトの0をとります（INIT部分なし）。ベクトルには、0～DEPTH-1までの番号が付けられます。

コマンド・シンタックス

MAIN <integer>

<integer> = ベクトル・セットのMAIN部分の開始場所のベクトル番号。

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)


DESTINATIONコマンド

DESTINATIONコマンドは、PGBインポート・プロセスの宛先を指定します。

コマンド・シンタックス

DESTINATION [ HARDWARE_ONLY | HARDWARE_AND_SETUP | SETUP_ONLY ]

HARDWARE_ONLY = PGBファイルは、ハードウェアにロードされます。この場合、パターン・ジェネレータは、コンパイル／ロードを事前に実行することなく起動するようにセットアップされます。

HARDWARE_AND_SETUP = PGBファイルは、ハードウェアとPattern Generator SetupダイアログのSequenceタブの両方にロードされます。

SETUP_ONLY = PGBファイルは、Pattern Generator SetupダイアログのSequenceタブだけにロードされます。

デフォルトは、HARDWARE_ONLYです。

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
EVENT A #H01
WAITEXT A 100
WIDTH 6
DEPTH 4096
DESTINATION HARDWARE_AND_SETUP
BEGIN
（バイナリ・データ...)


BEGINコマンド

BEGINコマンドは、ファイルのASCII部分の最後のコマンドです。このコマンドは、改行またはコメント（他のすべてのコマンド）で終わります。改行の直後にバイナリ・データが続きます。

コマンド・シンタックス

BEGIN <改行> <バイナリ・データ>

例

PGBINARY
MODE FULL
RMODE SINGLE
CLOCK INTERNAL 5e7   / 50 MHz.
MAIN 0
LABEL "My Bus 1" POD 1 [7:0]
LABEL "My Bus 2" POD 2 [7:0]
LABEL "My Bus 3" POD 3 [7:0]
LABEL "My Bus 4" POD 4 [7:0]
LABEL "My Bus 5" POD 5 [7:0]
LABEL "My Bus 6" POD 6 [7:0]
WIDTH 6
DEPTH 4096
BEGIN
（バイナリ・データ...)


バイナリ・データ

バイナリ・データは、DEPTHとWIDTHをバイナリで示した8バイト・ヘッダで始まります。これらの値は、ファイルの初めにASCIIコマンドとして指定したDEPTHとWIDTHと一致していなければなりません。これらの値は、ビッグエンディアン順の32ビット整数で記述しなければなりません。つまり、最初のバイトが最上位バイトでなければなりません。この後に、バイナリ・データそのものが続きます。

  • 4バイト＝DEPTH（ベクトル数）
  • 4バイト＝WIDTH（ベクトル当たりのバイト数）
  • (WIDTH * DEPTH)バイト＝バイナリ・データ

各ベクトルは、ORDERコマンドで定義または指定された各LABELに対する1つの値から構成されます。各ラベルのバイト数は、ラベルのビット幅が与えられていれば、最低バイト整数になります。例えば、17ビット・ラベルは3バイト（24ビット）、16ビット・ラベルは2バイト（16ビット）を必要とします。

バイトは、ビッグエンディアン順と解釈されます。ラベルがそのラベルに書き込まれるビット数より少ないビット数で構成されている場合（例えば、24ビット・データを受け取る17ビット・ラベル）、最下位ビットが用いられ、過剰最上位ビットは破棄されます。この数は、ORDERコマンドの定義または指定されたラベルに必要なバイト数と一致していなければなりません。

"BEGIN"に続く改行の後のファイルの残りの長さは、（8＋DEPTH * WIDTH）でなければなりません。

現在のハードウェアにないポッド（例えば、1カード・モジュールのPOD 7）に対してLABELが定義された場合、設定が適合するように切り捨てられ、警告が出されます。


Agilent 16522A ASCIIファイルの変換

古い16522Aパターン・ジェネレータASCIIフォーマット・ファイル（または、そのフォーマットのASCIIファイルを作成した場合）は、16720Aパターン・ジェネレータで使用可能な2種類のファイルに変換することができます。

  • ベクトル・シーケンス・データが含まれているCSVフォーマット・ファイル。
  • パターン・ジェネレータのクロック・ソースや出力モード／周波数設定情報が含まれているXMLフォーマット・ファイル。

ASCIIテキスト・ファイルを作成して、完全なパターン・ジェネレータ・プログラムとしてインポートすることができます。一般に、ASCIIファイルは、設定情報ブロック、ラベル／チャネル情報ブロック、パターン・ジェネレータ・ベクトル・データ・ブロックから構成されます。このファイルは、ASCIIフォーマットで保存し、以下の手順のステップ1に示されているように構成する必要があります。

  1. Windowsのスタート・メニューから、スタート>すべてのプログラム>Agilentロジック・アナライザ>ユーティリティ>パターン・ジェネレータ>167xxパターン・ジェネレータAsciiトランスレータを選択します。

  2. Ascii File Translatorダイアログで、変換したい16522A ASCIIファイルの名前を入力します。

  3. データ変換出力の169xx CSVファイル部分の名前を入力します。

  4. データ変換出力の169xx XMLファイル部分の名前を入力します。

  5. Convertをクリックします。

  6. 変換後、ExitをクリックしてAscii File Translatorダイアログを閉じます。

  7. 構成ファイルのオープンの説明に従って、XMLフォーマット構成ファイルを開きます。

  8. CSVフォーマット・ファイルからのベクトル・シーケンスのインポートの説明に従って、CSVフォーマット・ベクトル・シーケンス・ファイルをインポートします。


ASCIIファイルの作成

ASCIIファイルは、Windows、MS-DOSまたはUNIXテキスト・エディタを使って作成することができます。ASCIIファイルは、ファイル識別子と3つの情報ブロックから構成されます。各ブロックは、指定された順番でなければなりません。

  • ASCII 000000：必須のファイル識別子（"ASCII"の後に5つの空白と6つのゼロが続きます）。
    ASCDown：オプション。以前の製品との互換性を維持するために確保。
  • 最初のブロック（オプション）
    • FORMat：クロック、チャネル・モードおよび遅延情報。
  • 2番目のブロック
    • LABel：名前およびチャネル数。
  • 3番目のブロック
    • VECTor：ベクトル・データ／繰り返しインジケータ。

ファイルの条件／注意事項

  • ファイルには、指定のパターン・ジェネレータ・コマンドだけを、下の例に示されている順番およびフォーマットで含めるようにしてください。
  • このファイルは、"ASCII"または「テキストのみ」のフォーマットで保存してください。
  • ベクトル・データは、全体に16進法であると仮定されます。
  • データには、パターン・ジェネレータ・コマンドを含めることはできません。
  • パターン・ジェネレータ・マクロをデータの中で定義したり、実行することはできません。
  • すべてのラベルが隣接ビットから構成されます。
  • このファイルは、ライン・ターミネーション文字（改行"<lf>"またはキャリッジ・リターンと改行"<CR><lf>"）で終わらなければなりません。
  • 最初の行(ASCI 000000)の後には、コメントを含めることができます。コメントは、スラッシュ'/'で始まり、行の終わりで終了します。

ASCIIファイルの例

注記：

この例では、下線が引かれたリンクが参考のためだけに追加されています。実際のディスク・ファイルのテキストには含まれません。改行"<lf>"は、例として示されているに過ぎません。ご使用のコンピュータやテキスト・エディタによっては、実際にはキャリッジ・リターンの後に改行"<CR><lf>"という場合もあります。

ASCII     000000 <lf>
/
/ これはASCIIファイルのテキストです
/
ASCDown<lf>
FORMat:MODE FULL<lf>
FORMat:CLOCk INTernal, 10E-9<lf>
LABel LAB1,8<lf>
LABel DATA,8<lf>
LABel TEST,9<lf>
LABel CLK,3<lf>
LABel BIG,12<lf>
/*
/* これはベクトル部分の始まりです
/*
VECTor<lf>
12 34 056 7 89A<lf>         / いくつかのベクトル
0 22 007 0 FFF<lf>
A0 33 000 1 111<lf>         /* さらにいくつかのベクトル */
*M<lf>
92 6F 000 1 FF0<lf>
CA CA 000 1 00F<lf>         // さらに多くのベクトル
*R 3<lf>
00 10 011 0 ABC<lf>

注記：

8行目～12行目に指定されているLABelシーケンスによって、特有のビット割当てになります。LABelコマンドのさまざまな順番付けによって、ビッドに異なる順番が付けられます。


ASCIIファイル・コマンド

以下のコマンドは、16522A ASCIIフォーマット・ファイルで、パターン・ジェネレータをセットアップし、ベクトル・シーケンス・データを定義するのに用いられます。コマンドの大文字・小文字の区別はありません。例示されているコマンドの中の小文字は、長文式と短文式の違いを示しているに過ぎません。

コマンドの大文字は、各コマンドの必須部分を示しています。

コマンド

  • ASCIIディスク・ファイル識別子
  • ASCDownコマンド
  • FORMatコマンド
    • MODe
    • CLOCk
    • DELay
  • LABelコマンド
  • VECTorコマンド


ASCIIディスク・ファイル識別子

ディスク・ファイルの最初の行には、テキスト文字列"ASCII 000000"が含まれていなければなりません。テキスト"ASCII"の後に5つの空白と6つのゼロが続きます。この文字列の目的は、ファイルをASCIIディスク・ファイルとして一意に識別することです。

例

ASCII     000000
ASCDOWN
FORMAT:MODE FULL
LABEL LAB,8
LABEL DATA,8
LABEL "TEST",9
LABEL CLK,3
LABEL BIG,12
VECTOR
12 34 56 7 89A
0 22 7 0 FFF
A0 33 00 1 111
*M
92 6F 00 1 FF0
CA CA 00 1 00F
00 10 11 0 ABC


ASCDownコマンド

ASCDownコマンドは、以前は、アスキー・ファイルのロードの開始を示す信号を送信するのに用いられていました。これによって、現在のパターン・ジェネレータ・ラベル/シーケンス構造がクリアされ、デフォルト状態にリセットされます。Agilent 16720Aパターン・ジェネレータでは、これが自動的に実行されるようになりました。

例

ASCII     000000
ASCDOWN
FORMAT:MODE FULL
LABEL LAB,8
LABEL DATA,8
LABEL "TEST",9
LABEL CLK,3
LABEL BIG,12
VECTOR
12 34 56 7 89A
0 22 7 0 FFF
A0 33 00 1 111
*M
92 6F 00 1 FF0
CA CA 00 1 00F
00 10 11 0 ABC


FORMat:MODeコマンド

FORMat:MODeコマンドはオプションです。指定しなかった場合は、既存のモード方式が用いられます。FULLチャネル出力モードは、データ・レートを最高180MHzに制限しますが、カード当たり48チャネルが可能です。HALFチャネル出力モードでは、180MHzを超える出力レートが可能ですが、カード当たりのチャネル数が24に制限されます。

コマンド・シンタックス

FORMat:MODe [FULL|HALF]

例

ASCII     000000
ASCDOWN
FORMAT:MODE FULL
LABEL LAB,8
LABEL DATA,8
LABEL "TEST",9
LABEL CLK,3
LABEL BIG,12
VECTOR
12 34 56 7 89A
0 22 7 0 FFF
A0 33 00 1 111
*M
92 6F 00 1 FF0
CA CA 00 1 00F
00 10 11 0 ABC


FORMat:CLOCkコマンド

FORMat:CLOCkコマンドはオプションです。指定しなかった場合は、既存のクロック方式が用いられます。CLOCkコマンドは、パターン・ジェネレータのクロック・ソースを指定します。

コマンド・シンタックス

FORMat:CLOCk INTernal, <clk_period>

<clk_period> = クロック周期値（例＝5E-9）の選択が可能なインタフェースに対応する実数値。

FORMat:CLOCk EXTernal, [LEFifty|GTFifty|GTONe]

[LEFifty] = ≦50MHz。

[GTFifty] = >50MHz～180MHz。

[GTONe] = >180MHz。

注記：

最大クロック・レートは、チャネル・モードによって制限されます。FORMat:MODeコマンドを参照してください。

例

ASCII     000000
ASCDOWN
FORMAT:MODE FULL
FORMAT:CLOCK INTERNAL, 10E-9
LABEL LAB,8
LABEL DATA,8
LABEL "TEST",9
LABEL CLK,3
LABEL BIG,12
VECTOR
12 34 56 7 89A
0 22 7 0 FFF
A0 33 00 1 111
*M
92 6F 00 1 FF0
CA CA 00 1 00F
00 10 11 0 ABC


FORMat:DELayコマンド

FORMat:DELayコマンドはオプションです。指定しなかった場合は、既存の遅延方式が用いられます。DELayコマンドは、クロック出力遅延を指定します。クロック出力遅延設定により、データとクロックの配置を設定できます。遅延設定範囲は0～14で、1つ増加するに従って、クロックは約500ps遅延します。

注記：

0に対応する遅延設定は未校正です。測定して基本クロック／データ・タイミングを決定する必要があります。

コマンド・シンタックス

FORMat:DELay <delay_arg>

<delay_arg> = 0～14の整数で、1つ増加するに従って、クロックは約500ps遅延します。

例

ASCII     000000
ASCDOWN
FORMAT:MODE FULL
FORMAT:CLOCK INTERNAL, 10E-9
FORMAT:DELAY 2
LABEL LAB,8
LABEL DATA,8
LABEL "TEST",9
LABEL CLK,3
LABEL BIG,12
VECTOR
12 34 56 7 89A
0 22 7 0 FFF
A0 33 00 1 111
*M
92 6F 00 1 FF0
CA CA 00 1 00F
00 10 11 0 ABC


LABelコマンド

LABelコマンドは、ASCIIファイルの使用を目的とした特殊なラベルの指定方法です。ラベル・ビットは、出力ポッドの最上位ビットから最下位ビットに向って割り当てられます。ラベル文字列（文字列の引用符はオプション）とフィールドの幅を指定する必要があります。ラベル基数は、デフォルトの16進数をとります。最大128のラベルがあります。どんなラベルも32ビット幅を超えてはなりません。残りの未使用のパターン・ジェネレータ・ビットに対してラベルの幅が広過ぎる（ビット数が多過ぎる）場合は、そのラベルは破棄されます。

コマンド・シンタックス

LABel <name_str>,<width>

<name_str> = 最長20文字のラベル文字列。

<width> = ラベルの整数ビット数（1～32）。

例

ASCII     000000
ASCDOWN
FORMAT:MODE FULL
LABEL LAB,8
LABEL DATA,8
LABEL "TEST",9
LABEL CLK,3
LABEL BIG,12
VECTOR
12 34 56 7 89A
0 22 7 0 FFF
A0 33 00 1 111
*M
92 6F 00 1 FF0
CA CA 00 1 00F
00 10 11 0 ABC


VECTorコマンド

VECTorコマンドは、ヘッダ／セットアップ・コマンドの後に、ASCIIファイルの実際のパターン・ジェネレータ・データの開始を知られるために用いられます。VECTorコマンドと同じ行にデータを含めることはできません。

例

ベクトル・データ

ASCIIファイルのデータ部分は、16進データ・フィールドの配列です。配列の各行は、メイン・プログラムの1行に相当します。配列の各列は、パターン・ジェネレータのBuses/Signalsタブに定義されているように、1つのラベルに相当します。

データ・フィールドは、1つ以上の空白文字で区切られています。ライン・ターミネーション（改行またはキャリッジ・リターン＋改行）は、行の終わりと新しい行の始まりを知らせます。データ・フィールドにラベル幅が示している以上のデータがある場合は、データ・フィールドの最下位ビットだけが使用されます。1行のデータ・フィールドの数がラベルより多い場合は、余分なデータ・フィールド（その行の最後のデータ・フィールド）が無視されます。1行のデータ・フィールドの数がラベルより少ない場合は、余分な（右端の）ラベルのデータは0になります。

MAINシーケンスには、データ行を最低2行は含めなければなりません。ASCIIデータ・ファイルでは、"*M"だけから構成される行は、MAINシーケンスの開始を知らせます。INITシーケンスにデータがない場合は、VECTorコマンドの後のファイルの最初の行は"*M"でなければなりません。"*M"の引用符は、実際にはファイル内にはないので注意してください。

注意：

有効な16進数字（すなわち、0～9または大文字／小文字のA～F）以外の文字はすべて無視され、フィールド・セパレータとして扱われます。このため、データ値の途中に間違ってタイプされた文字があると、問題が生じる可能性があります。例えば、"12R4"は、"12"と"4"の2つのラベルに割り当てられます。

INITかMAINのどちらかのシーケンスに、"*R <count>"によって指定された複数の繰り返し指示子を含めることができます。繰り返し指示子の周囲の引用符は、指示子には含まれません。"*M"と同様に、"*R <count>"は個別の行なければなりません。

繰り返し指示子は、前のデータ・ベクトルの<count>回の繰り返しを指定します。ここで、<count>は正の整数です。繰り返し指示子は、データ・ベクトルまたは別の繰り返し指示子を含むシーケンス行の後になければなりません。VECTorコマンドまたは"*M"の後に繰り返し指示子を置くと、エラー・メッセージが表示されます。

ファイルの最後のデータ行は、ライン・ターミネーション文字で終わらなければなりません。ライン・ターミネーション文字は、データ行をデータ構造にロードするためのフラグです。そうしないと、最後のデータ行はロードされません。

ASCIIファイルのインポート・メカニズムは、データ・ファイルおよびヘッダ・コマンドは正確であると仮定します。エラー処理は基本であり、予期せぬ文字をフィールド・セパレータとして扱うと、ファイルの解析時に奇怪な結果が生じるおそれがあります。エラー・メッセージは、パーサがエラーを検出した行番号を示します。

深刻な問題があると、ロジック解析システムのロックアップを防ぐために、デフォルトのメイン・プログラムがロードされます。


16700シリーズPGBファイルの変換

16700シリーズ・ロジック解析システムのパターン・バイナリ(PGB)ファイルは、16900シリーズ・ロジック解析システムで使用可能なPGBファイルに変換することができます。

  1. Windowsのスタート・メニューから、スタート>すべてのプログラム>Agilentロジック・アナライザ>ユーティリティ>パターン・ジェネレータ>167xxパターン・ジェネレータPGBトランスレータを選択します。

  2. PGB PGB File Translatorダイアログで、変換したい167xx PGB ファイルの名前を入力します。

  3. 169xx PGBファイルデータ変換出力の名前を入力します。

  4. 目的のDestinationオプションを選択します。DESTINATIONコマンドが出力169xx PGBファイルに挿入され、PGBファイルのインポート時にベクトルが取り込まれる場所が指定されます。

    • Hardware Only：ベクトルは、パターン・ジェネレータ・モジュールのハードウェア（メモリ）にインポートされます。この場合、パターン・ジェネレータは、コンパイル／ロードを事前に実行することなく起動するようにセットアップされます。

    • Setup Only：ベクトルは、Pattern Generator SetupダイアログのSequenceタブにインポートされます。

    • Hardware and Setup：ベクトルは、パターン・ジェネレータ・モジュールのハードウェア（メモリ）とPattern Generator SetupダイアログのSequenceタブの両方にインポートされます。

  5. Convertをクリックします。

  6. 変換後、ExitをクリックしてPGB File Translatorダイアログを閉じます。

  7. パターン・バイナリ(PGB)フォーマット・ファイルのインポートの説明に従って、PGBファイルをインポートします。

16700シリーズと16900シリーズのPGBフォーマットの違い

16700シリーズPGB | 16900シリーズPGB
上のカードから下のカード、左のポッドから右のポッドの順に順番付けられたポッド。 | 下のカードから上のカード、右のポッドから左のポッドの順に順番付けられたポッド。
ポッド番号は0から始まります。 | ポッド番号は1から始まります。
ハーフ・チャネル・モードでは、ポッドには0から連番が付けられます（すなわち、0、1、2、...）。 | ハーフ・チャネル・モードでは、ポッド番号は変わりません（すなわち、5、3、1）。
WAIT [A|B|C|D] <integer> | WAITEXT [A|B|C|D] <integer>
WAIT IMB <integer> | WAITARM "EXTERNAL TRIGGER" <integer>
SIGNAL <integer> | SENDARM <integer>


パターン・ジェネレータ・リファレンス

  • 主な特性


主な特性

特性 | 16720Aパターン・ジェネレータ
出力チャネル： | 300MHzクロック（ハーフ・チャネル・モード）で25チャネル／カード、 180MHzクロック（フル・チャネル・モード）で48チャネル。
メモリ長： | 16,888,216ベクトル（ハーフ・チャネル・モード）、 8,388,608ベクトル（フル・チャネル・モード）。
ロジック・レベル（データ・ポッド）： | TTL、3ステートTTL/3.3V、3ステートTTL/CMOS、ECL/PECL/LVPECL終端、ECL未終端、差動ECL（ポッドなし）。
データ入力： | 3ビット・パターン・レベル・センシング（クロック・ポッド）。
クロック出力： | 出力データと同期、14ステップで7nsの遅延（クロック・ポッド）。
クロック入力： | DC～300MHz（クロック・ポッド）。
内部クロック周期： | 1MHz～300MHzの範囲で1MHzステップでプログラム可能。
外部クロック周期： | DC～300MHz。
外部クロック・ディーティ・サイクル： | 1.3nsの最小ハイ時間。
最大「ウエイト」イベント・パターン数： | 4


パターン・ジェネレータの制御、COMオートメーション

Agilent Logic Analyzerアプリケーションは、COMオートメーション・サーバを備えています。このソフトウェアを用いれば、ローカル・エリア・ネットワーク(LAN)上のリモート・コンピュータからAgilent Logic Analyzerアプリケーションを制御するプログラムを記述することができます。

COMオートメーション・プログラムでは、以下の方法でパターン・ジェネレータ・モジュールを設定することができます。

  • 構成ファイル（ロジック・アナライザを完全に設定）をロードする。

  • ModuleオブジェクトのDoCommandsメソッドをXMLフォーマット文字列パラメータと一緒に用いる（パターン・ジェネレータのセットアップ、XMLフォーマットを参照）。

ModuleオブジェクトのQueryCommandメソッドを使って、モジュールの構成に関する情報を得ることができます。パターン・ジェネレータ・モジュールで使用可能な問合せを以下にリストします。

一般的なロジック・アナライザCOMオートメーション／ツール・オブジェクトの詳細については、COMオートメーションを参照してください。

使用可能なXMLベース問合せ

パターン・ジェネレータ・モジュールでは、以下のXMLベース問合せ（ModuleオブジェクトのQueryCommandメソッドによる）の使用が可能です。

問合せ | 説明
GetAllSetup | フルセットのタグを使用して、汎用構成ファイルの記述に用いられる現在の設定を返します（XMLフォーマット<Module>要素を参照）。
GetBusSignalSetup | BusSignalSetup設定だけを返します（XMLフォーマット<BusSignalSetup>要素を参照）。
GetClockingSetup | ClockingSetup設定だけを返します（XMLフォーマット<ClockingSetup>要素を参照）。
GetModule | フルセットのタグを使用して、"GetAllSetup"と等しい現在の設定を返します（XMLフォーマット<Module>要素を参照）。

関連項目

  • COMオートメーション
  • パターン・ジェネレータのセットアップ、XMLフォーマット


パターン・ジェネレータのセットアップ、XMLフォーマット

ロジック・アナライザの設定をXMLフォーマット・ファイルに保存する場合、パターン・ジェネレータ・モジュールのセットアップ情報も含まれます。

このXMLフォーマット・セットアップ情報は、COMオートメーション・プログラムを記述してリモート・コンピュータからパターン・ジェネレータを制御する場合にも用いられます。

パターン・ジェネレータ・モジュールのXML要素は、次のような階層構造になっています。

<Module>
   <BusSignalSetup>
      <BusSignals>
         <BusSignal>
            <Channels>
   <ClockingSetup>
      <Clocking>

関連項目

  • XMLフォーマット
  • パターン・ジェネレータの制御、COMオートメーション


<BusSignal>要素

<BusSignal>要素には、パターン・ジェネレータのバス／信号定義が含まれます。

属性

名前 | 説明
Comment | '文字列'
DefaultBase | 'Binary', 'Hex', 'Octal', 'Decimal'または'Signed Decimal'
Name | '文字列'
Polarity | 'Positive'または'Negative'

子

この要素は、以下の子を持つことができます：<Channels>。

親

この要素は、以下の親を持つことができます：<BusSignals>。

例

<BusSignals>
   <Clear />
   <BusSignal Name='My Bus 1' Polarity='Positive' DefaultBase='Hex' Comment=''>
      <Channels>Pod 1[7:0]</Channels>
   </BusSignal>
</BusSignals>


<BusSignals>要素

<BusSignals>要素には、パターン・ジェネレータのバス／信号定義が含まれます。

子

この要素は、以下の子を持つことができます:<Clear/>、<BusSignal>。

親

この要素は、以下の親を持つことができます：<BusSignals>。

例

<BusSignalSetup>
   <BusSignals>
      <Clear />
      <BusSignal Name='My Bus 1' Polarity='Positive' DefaultBase='Hex' Comment=''>
         <Channels>Pod 1[7:0]</Channels>
      </BusSignal>
   </BusSignals>
</BusSignalSetup>


<BusSignalSetup>要素

<BusSignalSetup>要素には、<BusSignals>要素が含まれます。

子

この要素は、以下の子を持つことができます：<BusSignals>。

親

この要素は、以下の親を持つことができます：<Module>。

例

<Module Name='My 16720A-1'>
   <BusSignalSetup>
      <BusSignals>
         <Clear />
         <BusSignal Name='My Bus 1' Polarity='Positive' DefaultBase='Hex' Comment=''>
            <Channels>Pod 1[7:0]</Channels>
         </BusSignal>
      </BusSignals>
   </BusSignalSetup>
   <ClockingSetup>
      <Clocking OutputMode='Full' ClockSource='Internal' ClockFrequency='180' ClockOutDelay='0 s' />
   </ClockingSetup>
</Module>


<Channels>要素

<Channels>要素は、バス／信号に割り当てるパターン・ジェネレータ・チャネルを指定します。

データ

この要素のデータは、バス／信号用の選択チャネルを表す文字列です（ユーザ・インタフェースの表示通り：割当てチャネルのビットの並替えを参照）。

親

この要素は、以下の親を持つことができます：<BusSignal>。

例

<BusSignal Name='My Bus 1' Polarity='Positive' DefaultBase='Hex' Comment=''>
   <Channels>Pod 1[7:0]</Channels>
</BusSignal>


<Clocking>要素

<Clocking>要素は、パターン・ジェネレータのクロック設定コンフィギュレーション・オプションを記述します。

属性

名前 | 説明
ClockFrequency | '整数' (MHz単位で、現在選択されているモードのベクトル出力レートを表します。ただし、ClockSource='Internal'の場合にだけ有効です）
ClockOutDelay | '数値時間単位'
ClockSource | 'External'または'Internal'
OutputMode | 'Full'または'Half'

親

この要素は、以下の親を持つことができます：<ClockingSetup>。

例

<ClockingSetup>
   <Clocking OutputMode='Full' ClockSource='Internal' ClockFrequency='180' ClockOutDelay='0 s' />
</ClockingSetup>


<ClockingSetup>要素

<ClockingSetup>要素には、パターン・ジェネレータのクロック設定コンフィギュレーション・オプションを記述する要素が含まれます。

子

この要素は、以下の子を持つことができます：<Clocking>。

親

この要素は、以下の親を持つことができます：<Module>。.

例

<Module Name='My 16720A-1'>
   <BusSignalSetup>
      <BusSignals>
         <Clear />
         <BusSignal Name='My Bus 1' Polarity='Positive' DefaultBase='Hex' Comment=''>
            <Channels>Pod 1[7:0]</Channels>
         </BusSignal>
      </BusSignals>
   </BusSignalSetup>
   <ClockingSetup>
      <Clocking OutputMode='Full' ClockSource='Internal' ClockFrequency='180' ClockOutDelay='0 s' />
   </ClockingSetup>
</Module>


<Module>要素

<Module>要素は、パターン・ジェネレータのコンフィギュレーション・オプションを記述します。

属性

名前 | 説明
Name | '文字列'

子

この要素は、以下の子を持つことができます:<BusSignalSetup>、<ClockingSetup>。

親

この要素は、以下の親を持つことができます：<Setup> (under Configuration)。

例

<Module Name='My 16720A-1'>
   <BusSignalSetup>
      <BusSignals>
         <Clear />
         <BusSignal Name='My Bus 1' Polarity='Positive' DefaultBase='Hex' Comment=''>
            <Channels>Pod 1[7:0]</Channels>
         </BusSignal>
      </BusSignals>
   </BusSignalSetup>
   <ClockingSetup>
      <Clocking OutputMode='Full' ClockSource='Internal' ClockFrequency='180' ClockOutDelay='0 s' />
   </ClockingSetup>
</Module>