コンポーネントレベルIP (CLIP) でクロック回路をインスタンス化し、ターゲットが提供する他のクロックを使用する場合と同じようにCLIPクロックを使用することができます。ソケット付きCLIPが提供する外部クロックをLabVIEWに経路設定することもできます。CLIPクロックはトップレベルクロックにはなれません。プロジェクトエクスプローラウィンドウのCLIP項目には、CLIP宣言ファイルのクロックがすべて表示されます。

クロックが使用できない場合、CLIPクロックが含まれる「FPGAクロック有効化を開始」および「FPGAクロック無効化を開始」VIを回路保護の目的で使用できません。

VHDLファイルにクロックを追加する

CLIPクロックが歪みの少ないグローバルクロックネットを使用することを確認するには、グローバルクロック (BUFG) を使用します。NIでは、ゲート入力付きのグローバルクロックバッファ (BUFGCE) を使用して、クロックでグリッチが発生した場合やクロック周期の違反が発生した場合に、クロックが無効になることを確認することを推奨します。VHDLでクロックを作成する方法については、Xilinxのドキュメントを参照してください。

VHDLコードでクロックを作成する方法については、CLIPクロックのVHDLコードサンプルを参照してください。

CLIP宣言ファイルにクロックを追加する

CLIP宣言ファイルでクロックを定義するには、I/Oの定義と同じ構文を使用します。宣言ファイル内で定義するクロックとI/Oの順番は、LabVIEWプロジェクトで表示される順番と一致します。CLIPクロックの場合、以下のタグを定義する必要があります。

  • JitterInPicoSeconds
  • AccuracyInPPM
  • DutyCyclePercentInMin/Max

宣言XMLファイルを直接作成/編集することなくIPインタフェースを定義するには、コンポーネントレベルIPを構成ウィザード (CLIPウィザード) を使用します。

メモ Xilinxのデジタルクロックマネージャ (DCM) 回路を使用してCLIPクロックを取得する場合、FPGAターゲットのXilinx仕様シートを使用して、CLIP宣言ファイルで正しくCLIPクロックを構成することを確認します。以下の表は、特定の宣言項目の情報の入手先を示しています。
CLIP宣言タグ Xilinxドキュメントの種類 推奨される検索用語
JitterInPicoSeconds DC and Switching Characteristics Output Clock Jitter
AccuracyInPPM DC and Switching Characteristics Clock Phase Alignment
DutyCyclePercentInMin/Max ユーザガイド DCM attributes

CLIPクロックをLabVIEWプロジェクトに追加する

CLIPクロックをLabVIEWプロジェクトに追加するには、以下の手順に従ってください。

  1. 新規プロジェクトを作成するか、既存プロジェクトを開きます。
  2. プロジェクトにFPGAターゲットを追加します。
  3. プロジェクトにCLIP項目を追加します。
  4. (オプション) プロジェクトエクスプローラウィンドウでCLIP項目の下のCLIPクロックを右クリックし、ショートカットメニューからプロパティを選択してFPGA CLIPクロックプロパティダイアログボックスを表示します。
  5. (オプション) 名前テキストボックスでクロック名を変更します。ダイアログボックスでは、CLIPクロックの値だけが表示され、他のすべてのコンポーネントは淡色表示されます。LabVIEWでCLIPクロックを構成することはできません。CLIPクロックの構成は、CLIP宣言ファイルで変更する必要があります。
  6. OKボタンをクリックします。

CLIPクロックからクロックを派生する

CLIPクロックからクロックを派生することができます。新規派生クロックを作成するオプションを有効にするには、単一周波数でコンパイルするようにCLIPクロックを構成する必要があります。

以下の手順に従って、外部クロックからクロックを派生してください。

  1. 上記の手順に従って、CLIPクロックをLabVIEWプロジェクトに追加してください。
  2. プロジェクトエクスプローラウィンドウでCLIPクロックを右クリックします。ショートカットメニューから新規FPGA派生クロックを選択して、FPGA派生クロックプロパティダイアログボックスを表示します。
  3. クロックを構成します。
  4. 以下のタグをCLIP宣言XMLファイルで定義します。
    • SupportDerivedClocks
    • SourceClockReadyHDLName
    • DerivedClocksValidHDLName

サブVIでCLIPクロックを使用する

クロック定数またはクロック制御器を使用して、サブVIでCLIPクロックを参照できます。

制御器または定数のクロックの名前は、プロジェクトエクスプローラウィンドウのクロック名と正確に一致している必要があります。名前が一致しない場合、FPGA VIのコンパイル時にエラーメッセージが表示されます。FPGAクロック定数/制御器のプルダウンメニューで、指定するクロック名がプロジェクトのクロック名と一致するかを確認してください。

CLIPクロックと異なるクロックを使用してCLIP I/Oにアクセスする

CLIPクロック以外のクロックを使用してシングルサイクルタイミングループでCLIP I/Oを使用する場合、クロック領域の使用が必要です。CLIPが1つのクロック領域で実行され、FPGA VIが対応するCLIP I/Oにアクセスすると、信号はクロック領域間で正しくデータを転送できない場合があります。この場合、タイミング違反解析ウィンドウにタイミング違反が表示されます。

クロック領域間でデータが正しく転送されない状況を防ぐには、以下のいずれかの方法を試してください。

  • CLIPおよびシングルサイクルタイミングループが同じクロックを使用するようにFPGA VIを変更する。
  • 複数クロック領域を実装するその他のメソッドを使用してFPGAを再設計する。
  • CLIP I/OがCLIPクロックと同じクロック領域を使用するようにCLIP宣言XMLファイルを変更する。