ザイリンクス UG382 Spartan-6 FPGA クロック リソース ユーザー ガイド

Size: px
Start display at page:

Download "ザイリンクス UG382 Spartan-6 FPGA クロック リソース ユーザー ガイド"

Transcription

1 Spartan-6 FPGA クロックリソース [Guide ユーザー Subtitle] ガイド [optional] [optional]

2 Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the development of designs to operate with Xilinx hardware devices. You may not reproduce, distribute, republish, download, display, post, or transmit the Documentation in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of Xilinx. Xilinx expressly disclaims any liability arising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the Documentation without notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise you of any corrections or updates. Xilinx expressly disclaims any liability in connection with technical support or assistance that may be provided to you in connection with the Information. THE DOCUMENTATION IS DISCLOSED TO YOU AS-IS WITH NO WARRANTY OF ANY KIND. XILINX MAKES NO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOSS OF DATA OR LOST PROFITS, ARISING FROM YOUR USE OF THE DOCUMENTATION Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, ISE, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners. 改訂履歴 次の表に この文書の改訂履歴を示します 日付 バージョン 内容 2009 年 6 月 24 日 1.0 初版リリース 2009 年 8 月 17 日 1.1 第 1 章 : 図 1-1 グローバルクロック接続の概要 を削除 グローバルクロックインフラストラクチャ の表 1-1 および表 1-2 を変更 バンク全体で 1 つの I/O クロックを使用 および クロック入力 の説明と 図 1-5 および図 1-6 を修正 23 ページの図 1-8 を追加 表 1-8 から BUFIO2 を削除 34 ページの BUFGMUX_1 から例外を削除 38 ページの 高速 I/O クロックリージョンのクロックバッファ 表 1-15 および表 1-16 を追加 表 1-17 から表 1-23 を更新し 図 1-26 図 1-27 図 1-33 および図 1-31 を追加または修正 27 ページの 高速 I/O クロックネットワーク接続の例 を追加 第 2 章 : 表 2-1 および表 2-2 の XC6SLX4 リソースを更新 表 2-3 にメモを追加し 56 ページの 位相シフト の説明を明確に変更 表 2-6 の CLKIN_PERIOD の説明を更新 DCM_CLKGEN プリミティブ のリストを更新 すべての周波数範囲に対し表 2-10 を更新 第 3 章 : 表 3-4 の CLKIN2 および CLKINSEL の説明を更新 図 3-5 につながる説明を更新 図 3-15 を編集 Spartan-6 FPGA クロックリソース japan.xilinx.com

3 日付 バージョン 内容 2010 年 1 月 4 日 1.2 クロックリソース を明確にするために説明を追加 表 1-1 および表 1-2 を更新 図 1-2 を追加 表 1-3 表 1-4 および表 1-5 を追加 図 1-5 図 1-6 および図 1-7 を修正 表 1-6 を追加 クロック構造のガイドライン を追加 高速 I/O クロックネットワーク接続の例 を移動 図 1-16 を追加 表 1-12 図 1-19 図 1-20 を追加 表 1-15 にある BUFIO2 および BUFIO2_2CLK の I/O クロックネットワーク入力 を更新 表 1-15 に GTP_DUAL を追加 BUFGMUX_1 を更新 表 1-16 の入力定義を更新 図 1-26 図 1-27 図 1-30 を更新 表 1-20 の GCLK の説明を更新 表 1-21 および表 1-23 に ENABLE_SYNC を追加 表 1-12 図 1-15 図 1-16 を追加 表 2-8 で SPREAD_SPECTRUM を更新 CLKFX_MD_MAX およびメモを追加 スペクトラム拡散クロック生成 を更新 図 3-1 を更新 式 3-1 の下の BUFIO2FB の説明を追加 CLKOUT[0:5]_ PHASE の説明を更新 PLL クロック入力信号 に BUFIO2 を追加 2010 年 2 月 22 日 1.3 表 1-3 表 1-4 図 1-5 図 1-7 および図 1-8 で BUFIO2 クロック領域を更新 表 1-16 からメモ 1 を削除 図 1-16 の変更および例 7 ( 図 1-17 を含む ) を更新 クロックバッファおよびマルチプレクサ に内容を追加 表 2-5 の STATUS[7:3] の説明を更新し STATUS[7:3] を表 2-7 に追加 RST 入力の動作 に低消費電力デバイスのリセット回路の説明を追加 図 3-3 および図 3-4 を更新 式 3-2 ~ 式 3-6 を追加 式 3-7 および式 3-9 を変更し 式 3-8 を追加 表 3-5 で EXTERNAL 補正の説明を更新 本資料は英語版 (v1.3) を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください japan.xilinx.com Spartan-6 FPGA クロックリソース

4 Spartan-6 FPGA クロックリソース japan.xilinx.com

5 目次 改訂履歴 このマニュアルについてマニュアルの内容 その他の資料 その他のリソース 第 1 章 : クロックリソース概要 はじめに クロックリソース グローバルクロックインフラストラクチャ I/O クロックインフラストラクチャ バンク全体で 1 つの I/O クロックを使用 クロック入力 クロック構造のガイドライン SDR データレート (IOB の FD レジスタ IOSERDES2 なし ) DDR データレート (IDDR2 ODDR2 IOSERDES2 なし ) アドバンスシリアル化用の高速 IOSERDES2 使用 グローバルクロック入力バッファのプリミティブ 高速 I/O クロックネットワーク接続の例 クロックバッファおよびマルチプレクサ グローバルクロックバッファプリミティブ BUFGMUX BUFGMUX_ BUFG BUFGCE および BUFGCE_ 高速 I/O クロックリージョンのクロックバッファ BUFIO BUFIO2_2CLK BUFPLL BUFPLL_MCB BUFIO2FB 第 2 章 : クロックマネージメントテクノロジクロックマネージメントについて DCM の概要 DCM について ほかのザイリンクス FPGA ファミリとの互換性および比較 DCM の機能の概要 遅延ロックループ デジタル周波数合成 位相シフト ステータスロジック DCM プリミティブ DCM_SP プリミティブ DCM_CLKGEN プリミティブ DCM_SP 設計のガイドライン 入力クロック周波数の範囲 Spartan-6 FPGA クロックリソース japan.xilinx.com 5

6 出力クロック周波数の範囲 入力クロックとクロックフィードバックの変動 サイクル間ジッタ 周期ジッタ DLL のフィードバック遅延の変動 スペクトラム拡散クロック DCM クロック入力および外部フィードバック入力 LOCKED 出力の動作 LOCKED 信号の使用 RST 入力の動作 DCM_CLKGEN 設計のガイドライン ダイナミック周波数合成 スペクトラム拡散クロック生成 スペクトラム拡散生成 固定スペクトラム拡散 ソフトスペクトラム拡散 フリーランニングオシレータ 第 3 章 : 位相ロックループ (PLL) 概要 位相ロックループ (PLL) CLK_FEEDBACK および BUFIOFB を使用した PLL のアライメント 一般的な使用法について PLL プリミティブ PLL_BASE プリミティブ PLL_ADV プリミティブ クロックネットワークスキュー調整 周波数合成のみ ジッタフィルタ 制限 VCO 動作範囲 最小および最大入力周波数 デューティサイクルのプログラム 位相シフト PLL プログラミング 入力周波数の決定 M および D 値の決定 PLL ポート PLL 属性 PLL クロック入力信号 カウンタ制御 クロックシフト VCO および出力カウンタの波形 入力クロックまたはフィードバッククロックの不在 PLL の使用モデル クロックネットワークスキュー調整 内部フィードバックのある PLL ゼロ遅延バッファ DCM で PLL を駆動 PLL で DCM を駆動 PLL 同士の接続 アプリケーションガイドライン PLL アプリケーション例 japan.xilinx.com Spartan-6 FPGA クロックリソース

7 このマニュアルについて このユーザーガイドでは Spartan -6 FPGA のクロッキングについて説明します Spartan-6 FPGA ファミリの最新版ユーザーガイドは ザイリンクスのウェブサイト から入手してください マニュアルの内容 このマニュアルには 次の章から構成されています 第 1 章 クロックリソース 第 2 章 クロックマネージメントテクノロジ 第 3 章 位相ロックループ (PLL) その他の資料 Spartan-6 に関するその他の情報は から次を参照してください Spartan-6 ファミリ概要 Spartan-6 ファミリの機能とデバイスの概要を示します Spartan-6 データシート : DC 特性およびスイッチ特性 Spartan-6 ファミリの DC 特性およびスイッチ特性が記載されています Spartan-6 FPGA パッケージおよびピン配置仕様 デバイス / ピンの組み合わせと最大 I/O 数 ピン定義 ピン配置図 機械的図面 熱仕様が記載されています Spartan-6 FPGA コンフィギュレーションガイド コンフィギュレーションインターフェイス ( シリアルおよびパラレル ) 複数のビットストリームの管理 ビットストリームの暗号化 バウンダリスキャンおよび JTAG コンフィギュレーション リコンフィギュレーション手法など コンフィギュレーションについて詳細に説明します Spartan-6 FPGA SelectIO リソースユーザーガイド すべての Spartan-6 デバイスに含まれている SelectIO TM について説明します Spartan-6 FPGA ブロック RAM リソースユーザーガイド Spartan-6 デバイスのブロック RAM の機能について説明します Spartan-6 FPGA コンフィギャブルロジックブロックユーザーガイド Spartan-6 FPGA クロックリソース japan.xilinx.com 7

8 このマニュアルについて すべての Spartan-6 デバイスで使用可能なコンフィギャブルロジックブロック (CLB) の機能について説明します Spartan-6 FPGA DSP48A1 スライスユーザーガイド Spartan-6 FPGA の DSP48A1 スライスのアーキテクチャについて説明し コンフィギュレーション例を示します Spartan-6 FPGA GTP トランシーバユーザーガイド Spartan-6 LXT FPGA で使用可能な GTP トランシーバについて説明します Spartan-6 FPGA メモリコントローラユーザーガイド Spartan-6 FPGA のメモリコントローラブロックについて説明します メモリコントローラブロックは Spartan-6 FPGA をよく使用されるメモリ規格に接続する際のインターフェイスを簡略化するエンベデッドマルチポートメモリコントローラです Spartan-6 FPGA PCB デザインガイド PCB およびインターフェイスレベルでデザインを決定するためのストラテジに焦点を置いて Spartan-6 デバイスの PCB デザインに関する情報を示します その他のリソース シリコン ソフトウェア IP に関するアンサーデータベースを検索したり テクニカルサポートのウェブケースを開く場合は 次のウェブページにアクセスしてください 8 japan.xilinx.com Spartan-6 FPGA クロックリソース

9 第 1 章 クロックリソース 概要 この章では Spartan-6 FPGA のグローバルクロックリソース ( 専用クロック入力 バッファ 配線など ) を活用する方法を説明します クロックインフラストラクチャは FPGA 全体に高周波数のクロック信号を分配するのに適したキャパシタンスの低い ロースキューインターコネクトで構成されており クロックスキューを最小限に抑え パフォーマンスを向上させます すべてのクロック信号にこのインフラストラクチャを使用する必要があります サードパーティの合成ツール ザイリンクスの合成ツールおよびインプリメンテーションツールでは ファンアウトの大きいクロック信号に対してこれらのリソースがいくつか自動的に使用されます クロック配線は DCM および PLL と組み合わせて使用できます 詳細は 第 2 章 クロックマネージメントテクノロジ および第 3 章 位相ロックループ (PLL) を参照してください はじめに 各 Spartan-6 FPGA デバイスには 最適なパフォーマンスを達成するため 高速のロースキューグローバルクロックリソースが 16 個含まれており これらはザイリンクスツールで自動的に使用されます クロックレートが比較的低い場合でも タイミングの問題を防ぐため グローバル配線リソースを使用する必要があります これらのリソースを定義し 最大限に活用する方法を理解しておくことが重要です また 各 Spartan-6 FPGA には 超高速のロースキュー I/O リージョナルクロックリソースが 40 個提供されていて ローカルのシリアライザ / デシリアライザ (ISERDES および OSERDES) 回路として使用できます ISERDES および OSERDES の詳細は UG381 Spartan-6 FPGA SelectIO リソースユーザーガイド および XAPP1064 Source-Synchronous Serialization and Deserialization (up to 1050 Mb/s) を参照してください クロックリソース SelectIO ロジック I/O 規格の互換性および配線を正しく使用するには ISE ソフトウェアですべてのデザインルールをチェックするようにしてください デザインが完成している場合は 配置およびロジック制限がすべて正しくチェックされます ピン割り当てを支援するデザインのチェックリストは UG393 Spartan-6 FPGA PCB デザインガイド を参照してください Spartan-6 FPGA クロックリソース japan.xilinx.com 9

10 第 1 章 : クロックリソース クロックリソース Spartan-6 FPGA クロックリソースの接続には次の 4 つのタイプがあります グローバルクロック入力パッド (GCLK) グローバルクロックマルチプレクサ I/O クロックバッファ クロック配線ネットワーク クロックネットワークには次の 2 タイプがあります グローバルクロックマルチプレクサ (BUFGMUX) で駆動されるグローバルクロックネットワーク I/O クロックバッファ (BUFIO2) および PLL クロックバッファ (BUFPLL) で駆動される I/O クロックネットワーク BUFGMUX は 2 つのグローバルクロックソースのいずれかを選択するため または単純な BUFG クロックバッファとして使用できます クロックバッファで駆動できるのはグローバルクロック配線リソースのみで このクロック配線リソースで駆動できるのはクロック入力のみです FPGA のフリップフロップのクロック入力は汎用配線でも駆動できますが スキューが大きくなるため このような配線は最小限に抑えてください BUFPLL および BUFIO2 は I/O リージョナルクロックネットワークに配線されているクロックのみを グローバルクロックネットワークよりもさらに高速に駆動するために使用します このため その駆動先は FPGA の各バンクにある入力シリアル / パラレルロジックリソース (ISERDES) または出力パラレル / シリアルロジックリソースに (OSERDES) に限られます BUFIO2 は DDR パスの ILOGIC および OLOGIC を駆動できます BUFIO2 はグローバルクロックまたは DCM への GTP クロックピンおよび PLL クロック入力を配線することもできます 10 japan.xilinx.com Spartan-6 FPGA クロックリソース

11 クロックリソース グローバルクロックインフラストラクチャ Spartan-6 FPGA のグローバルクロックインフラストラクチャの詳細は図 1-1 にまとめられています X-Ref Target - Figure PLL DCM (x2) PLL DCM (x2) UG382_c1_01_ 図 1-1 : Spartan-6 FPGA グローバルクロックの構造 Spartan-6 FPGA のグローバルクロックネットワークは デバイスの中央にある 16 個の BUFGMUX で駆動されます この 16 個の BUFGMUX は 3 つの異なるソース つまり 上下バンクからのクロック入力 左右バンクからのクロック入力 FPGA ロジックインターコネクトおよび PLL/DCM からのクロックからクロック信号を得ることができます この 3 つのクロックソースはデバイス中央にあるスイッチボックスをマルチプレクサとして使用して供給されます 次に 16 個の BUFGMUX は垂直スパインを駆動します そして リージョナルプリミティブにクロックを提供するために使用される HCLK 行のクロックに向かって水平方向にクロックを提供していきます HCLK 行は 垂直スパインと PLL/DCM 出力の間にある専用マルチプレクサスイッチクロックを介して クロックが供給されます 各 HCLK 行には PLL が 1 つ または DCM が 2 つあります Spartan-6 デバイスには 最大 32 個の GCLK 入力ピンとグローバルクロックバッファが 16 個あるため 2 つの GCLK ピンのいずれかで各グローバルクロックバッファを駆動することが可能です グローバルクロックバッファ (BUFG または BUFGMUX) をグローバルクロックピン (IBUFG または IBUFGDS) で直接駆動する場合 バンク 0 1 および 5 のグローバルクロックピ Spartan-6 FPGA クロックリソース japan.xilinx.com 11

12 第 1 章 : クロックリソース ンは 同じ 8 つのグローバルクロックバッファを共有します ( 表 1-1 参照 ) 同様に バンク 2 3 および 4 も 8 つのグローバルクロックバッファを共有します ( 表 1-2 参照 ) BUFGMUX 入力を共有することで発生する配線問題を理解するため GCLK19 と GCLK11 を使用したデザインを例に挙げます 表 1-1 で示すように グローバルクロックの両方が BUFGMUX _X2Y1 に接続されていて 配線エラーの原因になっています 配線に柔軟性を持たせるため BUFIO2 を使用している場合は追加で BUFIO2 を使用して 2 番目のグローバルクロックバッファを配線することができます ( 表 1-1) BUFIO2 を使用している場合 BUFIO2 を通過する標準遅延が発生し また I/O クロックネットワークに接続しているクロックにも影響します 追加配線情報は 19 ページの バンク全体で 1 つの I/O クロックを使用 を参照してください 差動グローバルクロックを使用する場合は 差動ペアのマスタ側 (P) に関連したグローバルクロックにより 使用されるグローバルクロックリソースが決定します 表 1-1 : バンク 0 および 1 の共有グローバルクロックリソース BUFGMUX_X2Y1 (I0) BUFGMUX_X2Y2 (I1) BUFGMUX_X2Y2 (I0) BUFGMUX_X2Y1 (I1) BUFGMUX_X2Y3 (I0) BUFGMUX_X2Y4 (I1) BUFGMUX_X2Y4 (I0) BUFGMUX_X2Y3 (I1) BUFGMUX_X3Y5 (I0) BUFGMUX_X3Y6 (I1) BUFGMUX_X3Y6 (I0) BUFGMUX_X3Y5 (I1) BUFGMUX_X3Y7 (I0) BUFGMUX_X3Y8 (I1) BUFGMUX 配線制限バンク 0 バンク 1 ダイレクト配線 GCLK_19 GCLK_11 インダイレクト BUFIO2 GCLK_19 <BUFIO2_X2Y28> GCLK_11 <BUFIO2_X4Y20> インダイレクト BUFIO2 GCLK_15 <BUFIO2_X2Y28> GCLK_7 <BUFIO2_X4Y20> ダイレクト配線 GCLK_18 GCLK_10 インダイレクト BUFIO2 GCLK_18 <BUFIO2_X2Y29> GCLK_10 <BUFIO2_X4Y21> インダイレクト BUFIO2 GCLK_14 <BUFIO2_X2Y29> GCLK_6 <BUFIO2_X4Y21> ダイレクト配線 GCLK_17 GCLK_9 インダイレクト BUFIO2 GCLK_17 <BUFIO2_X2Y26> GCLK_9 <BUFIO2_X4Y18> インダイレクト BUFIO2 GCLK_13 <BUFIO2_X2Y26> GCLK_5 <BUFIO2_X4Y18> ダイレクト配線 GCLK_15 GCLK_7 インダイレクト BUFIO2 GCLK_15 <BUFIO2_X4Y28> GCLK_7 <BUFIO2_X3Y12> インダイレクト BUFIO2 GCLK_19 <BUFIO2_X4Y28> GCLK_11 <BUFIO2_X3Y12> ダイレクト配線 GCLK_16 GCLK_8 インダイレクト BUFIO2 GCLK_16 <BUFIO2_X2Y27> GCLK_8 <BUFIO2_X4Y19> インダイレクト BUFIO2 GCLK_12 <BUFIO2_X2Y27> GCLK_4 <BUFIO2_X4Y19> ダイレクト配線 GCLK_14 GCLK_6 インダイレクト BUFIO2 GCLK_14 <BUFIO2_X4Y29> GCLK_6 <BUFIO2_X3Y13> インダイレクト BUFIO2 GCLK_18 <BUFIO2_X4Y29> GCLK_10 <BUFIO2_X3Y13> ダイレクト配線 GCLK_13 GCLK_5 インダイレクト BUFIO2 GCLK_13 <BUFIO2_X4Y26> GCLK_5 <BUFIO2_X3Y10> インダイレクト BUFIO2 GCLK_17 <BUFIO2_X4Y26> GCLK_9 <BUFIO2_X3Y10> 12 japan.xilinx.com Spartan-6 FPGA クロックリソース

13 クロックリソース 表 1-1 : バンク 0 および 1 の共有グローバルクロックリソース ( 続き ) BUFGMUX_X3Y8 (I0) BUFGMUX_X378 (I1) BUFGMUX 配線制限バンク 0 バンク 1 ダイレクト配線 GCLK_12 GCLK_4 インダイレクト BUFIO2 GCLK_12 <BUFIO2_X4Y27> GCLK_4 <BUFIO2_X3Y11> インダイレクト BUFIO2 GCLK_16 <BUFIO2_X4Y27> GCLK_8 <BUFIO2_X3Y11> 表 1-2 : バンク 2 および 3 の共有グローバルクロックリソース BUFGMUX_X2Y9 (I0) BUFGMUX_X2Y10 (I1) BUFGMUX_X2Y10 (I0) BUFGMUX_X2Y9 (I1) BUFGMUX_X2Y11 (I0) BUFGMUX_X2Y12 (I1) BUFGMUX_X2Y12 (I0) BUFGMUX_X2Y11 (I1) BUFGMUX_X3Y13 (I0) BUFGMUX_X3Y14 (I1) BUFGMUX_X3Y14 (I0) BUFGMUX_X3Y13 (I1) BUFGMUX_X3Y15 (I0) BUFGMUX_X3Y16 (I1) BUFGMUX_X3Y16 (I0) BUFGMUX_X3Y15 (I1) BUFGMUX 配線制限バンク 2 バンク 3 ダイレクト配線 GCLK_3 GCLK_27 インダイレクト BUFIO2 GCLK_3 <BUFIO2_X3Y0> GCLK_27 <BUFIO2_X1Y8> インダイレクト BUFIO2 GCLK_31 <BUFIO2_X3Y0> GCLK_23 <BUFIO2_X1Y8> ダイレクト配線 GCLK_2 GCLK_26 インダイレクト BUFIO2 GCLK_2 <BUFIO2_X3Y1> GCLK_26 <BUFIO2_X1Y9> インダイレクト BUFIO2 GCLK_30 <BUFIO2_X3Y1> GCLK_22 <BUFIO2_X1Y9> ダイレクト配線 GCLK_1 GCLK_25 インダイレクト BUFIO2 GCLK_1 <BUFIO2_X3Y6> GCLK_25 <BUFIO2_X1Y14> インダイレクト BUFIO2 GCLK_29 <BUFIO2_X3Y6> GCLK_21 <BUFIO2_X1Y14> ダイレクト配線 GCLK_31 GCLK_23 インダイレクト BUFIO2 GCLK_31 <BUFIO2_X1Y0> GCLK_23 <BUFIO2_X0Y16> インダイレクト BUFIO2 GCLK_3 <BUFIO2_X1Y0> GCLK_27 <BUFIO2_X0Y16> ダイレクト配線 GCLK_0 GCLK_24 インダイレクト BUFIO2 GCLK_0 <BUFIO2_X3Y7> GCLK_24 <BUFIO2_X1Y15> インダイレクト BUFIO2 GCLK_28 <BUFIO2_X3Y7> GCLK_20 <BUFIO2_X1Y15> ダイレクト配線 GCLK_30 GCLK_22 インダイレクト BUFIO2 GCLK_30 <BUFIO2_X1Y1> GCLK_22 <BUFIO2_X0Y17> インダイレクト BUFIO2 GCLK_2 <BUFIO2_X1Y1> GCLK_26 <BUFIO2_X0Y17> ダイレクト配線 GCLK_29 GCLK_21 インダイレクト BUFIO2 GCLK_29 <BUFIO2_X1Y6> GCLK_21 <BUFIO2_X0Y22> インダイレクト BUFIO2 GCLK_1 <BUFIO2_X1Y6> GCLK_25 <BUFIO2_X0Y22> ダイレクト配線 GCLK_28 GCLK_20 インダイレクト BUFIO2 GCLK_28 <BUFIO2_X1Y7> GCLK_20 <BUFIO2_X0Y23> インダイレクト BUFIO2 GCLK_0 <BUFIO2_X1Y7> GCLK_24 <BUFIO2_X0Y23> Spartan-6 FPGA クロックリソース japan.xilinx.com 13

14 第 1 章 : クロックリソース 競合のある BUFGMUX 入力図 1-2 および図 1-3 に示しています X-Ref Target - Figure 1-2 Bank 0 Bank 1 BUFIO2_X2Y28 BUFIO2_X2Y29 BUFIO2_X2Y26 BUFIO2_X2Y27 BUFIO2_X4Y28 BUFIO2_X4Y29 BUFIO2_X4Y26 BUFIO2_X4Y27 BUFIO2_X4Y20 BUFIO2_X4Y21 BUFIO2_X4Y18 BUFIO2_X4Y19 BUFIO2_X3Y12 BUFIO2_X3Y13 BUFIO2_X3Y10 BUFIO2_X3Y11 GCLK19 GCLK18 GCLK17 GCLK16 GCLK15 GCLK14 GCLK13 GCLK12 GCLK11 GCLK10 GCLK9 GCLK8 GCLK7 GCLK6 GCLK5 GCLK4 BUFGMUX_X2Y1 BUFGMUX_X2Y2 BUFGMUX_X2Y3 BUFGMUX_X2Y4 BUFGMUX_X3Y5 BUFGMUX_X3Y6 BUFGMUX_X3Y7 BUFGMUX_X3Y8 UG382_01_ 図 1-2 : バンク 0 およびバンク 1 の BUFGMUX 接続 14 japan.xilinx.com Spartan-6 FPGA クロックリソース

15 クロックリソース X-Ref Target - Figure 1-3 Bank 2 Bank 3 BUFIO2_X1Y7 BUFIO2_X1Y6 BUFIO2_X1Y1 BUFIO2_X1Y0 BUFIO2_X3Y7 BUFIO2_X3Y6 BUFIO2_X3Y1 BUFIO2_X3Y0 BUFIO2_X0Y23 BUFIO2_X0Y22 BUFIO2_X0Y17 BUFIO2_X0Y16 BUFIO2_X1Y15 BUFIO2_X1Y14 BUFIO2_X1Y9 BUFIO2_X1Y8 GCLK28 GCLK29 GCLK30 GCLK31 GCLK0 GCLK1 GCLK2 GCLK3 GCLK20 GCLK21 GCLK22 GCLK23 GCLK24 GCLK25 GCLK26 GCLK27 BUFGMUX_X2Y9 BUFGMUX_X2Y10 BUFGMUX_X2Y11 BUFGMUX_X2Y12 BUFGMUX_X3Y13 BUFGMUX_X3Y14 BUFGMUX_X3Y15 BUFGMUX_X3Y16 UG382_02_ 図 1-3 : バンク 2 およびバンク 3 の BUFGMUX 接続 GTP トランシーバを使用したデザインの場合 各 GTP リファレンスクロックは BUFIO2 に関連付けられています これは バンク 0 およびバンク 2 にあるグローバルクロックピンに影響する可能性があります SDR インターフェイスの GCLK 入力は表 1-3 にリストされています DDR インターフェイスの場合は 表 1-4 にあるように BUFIO2 配置を反転させてクロックを反転するには 2 つ目の BUFIO2 が必要になる可能性があります GTP_DUAL 配置の詳細は Spartan-6 FPGA GTP トランシーバユーザーガイド (UG386) にある配置図を参照してください Spartan-6 FPGA クロックリソース japan.xilinx.com 15

16 第 1 章 : クロックリソース 表 1-3 : SDR の BUFIO2 入力競合 (ISERDES2 (SDR) OSERDES2(SDR)) バンク BUFIO2 GCLK 入力 バンク 0 バンク 2 メモ : BUFIO2_X2Y26 GCLK17 GCLK13 サンプルデザインの GTP リファレンスクロック (1) 共有 GTPCLKOUT GTPCLKOUT1[0] BUFIO2 クロック領域 BUFIO2_X2Y27 GCLK16 GCLK12 GTPCLKOUT1[1] TL GTPA1_DUAL_X0Y1 BUFIO2_X2Y28 GCLK19 GCLK15 GTPCLKOUT0[0] TL BUFIO2_X2Y29 GCLK18 GCLK14 GTPCLKOUT0[1] TL BUFIO2_X4Y26 GCLK13 GCLK17 GTPCLKOUT1[0] BUFIO2_X4Y27 GCLK12 GCLK16 GTPCLKOUT1[1] TR GTPA1_DUAL_X1Y1 BUFIO2_X4Y28 GCLK15 GCLK19 GTPCLKOUT0[0] TR BUFIO2_X4Y29 GCLK14 GCLK18 GTPCLKOUT0[1] TR BUFIO2_X1Y0 GCLK31 GCLK3 GTPCLKOUT0[0] BUFIO2_X1Y1 GCLK30 GCLK2 GTPCLKOUT0[1] BL GTPA1_DUAL_X0Y0 BUFIO2_X1Y6 GCLK29 GCLK1 GTPCLKOUT1[0] BL BUFIO2_X1Y7 GCLK28 GCLK0 GTPCLKOUT1[1] BL BUFIO2_X3Y0 GCLK3 GCLK31 GTPCLKOUT0[0] BUFIO2_X3Y1 GCLK2 GCLK30 GTPCLKOUT0[1] BR GTPA1_DUAL_X1Y0 BUFIO2_X3Y6 GCLK1 GCLK29 GTPCLKOUT1[0] BR BUFIO2_X3Y7 GCLK0 GCLK28 GTPCLKOUT1[1] BR 1. FG(G)900 パッケージの LX100T/LX150T を使用 TL TR BL BR 16 japan.xilinx.com Spartan-6 FPGA クロックリソース

17 クロックリソース 表 1-4 : DDR の BUFIO2 入力競合 (IDDR2 ODDR2 ISERDES2 (DDR) OSERDES2 (DDR)) バンク BUFIO2 GCLK 入力 ( 反転 ) サンプルデバイスの GTP リファレンスクロック (1) 共有 GTPCLKOUT BUFIO2 クロック領域 BUFIO2_X2Y26 (I_INVERT = TRUE) GCLK16 GCLK12 GTPCLKOUT1[0] TL バンク 0 BUFIO2_X2Y27 (I_INVERT = TRUE) BUFIO2_X2Y28 (I_INVERT = TRUE) BUFIO2_X2Y29 (I_INVERT = TRUE) BUFIO2_X4Y26 (I_INVERT = TRUE) BUFIO2_X4Y27 (I_INVERT = TRUE) BUFIO2_X4Y28 (I_INVERT = TRUE) BUFIO2_X4Y29 (I_INVERT = TRUE) GCLK17 GCLK13 GTPCLKOUT1[1] TL GTPA1_DUAL_X0Y1 GCLK18 GCLK14 GTPCLKOUT0[0] TL GCLK19 GCLK15 GTPCLKOUT0[1] TL GCLK12 GCLK16 GTPCLKOUT1[0] TR GCLK13 GCLK17 GTPCLKOUT1[1] TR GTPA1_DUAL_X1Y1 GCLK14 GCLK18 GTPCLKOUT0[0] TR GCLK15 GCLK19 GTPCLKOUT0[1] TR BUFIO2_X1Y0 (I_INVERT = TRUE) GCLK30 GCLK2 GTPCLKOUT0[0] BL バンク 2 メモ : BUFIO2_X1Y1 (I_INVERT = TRUE) BUFIO2_X1Y6 (I_INVERT = TRUE) BUFIO2_X1Y7 (I_INVERT = TRUE) BUFIO2_X3Y0 (I_INVERT = TRUE) BUFIO2_X3Y1 (I_INVERT = TRUE) BUFIO2_X3Y6 (I_INVERT = TRUE) BUFIO2_X3Y7 (I_INVERT = TRUE) GCLK31 GCLK3 GTPCLKOUT0[1] BL GTPA1_DUAL_X0Y0 GCLK28 GCLK0 GTPCLKOUT1[0] BL GCLK29 GCLK1 GTPCLKOUT1[1] BL GCLK2 GCLK30 GTPCLKOUT0[0] BR GCLK3 GCLK31 GTPCLKOUT0[1] BR GTPA1_DUAL_X1Y0 GCLK0 GCLK28 GTPCLKOUT1[0] BR GCLK1 GCLK29 GTPCLKOUT1[1] BR 1. FG(G)900 パッケージの LX100T/LX150T を使用 Spartan-6 FPGA クロックリソース japan.xilinx.com 17

18 第 1 章 : クロックリソース I/O クロックインフラストラクチャ 図 1-4 は I/O クロックインフラストラクチャを示しています X-Ref Target - Figure 1-4 BUFIO2 BUFIO2 BUFPLL I/O Inputs I/O Inputs PLL I/O Inputs I/O Inputs ug382_c1_03_ 図 1-4 : I/O バンクの Spartan-6 FPGA I/O クロックの構造 4 つの専用 BUFIO2 バッファで駆動されている BUFIO2 クロック領域ごとに高速 I/O クロックが 4 つあります バンクが 4 つしかないデバイスの場合 各バンクには 2 つの BUFIO2 クロック領域があります バンクが 6 つあるデバイスの場合は Spartan-6 FPGA パッケージおよびピン配置仕様 (UG385) を参照してください バンク 4 に関連した GCLK は引き続き VCCO_3 で駆動され バンク 5 に関連した GCLK ピンは VCCO_1 で駆動されます 18 japan.xilinx.com Spartan-6 FPGA クロックリソース

19 クロックリソース バンク全体で 1 つの I/O クロックを使用 バンク ( バンクのどちらかの端 ) にある BUFIO2 バッファに接続されている 1 つの I/O クロック入力で バンク全体にクロックを供給可能です 図 1-5 は バンク 0 の接続を示しています 2 つの BUFIO2 リソースがあり 1 つは BUFIO2_X2Y28 もう 1 つが BUFIO2_X4Y28 に使用されています 図 1-5 の点線は I_INVERT パスを示します BUFIO2 プリミティブを 2 つ使用してバンク全体にクロックを提供できるのは クロック入力が直接 BUFIO2 プリミティブに接続されている場合のみです アプリケーションによっては 入力クロックを遅延させるために IODELAY2 が必要になる場合があります IODELAY2 は 1 つの BUFIO2 にしか接続できないため 遅延した GCLK 入力の配線は 1 つの BUFIO2 クロック領域に制限されます または IODELAY2 プリミティブを使用してバンク全体を駆動するには BUFPLL プリミティブのある PLL を使用します I/O クロックネットワークも BUFPLL バッファを介して PLL により駆動できます 各 PLL には I/O バンク全体に使用するためのバッファが 2 つあります メモ : I/O バンク全体で IODELAY2 を使用することはサポートされていません X-Ref Target - Figure 1-5 GCLK19 GCLK18 GCLK17 GCLK16 P N P N I/O BANK 0 GCLK15 GCLK14 GCLK13 GCLK12 P N P N BUFIO2_ X2Y28 BUFIO2_ X4Y28 BUFIO2_ X2Y29 BUFIO2_ X4Y29 BUFIO2_ X2Y26 BUFIO2_ X4Y26 BUFIO2_ X2Y27 BUFIO2_ X4Y27 ug382_c1_04_ 図 1-5 : バンク全体で使用される I/O クロック Spartan-6 FPGA クロックリソース japan.xilinx.com 19

20 IOI IOI IOI IOI IOI 第 1 章 : クロックリソース クロック入力 クロックピンは 外部クロック信号を受信し BUFGMUX/BUFIO2 プリミティブに直接接続されます クロックピンは 汎用 I/O としても使用できます 入力からクロックを I/O クロックネットワークに配線するだけでなく BUFIO2 は PLL/DCM および BUFG への専用クロックパスも提供します 図 1-6 はその専用クロック配線を示しています メモ : フルバンクでの IODELAY2 クロックの使用はサポートされていません X-Ref Target - Figure 1-6 P N P N P N P N BUFIO2_X2Y28 BUFIO2_X4Y28 SERDESSTROBE IOCLK DIVCLK DIVCLK IOCLK SERDESSTROBE CLK IOCE CLK IOCE IOI IOI IOI IOI IOI To To BUFG PLL/DCM To BUFG To PLL/DCM ug382_c1_05_ 図 1-6 : BUFIO2 で配線された専用クロック入力 各 Spartan-6 FPGA には 次のものがあります FPGA の 4 辺にある最高 32 個までのグローバルクロック入力 デバイスの各辺の中央にある 8 個の専用クロック入力 8 個の BUFIO2 クロック領域 表 1-5 にはグローバルクロックピンロケーションがリストされています P は差動ペアの正側 N は負側を示します 20 japan.xilinx.com Spartan-6 FPGA クロックリソース

21 クロック入力 表 1-5 : グローバルクロックピンロケーション GCLK P/N TQG144 CPG196 CSG225 FGG256 CSG324 CSG484 FGG484 FGG676 FGG900 LX LXT LX LXT LX LXT LX LXT LX LXT GCLK0 N P55 P8 N7 T8 V10 V10 AB12 AB12 AB13 AB13 AF13 AC14 AK18 AG16 GCLK1 P P56 N8 M8 P8 U10 U10 AA12 AA12 Y13 Y13 AE13 AB14 AJ18 AF16 GCLK2 N なし なし R8 N8 T10 T10 Y10 Y10 Y12 U12 AF14 AF15 AK19 AD16 GCLK3 P なし なし N8 M9 R10 R10 W11 W11 W12 T12 AD14 AE15 AH19 AC16 GCLK4 N P84 H12 J15 J16 H18 H18 L22 L22 J22 L22 U26 U26 W30 W30 GCLK5 P P85 H11 J14 J14 H17 H17 L20 L20 J20 L20 U25 U25 W29 W29 GCLK6 N P87 H14 H15 K11 L16 L16 K20 K20 L19 N19 W24 W24 AB30 AB30 GCLK7 P P88 H13 H13 K12 L15 L15 L19 L19 M20 P20 V23 V23 AB28 AB28 GCLK8 N P92 F14 G15 K14 K16 K16 M19 M19 H22 K22 P22 R26 W28 W28 GCLK9 P P93 F13 G14 J13 K15 K15 M18 M18 H21 K21 P21 R25 W27 W27 GCLK10 N P94 G14 L12 J12 L13 L13 K17 L17 K19 M19 M21 U24 V27 V27 GCLK11 P P95 G13 K12 J11 L12 L12 L17 M17 K20 M20 N20 U23 V26 V26 GCLK12 N P123 A8 A9 C10 A10 E12 C12 F12 A12 F16 A15 A14 A18 D16 GCLK13 P P124 B8 B9 E10 C10 F12 D11 G12 B12 E16 C15 B14 C18 E16 GCLK14 N P126 C8 A8 E8 C11 G11 A12 G11 C12 F15 C14 A12 A16 A16 GCLK15 P P127 D8 C8 E7 D11 G9 B12 H11 D11 F14 D14 B12 C16 C16 GCLK16 N P131 A7 A7 A10 A9 E8 A11 F11 A11 G11 A14 A13 A15 A15 GCLK17 P P132 B7 B7 B10 B9 G8 C11 F10 C11 H12 B14 C13 B15 B15 GCLK18 N P133 A6 D8 A9 C9 F7 A10 G10 A10 F10 A13 D13 C15 G15 GCLK19 P P134 B6 E7 C9 D9 E6 B10 H10 B10 G9 C13 E13 D15 H15 GCLK20 N P14 F1 G1 H3 H3 H3 G1 G1 J4 L4 R1 R1 V3 V3 GCLK21 P P15 F2 G2 H4 H4 H4 G3 G3 K3 M3 R2 R2 V4 V4 GCLK22 N P16 H1 J3 H5 K5 K5 P3 P3 K4 M4 P8 R6 W4 W4 GCLK23 P P17 H2 K4 J6 L5 L5 N4 N4 K5 M5 N8 R7 W5 W5 GCLK24 N P21 G1 H1 J4 K3 K3 H1 H1 L4 N4 W3 W3 AB1 AB1 GCLK25 P P22 G2 H3 K3 K4 K4 H2 H2 M3 P3 V4 V4 AB2 AB2 GCLK26 N P23 J1 J1 F1 H1 H1 J1 J1 J1 L1 T1 T1 AA1 AA1 GCLK27 P P24 J2 J2 F2 H2 H2 J3 J3 J3 L3 T3 T3 AA3 AA3 GCLK28 N なし なし R7 T7 V9 V9 AB10 AB10 AB11 AB11 AF12 AF14 AK17 AK17 GCLK29 P なし なし P7 R7 T9 T9 AA10 AA10 Y11 Y11 AD12 AD14 AH17 AJ17 GCLK30 N P50 P7 L8 M7 T8 T8 AB11 AB11 AB12 AB12 AD13 AF13 AK16 AK16 GCLK31 P P51 N7 K8 P7 R8 R8 Y11 Y11 AA12 AA12 AC13 AE13 AJ16 AH16 Spartan-6 FPGA クロックリソース japan.xilinx.com 21

22 第 1 章 : クロックリソース 図 1-7 は 4 バンクある Spartan-6 (XC6SLX4 XC6SLX9 XC6SLX16 XC6SLX25 XC6SLX25T XC6SLX45 XC6SLX45T および FG(G)484 と CSG484 パッケージの XC6SLX75/75T XC6SLX100/100T XC6SLX150/150T) の GCLK ピンレイアウトを示しています X-Ref Target - Figure 1-7 BANK0 (BUFPLL Clock Region) BUFIO2 CLOCKING REGION TL BUFIO2 CLOCKING REGION TR GCLK19 (P) GCLK18 (N) GCLK17 (P) GCLK16 (N) GCLK15 (P) GCLK14 (N) GCLK13 (P) GCLK12 (N) BUFIO2_X2Y28 BUFIO2_X2Y29 BUFIO2_X2Y26 BUFIO2_X2Y27 BANK3 (BUFPLL Clock Region) BUFIO2 CLOCKING REGION LT BUFIO2 CLOCKING REGION LB GCLK20 (N) GCLK21 (P) GCLK22 (N) GCLK23 (P) GCLK24 (N) GCLK25 (P) GCLK26 (N) GCLK27 (P) BUFIO2_X0Y16 BUFIO2_X0Y17 BUFIO2_X0Y22 BUFIO2_X0Y23 BUFIO2_X0Y16 BUFIO2_X0Y17 BUFIO2_X1Y14 BUFIO2_X1Y15 BUFIO2_X1Y8 BUFIO2_X1Y9 DIVCLK IOCLK DIVCLK IOCLK DIVCLK BUFIO2_X1Y7 BUFIO2_X1Y6 PLL DCM DCM PLL DCM DCM PLL DCM DCM PLL DCM DCM PLL DCM DCM PLL DCM DCM IOCLK BUFIO2_X1Y1 BUFIO2_X1Y0 BUFIO2_X4Y28 BUFIO2_X4Y29 DIVCLK IOCLK DIVCLK IOCLK BUFIO2_X3Y7 BUFIO2_X3Y6 DIVCLK IOCLK BUFIO2_X4Y26 BUFIO2_X4Y27 BUFGMUX_X2Y1 BUFGMUX_X2Y2 BUFGMUX_X2Y3 BUFGMUX_X2Y4 BUFGMUX_X3Y5 BUFGMUX_X3Y6 BUFGMUX_X3Y7 BUFGMUX_X3Y8 BUFGMUX_X2Y9 BUFGMUX_X2Y10 BUFGMUX_X2Y11 BUFGMUX_X2Y12 BUFGMUX_X3Y13 BUFGMUX_X3Y14 BUFGMUX_X3Y15 BUFGMUX_X3Y16 BUFIO2_X3Y1 BUFIO2_X3Y0 DIVCLK IOCLK DIVCLK IOCLK BU FIO2_X4Y21 BU FIO2_X4Y20 BU FIO2_X4Y19 BU FIO2_X4Y18 BUFIO2_X3Y13 BUFIO2_X3Y12 BUFIO2_X3Y11 BUFIO2_X3Y10 GCLK11 (P) GCLK10 (N) GCLK9 (P) GCLK8 (N) GCLK7 (P) GCLK6 (N) GCLK5 (P) GCLK4 (N) BUFIO2 CLOCKING REGION RT BUFIO2 CLOCKING REGION RB GCLK28 (N) GCLK29 (P) GCLK30 (N) GCLK0 (N) GCLK31 (P) GCLK1 (P) GCLK2 (N) GCLK3 (P) BUFIO2 CLOCKING REGION BL BANK2 (BUFPLL Clock Region) BUFIO2 CLOCKING REGION BR UG382_c1_06_021 図 1-7 : Spartan-6 FPGA クロックピンレイアウト ( バンクが 4 つあるデバイス ) 22 japan.xilinx.com Spartan-6 FPGA クロックリソース

23 クロック入力 図 1-8 は バンク 4 および 5 のある大型デバイスの GCLK ピンレイアウトを示したもので FG(G)676 パッケージの XC6SLX75 XC6SLX75T および FG(G)676 と FG(G)900 パッケージの XC6SLX100 XC6SLX100T XC6SLX150 XC6SLX150T が対象です GLK20 から GCLK23 はバンク 3 の V CCO から電力供給を受け IOCLK は BUFIO2 クロック領域 LT に接続しています 同様に GCLK8 から GCLK11 はバンク 1 の V CCO から電力供給を受け IOCLK は BUFIO2 クロック領域 RT に接続しています X-Ref Target - Figure 1-8 BANK0 (BUFPLL Clock Region) BUFPLL Region BUFIO2 CLOCKING REGION TL BUFIO2 CLOCKING REGION TR GCLK19 (P) GCLK18 (N) GCLK15 (P) GCLK17 (P) GCLK14 (N) GCLK16 (N) GCLK13 (P) GCLK12 (N) BANK4 BANK3 BUFIO2 CLOCKING REGION LT BUFIO2 CLOCKING REGION LB GCLK20 (N) GCLK21 (P) GCLK22 (N) GCLK23 (P) GCLK24 (N) GCLK25 (P) GCLK26 (N) GCLK27 (P) BUFIO2_X0Y22 BUFIO2_X0Y23 DIVCLK BUFIO2_X0Y16 IOCLK BUFIO2_X0Y17 BUFIO2_X1Y14 BUFIO2_X1Y15 DIVCLK BUFIO2_X1Y8 IOC LK BUFIO2_X1Y9 BUFIO2_X2Y28 BUFIO2_X2Y29 DIVCLK BUFIO2_X1Y7 BUFIO2_X1Y6 PLL DCM DCM PLL DCM DCM PLL DCM DCM PLL DCM DCM PLL DCM DCM PLL DCM DCM BUFIO2_X2Y26 BUFIO2_X2Y27 IOCLK BUFIO2_X1Y1 BUFIO2_X1Y0 BUFIO2_X4Y28 BUFIO2_X4Y29 DIVCLK DIVCLK IOCLK DIVCLK IOCLK BUFIO2_X3Y7 BUFIO2_X3Y6 IOCLK BUFIO2_X4Y26 BUFIO2_X4Y27 BUFGMUX_X2Y1 BUFGMUX_X2Y2 BUFGMUX_X2Y3 BUFGMUX_X2Y4 BUFGMUX_X3Y5 BUFGMUX_X3Y6 BUFGMUX_X3Y7 BUFGMUX_X3Y8 BUFGMUX_X2Y9 BUFGMUX_X2Y10 BUFGMUX_X2Y11 BUFGMUX_X2Y12 BUFGMUX_X3Y13 BUFGMUX_X3Y14 BUFGMUX_X3Y15 BUFGMUX_X3Y16 BUFIO2_X3Y1 BUFIO2_X3Y0 IOCLK DIVCLK IOCLK DIVCLK BUFIO2_X4Y21 BUFIO2_X4Y20 BUFIO2_X4Y19 BUFIO2_X4Y18 BUFIO2_X3Y13 BUFIO2_X3Y12 BUFIO2_X3Y11 BUFIO2_X3Y10 GCLK11 (P) GCLK10 (N) GCLK9 (P) GCLK8 (N) GCLK7 (P) GCLK6 (N) GCLK5 (P) GCLK4 (N) BUFIO2 CLOCKING REGION RT BUFIO2 CLOCKING REGION RB BANK1 BANK5 GCLK28 (N) GCLK29 (P) GCLK30 (N) GCLK0 (N) GCLK31 (P) GCLK1 (P) GCLK2 (N) GCLK3 (P) BUFIO2 CLOCKING REGION BL BUFIO2 CLOCKING REGION BR BANK2 (BUFPLL Clock Region) 図 1-8 : Spartan-6 FPGA クロックピンレイアウト ( バンクが 6 つあるデバイス ) BUFPLL Region UG382_c1_07_ デバイスにバンクが 4 つある場合でも 6 つある場合でも グローバルクロック入力は常に同じ V CCO バンクから電力供給を受けます このため バンクが 6 つあるデバイスの場合 GCLK[8:11] は V CCO1 の電力供給を受け ロジックに GCLK ピンを使用しているデザインはその影響を受ける可能性があります IOLOGIC2 は引き続きバンク 5 に関連した BUFIO2 ロケーションにより駆動されます 同様に GCLK[20:23] は V CCO バンクの V CCO3 の電力供給を受けます GCLK[20:23] を IOLOGIC2 として使用している場合は バンク 4 に関連した BUFIO2 により IOCLK が駆動されます ( 表 1-6) Spartan-6 FPGA クロックリソース japan.xilinx.com 23

24 第 1 章 : クロックリソース 表 1-6 : GCLK V CCO バンクサポート (IOLOGIC2 との比較 ) GCLK VCCO (6 つのバンク ) BUFIO2 (IOLOGIC2) BUFGMUX に接続される BUFIO2 GCLK[0:3] 2 X3Y[0,1,6,7] X1Y[0,1,6,7] X3Y[0,1,6,7] GCLK[4:7] 1 X3Y[10,11,12,13] X3Y[10,11,12,13] X4Y[18,19,20,21] GCLK[8:11] 1 X4Y[18,19,20,21] X3Y[10,11,12,13] X4Y[18,19,20,21] GCLK[12:15] 0 X4Y[26,27,28,29] X4Y[26,27,28,29] X2Y[26,27,28,29] GCLK[16:19] 0 X2Y[26,27,28,29] X4Y[26,27,28,29] X2Y[26,27,28,29] GCLK[20:23] 3(1) X0Y[16,17,22,23] X0Y[16,17,22,23] X1Y[14,15,18,19] GCLK[24:27] 3 X1Y[14,15,18,19] X0Y[16,17,22,23] X1Y[14,15,18,19] GCLK[28:31] 2 X1Y[0,1,6,7] X1Y[0,1,6,7] X3Y[0,1,6,7] グローバルクロックピンが DCM または PLL に配線されている場合 BUFIO2 および V CCO バンクの制限は有効な BUFIO2 ロケーションに影響しません グローバルクロックピンに対し有効な BUFIO2 ロケーションは表 1-1 を参照してください デバイスの上半分にある BUFIO2 (BUFIO2 クロック領域 TL TR LT RT) は デバイスの上半分にある DCM/PLL にしか配線できません 同様に デバイスの下半分 (BUFIO2 クロック領域 BL BR LB RB) に接続されている BUFIO2 バッファは デバイスの下半分にある DCM/PLL に配線します 図 1-7 および図 1-8 を参照してください GCLK 入力ピンはクロックバッファを駆動するのに使用されます 差動クロック入力には 2 つのグローバルクロック入力が必要です P および N 入力は クロック入力ピン上の標準入力と同じコンフィギュレーションになります クロック番号が連続したクロック入力 ( 偶数番号のクロックとそれより 1 大きい奇数番号のクロック ) がペアとなります たとえば GCLK0 と GCLK1 GCLK20 と GCLK21 が差動ペアとなります Spartan-6 FPGA には グローバルクロックバッファごとに 2 つのクロック入力があり 最高 16 個までの差動グローバルクロック入力が使用できます デザインでは クロック入力ピンはすべて IBUFG プリミティブで表わされています IBUFG は通常 最上位クロックポートに対して推論されますが さらに制御が必要な場合は I ポートを直接最上位ポートに接続 O ポートを DCM BUFG または汎用ロジックに接続して IBUFG をインスタンシエートできます ほとんどの合成ツールでは IBUFG を FPGA のクロックリソースに接続すると BUFG が自動的に推論されます 24 japan.xilinx.com Spartan-6 FPGA クロックリソース

25 クロック入力 クロック構造のガイドライン Spartan-6 FPGA SelectIO ロジックの高度な機能を使用するには 広範囲の SelectIO ソリューションをサポートするための異なるクロック構造が必要になります このセクションでは 最適なパフォーマンスを得るために推奨されるクロッキングソリューションの概要を説明します クロッキングソリューションのリストは アドバンスシリアル化用の高速 IOSERDES2 使用 を参照してください SDR データレート (IOB の FD レジスタ IOSERDES2 なし ) デバイスにデータを格納するには次の 2 つの SelectIO オプションがあります 図 1-9 では FPGA ロジックレジスタを駆動する BUFG (BUFIO2-DIVCLK) を使用し I/O フリップフロップを駆動する BUFIO2 (IOCLK) が使用されています IODELAY2 を使用してもしなくても動作します 図 1-10 では FPGA ロジックと I/O の両方を駆動する BUFG (GCLK) が使用されています IODELAY2 を使用してもしなくても動作します X-Ref Target - Figure 1-9 CLOCK BUFG DIVCLK IBUFG BUFIO2 I IOCLK SERDESSTROBE USE_DOUBLER = FALSE C CE D R S FPGA Logic FDRSE Q UG382_c2_09_ 図 1-9 : BUFIO2 を使用した I/O フリップフロップのクロック X-Ref Target - Figure 1-10 CLOCK IBUFG BUFG FDRSE C Q CE D R S FPGA Logic UG382_c2_10_ 図 1-10 : BUFG を使用した I/O フリップフロップのクロック DDR データレート (IDDR2 ODDR2 IOSERDES2 なし ) IDDR2 および ODDR2 プリミティブのクロッキングには次のオプションがあります パフォーマンスが重要でない場合 クロック (C0) とローカル反転を使用した反転クロック (C1) の両方を駆動するのに 1 つの DCM 出力を使用します IODELAY2 を使用してもしなくても動作します Spartan-6 FPGA クロックリソース japan.xilinx.com 25

26 第 1 章 : クロックリソース 最高速のパフォーマンスを得るには 位相差が 180 の BUFG のある 2 つの DCM を使用します IODELAY2 を使用してもしなくても動作します 図 1-24 を参照してください DCM を使用していない場合は GCLK 入力は 2 つの BUFIO2 を直接駆動する必要があります 同じ GCLK に接続されている 1 つ目の BUFIO2 (USE_DOUBLER) は C0 用 BUFIO2 (I_INVERT = TRUE) を使用した反転クロックを C1 用にと 2 つの BUFIO2 を使用します FPGA ロジックは BUFG (C0 BUFIO2-DIVCLK) によって駆動されます 図 1-21 を参照してください IODELAY2 を使用する場合は IBUFGDS_DIFF_OUT が必要です (29 ページの図 1-14 を参照 ) IODELAY2 のシングルエンド入力はサポートされていません 双方向インターフェイスの場合 入力および出力ロジックの両方で同じデータレート (IDDR2 および ODDR2) を使用する必要があります SDR と DDR の双方向 I/O を混在させることはできません アドバンスシリアル化用の高速 IOSERDES2 使用 IOSERDES2 (SDR) IOSERDES2 (SDR) には BUFIO2 が 1 つ必要です BUFIO2-SERDESSTROBE で駆動される IOCE および BUFG (BUFIO2-DIVCLK) で駆動される CLKDIV のある BUFIO2 (USE_DOUBLER = FALSE および I_INVERT = FALSE) です FPGA ロジックは BUFG (BUFIO2 - DIVCLK) で駆動されます IODELAY2 を使用してもしなくても動作します 図 1-18 を参照してください IOSERDES2 (DDR) IOSERDES2 (DDR) には BUFIO2 が 2 つ必要です 1 つ目の BUFIO2 (USE_DOUBLER = TRUE) は BUFIO2 (SERDESSTROBE) で駆動される IOCE および BUFG (BUFIO2-DIVCLK) で駆動される CLKDIV を使用します 2 つ目の BUFIO2 (I_INVERT = TRUE, USE_DOUBLER = FALSE) は C1 クロック入力を駆動するのに使用します 図 1-21 を参照してください IODELAY2 を使用する場合は IBUFGDS_DIFF_OUT が必要です (49 ページの図 1-33 を参照 ) IODELAY2 のシングルエンド入力はサポートされていません PLL を使用した IOSERDES2 SDR のみがサポートされています GCLK 入力は自動推論された BUFIO2 の DIVCLK 出力を駆動します この出力は PLL クロック出力を駆動します PLL は BUFG 出力からの BUFPLL の PLLIN 入力および BUFPLL の GCLK を駆動するため 2 つのクロック出力を使用します BUFPLL の LOCKED 入力を PLL の LOCKED 出力に接続してください IODELAY2 を使用してもしなくても動作します 図 1-22 を参照してください 双方向インターフェイスの場合 入力および出力の両方で入力ロジックと出力ロジックと同じ DATA_RATE を設定する必要があります SDR および DDR の双方向 I/O を混在させることはできません グローバルクロック入力バッファのプリミティブ 表 1-7 の IBUFG および IBUFGDS プリミティブは クロック入力バッファの異なるコンフィギュレーションです IOSTANDARD 属性を該当する規格に設定すると これらの 2 つのプリミティブを Spartan-6 FPGA の I/O リソースに対して使用できるようになります 使用可能な I/O 規格の詳細は Spartan-6 FPGA SelectIO リソースユーザーガイド を参照してください 26 japan.xilinx.com Spartan-6 FPGA クロックリソース

27 高速 I/O クロックネットワーク接続の例 表 1-7 : クロックバッファのプリミティブ プリミティブ 入力 出力 説明 IBUFG I O シングルエンド I/O の入力クロックバッファ IBUFGDS I IB O 差動 I/O の入力クロックバッファ 高速 I/O クロックネットワーク接続の例 このセクションにある例は 高速インターフェイス用にグローバルクロックバッファ I/O クロックバッファ および I/O タイルがどのように使用されるかを示しています 図 1-11 の例は ISERDES2 にクロック供給するための簡単なインプリメンテーションを示しています BUFIO2 は FPGA ロジックにクロックと ISERDES2 で使用されるストローブ信号を提供します シリアルデータは I/O クロックネットワークにある IOCLK を使用して出力されます パラレルデータは DIVCLK 出力と同期 SERDESSTROBE 信号を使用して FPGA クロック領域に出力されます X-Ref Target - Figure 1-11 FPGA Logic CLOCK IBUFG BUFIO2 DIVCLK I IOCLK BUFG ISERDES2 CLKDIV CLK0 SERDESSTROBE USE_DOUBLER = FALSE CLK1 IOCE DATA_RATE = SDR UG382_c1_08_ 図 1-11 : 例 1: ISERDES2 (DATA_RATE = SDR) を駆動する BUFIO2 シリアル化されたデータが入力クロックの立ち上がりと立ち下がりエッジの両方でクロックと同期する DDR アプリケーションでは 図 1-12 に示すように CLK1 を駆動するために 2 つ目の反転クロックが必要になります データが IOCLK の両エッジで同期するため USE_DOUBLER = TRUE と設定して DIVCLK は DIVIDE/2 で逓倍されます Spartan-6 FPGA クロックリソース japan.xilinx.com 27

28 第 1 章 : クロックリソース X-Ref Target - Figure 1-12 FPGA Logic CLOCK IBUFG BUFIO2 DIVCLK I IOCLK BUFG ISERDES2 CLKDIV CLK0 USE_DOUBLER = TRUE I_INVERT = FALSE BUFIO2 DIVCLK SERDESSTROBE I CLK1 IOCE DATA_RATE = DDR I IOCLK SERDESSTROBE USE_DOUBLER = FALSE I_INVERT = TRUE UG382_c1_09_ 図 1-12 : 例 2: ISERDES2 (DATA_RATE = DDR) を駆動する BUFIO2 入力クロックがシリアルデータではなくパラレルデータの周波数で実行される ビデオアプリケーション用のピクセルクロックなどのアプリケーションでは 入力クロックを高速 I/O クロックを生成するために入力クロックを乗算する必要があります 図 1-13 は ISERDES に必要な高速 I/O クロックを提供する PLL を示しています GCLK クロック入力は BUFIO2 を使用して自動的に PLL および DCM クロック入力に配線されます この BUFIO2 配線パスにより 必要な場合入力パスは BUFIO2FB を使用してスキュー調整されます PLL は CLKOUT0 出力で I/O クロックネットワークを駆動します BUFIO2FB は プライマリの BUFIO2 に関連した入力配線遅延のスキューを調整するようバランスを取ります FPGA クロック領域は BUFG を使用した別の PLL クロック出力で駆動されます 28 japan.xilinx.com Spartan-6 FPGA クロックリソース

29 高速 I/O クロックネットワーク接続の例 X-Ref Target - Figure 1-13 CLK_FEEDBACK = CLKOUT0 FPGA Logic PLL_BASE CLOCK BUFIO2 DIVCLK I IOCLK SERDESSTROBE CLKIN CLKFB RST CLKOUT0 CLKOUT1 CLKOUT2 CLKOUT3 BUFG ISERDES2 CLKDIV CLK0 CLK1 BUFIO2FB I O CLKOUT4 CLKOUT5 CLKFBOUT LOCKED IOCE DATA_RATE = SDR BUFPLL PLLIN LOCK GCLK IOCLK LOCKED SERDESSTROBE UG382_c1_10_ 図 1-13 : 例 3 : 基本 PLL ISERDES2 (SDR) 高速ソース同期出力のデザインの場合 GCLK 入力から I/O クロック領域までのタイミング遅延が正確である必要はありません タイミングアライメントが不要な場合は クロックバッファを使用せずに PLL で CLKFBOUT から CLKFBIN への専用フィードバックを使用することができます ( 図 1-14) X-Ref Target - Figure 1-14 BUFG CLOCK IBUFG BUFIO2 DIVCLK I IOCLK SERDESSTROBE PLL_BASE CLKOUT0 CLKIN CLKOUT1 CLKFBIN CLKOUT2 RST CLKOUT3 BUFPLL GCLK LOCK PLLIN IOCLK LOCKED SERDESSTROBE OSERDES2 CLKDIV CLK0 CLK1 CLKOUT4 IOCE CLKOUT5 CLKFBOUT LOCKED DATA_RATE_OQ = SDR DATA_RATE_OT = SDR CLK_FEEDBACK = CLKFBOUT UG382_c1_11_ 図 1-14 : 例 4 : 基本 PLL OSERDES2 (SDR) DCM_SP のパフォーマンスが十分なデザインでは BUFG クロックバッファを最高 3 つまで使用して IOLOGIC (IDDR2) を駆動するために DCM_SP を使用することができます 入力配線遅延を一致させるため CLK0 または CLK2X を使用して BUFIO2FB を駆動する必要があります ( 図 1-15) Spartan-6 FPGA クロックリソース japan.xilinx.com 29

30 第 1 章 : クロックリソース DCM を使用して最善のデューティサイクルパフォーマンスを維持するには 別の DCM クロック出力を使用して C0 および C1 を駆動します 各 DCM 出力は個別にグローバルバッファを駆動します 可能ではありますが BUFG を使用して I/O タイル内の 1 位相をローカルで反転するのは避けてください クロックの 1 つをローカルで反転させると デューティサイクルの歪みが発生します X-Ref Target - Figure 1-15 GCLK IBUFG BUFIO2 DIVCLK I IOCLK SERDESSTROBE BUFIO2FB I O DCM_SP CLKIN CLKFBIN RST CLK0 CLK2X CLKFX CLKFX180 LOCKED BUFG BUFG BUFG C0 C1 IDDR2 CLKFEEDBACK = <1X / 2X> UG382_c1_12_ 図 1-15 : 例 5 : 入力への DCM スキュー調整 GTP トランシーバを使用している場合 GTP リファレンスクロックに CMT ( クロックマネージメントタイル ) への接続に使用可能な BUFIO2 への専用配線接続が含まれます 図 1-16 の例 6 は BUFIO2FB を使用して配線した GTP_DUAL からのフィードバックパスと PLL_BASE を使用したシングルレーンの PCI Express の例です 詳細は Spartan-6 FPGA GTP トランシーバユーザーガイド (UG386) を参照してください X-Ref Target - Figure 1-16 GTPCLKOUT0[0] GTPCLKFBWEST[0] GTPCLKFBSEL0WEST=00 MUX TXUSRCLK0 RXUSRCLK0 BUFIO2 I DIVCLK IOCLK BUFIO2FB I SERDESSTROBE O PLL_BASE CLKIN CLKOUT0 CLKFBIN CLKOUT1 CLKOUT2 RST CLKOUT3 CLKOUT4 CLKOUT5 CLKFBOUT LOCKED BUFG BUFG CLK_FEEDBACK = CLKOUT0 COMPENSATION = SOURCE_SYNCHRONOUS TXUSRCLK1 RXUSRCLK1 TXUSRCLK20 RXUSRCLK20 TXUSRCLK21 RXUSRCLK21 PCIe One Lane ug382_c1_16_ 図 1-16 : 例 6 : PCI Express のシングルレーンクロッキング 30 japan.xilinx.com Spartan-6 FPGA クロックリソース

31 高速 I/O クロックネットワーク接続の例 図 1-17 の例 7 は 入力周波数とフィードバック周波数が異なるシングルレーンの PCI Express デザインを示しています 入力周波数とフィードバック周波数が一致しないので PLL 設定を解析する必要があります この例では GTPCLKOUT0[0] が 100MHz のクロックです GTP_DUAL および PLL の両方の要件を満たすリファレンスクロック周波数を作成するには TXDATAWIDTH0[0] = 2 を設定して 250MHz のリファレンスクロックを選択します PFD ( 位相周波数検出器 ) の周波数と一致するような柔軟性を持たせることができるよう PLL では CLK_FEEDBACK = CLKOUT0 を使用できます PFD が 50MHz で動作するとき VCO は 500MHz です PLL 設定の選択方法の詳細は 第 3 章 位相ロックループ (PLL) を参照してください 詳細は UG386 Spartan-6 FPGA GTP トランシーバユーザーガイド を参照してください X-Ref Target - Figure 1-17 GTPCLKOUT0[0] GTPCLKFBWEST[0] GTPCLKFBSEL0WEST=00 MUX TXUSRCLK0 RXUSRCLK0 TXUSRCLK1 RXUSRCLK1 BUFIO2 I DIVCLK IOCLK BUFIO2FB I O 100 MHz SERDESSTROBE 250 MHz PLL_BASE CLKIN CLKOUT0 CLKFBIN CLKOUT1 CLKOUT2 RST CLKOUT3 CLKOUT4 CLKOUT5 CLKFBOUT LOCKED BUFG BUFG BUFG CLK_FEEDBACK = CLKOUT0 COMPENSATION = SOURCE_SYNCHRONOUS CLKFB_MULT = 5 DIVCLK_DIVIDE = 2 CLKOUT0_DIVIDE = 2 CLKOUT1_DIVIDE = 8 CLKOUT2_DIVIDE = MHz 62.5 MHz 125 MHz TXUSRCLK20 RXUSRCLK20 TXUSRCLK21 RXUSRCLK21 TXDATAWIDTH0[0] = 2 FTXUSRCLK2 = FTXUSRCLK/4 ug382_c1_17_ 図 1-17 : 例 7 : クロックが 100MHz の PCI Express のシングルレーンのクロッキング Spartan-6 FPGA クロックリソース japan.xilinx.com 31

32 第 1 章 : クロックリソース クロックバッファおよびマルチプレクサ クロックバッファおよびマルチプレクサは クロック信号を直接クロックライン (BUFG または BUFPLL) に駆動するか 2 つの関連のないクロック信号 可能であれば非同期クロック信号から 1 つを選択するために使用できます (BUFGMUX) クロックバッファは クロック信号を駆動するように設計されています スライスのリセット / セットに使用するときは 次のいずれかのロケーションに配置する必要があります BUFGMUX_X2Y9 BUFGMUX_X2Y10 BUFGMUX_X2Y11 BUFGMUX_X2Y12 BUFGMUX_X3Y13 BUFGMUX_X3Y14 BUFGMUX_X3Y15 または BUFGMUX_X3Y16 ブロック RAM スライスの組み合わせ入力 またはクロックイネーブルのリセット / セット または BUFGMUX の入力として使用するときは 次のいすれかのロケーションに配置する必要があります BUFGMUX_X2Y1 BUFGMUX_X2Y2 BUFGMUX_X2Y3 BUFGMUX_X2Y4 BUFGMUX_X3Y5 BUFGMUX_X3Y6 BUFGMUX_X3Y7 または BUFGMUX_X3Y8 グローバルクロックバッファプリミティブ 表 1-8 に グローバルクロックバッファのプリミティブを示します 表 1-8 : グローバルクロックバッファプリミティブ プリミティブ入力出力制御 BUFGMUX I0 I1 O S BUFGMUX_1 I0 I1 O S BUFG I O - BUFGCE I O CE BUFGCE_1 I O CE BUFGMUX 各 BUFGMUX プリミティブは 図 1-18 に示すように 2:1 マルチプレクサです セレクトライン S により I0 または I1 のどちらかを使用して BUFGMUX 出力信号 O を駆動するかを選択します ( 表 1-9 を参照 ) Spartan-6 FPGA データシートで指定されているように S 入力にはセットアップタイム要件があります 極性は指定可能です X-Ref Target - Figure 1-18 BUFGMUX I1 I0 O S ug382_ c1_14_ 図 1-18 : BUFGMUX プリミティブ 32 japan.xilinx.com Spartan-6 FPGA クロックリソース

33 クロックバッファおよびマルチプレクサ 表 1-9 : BUFGMUX プリミティブ S 入力 O 出力 0 I0 入力 1 I1 入力 表 1-10 : BUFGMUX 属性 属性名説明値デフォルト値 CLK_SEL_TYPE 同期または非同期を指定 SYNC ASYNC SYNC BUFGMUX は 1 つのクロックソースからグリッチのない完全非同期のクロックソースに切り替えることでタイミング問題を軽減します S が変化して別のクロックソースが選択されると いずれかの入力の次のアクティブクロックエッジまで 出力が非アクティブ状態に保持されます このときの出力は High または Low にできます ( デフォルトは Low) クロスに接続されたレジスタペアにより BUFGMUX の出力で不正なクロックエッジが生成されるのを防ぎます S 入力が変化すると 現在のクロック入力が Low になり 新しいクロック入力が High から Low に遷移するまで 新しい入力は O に出力されません ( 表 1-11) 出力の切り替えは 入力の Low から High への最初の遷移では発生しないため 出力クロックパルスが入力クロックパルスの最短パルスよりも短くなることはありません S 入力が Low の場合は I0 が選択され High の場合は I1 が選択されますが 極性は指定可能で I0 と I1 を入れ替えることができます クロック信号の極性は各フリップフロップで指定可能で 立ち上がりエッジまたは立ち下がりエッジでトリガできるため 2 つの異なるクロック信号を生成して 伝搬する必要はありません 表 1-11 : BUFGMUX の機能 入力 クロック入力が 1 つだけ必要な場合 2 つ目のクロック入力およびセレクトラインは使用されないため BUFG プリミティブを選択する必要があります BUFGMUX は 電源供給時およびグローバルセット / リセット (GSR) のアサート時に I0 が選択されるよう初期化されます シミュレーションでも 時間 0 で S=0 が選択されるようにする必要があります 時間 0 で S=1 が選択されると I1 の次の立ち下がりエッジまで出力が不明になります セレクトラインは クロックのステートおよび遷移に関係なく常時変更可能ですが 選択されたクロック入力の立ち上がりエッジの前 セットアップタイム内に S が変化すると 出力にラントパルスが現れることがあります 出力 I0 I1 S O I0 X 0 I0 X I1 1 I1 X X 0 X X 0 Spartan-6 FPGA クロックリソース japan.xilinx.com 33

34 第 1 章 : クロックリソース BUFGMUX_1 BUFGMUX と BUFGMUX_1 では S の値が変化した後クロックが切り替わるまで保持される出力ステートが異なります BUFGMUX では出力ステートが 0 に BUFGMUX_1 では出力ステートが 1 に保持されます ( 表 1-12) 表 1-12 : BUFGMUX_1 の機能 入力 図 1-19 は BUFGMUX_1 のタイミング図です 出力 I0 I1 S O I0 X 0 I0 X I1 1 I1 X X 1 X X 1 X-Ref Target - Figure 1-19 S I0 I1 O begin switching using I1 ug382_c1_15_ 図 1-19 は次のようになっています 現在のクロックは I0 です S は High になっています 図 1-19 : BUFGMUX のタイミング図 I0 が High の場合 マルチプレクサは I0 が Low にアサートされるまで待機します I0 が Low になると I1 が High から Low へと遷移するまでマルチプレクサ出力は Low のままになります I1 が High から Low へと遷移すると 出力は I1 に切り替わります グリッチまたは短いパルスは出力に現れません BUFGMUX_1 は立ち上がりエッジで変化し 入力が切り替わる前に High に保持されます 図 1-20 は BUFGMUX_1 のタイミング図です 34 japan.xilinx.com Spartan-6 FPGA クロックリソース

35 クロックバッファおよびマルチプレクサ X-Ref Target - Figure 1-20 RXUSRCLK0 TXUSRCLK1 RXUSRCLK1 TXUSRCLK20 RXUSRCLK20 TXUSRCLK21 RXUSRCLK21 PCIe One Lane 図 1-20 は次のようになっています 現在のクロックは I0 です S は High になっています 図 1-20 : BUFGMUX_1 のタイミング図 I0 が High の場合 マルチプレクサは I0 が High にアサートされるまで待機します I0 が High になると I1 が Low から High へと遷移するまでマルチプレクサ出力は High のままになります I1 が Low から High へと遷移すると 出力は I1 に切り替わります グリッチまたは短いパルスは出力に現れません Spartan-6 FPGA クロックリソース japan.xilinx.com 35

36 第 1 章 : クロックリソース BUFG BUFGMUX は デバイスに含まれる物理的なクロックバッファですが 1 入力のクロックバッファとしても使用できます BUFG クロックバッファプリミティブ ( 図 1-21 を参照 ) は 1 つのクロック信号をクロックネットワークに駆動します クロック選択機能がないだけで 基本的には BUFGMUX と同じです BUFG は 複数の Virtex および Spartan アーキテクチャで共通のクロックバッファプリミティブです X-Ref Target - Figure 1-21 BUFG I O ug382_c1_17_ 図 1-21 : BUFG プリミティブ 図 1-22 に示すように BUFG は BUFGMUX から構築されています X-Ref Target - Figure 1-22 BUFGMUX I I1 I0 O S GND ug382_c1_18_ 図 1-22 : BUFGMUX から構築された BUFG 36 japan.xilinx.com Spartan-6 FPGA クロックリソース

37 クロックバッファおよびマルチプレクサ BUFGCE および BUFGCE_1 BUFGCE プリミティブは BUFGMUX のクロック選択機能を使用して クロックバッファのイネーブル入力を作成します ( 図 1-23 を参照 ) BUFGCE は クロックイネーブル入力付きグローバルクロックバッファです O 出力は クロックイネーブル (CE) が Low ( 非アクティブ ) のときに 0 になります CE が High になると I 入力の値が O に出力されます 表 1-13 はその真理値表です X-Ref Target - Figure 1-23 CE BUFGCE I O ug382_c1_19_ 図 1-23 : BUFGCE プリミティブ 表 1-13 : BUFGCE 真理値表 S 入力 O 出力 I CE O X 0 0 X 1 I BUFGCE は BUFGMUX で 1 つの入力を固定値にすることによって構成されています ディスエーブルの場合のデフォルト値は Low です BUFGCE_1 プリミティブは V CC を I1 に接続することにより ディスエーブルの場合のデフォルト値を High にしています また 入力間の遷移中にグリッチのない動作を提供するために BUFGMUX_1 プリミティブが使用されます ライブラリエレメントはプリミティブですが 図 1-24 に等価機能を示します CE の反転は BUFGMUX 機能に組み込まれています 0 は 未使用のどの LUT からでも供給できます X-Ref Target - Figure 1-24 BUFGMUX GND I I1 I0 O CE_IN INV S ug382_c1_20_ 図 1-24 : BUFGCE の等価機能 Spartan-6 FPGA クロックリソース japan.xilinx.com 37

38 第 1 章 : クロックリソース 高速 I/O クロックリージョンのクロックバッファ 表 1-14 : I/O クロックバッファ I/O タイルのパフォーマンスを向上させるため Spartan-6 FPGA には パフォーマンスが最も重要となる接続用に専用 I/O クロックネットワークが含まれています 表 1-14 に記載されている I/O クロックバッファは I/O クロックネットワークと FPGA ロジックを接続し I/O タイルにある IODELAY2 IDDR2 ODDR2 ISERDES2 および OSERDES2 ロジックで使用できます I/O クロックネットワークで使用可能な I/O クロックバッファ出力は表 1-15 に記載されています プリミティブ入力出力制御 BUFIO2 I IOCLK DIVCLK SERDESSTROBE BUFIO2_2CLK I IB DIVCLK IOCLK SERDESSTROBE BUFPLL GCLK PLLIN LOCKED IOCLK SERDESSTROBE LOCK BUFPLL_MCB PLLIN0 PLLIN1 IOCLK0, IOCLK1 SERDESSTROBE0 SERDESSTROBE1 BUFIO2_2FB I O 表 1-15 には I/O クロックネットワークで使用可能なポートが記載されています 表 1-15 : I/O クロックネットワーク信号 プリミティブ I/O クロックネットワーク入力 I/O クロックネットワーク出力 リソース BUFIO2 I IOCLK(1) SERDESSTROBE(1) I/O クロックバッファ BUFIO2_2CLK I IOCLK(1) SERDESSTROBE(1) I/O クロックバッファ BUFPLL IOCLK(1) SERDESSTROBE(1) I/O クロックバッファ BUFPLL_MCB IOCLK0(1) IOCLK1(1) SERDESSTROBE0(1) SERDESSTROBE1(1) I/O クロックバッファ BUFIO2_2FB I I/O クロックバッファ ILOGIC2 C0 C1 I/O タイルロジック OLOGIC2 C0 C1 I/O タイルロジック ISERDES2 CLK0 CLK1 IOCE I/O タイルロジック OSERDES2 CLK0 CLK1 IOCE I/O タイルロジック IODELAY2 IOCLK0 IOCLK1 DATAOUT I/O タイルロジック GTP_DUAL CLKOUT0[1:0] CLKOUT1[1:0] GTP_DUAL タイル メモ : 1. 出力は I/O クロックネットワークへの接続専用です FPGA ロジックへは接続できません 38 japan.xilinx.com Spartan-6 FPGA クロックリソース

39 クロックバッファおよびマルチプレクサ BUFIO2 BUFIO2 には GCLK クロック入力が使用され 図 1-25 にあるようにクロック出力 2 つとストローブパルス 1 つが生成されます X-Ref Target - Figure 1-25 BUFIO2 DIVCLK I IOCLK SERDESSTROBE ug382_c1_21_ 図 1-25 : BUFIO2 プリミティブ 表 1-16 には BUFIO2 ポートがリストされています IOCLK 出力はバッファを介した入力クロック (I) です DIVCLK 出力の周期およびデューティサイクルは 表 1-17 にリストされている属性の設定によって変わります 表 1-16 : BUFIO2 ポートの定義 ポート名タイプ定義 I IOCLK DIVCLK SERDESSTROBE 入力出力出力出力 クロック入力 IODELAY2 (DATAOUT) または GTP_DUAL タイル (GTPCLKOUT0[1:0] GTPCLKOUT1[1:0]) に接続できます I/O クロックネットワーク出力 IODDR2 (C0 または C1) IOSERDES2 (CLK0 または CLK1) または IODELAY2 (IOCLK0 IOCLK1) に接続します 逓倍クロック出力 BUFG PLL_BASE (CLKIN) DCM_SP (CLKIN) および DCM_CLKGEN (CLKIN) に接続します IOSERDES2 (IOCE) 駆動用の I/O クロックネットワーク出力 表 1-17 : BUFIO2 属性 属性名説明値デフォルト値 DIVIDE DIVCLK および SERDESSTRONBE の分周値を設定します FDIVCLK = FIN / DIVIDE <USE_DOUBLER = FALSE> FDIVCLK = (2 * FIN) / DIVIDE <USE_DOUBLER = TRUE> DIVIDE_BYPASS DIVCLK 出力ソースは FALSE の場合分周器から TRUE の場合は分周器をバイパスした入力 I からです TRUE FALSE TRUE Spartan-6 FPGA クロックリソース japan.xilinx.com 39

40 第 1 章 : クロックリソース 表 1-17 : BUFIO2 属性 ( 続き ) 属性名説明値デフォルト値 I_INVERT TRUE に設定されている場合 BUFIO2 の配置は BUFIO2 の I_INVERT ロケーションに制限されます ( 図 1-5) IOCLK 出力は 180 シフトされます 主に IODDR2 または IOSERDES2 (DATA_RATE = DDR) に使用されます TRUE FALSE FALSE USE_DOUBLER DATA_RATE = DDR の ISERDES2/OSERDES2 に使用されます TRUE に設定されている場合 DIVCLK および SERDESSTROBE 周波数が倍になります FDIVCLK = (2 * FIN) / DIVIDE TRUE FALSE FALSE 表 1-17 にあるように DIVIDE_BYPASS が TRUE の場合 DIVCLK 出力はバッファを介した入力クロックで SERDESSTROBE 出力は 1 に駆動されます DIVIDE_BYPASS が FALSE の場合 USE_DOUBLER を使用する場合を除き DIVCLK および SERDESSTROBE 出力は除算属性で設定されている値で分周された入力クロックになります I/O クロックネットワークが DDR クロックで駆動されるアプリケーションの場合は USE- DOUBLER を TRUE に設定する必要があります USE_DOUBLER = TRUE に設定すると DATA_RATE = DDR の IOSERDES2 に接続する場合 必要な DIVCLK および SERDESSTROBE 出力が提供されます ( 図 1-26) 180 の位相シフトを作成するには追加の BUFIO2 が必要です ( 図 1-27) 40 japan.xilinx.com Spartan-6 FPGA クロックリソース

41 クロックバッファおよびマルチプレクサ X-Ref Target - Figure 1-26 RXCLK Single-ended or Differential BUFIO2 USE_DOUBLER = FALSE SERDESSTROBE IOCLK DIVCLK RXCLK IOCLK DIVIDE = 1 (Default) DIVCLK SERDESSTROBE DIVIDE = 2 DIVCLK SERDESSTROBE DIVIDE = 3 DIVCLK SERDESSTROBE DIVIDE = 4 DIVCLK SERDESSTROBE DIVIDE = 5 DIVCLK SERDESSTROBE DIVIDE = 6 DIVCLK SERDESSTROBE DIVIDE = 7 DIVCLK SERDESSTROBE DIVIDE = 8 DIVCLK SERDESSTROBE 図 1-26 : BUFIO2_2CLK SDR クロック UG382_c1_22_ Spartan-6 FPGA クロックリソース japan.xilinx.com 41

42 第 1 章 : クロックリソース X-Ref Target - Figure 1-27 RXCLK Single-ended or Differential BUFIO2 USE_DOUBLER = TRUE BUFIO2 I_INVERT = TRUE SERDESSTROBE IOCLK0 DIVCLK IOCLK1 RXCLK IOCLK0 IOCLK1 DIVIDE = 2 (DEFAULT) DIVCLK SERDESSTROBE DIVIDE = 3 DIVCLK SERDESSTROBE DIVIDE = 4 DIVCLK SERDESSTROBE DIVIDE = 5 DIVCLK SERDESSTROBE DIVIDE = 6 DIVCLK SERDESSTROBE DIVIDE = 7 DIVCLK SERDESSTROBE DIVIDE = 8 DIVCLK SERDESSTROBE UG382_c1_23_ 図 1-27 : BUFIO2 DDR クロック 42 japan.xilinx.com Spartan-6 FPGA クロックリソース

43 クロックバッファおよびマルチプレクサ BUFIO2_2CLK 各 BUFIO2 は I/O インターフェイスタイルごとに 1 つのクロックしか配線できません このため DDR クロックを使用する場合は 2 番目のクロックを 180 位相シフトする必要があります ( 図 1-27) BUFIO2 クロックバッファを 2 つ使用し 180 位相シフトさせる例は 28 ページの図 1-12 を参照してください PLL または DCM を使用し最適パフォーマンスを得るには BUFIO2 を使用します 各 GCLK は 2 つの BUFIO2 に関連付けられています ( 完全リストは表 1-1 を参照 ) ストローブおよびクロック出力の使用方法の詳細は 27 ページの 高速 I/O クロックネットワーク接続の例 を参照してください BUFIO2_2CLK の論理ビヘイビアは BUFIO2 (USE_DOUBLER = TRUE) とほぼ同じですが シングルエンドのクロックで 2 クロック必要であること または差動ペア (IBUFDS_DIFF_OUT からの出力 ) を入力として使用する点が異なります ( 図 1-28) 表 1-18 には BUFIO2_2CLK ポートがリストされ 表 1-19 には属性がリストされています X-Ref Target - Figure 1-28 I IB BUFIO2_2CLK DIVCLK IOCLK SERDESSTROBE ug382_c1_24_ 図 1-28 : BUFIO2_2CLK プリミティブ 表 1-18 : BUFIO2_2CLK ポートの定義 ポート名 タイプ 定義 I 入力 GCLK クロック入力 IB 入力 反転された GCLK クロック入力 IOCLK DIVCLK SERDESSTROBE 出力 出力 出力 I/O クロックネットワーク出力 IODDR2 (C0 または C1) IOSERDES2 (CLK0 または CLK1) または IODELAY2 (IOCLK0 IOCLK1) に接続します 逓倍クロック出力 BUFG PLL_BASE (CLKIN) DCM (CLKIN) および DCM_CLKGEN (CLKIN) に接続します IOSERDES2 (IOCE) 駆動用の I/O クロックネットワーク出力 Spartan-6 FPGA クロックリソース japan.xilinx.com 43

44 第 1 章 : クロックリソース 表 1-19 : BUFIO2_2CLK 属性 属性名説明値デフォルト値 DIVIDE DIVCLK および SERDESSTROBE の分周値を設定するデータレートの設定です FDIVCLK = (2 * FIN) / DIVIDE DIVIDE_BYPASS FALSE の場合 DIVCLK 出力ソースは分周器から TRUE の場合 DIVCLK 出力ソースは分周器をバイパスした入力 I からです TRUE FALSE TRUE 図 1-29 に示すように BUFIO2_2CLK は差動 GCLK 入力に接続することができます X-Ref Target - Figure 1-29 IBUFDS_DIFF_OUT I O IB OB BUFIO2_2CLK I DIVCLK IOCLK SERDESSTROBE IB UG382_c1_25_ 図 1-29 : 差動 GCLK クロック入力で駆動する BUFIO2_2CLK 図 1-30 は ISERDES2 (DATA_PATH = DDR) または OSERDES2 (DATA_PATH_OQ = DDR) に対し使用する 2 番目の BUFIO2 もまとめたタイミング波形図です 44 japan.xilinx.com Spartan-6 FPGA クロックリソース

45 クロックバッファおよびマルチプレクサ X-Ref Target - Figure 1-30 RXCLK_P RXCLK_N IBUFGDS_DIFF_OUT BUFIO2_2CLK SERDESSTROBE IOCLK0 DIVCLK BUFIO2 I_INVERT = FALSE IOCLK1 RXCLK IOCLK0 IOCLK1 DIVIDE = 2 (Default) DIVCLK SERDESSTROBE DIVIDE = 3 DIVCLK SERDESSTROBE DIVIDE = 4 DIVCLK SERDESSTROBE DIVIDE = 5 DIVCLK SERDESSTROBE DIVIDE = 6 DIVCLK SERDESSTROBE DIVIDE = 7 DIVCLK SERDESSTROBE DIVIDE = 8 DIVCLK SERDESSTROBE UG382_c1_26_ 図 1-30 : BUFIO2_2CLK DDR クロック Spartan-6 FPGA クロックリソース japan.xilinx.com 45

46 第 1 章 : クロックリソース BUFPLL BUFPLL ( 図 1-31) は高速 I/O 配線を目的にしたもので ISERDES2 (SDR) と OSERDES2 (SDR) プリミティブに対してクロックおよびストローブパルスを生成します BUFPLL_MCB では BUFPLL が同じバンクに 2 個含まれています このため BUFPLL_MCB と BUFPLL は同時に使用できません また BUFPLL では PLL の LOCK 出力を GCLK SERDES ストローブ PLL クロックに揃えます IOCLK は入力クロックがバッファされた出力です LOCK 出力の機能は PLL がロックされ SERDESSTROBE 信号に正しく揃えられるまで High にならない点を除き PLL の LOCKED 信号と同じです BUFPLL ポートを表 1-20 に 属性を表 1-21 に示します X-Ref Target - Figure 1-31 GCLK PLLIN LOCKED BUFPLL LOCK IOCLK SERDESSTROBE ug382_c1_27_ 図 1-31 : BUFPLL プリミティブ 表 1-20 : BUFPLL のポートと定義 ポート名タイプ定義 PLLIN GCLK 入力 入力 PLL からのクロック入力 (CLKOUT0 CLKOUT1) バンク および 5 でも BUFG (O) を駆動できます BUFG または CLK からのクロック入力 GCLK の周波数は 予期される SERDESSTROBE の周波数に一致している必要があります F GCLK = F PLLIN /DIVIDE LOCKED 入力 PLL からの LOCKED 信号 IOCLK SERDESSTROBE 出力 出力 I/O クロックネットワーク出力 IOSERDES2 (CLK0) BUFIO2FB (I) または IODELAY2 (IOCLK0 IOCLK1) に接続します IOSERDES2 (IOCE) 駆動用の I/O クロックネットワーク出力 LOCK 出力同期した LOCK 出力 46 japan.xilinx.com Spartan-6 FPGA クロックリソース

47 クロックバッファおよびマルチプレクサ 表 1-21 : BUFPLL 属性 属性名説明値デフォルト値 DIVIDE SERDESSTROBE に対し PLLIN の分周値を設定します ENABLE_SYNC TRUE のときに SERDESSTROBE が GCLK 入力に揃えられます BUFPLL が BUFG で駆動される場合のみクリアされます TRUE FALSE TRUE BUFPLL_MCB 高速 I/O クロックネットワーク接続の例 を参照してください BUFPLL_MCB プリミティブは Spartan-6 FPGA に搭載されているメモリコントローラブロックをサポートするためのものです BUFPLL_MCB のポートを表 1-22 に 属性を表 1-23 に示します BUFPLL_MCB プリミティブには LOCK_SRC 属性が INDEPENDENT の場合に独立して動作するバッファが 2 つあります この回路は SERDESSTROBE0 および SERDESSTROBE1 を同期させます この同期は LOCK_SRC を LOCK_TO_0 または LOCK_TO_1 に設定すると有効になります LOCK_TO_1 に設定されている場合は SERDESSTROBE0 がクロックの 1 サイクル遅れて SERDESSTROBE1 に続きます 同様に LOCK_TO_0 に設定されている場合は SERDESSTROBE1 がクロックの 1 サイクル遅れて SERDESSTROBE0 に続きます 詳細は UG388 Spartan-6 FPGA メモリコントローラユーザーガイド を参照してください 表 1-22 : BUFPLL_MCB ポートの定義 ポート名タイプ定義 PLLIN0 入力 PLL からのクロック入力 (CLKOUT0 または CLKOUT1) バンク および 5 は BUFG (O) で駆動することが できます PLLIN1 入力 PLL からのクロック入力 (CLKOUT0 または CLKOUT1) バンク および 5 は BUFG (O) で駆動することが できます IOCLK0 出力 I/O クロックネットワーク出力 IOSERDES2 (CLK0) また は BUFIO2FB (I) に接続します IOCLK1 出力 I/O クロックネットワーク出力 IOSERDES2 (CLK0) また は BUFIO2FB (I) に接続します SERDESSTROBE0 出力 IOSERDES2 (IOCE) 駆動用の I/O クロックネットワーク 出力 SERDESSTROBE1 出力 IOSERDES2 (IOCE) 駆動用の I/O クロックネットワーク 出力 Spartan-6 FPGA クロックリソース japan.xilinx.com 47

48 第 1 章 : クロックリソース 表 1-23 : BUFPLL_MCB 属性 属性名説明値デフォルト値 LOCK_SRC DIVIDE ENABLE_ SYNC PLLIN0 および PLLIN1 が独立しているかまたは固定かを設定します 固定されている場合 信号は PLLIN0 または PLLIN1 に固定されます SERDESSTROBE0 および SERDESSTROBE1 に対し PLLIN0 および PLLIN1 の分周値を設定します TRUE のときに SERDESSTROBE が GCLK 入力に揃えられます BUFPLL が BUFG で駆動される場合のみクリアされます INDEPENDENT LOCK_TO_0 LOCK_TO_ TRUE FALSE LOCK_TO_0 TRUE BUFIO2FB BUFIO2FB は 属性を使用して出力遅延を決定するシンプルなバッファです これは 1 出力 1 入力のみを使用します ( 図 1-32) BUFIO2 ポートは 表 1-24 にリストされています 表 1-25 にあるように DIVIDE_BYPASS が TRUE の場合 遅延は BUFIO2 バイパス遅延と同等になります FALSE の場合 遅延は BUFIO2 の DIVCLK 出力の近似値になり BUFIO2 と BUFIO2FB 位相の出力が揃います X-Ref Target - Figure 1-32 BUFIO2FB I O ug382_c1_28_ 図 1-32 : BUFIO2FB プリミティブ 表 1-24 : BUFIO2FB ポートの定義 ポート名タイプ定義 I 入力 フィードバッククロック入力 BUFIO2 (IOCLK) BUFPLL (IOCLK) IODELAY2 (DATAOUT) GTPCLKFBWEST GTPCLKFBEAST または BUFG (O) で駆動することができます O 出力出力フィードバッククロック 48 japan.xilinx.com Spartan-6 FPGA クロックリソース

49 クロックバッファおよびマルチプレクサ 表 1-25 : BUFIO2FB 属性 属性名説明値デフォルト値 DIVIDE_BYPASS FALSE の場合 DIVCLK 出力ソースは分周器からで CLKDIV_DIVIDE は 1 に設定する必要があります TRUE の場合 DIVCLK 出力ソースは分周器をバイパスした入力 I からの出力ソースです TRUE FALSE TRUE 図 1-33 に示すように BUFIO2FB バッファを使用し CMT (PLL または DCM) リファレンス出力 CLKIN とフィードバック CLKFB の間のクロック配線遅延を一致させることができます CMT フィードバックパスが使用されている場合は ISE Design Suite によって BUFIO2FB および BUFIO2 バッファが自動挿入されます X-Ref Target - Figure 1-33 Clock Input I/O Input BUFIO2 CLK_REF or CLKIN ILOGIC BUFIO2FB CLK_FB CLKMUX CLKOUT PLL/DCM BUFG/ BUFPLL ug382_c1_29_ 図 1-33 : クロック配線遅延と一致する BUFIO2FB バッファ Spartan-6 FPGA クロックリソース japan.xilinx.com 49

50 第 1 章 : クロックリソース 50 japan.xilinx.com Spartan-6 FPGA クロックリソース

51 第 2 章 クロックマネージメントテクノロジ クロックマネージメントについて Spartan-6 のクロックマネージメントタイル (CMT) は 非常に柔軟性に富み かつ高性能なクロック機能を提供するものです Spartan-6 FPGA の CMT ブロック ( 図 2-1) は垂直のグローバルクロックツリーに沿った中央列にあります 各 CMT ブロックには DCM が 2 つ PLL が 1 つ含まれています X-Ref Target - Figure 2-1 CMT CMT PLL DCM (x2) PLL DCM (x2) CMT CMT PLL DCM (x2) PLL DCM (x2) ug382_c2_01_ 図 2-1 : Spartan-6FPGA DCM の位置 Spartan-6 FPGA クロックリソース japan.xilinx.com 51

52 第 2 章 : クロックマネージメントテクノロジ 表 2-1 は 各 Spartan-6 デバイスで使用可能な CMT DCM PLL をまとめたものです 表 2-1 : 使用可能な CMT DCM PLL リソース デバイス CMT 数 DCM 数 PLL 数 XC6SLX XC6SLX XC6SLX XC6SLX XC6SLX25T XC6SLX XC6SLX45T XC6SLX XC6SLX75T XC6SLX XC6SLX100T XC6SLX XC6SLX150T クロックスキューを最小限にするには CMT からのクロック出力にグローバルクロックバッファを使用します クロックバッファが限られている場合 CMT クロック出力はオプションでグローバルクロックバッファなしに使用することができますが すべてのロジックを 1 つのクロック領域内に配置する必要があります 各クロック領域には垂直方向に 16 個の CLB があり 18Kb のブロック RAM が 4 つまで DSP48A1 スライスが 4 つまで含まれています DCM の概要 デジタルクロックマネージャ (DCM) は Spartan-6 FPGA アプリケーションに高度なクロック機能を提供します DCM を使用すると クロックスキューを取り除くことができるため システムのパフォーマンスが向上します また クロック周期のある割合だけ入力クロックの位相をシフトしたり 入力クロックの周波数を逓倍または分周して新しい周波数を合成したりできます DCM は FPGA のグローバルロースキュークロック分配ネットワークに直接組み込まれています DCM について DCM により FPGA のグローバルロースキュークロック分配ネットワークに高度なクロック制御機構を組み込むことができるため 特に高パフォーマンス 高周波数のアプリケーションで発生しやすいさまざまなクロックの問題を解決できます クロックスキューの除去 : デバイス内または外部コンポーネントへのクロックスキューを取り除くことにより システム全体のパフォーマンスを向上し クロック分配遅延を削除します 位相シフト : クロック周波数の固定の割合またはインクリメント分だけクロック信号の位相をシフトします 52 japan.xilinx.com Spartan-6 FPGA クロックリソース

53 ほかのザイリンクス FPGA ファミリとの互換性および比較 入力クロック周波数を逓倍するか または 逓倍したスタティック / ダイナミッククロックを組み合わせ新しい周波数を合成します デューティーサイクルの調整 : デューティサイクルが 50% のクロックが出力されるよう調整します クロック信号のミラー 転送 再バッファ : 入力クロック信号をスキュー調整し 別の I/O 規格に変換します たとえば 入力 LVTTL クロックを転送し LVDS に変換します クロック入力ジッタフィルタリング フリーランニングオシレータ スペクトラム拡散クロック生成 表 2-2 : DCM の機能 特性説明 DCM 信号 デバイスごとの DCM 数デバイスのサイズに応じて 4 ~ 12 個 詳細は表 2-1 を参照 すべて クロック入力ソース GCLK 入力 BUFG 出力 カスケードされた DCM または PLL 出力 ( 同じ CMT 内 ) CLKIN 周波数合成の出力 DCM_CLKGEN プリミティブが使用されている場合は CLKIN を M/D (M = {2..256} D = {1..256}) で逓倍 クロック分周出力 CLKIN を または 16 で分周 CLKFX CLKFX180 CLKDV 2 逓倍クロック出力 CLKIN の周波数を 2 で逓倍 CLK2X CLK2X180 デューティサイクル調整ほとんどの出力で実行されます すべて 1/4 周期位相シフト出力 0 ( 位相シフトなし ) 90 (1/4 周期 ) 180 (1/2 周期 ) 270 (3/4 周期 ) CLK0 CLK90 CLK180 CLK270 半周期位相シフト出力 可変位相シフト 0 位相シフト出力と 180 位相シフト出力のペア (DDR アプリケーションに理想的 ) 動作中に DCM クロック出力で位相シフトを調整できるようにします CLK0 CLK180 CLK2X CLK2X180 CLKFX CLKFX180 PSEN PSINCDEC PSCLK PSDONE 汎用 DCM 動作インジケータ汎用インターコネクトに接続される DCM クロック出力の数 STATUS LOCKED ほかのザイリンクス FPGA ファミリとの互換性および比較 Spartan-6 FPGA には Spartan-3E および Extended Spartan-3A ファミリと非常に類似した DCM デザインが含まれていますが Spartan-6 ファミリと Virtex-5 FPGA の間には DCM デザインにおいて大きな違いがいくつかあります Spartan-3E および Extended Spartan-3A ファミリと同様 Spartan-6 FPGA の DCM では 動作範囲が自動判断され 動作周波数範囲に制限されません Spartan-6 FPGA では可変位相シフト動作のインプリメンテーションが異なります Spartan-6 FPGA には ジッタ低減 周波数逓倍のダイナミックプログラミング スペクトラム拡散クロックの逓倍と生成といった高度な機能をサポートする DCM_CLKGEN プリミティブが含まれています ザイリンクス FPGA の DCM 機能比較は表 2-3 を参照してください Spartan-6 FPGA クロックリソース japan.xilinx.com 53

54 第 2 章 : クロックマネージメントテクノロジ 表 2-3 : ザイリンクス FPGA での DCM の機能比較 機能 Virtex-5 FPGA (1) Extended Spartan- Spartan-3E および 3A FPGA Spartan-6 FPGA デザインプリミティブ DCM_BASE DCM_ADV DCM_SP DCM_SP DCM_CLKGEN 設定可能な DLL 動作周波数範囲の数 2 : 低周波数モード (LOW) と高周波数モード (HIGH) 設定可能な DFS 動作周波数範囲の数 2 : 低周波数モード (LOW) と高周波数モード (HIGH) 可変位相シフトの増分 / 減分の単位 CLKIN 周期の 1/256 ( 度数 ) DCM_DELAY_STEP 15 ~ 35ps ( 時間 ) DCM_DELAY_STEP Spartan-6 FPGA データシートを参照 DCM の V CCAUX 電源 2.5V 2.5V または 3.3V 2.5V または 3.3V 位相アライメントよりも優先されたジッタ低減 周波数逓倍 / 分周のダイナミックプログラミング なしなしあり なしなしあり スペクトラム拡散クロック生成なしなしあり メモ : 1. Virtex-5 FPGA の DCM_ADV または DCM_BASE プリミティブを使用して古いデザインを変換する場合は Spartan-6 FPGA の DCM_SP または DCM_CLKGEN プリミティブを使用してください 54 japan.xilinx.com Spartan-6 FPGA クロックリソース

55 DCM の機能の概要 DCM の機能の概要 DCM には 4 つの主な機能があり それぞれ単独で使用したり または併用することができます 図 2-2 は DCM の簡単なブロック図です X-Ref Target - Figure 2-2 DCM PSINCDEC PSEN PSCLK PSDONE CLKIN CLKFB DLL CLK0 CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKDV DFS CLKFX CLKFX180 RST LOCKED STATUS ug382_c2_02_ 図 2-2 : DCM ファンクションブロック 遅延ロックループ 遅延ロックループ (DLL) は オンチップのデジタルスキュー調整回路であり 実質的な遅延が 0 のクロック出力信号を効率的に生成します DCM の CLK0 または CLK2X 出力をモニタしてクロック配線ネットワークの遅延を補正することにより 外部クロック入力ポートからデバイス内のクロックロードへの遅延を削除します グローバルクロック分配ネットワークでバッファを適切に使用すると 負荷の違いによるクロックスキューを最小限に抑えることができます 入力配線を正確にスキュー調整するには BUFIO2FB バッファを 49 ページの図 1-33 に示すように使用する必要があります BUFIO2FB はプライマリ BUFIO2 バッファと一致し スキュー調整を 1 つの DCM に制限します DLL ユニットの入力信号は CLKIN と CLKFB で 出力信号は CLK0 CLK90 CLK180 CLK270 CLK2X CLK2X180 および CLKDV です DLL ユニットは 2 逓倍クロック (CLK2X CLK2X180) クロック分周 (CLKDV) および 1/4 位相シフトの出力を生成します Spartan-6 FPGA クロックリソース japan.xilinx.com 55

56 第 2 章 : クロックマネージメントテクノロジ デジタル周波数合成 デジタル周波数合成 (DFS) は 2 つの係数 M (CLKFX_MULTIPLY) と D (CLKFX_DIVIDE) の比に基づいて 広範囲の出力周波数を生成します 出力周波数は 入力クロック (CLKIN) に逓倍値と分周値を同時に適用することにより求められます DFS 機能は 単独または DLL 機能と共に使用できます DLL を使用しない場合は CLKIN と DFS 出力の間に位相関係は成立しません DFS ユニットは周波数合成 (CLKFX および CLKFX180) の出力を生成します 位相シフト 位相シフト (PS) は CLKIN 入力に対する DCM のクロック出力の位相関係を制御します PS は固定または位相シフトモードで使用できます 9 つの DCM クロック出力信号の位相は 固定位相シフトを使用した場合 入力クロック周期の固定値でシフトされます 固定位相シフト値は設計時に設定され FPGA のコンフィギュレーション時に DCM に読み込まれます スキュー調整フィードバッククロックは DLL によって提供されるため DLL が使用されていない場合 DFS 出力クロックはスキュー調整されません PS は 可変位相シフトという 位相シフト値を FPGA アプリケーションの動作中に変更可能なデジタルインターフェイスとしても使用できます Spartan-6 FPGA の可変位相シフトは Spartan-6 FPGA データシートで定義されているように 範囲が固定されている DCM_DELAY_STEP の 1 ステップ分変化します PS 入力信号は PSINCDEC PSEN および PSCLK で 出力信号は PSDONE および STATUS[0] です ステータスロジック ステータスロジックは LOCKED および STATUS[0] 出力信号を使用して DCM の現在のステータスを示します LOCKED 出力信号は DCM 出力の位相が CLKIN 入力に対して正しく調整されているかどうかを示します STATUS 出力信号は DLL および PS の動作ステートを示します RST 入力信号は DCM ロジックをリセットし コンフィギュレーション前の状態に戻します リセットを適用すると CLKIN 入力が再取得され DCM がそのクロックにロックされます DCM プリミティブ DCM プリミティブ ( 図 2-3) の DCM_SP および DCM_CLKGEN は DCM 内のすべての機能を表しています STATUS[7:0] は 低消費電力 Spartan-6 FPGA デバイスの CLKGEN を使用するときにシミュレーションで使用されます 56 japan.xilinx.com Spartan-6 FPGA クロックリソース

57 DCM プリミティブ X-Ref Target - Figure 2-3 CLKIN CLKFB RST DCM_SP CLK0 CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKDV CLKFX CLKFX180 DCM_CLKGEN CLKIN CLKFX RST CLKFX180 CLKFXDV FREEZEDCM PSEN PSINCDEC PSCLK STATUS[7:0] LOCKED PSDONE PROGEN STATUS[2:1] PROGDATA LOCKED PROGCLK PROGDONE UG382_c2_03_ 図 2-3 : DCM プリミティブ 各 DCM 接続ポート 属性 プロパティ および制約はこのセクションにまとめられています DCM_SP プリミティブ DCM_SP プリミティブは従来の DCM 機能を利用し クロックスキュー調整 周波数合成 固定および可変位相シフトを行います 各ポートの説明には 信号方向と DCM に必要な接続 (R) が記載されています 表 2-4 には表 2-5 で使用されている各ファンクションの略称がリストされ 表 2-5 には DCM_SP ポートがリストされています 表 2-4 : 表 2-5 のファンクションユニットの略称 略称 DLL PS DFS DCM ファンクション遅延ロックループ位相シフトデジタル周波数合成 Spartan-6 FPGA クロックリソース japan.xilinx.com 57

58 第 2 章 : クロックマネージメントテクノロジ 表 2-5 : DCM_SP ポート ポート方向説明 DLL PS DFS CLKIN クロック入力 DCM へのクロック入力 すべてのファンクションで必須です CLKIN の周波数とジッタは データシートで指定された範囲内にする必要があります R R R CLKFB 入力 DCM へのクロックフィードバック入力 DFS 出力 CLKFX または CLKFX180 が単独で使用されていない限り このフィードバック入力が必要です CLKFB 入力のソースとしては DCM からの CLK0 または CLK2X 出力を使用する必要があり どちらを使用するかによって CLK_FEEDBACK を 1X または 2X に設定します NONE に設定されている場合は CLKFB は使用されません フィードバックポイントには 内部または外部でクロック分配ネットワークに追加される遅延が含まれているのが理想的です R R オプション RST 入力 非同期リセット入力 DCM ロジックをコンフィギュレーション後のステートにリセットします リセットを適用すると CLKIN 入力が再取得され DCM がそのクロックにロックされます DCM ブロック内で反転できます 反転しない場合の動作を次に示します R R R 0 : 変化なし 1 : DCM ブロックをリセットします CLKIN の 3 サイクル分 High に保持する必要があります 可変位相シフトイネーブル DCM ブロック内で反転させることができます 反転しない場合の動作を次に示します PSEN 入力 0 : 可変位相シフトをディスエーブルにします 位相シフトへの入力は無視されます R 1 : PSCLK クロックの次の立ち上がりエッジで 可変位相シフトをイネーブルにします 位相シフトの増分 / 減分 DCM ブロック内で反転させることができます 反転しない場合の動作を次に示します PSINCDEC 入力 0 : 可変位相シフトがイネーブルのときの PSCLK クロックの次の立ち上がりエッジで 位相シフト値を減分します R 1 : 可変位相シフトがイネーブルのときの PSCLK クロックの次の立ち上がりエッジで 位相シフト値を増分します 可変位相シフトのクロック入力 可変位相シフト動作は このクロックの立ち上がりエッジに同期します PSCLK クロック入力 グローバルクロックバッファを使用している場合 PSCLK を駆動できるのは BUFGMUX_X2Y1 BUFGMUX_X2Y2 BUFGMUX_X2Y3 BUFGMUX_X2Y4 BUFGMUX_X3Y5 BUFGMUX_X3Y6 BUFGMUX_X3Y7 BUFGMUX_X3Y8 の上部の 8 つの BUFGMUX のみです R 58 japan.xilinx.com Spartan-6 FPGA クロックリソース

59 DCM プリミティブ 表 2-5 : DCM_SP ポート ( 続き ) ポート方向説明 DLL PS DFS CLK0 クロック出力 CLKIN と周波数が同じで 位相シフトが 0 ( 位相シフトなし ) のクロック出力 Spartan-6 FPGA で 50% のデューティサイクルに常になるよう設定されています CLK0 をスキュー調整するには CLK_FEEDBACK を 1X または 2X に設定する必要があります CLK_FEEDBACK が NONE に設定されている場合 CLKIN との位相関係はありません R CLK90 クロック出力 CLKIN と周波数が同じで 位相を 90 ( 周期の 1/4) シフトしたクロック出力 Spartan-6 FPGA ではデューティサイクルは常に 50% に設定されています R CLK180 クロック出力 CLKIN と周波数が同じで 位相を 180 ( 周期の 1/2) シフトしたクロック出力 Spartan-6 FPGA ではデューティサイクルは常に 50% に設定されています R CLK270 クロック出力 CLKIN と周波数が同じで 位相を 270 ( 周期の 3/4) シフトしたクロック出力 Spartan-6 FPGA ではデューティサイクルは常に 50% に設定されています R CLK2X クロック出力 周波数が CLKIN の 2 逓倍で 位相シフトが 0 のクロック出力デューティサイクルは 常に 50% に調整されます DLL ファンクションのフィードバックソースとして CLK0 または CLK2X が必要です クロック 2 逓倍 (CLK2X CLK2X180) の出力 R CLK2X180 クロック出力 周波数が CLKIN の 2 逓倍で 位相シフトが 180 のクロック出力 デューティサイクルは 常に 50% に調整されます クロック 2 逓倍 (CLK2X CLK2X180) の出力 R CLKDV クロック出力 CLKDV_DIVIDE 属性によって制御される逓倍されたクロック出力 CLKDV_DIVIDE 属性が整数の場合 CLKDV 出力は 50% デューティサイクルになります F CLKDV = F CLKIN CLKDV_DIVIDE R CLKFX クロック出力 合成されたクロック出力で CLKFX_MULTIPLY と CLKFX_ DIVIDE 属性によって制御されます デューティサイクルは 常に 50% に調整されます CLKFX または CLKFX180 クロック出力を単独で使用する場合は フィードバックは不要です F CLKFX = CLKFX_MULTIPLY F CLKIN CLKFX_DIVIDE R CLKFX180 クロック出力 周波数合成クロック出力 CLKFX の位相を 180 シフトしたクロック出力 (CLKFX の反転出力 ) デューティサイクルは 常に 50% に調整されます CLKFX または CLKFX180 クロック出力を単独で使用する場合は フィードバックは不要です R Spartan-6 FPGA クロックリソース japan.xilinx.com 59

60 第 2 章 : クロックマネージメントテクノロジ 表 2-5 : DCM_SP ポート ( 続き ) ポート方向説明 DLL PS DFS STATUS[0] 出力 可変位相シフトのオーバーフロー 可変ファイン位相シフトの制御出力です 可変位相シフトが最小値または最大値に達した場合に出力されます 最大値および最小値は ±255 か 遅延ラインの最後に達した場合はそれ以下になります R 0 : 位相シフトは最大値または最小値に達していません 1 : 位相シフトが最大値または最小値に達しています STATUS[1] 出力 CLKIN 入力が停止したことを示します CLKFB フィードバック入力が接続されている場合にのみ有効です LOCKED 出力がアサートされるまで リセットに保持されます アクティブになるには CLKIN が最低でも 1 サイクル必要です CLKIN がトグルしない場合は アサートされません R 0 : CLKIN 入力がトグルしています 1 : CLKIN 入力がトグルされまていません ( ロックされた出力は High の可能性あり ) CLKFX または CLKFX180 出力が停止したことを示します STATUS[2] 出力 0 : CLKFX および CLKFX180 出力はトグルしています 1 : CLKFX および CLKFX180 出力がトグルしていません ( 出力は High の可能性あり ) R STATUS[7:3] 出力 予約済み 低消費電力 Spartan-6 FPGA デバイスのリセット回路をシミュレーションするときに使用 DCM のすべての機能が CLKIN の周波数にロックされていることを示します CLKIN が指定の範囲内であればクロック出力は有効です LOCKED 出力 0 : CLKIN の周波数にロックされていません DCM のクロック出力は無効です R R R 1 : CLKIN の周波数にロックされています DCM のクロック出力は有効です 1 0 : DCM のロック状態が解除されました DCM をリセットする必要があります 可変位相シフトが完了したことを示します PSDONE 出力 0 : 位相シフト操作が実行されていないか 位相シフト操作を実行中です R 1 : 位相シフトが完了しています PSCLK の 1 サイクル分 High になります 次の可変位相シフトが開始できます 60 japan.xilinx.com Spartan-6 FPGA クロックリソース

61 DCM プリミティブ 表 2-6 には DCM_SP 属性がリストされています すべての属性は設計時に設定し コンフィギュレーション中にプログラムします 可変位相シフト機能に関する属性以外は FPGA アプリケーションの実行中に変更することはできません <ATTRIBUTE>=<SETTING> をデザイン入力ツールに適した方法で設定します 表 2-6 : DCM_SP 属性 属性 DLL_FREQUENCY_MODE DFS_FREQUENCY_MODE CLKIN_PERIOD CLK_FEEDBACK 可能な設定と説明 これは古い属性です DCM は常に自動周波数検索モードになっており High/Low に設定しても影響はありません これは古い属性です DCM は常に自動周波数検索モードになっており High/Low に設定しても影響はありません DCM の CLKIN ピンを駆動するクロックの周期を ns で指定します Spartan-6 FPGA の CLKIN_PERIOD を設定すると DFS ジッタを低減しやすくなりロックに必要な時間を短縮できます フィードバッククロックを指定します 1X : デフォルト CLK0 フィードバックです CLKIN の周波数と同じです 2X : CLK2X フィードバックです CLKIN の周波数の 2 逓倍です NONE : フィードバックは使用されません DCM および DLL 出力が固定位相なしで出力されます CLKDV_DIVIDE CLKDV 出力の周波数を定義します 設定可能な値は です 整数以外の値を使用すると ロックされるまでの時間が長くなり 出力ジッタが大きくなります F CLKDV = F CLKIN CLKDV_DIVIDE CLKFX_MULTIPLY CLKFX および CLKFX180 出力の周波数を設定する逓倍値を定義します CLKFX_DIVIDE 属性と併用します 設定可能な値は 2 ~ 32 の整数で デフォルト値は 4 です CLKFX_MULTIPLY F CLKFX = F CLKIN CLKFX_DIVIDE CLKFX_DIVIDE CLKFX および CLKFX180 出力の周波数を設定する分周値を定義します CLKFX_MULTIPLY と併用して使用します 設定可能な値は 1 ~ 32 の整数で デフォルト値は 1 です CLKFX_MULTIPLY F CLKFX = F CLKIN CLKFX_DIVIDE Spartan-6 FPGA クロックリソース japan.xilinx.com 61

62 第 2 章 : クロックマネージメントテクノロジ 表 2-6 : DCM_SP 属性 ( 続き ) 属性 PHASE_SHIFT CLKOUT_PHASE_SHIFT DESKEW_ADJUST STARTUP_WAIT 可能な設定と説明 CLKOUT_PHASE_SHIFT 属性が FIXED または VARIABLE に設定されている場合にのみ適用されます CLKIN と DCM クロック出力の位相シフトを定義します スキューまたは位相シフト値は ファイン位相シフト の式に示すように クロック周期の割合を示す整数で指定されます この整数値の範囲は -255 ~ 255 で デフォルト値は 0 です 実際に使用可能な値は入力周波数によって変わり 実際の範囲は T CLKIN > FINE_SHIFT_RANGE の場合 狭くなります FINE_SHIFT_RANGE は 位相シフト遅延ラインのすべてのタップの総遅延を示します 位相シフトモードを設定します PHASE_SHIFT 制約と併用し DCM の DPS 機能をインプリメントします この属性の設定は DLL および DFS ユニットの両方のクロック出力に影響します NONE : デフォルト CLKIN と CLKFB は同相 ( スキューなし ) で 位相関係は変更できません これは FIXED に設定し PHASE_SHIFT の値を 0 にした場合と同じです FIXED : 位相関係は PHASE_SHIFT 属性値に基づいてコンフィギュレーション時に設定され アプリケーションで動作中に変更することはできません VARIABLE : 位相関係は PHASE_SHIFT 属性値に基づいてコンフィギュレーション時に設定されますが 可変位相シフトを制御する PSEN PSCLK PSINCDEC および PSDONE を使用して アプリケーションで動作中に変更できます FPGA のクロック入力ピンと DCM クロック出力の間のクロック遅延調整を制御します SYSTEM_SYNCHRONOUS : デフォルト すべてのデバイスに 共通のシステム全体のクロックソースが供給されます SOURCE_SYNCHRONOUS : クロックはデータソース ( ソース同期アプリケーション ) から供給されます この設定を DCM クロック出力の位相をシフトするために使用しないでください 正確な位相シフトを行うには CLK および PHASE_SHIFT を使用します FPGA コンフィギュレーション DONE 信号を High にするのを DCM の LOCKED 信号がアサートされるまで待つかどうかを指定します FALSE : デフォルト DONE 信号はコンフィギュレーションが完了するとアサートされ DCM の LOCKED 信号がアサートされるまで待ちません TRUE : DONE 信号は DCM の LOCKED 信号が High になるまで High になりません STARTUP_WAIT の指定にかかわらず LOCKED 信号は High になります FPGA のスタートアップシーケンスも変更し 延期サイクルの前に LCK ( ロック ) サイクルを挿入する必要があります DONE サイクルまたは GWE サイクルが一般的です 複数の DCM をコンフィギュレーションする場合は すべての DCM がロックされるまで DONE ピンは High になりません 62 japan.xilinx.com Spartan-6 FPGA クロックリソース

63 DCM プリミティブ 表 2-6 : DCM_SP 属性 ( 続き ) CLKIN_DIVIDE_BY_2 LOC 属性 CLKIN を DCM ブロックに入力する前に 2 で分周します アプリケーションによっては CLKIN_DIVIDE_BY_2 を使用して入力クロック周波数を許容範囲に低減します FALSE : デフォルト CLKIN を DCM ブロックに直接入力します TRUE : CLKIN を DCM ブロックに入力する前に 2 で分周し デューティサイクルをおよそ 50% にします 高周波数クロックを使用していて DCM の入力クロック周波数要件およびデューティサイクル要件を満たす必要がある場合に有益です 動作周波数モードを決定し 位相シフト範囲を算出する際は クロック周波数を 1/2 にしてください DCM の物理的な位置を指定します 可能な設定と説明 DCM_CLKGEN プリミティブ DCM_CLKGEN プリミティブを使用し さらに高度な DFS 機能が利用できます CLKFX および CLKFX180 で低出力ジッタ CLKIN でのジッタ許容を改善 M および D 値をダイナミックプログラミング CLKFX_MULTIPLY および CLKFX_DIVIDE 属性を上書きします 固定 CLKFX_MULTIPLY および CLKFX_DIVIDE 属性より幅広い範囲から M および D 値を指定 CLKFXDV で CLKFX 出力を追加逓倍 入力クロック損失の場合のフリーランニングオシレータ スペクトラム拡散クロック生成 表 2-7 には DCM_CLKGEN ポートがリストされています 各ポートには簡単な説明と信号方向が記載されています 表 2-7 : DCM_CLKGEN ポート ポート方向説明 CLKIN RST クロック入力 入力 DCM へのクロック入力 すべてのファンクションで必須です CLKIN の周波数とジッタは データシートで指定された範囲内にする必要があります フリーランニングオシレータモードの場合 ランニングクロックを DCM がロックされるまで接続する必要があり その後クロックを削除できます ほかのモードでは フリーランニングクロックを提供および保持する必要があります 非同期リセット入力 DCM ロジックをコンフィギュレーション後のステートにリセットします リセットを適用すると CLKIN 入力が再取得され DCM がそのクロックにロックされます DCM ブロック内で反転できます 反転しない場合の動作を次に示します 0 : 変化なし 1 : DCM ブロックをリセットします CLKIN の 3 サイクル分 High に保持する必要があります Spartan-6 FPGA クロックリソース japan.xilinx.com 63

64 第 2 章 : クロックマネージメントテクノロジ 表 2-7 : DCM_CLKGEN ポート ( 続き ) ポート方向説明 FREEZEDCM CLKFX 入力 クロック出力 CLKIN 入力損失の場合のタップ調整ドリフトを防ぎます DCM はその後フリーランニングモードにコンフィギュレーションされます 合成されたクロック出力で CLKFX_MULTIPLY および CLKFX_DIVIDE 属性によって制御されます スタティックにプログラム または 4 つの専用ワイヤ SPI ポート (PROGDATA PROGCLK PROGDONE および PROGEN) を使用してダイナミックにプログラムできます デューティサイクルは 常に 50% に調整されます F CLKFX = CLKFX_MULTIPLY F CLKIN CLKFX_DIVIDE CLKFX180 LOCKED クロック出力 出力 周波数合成クロック出力 CLKFX の位相を 180 シフトしたクロック出力 (CLKFX の反転出力 ) デューティサイクルは 常に 50% に調整されます 同期出力は DCM が動作準備完了であることを示します 0 : DCM のクロック出力は無効です 1 : DCM は準備完了 1 0 : DCM のロック状態が解除されました DCM をリセットする必要があります STATUS[1] 出力 STATUS[1] ポートは CLKGEN には使用されません STATUS[2] STATUS[7:3] CLKFXDV 出力 出力 クロック出力 CLKFX または CLKFX180 出力が停止したことを示します 0 : CLKFX および CLKFX180 出力はトグルしています 1 : CLKFX および CLKFX180 出力がトグルしていません ( 出力は High の可能性あり ) 予約済み 低消費電力 Spartan-6 FPGA デバイスのリセット回路をシミュレーションするときに使用 分周した CLKFX 出力クロック CLKFXDV_DIVIDE 属性から派生した値で分周します CLKFX と CLKFXDV の間の位相アライメントはありません F CLKFX F CLKFXDV = CLKFXDV_DIVIDE PROGDONE PROGDATA 出力 入力 M および D のプログラミングが完了したことを示します 0 : M および D のプログラミングが行われていないか またはプログラミング中です 1 : リクエストされたプログラミング完了 PROGCLK の 1 サイクル分 High になります 次の PROGCLK 操作が開始できます DCM の M および D 値のプログラミングのシリアルデータ入力 PROGCLK 入力に同期する必要があります 64 japan.xilinx.com Spartan-6 FPGA クロックリソース

65 DCM プリミティブ 表 2-7 : DCM_CLKGEN ポート ( 続き ) ポート方向説明 PROGEN PROGCLK 入力 入力 M および D 値のプログラミングが有効になっているかどうかを示します 0 : CLKFX_MULTIPLY および CLKFX_DIVIDE のプログラミングが無効になっています 1 : CLKFX_MULTIPLY および CLKFX_DIVIDE のプログラミングが有効になっています M および D 値のプログラミング用クロック入力 グローバルクロックバッファを使用している場合 PROGCLK を駆動できるのは BUFGMUX_X2Y1 BUFGMUX_X2Y2 BUFGMUX_X2Y3 BUFGMUX_X2Y4 BUFGMUX_X3Y5 BUFGMUX_X3Y6 BUFGMUX_X3Y7 BUFGMUX_X3Y8 の上部の 8 つの BUFGMUX のみです 表 2-8 には DCM_CLKGEN 属性がリストされています すべての属性は設計時に設定し コンフィギュレーション中にプログラムされます <ATTRIBUTE>=<SETTING> をデザイン入力ツールに適した方法で設定します CLKFX_MULTIPLY および CLKFX_DIVIDE は FPGA アプリケーションでランタイム時に変更可能です 表 2-8 : DCM_CLKGEN 属性 属性 CLKFX_MULTIPLY 可能な設定と説明 CLKFX および CLKFX180 出力の周波数を設定する逓倍値を定義します CLKFX_DIVIDE 属性と併用します 設定可能な値は 2 ~ 256 の整数で デフォルト値は 4 です F CLKFX = CLKFX_MULTIPLY F CLKIN CLKFX_DIVIDE CLKFX_DIVIDE CLKFX および CLKFX180 出力の周波数を設定する分周値を定義します CLKFX_MULTIPLY と併用して使用します 設定可能な値は 1 ~ 256 の整数で デフォルト値は 1 です F CLKFX = CLKFX_MULTIPLY F CLKIN CLKFX_DIVIDE 52MHz 未満の入力周波数で正しくロックするには次の式になります CLKFX_DIVIDE F CLKIN < MHz CLKFXDV_DIVIDE CLKFXDV 出力の周波数を設定する分周値を定義します 設定可能な値は で デフォルト値は 2 です F CLKFX F CLKFXDV = CLKFXDV_DIVIDE Spartan-6 FPGA クロックリソース japan.xilinx.com 65

66 第 2 章 : クロックマネージメントテクノロジ 表 2-8 : DCM_CLKGEN 属性 ( 続き ) 属性 CLKFX_MD_MAX 可能な設定と説明 M および D 値のダイナミックプログラミングが使用されている場合 この属性で M および D の最大比が指定されます CLKFX_MD_MAX は主にスタティックタイミング解析で使用されます デフォルト値は次のとおりです CLKFX_MULTIPLY CLKFX_DIVIDE DFS_BANDWIDTH PROG_MD_BANDWIDTH 予約済み 予約済み SPREAD_SPECTRUM スペクトラム拡散モードの設定 : CENTER_LOW_SPREAD CENTER_HIGH_SPREAD VIDEO_LINK_M0(1) VIDEO_ STARTUP_WAIT CLKIN_PERIOD CLKFX_MD_MAX メモ : LINK_M1(1) VIDEO_LINK_M2(1) FPGA コンフィギュレーション DONE 信号を High にするのを DCM の LOCKED 信号がアサートされるまで待つかどうかを指定します FALSE : デフォルト DONE 信号はコンフィギュレーションが完了するとアサートされ DCM の LOCKED 信号がアサートされるまで待ちません TRUE : DONE 信号は DCM の LOCKED 信号が High になるまで High になりません STARTUP_WAIT の指定にかかわらず LOCKED 信号は High になります FPGA のスタートアップシーケンスも変更し 延期サイクルの前に LCK ( ロック ) サイクルを挿入する必要があります DONE サイクルまたは GWE サイクルが一般的です 複数の DCM をコンフィギュレーションする場合は すべての DCM がロックされるまで DONE ピンは High になりません CLKFX/CLKFX180 出力を最適化するため CLKIN 周期を指定します ロックにかかる時間が短縮されます 任意を実数を指定できます デフォルトは 0 です M および D 値のダイナミックプログラミングが使用されている場合 または SPREAD_ SPECTRUM 属性が使用されている場合 この属性で M および D の最大比が指定されます CLKFX_MD_MAX は 主にスタティックタイミング解析で使用されます 浮動小数点を使用でき デフォルトの値は CLKFX_MULTIPLY/CLKFX_DIVIDE です 1. スペクトラム拡散のソフトモードを正しく動作させるには 外部ステートマシンが必要です PROGCLK および PROGDATA を外部ステートマシンに接続して スペクトラム拡散クロックソースを生成する必要があります DCM_SP 設計のガイドライン 入力クロック周波数の範囲 DCM のクロック入力周波数は アプリケーションで DLL DFS またはその両方が使用されているかによって異なります Spartan-6 FPGA のデータシートには クロック入力 (CLKIN) および DFS と DLL の両方の周波数範囲が指定されています DFS を単独で使用する場合は DLL よりも周波数範囲が広くなります DLL および DFS 両方がアプリケーションで使用されている場合 DLL の要件はさらに厳しくなります 表 2-9 には Spartan-6 FPGA データシートで使用されている入力周波数範囲がまとめられています 66 japan.xilinx.com Spartan-6 FPGA クロックリソース

67 DCM_SP 設計のガイドライン 表 2-9 : 入力クロック周波数の範囲 ファンクション 最小周波数 最大周波数 DFS CLKIN_FREQ_FX_MIN CLKIN_FREQ_FX_MAX DLL CLKIN_FREQ_DLL_MIN CLKIN_FREQ_DLL_MAX 出力クロック周波数の範囲 DCM の出力クロックにも周波数範囲が指定されています 入力クロックとクロックフィードバックの変動 DCM では 安定した単調なクロック入力が求められますが CLKIN 入力にある程度のクロックジッタ そして CLKIN 入力および CLKFB フィードバック入力に多少の周波数変動は許容されます CLKIN 入力のジッタには 次の 2 種類があります サイクル間ジッタ 周期ジッタ サイクル間ジッタ サイクル間ジッタは あるサイクルと次のサイクルの間での CLKIN 入力周期の変動を示します 表 2-10 に 許容される最大サイクル間ジッタ (Spartan-6 FPGA データシート仕様での名前と予測値 ) を示します 表 2-10 : 許容される最大サイクル間ジッタ ファンクション DFS DLL CLKIN_CYC_JITT_FX CLKIN_CYC_JITT_DLL 周波数範囲 周期ジッタ もう 1 つのタイプのジッタは周期ジッタで 多数のクロックサイクルにわたるクロック周期の変動を示します サイクル間ジッタは 1 つのクロックサイクルと次のクロックサイクルとの変動を示しますが 周期ジッタは長時間にわたる周期の変動を示します 表 2-11 に 許容される最大周期ジッタ (Spartan-6 FPGA データシート仕様での名前と予測値 ) を示します 表 2-11 : 許容される最大周期ジッタ 周波数範囲 ファンクション 150MHz 150MHz DFS CLKIN_PER_JITT_FX_LF CLKIN_PER_JITT_FX_HF DLL CLKIN_PER_JITT_DLL_LF LKIN_PER_JITT_DLL_HF Spartan-6 FPGA クロックリソース japan.xilinx.com 67

68 第 2 章 : クロックマネージメントテクノロジ DLL のフィードバック遅延の変動 DCM の安定性には DLL で使用されるクロックフィードバックパスも関係します フィードバックパスの遅延の変動は 表 2-12 に示す範囲内である必要があります オンチップでの変動は グローバルクロックラインに接続している場合は最小限なので この制限は外部フィードバックパスにのみ適用されます 表 2-12 : 外部フィードバックパス遅延の変動 仕様 CLKFB_DELAY_VAR_EXT 説明 オフチップ CLKFB フィードバックパスに許容される最大変動 スペクトラム拡散クロック DCM には一般的なスペクトラム拡散クロックを入力できます グローバルクロックを FPGA 内部ロジックに駆動するため DCM の DLL 部分により 一般的なスペクトラム拡散クロックで生成された周波数の変動が認識されます スペクトラム拡散クロックは データシートにある DLL 入力要件を満たす必要があります DLL の推奨動作条件 (Recommended Operating Conditions for the DLL) の表で [ 入力クロックジッタ耐性および遅延パス偏差 ] (Input Clock Jitter Tolerance and Delay Path Variation) の CLKIN_CYC_JITT_DLL および CLKIN_PER_JITT_DLL を参照してください DFS は 入力クロック仕様を満たしている限り 標準スペクトラム拡散入力を監視します DCM クロック入力および外部フィードバック入力 各 DCM には 入力クロック信号および外部フィードバック信号用に複数の入力があります LOCKED 出力の動作 DCM の LOCKED 出力は イネーブルになっている DCM のすべての機能が CLKIN 入力にロックされているかどうかを示します 図 2-4 に LOCKED 出力の動作を示します FPGA のコンフィギュレーションプロセスが完了したとき または RST 入力がアサートされると LOCKED 信号は Low になります コンフィギュレーション後は CLKIN 入力が安定するまで RST 入力をアサートすることを強く推奨します RST 入力が解除されると DCM は安定した CLKIN 入力の周波数にロックします DLL では CLKIN 入力と CLKFB フィードバック入力を使用し ロック状態 (CLKIN と CLKFB の立ち上がりエッジの位相が揃う ) になったかどうかを判断します 有効な周波数が出力に現れると DFS は出力クロックを合成してロックします Spartan-6 FPGA データシートには DCM がロック状態になるまでのワーストケースの予測時間が記載されています 通常 クロック周波数が高い方が DLL ユニットの出力がロック状態になるまでの時間が短くなります DFS がロック状態になるまでの時間は 動作周波数や周波数の逓倍 / 分周値などの要因によって変動します 逓倍値と分周値を小さくすると ロック状態に達するまでの時間が短くなります システムクロックが安定してからデバイス動作を開始させるため DCM がロック状態になるまでデバイスのコンフィギュレーションの完了を遅らせることができます この機能は STARTUP_WAIT 属性で制御します 68 japan.xilinx.com Spartan-6 FPGA クロックリソース

69 DCM_SP 設計のガイドライン LOCKED が High になるまで DCM クロック出力は安定していません LOCKED 信号が High になる前の DCM の出力クロックには グリッチ スパイクなどの不正な波形が含まれている可能性があります DCM が最初にロックした後 CLKIN が停止すると LOCKED 信号が High のままになる場合があります CLKIN が大きく変動する場合も LOCKED 信号が High のままになることがあります Spartan-6 FPGA では 隣接する 2 つの DCM を使用する場合 両方の DCM がロック状態にならない限り出力が有効になりません また 隣接する DCM は同じリセット信号を共有しています X-Ref Target - Figure 2-4 N Y N Y ug382_c2_04_ 図 2-4 : LOCKED 出力の動作 DCM のロック状態が解除されると 自動的にロック状態に戻ることはありません DCM のロックが解除された場合は (LOCKED が High から Low になる ) RST 入力をアサートして DCM をリセットするなど FPGA アプリケーションで適切な操作を実行する必要があります LOCKED 信号の使用 DCM を正しく動作させるには 安定した単調なクロック入力が必要です DCM がロック状態になると Spartan-6 FPGA データシートで指定されている値までのクロック周期の変動は許容されます しかし たとえば CLKIN がトグルしなくなった場合など クロックが指定範囲内を超えてしまっている LOCKED 出力が High になったままである そして DCM 出力が無効である可能性があります そのため LOCKED および STATUS 信号の両方を監視することを推奨します Spartan-6 FPGA クロックリソース japan.xilinx.com 69

70 第 2 章 : クロックマネージメントテクノロジ STATUS[1] は CLKIN が停止している (CLKIN の許容範囲を超えてしまっている ) ことを示す信号です この信号は CLKIN が 1 サイクル停止すると High になりますが CLKIN が戻るとまた Low に戻ります LOCKED および STATUS[1] の両方を監視しておくと DCM 出力クロックのステータスをきちんと把握できます 同様に STATUS[2] は DFSの出力 CLKFX が停止したことを示します LOCKED = 0 および STATUS[2] = 1 の場合 DCM をリセットする必要があります FPGA アプリケーションでも DCM がリセットされる場合は アプリケーションからのリセット信号と監視していた出力信号を OR ゲートに接続します X-Ref Target - Figure 2-5 DCM_SP DCM_RESET OR RESET STATUS[2] LOCKED AND DCM_LOCKED CLKFX_STOPPED ug382_c2_05_ 図 2-5 : Spartan-6 FPGA DCM DFS ロックロジック RST 入力の動作 非同期 RST 入力は DCM をコンフィギュレーション後のステートにリセットします 入力クロックの周波数を変更する場合 RST 入力を使用します RST ピンはアクティブ High で ダイナミック信号またはグランドに接続する必要があります RST 入力は 有効な CLKIN の 3 クロックサイクル間以上アサートする必要があります コンフィギュレーションが完了しても入力クロック周波数が安定していない場合は クロックが安定するまで RST をアサートします 外部フィードバックを使用する場合は コンフィギュレーションの直後に DCM をリセットの状態にします DCM のロック状態が解除された場合は (LOCKED が High になった後 Low になる ) FPGA アプリケーションで RST 入力をアサートし DCM を再び入力クロック周波数でロックさせる必要があります LOCKED 出力が High の場合に RST がアサートされると ソースクロックの 4 サイクル以内に LOCKED がディアサートされます RST がアサートされると DCM は再度ロック状態になる必要があります RST をアサートすると DCM の遅延タップの位置もゼロにリセットされます タップ位置の変更により DCM のクロック出力ピンにグリッチが発生する場合があります また RST のアサートにより クロック出力のデューティサイクルにも影響が出る可能性があります RST をアサートすると 可変位相シフト値も PHASE_SHIFT 属性で指定された値に戻ります 低消費電力 Spartan-6 FPGA デザインでは 小規模リセット回路が自動的にデザインに挿入されます DCM_SP または CLKGEN を V CCINT =1.0V と使用するときは 正しく動作させるためにロジックを追加する必要があります この追加回路により 一部の信号名が変更されます 70 japan.xilinx.com Spartan-6 FPGA クロックリソース

71 DCM_CLKGEN 設計のガイドライン DCM_CLKGEN 設計のガイドライン DCM_SP にさまざまなクロックファンクションを管理および生成する機能が既に備わっていますが Spartan-6 FPGA には 従来の DCM や PLL にはない高度なクロック合成機能を必要とするアプリケーションのニーズに応えるため 新しいプリミティブ (DCM_CLKGEN) があります この新しいプリミティブを使用し 特に民生市場における FPGA アプリケーションの応用範囲を拡大させることができます 家庭用電化製品向けデザインによっては 従来の DCM や PLL の許容範囲外のノイズやジッタの CLKIN を供給するものがあります 不安定であったり弱いケーブル信号から CLKIN を得るアプリケーションもあります このような場合でも DCM 出力は継続して実行することが求められます フラットパネル LCD テレビには 高額な金属シールドを使用しない EMI 低減機能が必要です 異なる画面ディスプレイモードに対しさまざまなビデオタイミングフォーマットに準拠するには ビデオピクセルクロックジェネレータに 標準操作中に周波数調整する機能が必要です 複雑な電力管理には 電力消費量のニーズに合わせダイナミックにクロック周波数を変動させる機能が必要です 次のセクションでは DCM_CLKGEN の新機能について詳しく説明します ダイナミック周波数合成 Spartan-6 FPGA の DCM_SP のセクションで説明されているスタティッククロック周波数合成と異なり DCM_CLKGEN プリミティブでは DFS でクロック周波数をダイナミックに合成できます PROGDATA PROGEN PROGCLK PROGDONE の 4 つのピンを使用したプログラミングポートを持つ専用シリアルペリフェラルインターフェイス (SPI) バスを使用し CLKFX_ MULTIPLY および CLKFX_DIVIDE スタティック属性を上書きするよう M および D 値をプログラム可能です SPI ポートは常にスレーブデバイスとしてコンフィギュレーションされます SPI マスタは FPGA ロジックを使用して構築できます また PROGEN と PROGDONE の両方のピンを使用して 複数の DCM スレーブを 1 つのマスタで制御できます 図 2-6 はマスタとスレーブの関係とその接続を示したものです Spartan-6 FPGA クロックリソース japan.xilinx.com 71

72 第 2 章 : クロックマネージメントテクノロジ X-Ref Target - Figure 2-6 DCM2_SEL DCM1_SEL DCM_CLKGEN (#0) DCM0_SEL PROGCLK M_D_VALUE DCM0_DONE DCM0_LOCKED DCM1_DONE PROGEN CLKIN PROGCLK CLKFX PROGDATA PROGDONE LOCKED CLKIN0 CLKFX0 DCM1_LOCKED DCM2_DONE DCM_CLKGEN (#1) DCM2_LOCKED PROGEN PROGCLK PROGDATA CLKIN CLKFX CLKIN1 CLKFX1 PROGDONE LOCKED DCM_CLKGEN (#2) Frequency CLKFX = Frequency CLKIN x M D PROGEN PROGCLK PROGDATA PROGDONE LOCKED CLKIN CLKIN2 CLKFX CLKFX2 UG382_c2_06_ 図 2-6 : DCM_CLKGEN M および D のプログラミングインターフェイス M/D プログラミングシーケンスは次のようになっています 2 ビットの LoadD コマンド 10 の後 LSB を先頭に 8 ビット (D-1) が続きます PROGEN ピンを 10 サイクル間ロジック High に保持する必要があります 2 ビットの LoadM コマンド 11 の後 LSB を先頭に 8 ビット (M-1) が続きます PROGEN ピンを 10 サイクル間ロジック High に保持する必要があります 1 ビットの GO コマンド 0 が続きます PROGEN ピンを 1 サイクル間ロジック High に保持する必要があります SPI マスタは PROGDONE ピンを監視し ロジック High にアサートされるまで待機します DCM で LOCKED 信号が High にアサートされ 新しく有効なクロック周波数が CLKFX ピンに出力されます 図 2-7 では M が 14 に D が 3 にプログラムされています コマンド間のギャップには最小値があり LoadD と LoadM との間のギャップは最低 2 サイクルです LoadM と GO との間のギャップは最低 1 サイクルです 72 japan.xilinx.com Spartan-6 FPGA クロックリソース

73 DCM_CLKGEN 設計のガイドライン X-Ref Target - Figure 2-7 LoadD LoadM Go PROGCLK PROGEN PROGDATA PROGDONE LOCKED GAP GAP D 1 (2 = ) M 1 (13 = ) UG382_c2_07_ 図 2-7 : DCM_CLKGEN の M および D コンフィギュレーションのタイミング波形 出力が PLL を駆動しているダイナミック周波数合成に DCM_CLKGEN が使用されている場合 PLL の VCO 範囲も考慮する必要があります DCM_CLKGEN では幅広い範囲の出力周波数がサポートされています PLL セットアップに関連した VCO 周波数が PLL の VCO 範囲外でないことを確認するためすべての周波数をチェックする必要があります ( 第 3 章の 周波数合成のみ ) Spartan-6 FPGA クロックリソース japan.xilinx.com 73

74 第 2 章 : クロックマネージメントテクノロジ スペクトラム拡散クロック生成 スペクトラム拡散クロック生成 (SSCG) は エレクトロニクスデバイスで生成される EMI のスペクトル密度を低減するためその製造者の間で広く使用されています EMI 放出レベルは 近接するほかの電子デバイスの動作に影響を与えるレベル以下に抑える必要があります たとえば 電話がビデオディスプレイの隣にあっても通話の質が落ちるようなことがあってはなりません 同様に ディスプレイも電話使用中に影響を受けるようなことがないようにしなければなりません 電磁適合性 (EMC) に関する規制は こうした電磁妨害を引き起こすノイズや EMI を抑制するためのものです EMC 要件に適合させるための一般的手段としては 高額なシールド フェライトビーズ チョークなどを追加する方法があります こうした方法は PCB の配線を複雑にしたり 製品開発サイクルが長くなるなどして 最終製品のコストに影響する可能性があります SSCG は 電磁エネルギーを幅広い周波数帯域に拡散させ 狭い周波数の幅の中で計測された電磁界強度を効果的に抑制します ある周波数でのピーク電磁エネルギーは SSCG 出力をモジュール化することで低減されます SSCG は通常次のパラメータで定義されます 周波数偏差 つまり入力周波数の割合 モジュレーション周波数 拡散タイプ : 上方 / 下方 / 中央 三角形など モジュレーションのプロファイル 通常スペクトラム拡散クロックは 75MHz ( 入力周波数 ) ±2.0% の中央拡散 および 75KHz の三角形モジュレーションと定義されます 図 2-8 は 中央および下方拡散タイプのパラメータ定義を示したものです X-Ref Target - Figure % ±2.0% 4.0% 2.0% 4.0% UG382_c2_08_ 図 2-8 : 一般パラメータを定義した 2 タイプのスペクトラム拡散クロック スペクトラム拡散生成 Spartan-6 FPGA は標準固定周波数オシレータからスペクトラム拡散クロックを生成できます この生成には DCM_CLKGEN で 単純なインプリメンテーションには固定スペクトラム拡散ソリューション 複雑な場合は DCM_CLKGEN を継続的に再プログラムする追加ロジックを必要とするソフトスペクトラム拡散ソリューションが使用されます 詳細は表 2-13 を参照してください 74 japan.xilinx.com Spartan-6 FPGA クロックリソース

75 DCM_CLKGEN 設計のガイドライン 表 2-13 : DCM_CLKGEN スペクトラム拡散モード スペクトラム拡散値固定スペクトラム拡散モードソフトスペクトラム拡散モード SPREAD_SPECTRUM 値 CENTER_LOW_SPREAD CENTER_HIGH_SPREAD VIDEO_LINK_M0 VIDEO_LINK_M1 VIDEO_LINK_M2 追加ロジックなし SOFT_SS モジュレーションプロファイル三角三角 拡散方向中央下方 拡散範囲固定図を参照 FMOD FIN/1024 図を参照 CLKFX_MULTIPLY 2 ~ 32 7 CLKFX_DIVIDE 1 ~ DCM_CLKGEN プログラミングポート なし PROGCLK PROGEN PROGDATA PROGDONE 固定スペクトラム拡散 スペクトラム拡散の最も簡単なインプリメントには DCM_CLKGEN プリミティブの固定モード ( 図 2-9) を使用します SPREAD_SPECTRUM = < CENTER_LOW_SPREAD,CENTER_HIGH_SPREAD> 固定モードを使用すると DCM_CLKGEN で自動的にスペクトラム拡散クロックが生成されます モジュレーション周波数は入力周波数に基づいています ( モジュレーション周波数 = 入力周波数 /1024) X-Ref Target - Figure 2-9 CLOCK RESET DCM_CLKGEN CLKIN RST PROGCLK PROGEN PROGDATA FREEZEDCM CLKFX CLKFX180 CLKFXDV LOCKED STATUS[2:1] PROGDONE CLKFX LOCK SPREAD_SPECTRUM = <CENTER_LOW_SPREAD / CENTER_HIGH_SPREAD> ug382_02_10_ ソフトスペクトラム拡散 図 2-9 : 固定スペクトラム拡散 下方拡散モジュレーションが必要なアプリケーションの場合 DCM_CLKGEN ではプログラミング値を切り替えるレートを制御するため 3 つあるスペクトラム拡散モードのうちの 1 つが使用されます 小型のカウンタベースのステートマシンは三角のスペクトラム拡散クロックソースを提供するための DCM_CLKGEN を制御することができます ( 図 2-10) CM_CLKGEN にはソフトスペクトラム拡散用の外部ステートマシンが必要になるため PROGCLK および PROGDATA をロジックに接続できないと DRC エラーが発生します Spartan-6 FPGA クロックリソース japan.xilinx.com 75

76 第 2 章 : クロックマネージメントテクノロジ X-Ref Target - Figure 2-10 CLOCK RESET SSCLKGEN CLK PROGEN RST PROGDATA SS_CLK DCM_CLKGEN CLKIN CLKFX BUFG CLKFX SS_LOCK_IN RST CLKFX180 PROGDONE PROGCLK CLKFXDV PROGEN LOCKED LOCK PROGDATA STATUS[2:1] FREEZEDCM PROGDONE SPREAD_SPECTRUM = <VIDEO_LINK_M0 / VIDEO_LINK_M1 / VIDEO_LINK_M2> ug382_c2_11_ 図 2-10 : ソフトスペクトラム拡散 典型的なビデオリンクアプリケーションには 7:1 のシリアル化が必要です IOSERDES2 を使用すると クロック生成に DCM_CLKGEN および PLL の両方が必要になります DCM_CLKGEN は通常 M=7 および D=2 でスペクトラム拡散クロックソースを生成します 高速 I/O クロックネットワークにアクセスするには PLL で BUFPLL を使用した SDR クロッキングに必要なクロック周波数までクロックが逓倍されます ( 図 2-11) X-Ref Target - Figure 2-11 CLKIN DCM_CLKGEN CLKIN CLKFX PLL_BASE CLKIN CLKOUT0 BUFG BUFPLL GCLK PLLIN LOCK IOCLK RST PROGCLK CLKFX180 CLKFXDV CLKFBIN CLKOUT1 CLKOUT2 LOCKED SERDESSTROBE PROGEN LOCKED RST CLKOUT3 PROGDATA STATUS[2:1] CLKOUT4 FREEZEDCM PROGDONE CLKOUT5 CLKFX_MULTIPLY = 7; CLKFX_DIVIDE = 2; SPREAD_SPECTRUM = [VIDEO_LINK_M0 / VIDEO_LINK_M1 / VIDEO_LINK_M2] CLKFBOUT LOCKED DIVCLK_DIVIDE = 1; CLKFBOUT_MULT = 2; ug382_c2_12_ 図 2-11 : 下方向のスペクトラム拡散の VIDEO_LINK セットアップ (20 ~ 107 MHz) (F IN 3.5 < CLKOUT_FREQ_FX の場合 ) VIDEO_LINK_M0 VIDEO_LINK_M1 および VIDEO_LINK_M2 が一般的なピクセルクロック周波数用に選択されています VIDEO_LINK_M0 のモジュレーション周波数応答は最速で 20MHz ピクセルクロックに関連した高い周期を補正します 実際モジュレーション周波数は SSCLKGEN のセットアップによって異なります VIDEO_LINK_M1 は VIDEO_LINK_M0 よりも遅く VIDEO_LINK_M2 が最も遅いモードになります CLKFX_MULITPLY = 7 CLKFX_DIVIDE = 2 のピクセルクロック周波数は CLKOUT_ FREQ_FX の最大値が保持されている場合に使用されます PLL 追加の補正を行うには DCM_ CLKGEN を CLKFX_MULTIPLY = 7 および CLKFX_DIVIDE = 4 に変更する必要があります 76 japan.xilinx.com Spartan-6 FPGA クロックリソース

77 DCM_CLKGEN 設計のガイドライン 図 2-12 を参照してください これは VIDEO_LINK_M1 を必要とするモジュレーション周波数をスローダウンさせます CLKIN DCM_CLKGEN CLKIN CLKFX PLL_BASE CLKIN CLKOUT0 BUFG BUFPLL GCLK PLLIN LOCK IOCLK RST PROGCLK CLKFX180 CLKFXDV CLKFBIN CLKOUT1 CLKOUT2 LOCKED SERDESSTROBE PROGEN LOCKED RST CLKOUT3 PROGDATA STATUS[2:1] CLKOUT4 FREEZEDCM PROGDONE CLKOUT5 CLKFX_MULTIPLY = 7; CLKFX_DIVIDE = 4; SPREAD_SPECTRUM = [VIDEO_LINK_M0 / VIDEO_LINK_M1 / VIDEO_LINK_M2] CLKFBOUT LOCKED DIVCLK_DIVIDE = 1; CLKFBOUT_MULT = 4; ug382_c2_13_ X-Ref Target - Figure 2-12 図 2-12 : 下方向のスペクトラム拡散の VIDEO_LINK セットアップ (F IN > 107 MHz の場合 ) フリーランニングオシレータ DCM_CLKGEN を使用し LOCKED 出力ピンを FREEZEDCM 入力ピンに接続してクロックソースを生成できます このモードで DCM を使用する場合は開始を促すメカニズムが必要です DCM では クロックを常に実行する代わりに DCM がロック状態になるまで安定したレートで信号をトグルできます 図 2-13 はその例です X-Ref Target - Figure 2-13 CLKFX_MULTIPLY =? CLKFX_DIVIDE =? DCM_CLKGEN FPGA CLKIN FREEZEDCM CLKFX LOCKED F CLKFX = F CLKIN x CLKFX_MULTIPLY CLKFX_DIVIDE UG382_c2_14_ 図 2-13 : フリーランニングオシレータのセットアップ CLKFX ピンに確定的な周波数出力を得るには DCM がロック状態になるまで CLKIN を安定した速度でトグルし続ける必要があります その後 CLKIN は不要になるので削除してもかまいません DCM_CLKGEN は同じ周波数で実行し続けます 温度または電圧レベルが変動すると 周波数も変動します 周波数ドリフト内での最大周波数を反映させるようタイミング制約を調整してください 新しいクロック入力が適用されると リセットをアサートする必要があります Spartan-6 FPGA クロックリソース japan.xilinx.com 77

78 第 2 章 : クロックマネージメントテクノロジ 78 japan.xilinx.com Spartan-6 FPGA クロックリソース

79 第 3 章 位相ロックループ (PLL) 概要 Spartan-6 FPGA のクロックマネージメントタイル (CMT) には DCM が 2 つ PLL が 1 つ含まれています コンポーネント同士は CMT 内にある専用配線を使用して接続できます タイル内の各ブロックは個別に扱うことができますが ブロック間に専用配線があるため接続によっては制限が生じます 専用配線を使用することにより グローバルリソースをほかのデザインエレメントに使用できるようになります さらに CMT 内のローカル配線を使用すると 配線はローカルで処理されるためノイズカップリングが起こりにくくなり クロックパスを改善できます 図 3-1 は さまざまなクロック入力ソース間の接続と DCM から PLL PLL から DCM の専用配線の概要を示したものです 合計 6 つの PLL 出力クロックはマルチプレクサにより 1 つのクロック信号として出力され DCM へのリファレンスクロック信号として使用されます PLL からの 2 つの出力クロックで DCM を駆動できます この 2 つのクロックは完全に独立しています PLL 出力クロック 0 が DCM1 を PLL 出力カクロック 1 が DCM2 を駆動できます DCM の各出力はマルチプレクサを通して 1 つのクロック信号として出力され PLL のリファレンスクロック信号として使用可能です PLL へのリファレンスクロックとして使用できる DCM は 常に 1 つのみです DCM は PLL のフィードバックパスへは挿入できません PLL と DCM を個別ファンクションとして 別々に使用することも可能です PLL からの出力はスペクトラム拡散ではありません Spartan-6 FPGA クロックリソース japan.xilinx.com 79

80 第 3 章 : 位相ロックループ (PLL) X-Ref Target - Figure 3-1 CLKIN PLL CLKOUT[5:0] 6 PLL_CLKOUT CLKFB CLKIN DCM1 CLKOUT[9:0] 10 DCM1_CLKO CLKFB CLKIN DCM2 CLKOUT[9:0] 10 DCM2_CLKO CLKFB ug382_c 図 3-1 : Spartan-6 FPGA CMT のブロック図 80 japan.xilinx.com Spartan-6 FPGA クロックリソース

81 概要 表 3-1 : BUFPLL に直接接続可能な PLL PLL に関連付けられた高速 SDR クロックレートをサポートするには 各 BUFPLL を限定数の PLL ロケーションに直接配線します 表 3-1 は各 BUFPLL に接続可能な PLL ロケーションの一覧です BUFPLL ロケーション BUFPLL_X1Y5 BUFPLL_X1Y4 BUFPLL_MCB_X1Y9 BUFPLL_X0Y2 BUFPLL_X0Y3 BUFPLL_MCB_X0Y5 BUFPLL_X1Y0 BUFPLL_X1Y1 BUFPLL_MCB_X1Y5 BUFPLL_X2Y2 BUFPLL_X2Y3 BUFPLL_MCB_X2Y5 バンク 0 1 (5) 2 3 (4) LX4 LX9 LX16 LX25/LX25T PLL_ADV_X0Y1 PLL_ADV_X0Y0 PLL_ADV_X0Y1 PLL_ADV_X0Y0 PLL_ADV_X0Y1 PLL_ADV_X0Y0 PLL_ADV_X0Y1 PLL_ADV_X0Y0 デバイス別の有効な PLL ロケーション LX45/LX45T PLL_ADV_X0Y3 PLL_ADV_X0Y2 PLL_ADV_X0Y1 PLL_ADV_X0Y0 PLL_ADV_X0Y3 PLL_ADV_X0Y2 PLL_ADV_X0Y1 PLL_ADV_X0Y0 PLL_ADV_X0Y3 PLL_ADV_X0Y2 PLL_ADV_X0Y1 PLL_ADV_X0Y0 PLL_ADV_X0Y3 PLL_ADV_X0Y2 PLL_ADV_X0Y1 PLL_ADV_X0Y0 LX75/LX75T LX100/LX100T LX150/LX150T PLL_ADV_X0Y5 PLL_ADV_X0Y3 PLL_ADV_X0Y2 PLL_ADV_X0Y0 PLL_ADV_X0Y5 PLL_ADV_X0Y3 PLL_ADV_X0Y2 PLL_ADV_X0Y0 PLL_ADV_X0Y5 PLL_ADV_X0Y3 PLL_ADV_X0Y2 PLL_ADV_X0Y0 PLL_ADV_X0Y5 PLL_ADV_X0Y3 PLL_ADV_X0Y2 PLL_ADV_X0Y0 Spartan-6 FPGA クロックリソース japan.xilinx.com 81

82 第 3 章 : 位相ロックループ (PLL) 位相ロックループ (PLL) Spartan-6 FPGA デバイスには最大 6 個の CMT タイルが含まれます 広範囲の周波数合成と DCM と併用した外部または内部クロックのジッタフィルタが PLL の主な機能です 図 3-2 は PLL コンポーネントの概要を示した図です X-Ref Target - Figure 3-2 Clock Pin D PFD CP LF VCO O0 O1 M O2 O3 O4 O5 ug382_3_02_ 図 3-2 : Spartan-6 FPGA PLL のブロック図 入力マルチプレクサは IBUFG BUFG IBUF PLL 出力または DCM 出力の 1 つから リファレンスクロックおよびフィードバッククロックを選択します 各クロック入力には プログラム可能なカウンタ D があります PFD ( 位相周波数検出器 ) では 入力 ( リファレンス ) クロックとフィードバッククロックの位相および周波数が比較されます 最小限の High/Low パルスが維持されている限りデューティサイクルは重要とならないため 立ち上がりエッジのみが考慮されます PFD を使用して 2 つのクロック間の位相および周波数に比例した信号が生成されます この信号は CP (Charge Pump) および LF (Loop Filter) を駆動し VCO (Voltage Controlled Oscillator) に対する参照電圧を生成します また PFD では CP または LF に対してアップ信号またダウン信号を生成し VCO の動作周波数を決定します VCO 動作周波数が高すぎる場合は PFD がダウン信号を使用して 制御電圧で VCO 動作電圧を下げます また VCO 動作周波数が低すぎる場合には アップ信号を使用し電圧を上げます VCO には 8 つの出力位相があり 各出力位相は 出力カウンタのリファレンスクロックとして選択可能です 図 3-3 および図 3-4 を参照してください 各カウンタは カスタマデザイン用にプログラムできます さらに 特別なカウンタ M も備わっています このカウンタは PLL のフィードバッククロックを制御し 広範囲の周波数合成を可能にします 82 japan.xilinx.com Spartan-6 FPGA クロックリソース

83 概要 X-Ref Target - Figure 3-3 CLKIN1 CLKIN2 D PFD CP LF VCO O0 CLKFBIN O1 CLKFBOUT M 8 O2 O3 O4 O5 ug382_c3_03a_ 図 3-3 : PLL ブロック詳細図 : CLK_FEEDBACK = CLKFBOUT X-Ref Target - Figure 3-4 CLKIN1 CLKIN2 D PFD CP LF VCO 8-phase taps O0 O1 M CLKFBIN O2 O3 O4 O5 ug382_c3_04new_ 図 3-4 : PLL ブロック詳細図 : CLK_FEEDBACK = CLKOUT0 Spartan-6 FPGA クロックリソース japan.xilinx.com 83

84 第 3 章 : 位相ロックループ (PLL) CLK_FEEDBACK および BUFIOFB を使用した PLL のアライメント Spartan-6 FPGA の PLL には専用フィードバック配線があり 位相ノイズの低減や BUFG のパフォーマンス制限を越えた PLL クロック機能のパフォーマンスの拡大に使用されます この専用 PLL 配線を使用するには CLK_FEEDBACK を CLKOUT0 に設定し 図 3-5 に示すように BUFPLL および BUFIO2FB を使用する必要があります BUFPLL および BUFPLL_MCB 入力クロックは PLL からの CLKOUT0 または CLKOUT1 に接続できます X-Ref Target - Figure 3-5 Clock Input I/O Input BUFIO2 CLK_REF or CLKIN ILOGIC CLKMX BUFIO2FB CLK_FB M D PLL CLKOUT0_DIVIDE CLKFBOUT CLKOUT0 CLK_FEEDBACK = CLKOUT0 BUFPLL ug382_c3_xx_ 図 3-5 : CLKOUT0 フィードバックを使用した PLL CLKOUT0 からの専用フィードバックを使用すると 出力カウンタ CLKOUT0_DIVIDE が VCO 周波数に影響を与えます f f IN M CLKOUT0_DIVIDE VCO = D 式 3-1 入力の配線を正確にスキュー調整するには BUFIO2FB バッファを 49 ページの図 1-33 に示すように使用する必要があります BUFIO2FB は BUFIO2 バッファと一致しており スキュー調整を 1 つの DCM に制限しています 84 japan.xilinx.com Spartan-6 FPGA クロックリソース

85 概要 CLK_FEEDBACK = CLKOUT0 を使用すると CLKFBIN の周波数を PFD の周波数と異なる値に設定できます CLK_FEEDBACK = CLKOUT0 を設定するときは PFD により入力クロック ( 式 3-2) の周波数とフィードバッククロックの周波数が一致するので注意してください F PFD_CLKIN = F CLKIN DIVCLK_DIVIDE 式 3-2 CLK_FEEDBACK = CLKFBOUT のとき CLKFBOUT ( 式 3-3) の周波数は PFD のフィードバック周波数に一致します F CLKFBOUT = F VCO CLKFBOUT_MULT 式 3-3 F PFD_CLKFBOUT = F CLKFB 式 3-4 CLK_FEEDBACK = CLKOUT0 のとき CLKOUT0 ( 式 3-5) の出力周波数は CLKFB_MULT に従いフィードバック周波数と異なる値に設定できます 図 3-4 に示すように CLKOUT0 の周波数は CLKFB_MULT で除算され CLKFB_MULT ( 式 3-6) に依存した PFD 周波数になります F CLKOUT0 = F VCO CLKOUT0_DIVIDE 式 3-5 F F CLKOUT0 PFD_CLKOUT0 = CLKFB_MULT 式 3-6 式 3-5 では CLKOUT0 の出力周波数を VCO 周波数と異なる値に設定できます Spartan-6 FPGA クロックリソース japan.xilinx.com 85

86 第 3 章 : 位相ロックループ (PLL) 一般的な使用法について PLL プリミティブ 図 3-6 は Spartan-6 FPGA の PLL プリミティブ PLL_BASE および PLL_ADV の図です X-Ref Target - Figure 3-6 CLKIN CLKOUT0 CLKIN1 CLKOUT0 CLKOUT1 CLKIN2 CLKOUT1 CLKFBIN CLKOUT2 CLKFBIN CLKOUT2 RST CLKOUT3 RST CLKOUT3 CLKOUT4 CLKOUT5 CLKINSEL CLKOUT4 CLKOUT5 CLKFBOUT CLKFBOUT CLKOUTDCM0 CLKOUTDCM1 CLKOUTDCM2 CLKOUTDCM3 CLKOUTDCM4 CLKOUTDCM5 CLKFBDCM LOCKED LOCKED PLL_BASE PLL_ADV ug382_c3_05_ PLL_BASE プリミティブ 図 3-6 : PLL プリミティブ PLL_BASE プリミティブは スタンドアロンの PLL で最も頻繁に使用される機能を提供します クロックスキュー調整 周波数合成 コース位相シフト およびデューティサイクル調整機能が使用可能です 表 3-2 にはポートがリストされています 表 3-2 : PLL_BASE ポート 説明 ポート クロック入力制御入力クロック出力ステータスおよびデータ出力 CLKIN CLKFBIN RST CLKOUT0 ~ CLKOUT5 CLKFBOUT LOCKED 86 japan.xilinx.com Spartan-6 FPGA クロックリソース

87 一般的な使用法について PLL_ADV プリミティブ PLL_ADV プリミティブは PLL_BASE の持つ機能をすべて提供します この資料には PLL_ADV は参照のため記載されています このプリミティブはデバイスをターゲットし直す場合に使用できますが ほとんどの場合は PLL_BASE プリミティブやクロックウィザードを使用します 表 3-3 にはポートがリストされています 表 3-3 : PLL_ADV ポート 説明 ポート クロック入力制御入力およびデータ入力クロック出力ステータスおよびデータ出力 CLKIN1 CLKIN2 CLKFBIN RST CLKINSEL CLKOUT0 ~ CLKOUT5 CLKFBOUT CLKOUTDCM0 ~ CLKOUTDCM5 CLKFBDCM LOCKED Spartan-6 FPGA の PLL は信号が混在するブロックで クロックネットワークのスキュー調整 周波数合成 およびジッタ低減をサポートするためのものです これら 3 つの動作モードの詳細は後述します VCO の動作周波数は 次の関係によって決定されます CLK_FEEDBACK = CLKFBOUT を式 3-7で示します M F VCO = F CLKIN ---- D 式 3-7 CLK_FEEDBACK = CLKOUT0 を式 3-8 で示します M O F VCO = F CLKIN D F F VCO OUT = O 式 3-8 式 3-9 ここで M D O は図 3-3 に示したカウンタです 6 個の O カウンタは個別にプログラム可能です たとえば O0 を 2 分周用にプログラムし O1 を 3 分周用にプログラムできます ただし 1 つの VCO ドライバがすべてのカウンタを駆動するため VCO 動作周波数は すべての出力カウンタに対して同一でなければなりません クロックネットワークスキュー調整 通常 I/O タイミングバジェットにおいて クロックネットワークでの遅延の発生は望ましいものではないため PLL や DLL を使用してこの遅延を調整します Spartan-6 FPGA の PLL では この遅延調整機能がサポートされています リファレンスクロック CLKIN の周波数と同一周波数のクロック出力 ( 通常は CLKFBOUT または CLKOUT) が BUFG に接続され PLL の CLKFBIN ピンにフィードバック入力されます それ以外の出力はクロック分周に使用でき 周波数合成を行うことができます この場合 すべての出力クロックで 入力リファレンスクロックに対する位相関係が定義されています 入力配線を正確にスキュー調整するには BUFIO2FB バッファを図 3-16 に示すように使用する必要があります Spartan-6 FPGA クロックリソース japan.xilinx.com 87

88 第 3 章 : 位相ロックループ (PLL) 周波数合成のみ PLL は周波数合成専用に使用することもできます この場合 PLL でクロックネットワークのスキューは調整できませんが ほかのブロック用の出力クロック周波数を生成できます PLL フィードバックパスを INTERNAL に設定すると すべてのローカル配線が保持されるので ジッタが最小限に抑えられます 図 3-7 は 周波数合成回路としてコンフィギュレーションした PLL です この例では PCI Express x1 Gen1 用にクロックがコンフィギュレーションされています 100MHz のリファレンスクロックは GTP トランシーバの REFCLKOUT から供給されます カウンタを M=5 D=1 に設定すると VCO は 500MHz (100MHz x 5) でオシレートされます VCO 周波数が Spartan-6 FPGA データシートで指定されている範囲内であることを確認します 6 つある PLL 出力のうち 4 つは 次を提供するようプログラムされます 250MHz のクロック (GTP トランシーバの TXUSRCLK および RXUSRCLK に供給 ) 125MHz のクロック (PCI Express PHY インターフェイスおよび 2 バイトのデータ送信の GTP トランシーバの TXUSRCLK2 と RXUSRCLK2 用 ) 62.5MHz のクロック (PCI Express ユーザーインターフェイスおよびブロック RAM インターフェイス用 ) 50MHz のクロック ( その他のグルーロジック用 ) この例では リファレンスクロックと出力クロック間の位相が関連している必要はありませんが 出力クロック間の位相は一致している必要があります X-Ref Target - Figure 3-7 D = 1 PFD, CP, LF, VCO M = 5 O0 = 2 O1 = 4 O2 = 8 O3 =10 TXUSERCLK/RXUSERCLK O4 = O5 = ug382_c3_05_ 図 3-7 : 周波数合成器としての PLL ジッタフィルタ PLL は 常にリファレンスクロック上のジッタを低減する機能があります PLL は 別のブロック (DCM を含む ) が駆動される前に外部クロックからジッタをフィルタするため 単独のファンクションとしてインスタンシエートできます ジッタフィルタとして使用する場合 PLL はバッファのように動作し 入力周波数と同一周波数の出力を再生成します (F IN = 100MHz F OUT = 100MHz など ) 一般的に PLL の BANDWIDTH 属性を Low に設定すると より大きなジッタフィルタ機能が作成できます ただし BANDWIDTH を Low に設定すると PLL のスタティックオフセットが増加する可能性があります 制限 PLL には順守すべきいくつかの制限があります PLL の電気的仕様は Spartan-6 FPGA データシートに記載されています 主な制限には VCO 動作範囲 入力周波数 デューティサイクルのプログラム 位相シフトがあります 88 japan.xilinx.com Spartan-6 FPGA クロックリソース

89 一般的な使用法について VCO 動作範囲 VCO の最大および最小動作周波数は Spartan-6 FPGA データシートの電気的仕様で定義されています これらの値はスピード仕様からも得ることができます 最小および最大入力周波数 CLKIN の最大および最小入力周波数は Spartan-6 FPGA データシートの電気的仕様で定義されています デューティサイクルのプログラム ある VCO 動作周波数に対し 特定のデューティサイクルのみ可能です 出力のデューティサイクルを決定するためのカウンタ設定は カウンタ制御 で説明しています 位相シフト 多くのケースでクロック間の位相をシフトさせる必要があります VCO は 45 ずつ位相シフトした 8 個のクロックを作成できるため 時間を単位とする位相シフト精度は PS = 1/8 F VCO または D/8MF IN と定義されます VCO 周波数が高いほど 位相シフト精度は精密になります VCO には明確な動作範囲があるため 1/8 F VCO_MIN ~ 1/8 F VCO_MAX の範囲を使用し 位相シフト精度を制限可能です 各出力カウンタは個別にプログラム可能で VCO の出力周波数に基づいて異なる位相シフト精度を設定できます メモ : 45 以上の位相シフトも可能です 位相シフトの制度は出力デューティサイクルと 0 値によって変化します その他の位相シフト設定についてはクロックウィザードを参考にしてください PLL プログラミング 安定性と性能を確保できるコンフィギュレーションにするには 指定されたフローに従って PLL をプログラムする必要があります このセクションでは デザイン要件に基づく PLL のプログラム方法を説明します デザインは GUI インターフェイス ( クロックウィザード ) を使用する方法と PLL をインスタンシエートする方法の 2 通りでインプリメントできます インプリメンテーション方法にかかわらず PLL のプログラムには次の情報が必要です リファレンスクロック周期 出力クロック周波数 ( 最大 6 つの周波数 ) 出力クロックデューティサイクル ( デフォルト 50%) 最速出力クロックのサイクル数に相対する出力クロック位相シフト PLL バンド幅 ( デフォルトは OPTIMIZED であり ソフトウェアで選択 ) 補正モード ( ソフトウェアで自動的に決定 ) 単位が UI のリファレンスクロックジッタ ( リファレンスクロック周期の比率など ) 入力周波数の決定 最初に入力周波数を決定します D カウンタ範囲を決定する最小および最大入力周波数 M カウンタ範囲を決定する VCO 動作範囲 および出力カウンタ範囲を使用して 可能な出力周波数が決定できます 周波数の範囲は非常に広く 組み合わせによっては 128 x 128 x 128 = 2,097,152 の周波数が考えられます しかし 実際には M および D カウンタの範囲内にある値をすべて使用することは不可能で 重複した設定もあるため 周波数の総数は少なくなります たとえば F IN = 100MHz Spartan-6 FPGA クロックリソース japan.xilinx.com 89

90 第 3 章 : 位相ロックループ (PLL) を例にとって考えてみましょう 最小 PFD 周波数が 19MHz の場合 D は 1 ~ 5 です D=1 の場合 M は 4 ~ 10 D=2 では M は 8 ~ 20 となります また D=1 M=4 は D=2 M=8 のサブセットであるため D=1 M=4 のケースは除外できます これで 可能な出力周波数の数は大きく減ります 出力周波数は連続して選択されます 目的の出力周波数は 生成された可能な出力周波数に対してチェックしておく必要があります 最初の出力周波数が決定すると M および D の値がさらに制限され 2 番目の出力周波数が制限されることになります すべての出力周波数が選択されるまで このプロセスを繰り返します M および D 値の決定に使用する制約は次の式で表されます D MIN = f IN roundup f PFD MAX 式 3-10 D MAX = f IN rounddown f PFD MIN 式 3-11 M MIN = roundup f VCOMIN D MIN f IN 式 3-12 M MAX rounddown D MAX f VCOMAX = f IN 式 3-13 M および D 値の決定 入力周波数が決定すると M および D 値がある程度決まります 次のステップでは 最適な M および D 値を決定します まず M の開始値を決定します この値は VCO ターゲット周波数 つまり VCO の理想的な動作周波数に基づいて決定します D M MIN f VCOMAX IDEAL = f IN 式 3-14 ここでは VCO の理想周波数に最も近くなる M 値を決定します プロセスの開始には D の最小値が使用されます ƒ VCO を可能な限り高く保持しながら D および M の最小値を決定します PLL ポート 表 3-4 は PLL ポートが 表 3-5 に PLL 属性がリストされています 表 3-4 : PLL ポートピン名 I/O 説明 CLKIN 入力 一般的なクロック入力 CLKIN1 入力 再ターゲットに使用する PLL_ADV ピンです 一般的なクロック入力 CLKIN2 入力 再ターゲットに使用する PLL_ADV ピンです セカンダリクロック入力 CLKFBIN 入力 フィードバッククロック入力 90 japan.xilinx.com Spartan-6 FPGA クロックリソース

91 一般的な使用法について 表 3-4 : PLL ポート ( 続き ) ピン名 I/O 説明 CLKINSEL RST CLKOUT[0:5] (1) 入力 入力 出力 再ターゲットに使用する PLL_ADV ピンです PLL_ADV のクロック入力を制御し スタティック High またはスタティック Low に接続します (High = CLKIN1 Low = CLKIN2) 非同期リセット信号 PLL の非同期リセットです この信号が解放されると PLL は同期して再び有効になります 周波数など入力クロックの状態が変動すると リセットが必要です VCO 位相調整出力 ( ユーザー制御可 ) から 1 ( バイパス ) ~ 128 分周されたユーザーコンフィギュレーションクロック出力 (0 ~ 5) です 入力クロックと出力クロックの位相は一致します CLKFBOUT 出力専用 PLL フィードバック出力 CLKOUTDCM[0:5] (1) CLKFBDCM LOCKED 出力 出力 出力 再ターゲットに使用する PLL_ADV ピンです PLL と同じ CMT にある DCM に接続可能なユーザーコンフィギュレーションクロック (0 ~ 5) です 再ターゲットに使用する PLL_ADV ピンです PLL が DCM を駆動する場合の調整用 PLL フィードバック CLKFBOUT ピンがこの目的で使用されている場合 ソフトウェアで自動的に正しいポートにマップされます PLL からの非同期出力で あらかじめ指定された PPM 範囲内にある周波数が得られたことと 指定ウィンドウ内の位相アライメントが完了したことを示します PLL は電源投入後に自動的にロック状態になるので 余分なリセットは不要です 入力クロックが停止した場合 または位相アライメントに違反があった場合 ( 入力クロック位相シフトなど ) LOCKED がディアサートされます PLL は LOCKED がディアサートされた後にリセットする必要があります DO[15:0] 出力 PLL_ADV ピンはサポートされていません DRDY 出力 PLL_ADV ピンはサポートされていません メモ : 1. CLKOUT N および CLKOUTDCM N は同じ出力カウンタを使用しており 個別に動作させることはできません Spartan-6 FPGA クロックリソース japan.xilinx.com 91

92 第 3 章 : 位相ロックループ (PLL) 表 3-5 : PLL 属性 PLL 属性 属性タイプ値デフォルト説明 COMPENSATION 文字列 SYSTEM_ SYNCHRONOUS SOURCE_ SYNCHRONOUS EXTERNAL SYSTEM_ SYNCHRONOUS 入力クロックの PLL の位相補正を指定します SYSTEM_SYNCHRONOUS では ホールドタイムが 0 になるよう すべてのクロック遅延を補正しようとします クロックはデータと共に送信されるため クロックで位相調整されるときに SOURCE_SYNCHRONOUS が使用されます EXTERNAL は FPGA 外部のクロックを配線することで補正するときに使用します 次の追加属性が ISE で自動的に選択されます INTERNAL DCM2PLL PLL2DCM BANDWIDTH 文字列 HIGH LOW OPTIMIZED CLKOUT[0:5]_ DIVIDE CLKOUT[0:5]_ PHASE CLKOUT[0:5]_ DUTY_CYCLE OPTIMIZED PLL のジッタ 位相マージン その他の特性に影響を与える PLL のプログラミングアルゴリズムを指定します 整数 1 ~ 異なる周波数を使用する必要がある場合 CLKOUT クロック出力を分周する値を指定します CLKFBOUT_MULT と DIVCLK_DIVIDE の値の組み合わせで 出力周波数を決定します 実数 ~ 関連する CLKOUT クロック出力の出力位相関係を度数で指定できます (90 は 90 または 1/4 サイクルの位相オフセットを示し 180 は 180 または 1/2 サイクルの位相オフセットを示します ) CLK_FEEDBACK = CLKOUT0 を設定する場合 残りすべてのクロック出力の位相シフトは負の値になります 実数 0.01 ~ CLKOUT クロック出力のデューティサイクルをパーセントで指定します 0.50 の場合デューティサイクルは 50% になります CLKFBOUT_MULT 整数 1 ~ 64 1 異なる周波数を使用する必要がある場合 すべての CLKOUT クロック出力の逓倍値を指定します 関連する CLKOUT#_DIVIDE と DIVCLK_ DIVIDE との組み合わせで この出力周波数を決定します 92 japan.xilinx.com Spartan-6 FPGA クロックリソース

93 一般的な使用法について 表 3-5 : PLL 属性 ( 続き ) 属性タイプ値デフォルト説明 DIVCLK_DIVIDE 整数 1 ~ 52 1 入力クロックとすべての出力クロックの 分周比を指定します CLKFBOUT_PHASE 実数 0.0 ~ クロックフィードバック出力の位相オフセットを度数で指定します フィードバッククロックをシフトすることにより すべての出力クロックは PLL に対して負の方向に位相シフトします REF_JITTER 実数 ~ PLL のパフォーマンスを一層最適化するよう リファレンスクロック上のジッタ期待値を指定できます バンド幅の設定が OPTIMIZED に設定されている場合 ジッタ値が不明のとき入力クロックの最適パフォーマンスが選択されます ジッタ値がわかっているときは 入力クロック上のジッタ期待値を UI パーセンテージ ( 最大 Peak to Peak 値 ) で指定する必要があります CLKIN1_PERIOD 実数 ~ PLL CLKIN1 入力に対する入力周期を ns で指定します 単位は ps まで細かく指定可能です この値は必ず指定する必要があります CLKIN2_PERIOD 実数 ~ PLL CLKIN2 入力に対する入力周期を ns で指定します 単位は ps まで細かく指定可能です この値は必ず指定する必要があります CLK_FEEDBACK 文字列 CLKFBOUT または CLKOUT0 CLKFBOUT CLKFB_IN を駆動するためのクロックソースを指定します フィードバックリソースの使用および VCO 周波数の算出については 84 ページの図 3-5 を参照してください RESET_ON_LOSS _OF_LOCK 文字列 FALSE FALSE FALSE に設定する必要がありますが デ バイスではサポートされていません PLL クロック入力信号 PLL クロックのソースには次のものがあります IBUFG : グローバルクロック入力バッファ PLL はこのパスの遅延を補正します BUFG : 内部グローバルクロックバッファ PLL はこのパスの遅延を補正しません IBUF : PLL ではローカル配線の遅延を補正できないため このバッファの使用は推奨しません IBUF クロック入力は PLL に配線する前に BUFG に配線する必要があります DCMOUT : PLL への DCM 出力すべてがこのパスの遅延を補正します Spartan-6 FPGA クロックリソース japan.xilinx.com 93

94 第 3 章 : 位相ロックループ (PLL) BUFIO2 : IBUFG と併用する場合 DIVCLK 出力は直接 PLL クロック入力に接続します PLL はこの遅延を補正します グローバルクロック入力が PLL への接続に使用される場合 29 ページの図 1-13 に示すように最適なパフォーマンスを得るために BUFIO2 クロックバッファが自動推論されます 各 BUFIO2 はデバイス上辺または下辺にある CMT に配線されます 推論された BUFIO2 バッファは 正しい位相アライメントを得るために配線を制限します BUFIO2 のクロック領域 TL TR RT の BUFIO2 バッファは デバイス上半分にある DCM/PLL に接続されます 同様に BUFIO2 のクロック領域 BL BR RB および LB の BUFIO2 バッファは デバイス下半分の DCM/PLL に接続されます カウンタ制御 PLL の出力カウンタは DIVIDE DUTY_CYCLE および PHASE を組み合わせて使用し 広範囲に渡る合成クロックを提供します 図 3-8 に カウンタ設定とその出力の関係を示します 最初の波形は PLL モードでの VCO からの出力です X-Ref Target - Figure 3-8 Counter Clock Input (VCO) DIVIDE = 2 DUTY_CYCLE = 0.5 PHASE = 0 DIVIDE = 2 DUTY_CYCLE = 0.5 PHASE = 180 DIVIDE = 2 DUTY_CYCLE = 0.75 PHASE = 180 DIVIDE = 1 DUTY_CYCLE = 0.5 PHASE = 0 DIVIDE = 1 DUTY_CYCLE = 0.5 PHASE = 360 DIVIDE = 3 DUTY_CYCLE = 0.33 PHASE = 0 DIVIDE = 3 DUTY_CYCLE = 0.5 PHASE = 0 ug382_c3_07_ 図 3-8 : 出力カウンタでのクロック合成の例 94 japan.xilinx.com Spartan-6 FPGA クロックリソース

95 VCO および出力カウンタの波形 クロックシフト リファレンスまたはフィードバックパスのいずれかで 8 つの位相から 1 つを選択することによって遅延を挿入し PLL 出力クロックはシフトできます 図 3-9 は PLL の出力でのクロック信号エッジへの影響を示します ここでは シフトがない場合 フィードバックパスに遅延を挿入した場合 リファレンスパスに遅延を挿入した場合を示しています X-Ref Target - Figure 3-9 DT feedback DT reference ug382_c3_07_ 図 3-9 : 基本的な出力クロックのシフト VCO および出力カウンタの波形 図 3-10 は 8 つの VCO 位相出力 4 つの異なるカウンタ出力を示したものです 各 VCO 位相は 適切なスタートアップシーケンスで示されています この位相関係およびスタートアップシーケンスは 正しい位相が維持されることが確認されています つまり 0 位相の立ち上がりエッジは 45 位相の立ち上がりエッジよりも前にあることになります O0 カウンタは リファレンスクロックとして 位相タップが 0 の単純な 2 分周を実行するようプログラムされています O1 カウンタも単純な 2 分周を実行するようプログラムされていますが VCO からの 180 の位相タップを使用します VCO の 1 周期よりも大きな位相シフトは可能で このカウンタ設定を使用すると リファレンスクロックのエッジがデータ遷移に揃えられる DDR インターフェイス用のクロックが生成できます O2 カウンタは 3 分周を実行するようプログラムされています O3 出力は O2 出力と同じプログラミングですが 位相が 1 サイクル遅れている点が異なります PLL がある位相関係を提供するようにコンフィギュレーションされている場合 入力周波数が変化すると VCO 周波数が変化することによって位相関係も変わり 絶対シフト値 ( 単位は ps) も変わります PLL を使用した設計を行う場合は この点を考慮してください CLK や CLK90 などさまざまなクロック出力間で ある位相関係の維持が重要となるデザインでは 入力クロック周波数にかかわらず この関係は保持されます Spartan-6 FPGA クロックリソース japan.xilinx.com 95

96 第 3 章 : 位相ロックループ (PLL) X-Ref Target - Figure O0 O1 O2 O3 ug382_c3_09_ 図 3-10 : VCO 位相の選択 すべての O カウンタは同じ機能を持ち O0 でできることは O1 でもできます このため PLL 出力をグローバルクロックネットワーク接続する場合 出力がすべて同じになるため便利です 通常 このレベルの詳細は PLL 属性およびクロックウィザードでの入力に従ってソフトウェアとウィザードで適切に指定されるようになっています 入力クロックまたはフィードバッククロックの不在 入力クロックまたはフィードバッククロックが失われると PLL が出力クロックを駆動する周波数は低くなったり 高くなったりし すべての出力クロックの周波数がその影響を受け 高くなったり低くなったりします この影響で クロック出力周波数が元のコンフィギュレーションの 6 倍になる場合があります PLL の使用モデル PLL を使用したデザインにはいくつかの設計方法があります ISE ソフトウェアのクロックウィザードは 多様な PLL パラメータを生成するためのツールです PLL はコンポーネントとして手動でインスタンシエートも可能です また IP コアとマージさせることもできます IP コアには PLL を含め 管理する機能があります クロックネットワークスキュー調整 PLL はクロックネットワークのスキュー調整に広く使用されます 図 3-11 はこの PLL 使用例です O カウンタの 1 つからのクロック出力を使用し デバイス内部のロジックおよび I/O を駆動します フィードバックカウンタは 入力クロックと出力クロック間の正確な位相関係 (90 位相シフトさせるなど ) を制御するために使用されます 入力クロックと出力クロック間の位相アライメントが必要な場合のクロック波形を図の右側に示します これが最も柔軟性のあるコンフィギュレーションですが グローバルクロックネットワークが 2 つ必要となります ( 図 3-11) 96 japan.xilinx.com Spartan-6 FPGA クロックリソース

97 PLL の使用モデル X-Ref Target - Figure 3-11 IBUFG BUFG CLKIN1 CLKOUT0 3 CLKFBIN CLKOUT1 RST CLKOUT2 CLKOUT3 PLL CLKOUT4 BUFG CLKOUT5 6 CLKFBOUT To Logic UG382_c3_10_ 図 3-11 : 2 つの BUFG を使用するクロックスキュー調整 フィードバックのインプリメントにはいくつかの制限があります CLKFBOUT 出力は フィードバッククロック信号としても使用できます まず 基本的な制限ですが PFD への 2 つの入力周波数は同一でなければなりません したがって 次の関係を満たす必要があります f IN f f VCO = D FB = M 式 3-15 たとえば ƒ IN = 166MHz D=1 M=3 O=1 の場合 VCO とクロック出力周波数は共に 498MHz となります フィードバックパスの M 値は 3 であるため PFD での 2 つの入力周波数は 166MHz です 入力周波数 = 66.66MHz D=2 M=15 O=2 という複雑なケースを考えてみます この場合の VCO 周波数は 500MHz O 出力周波数は 250MHz となります したがって PFD のフィードバック周波数は 500/15 または 33.33MHz で PFD の入力周波数 66.66MHz/2 に一致します 内部フィードバックのある PLL PLL を合成回路またはジッタフィルタとして使用し かつ PLL の入力クロックと出力クロック間の位相が関連していなくてもよい場合 PLL 内部でフィードバックさせることができます このフィードバッククロックは コア電源が供給されているブロックを通過しないため この電源のノイズの影響を受けることがなく PLL のパフォーマンスが向上します CLKIN 信号および BUFG のノイズはあります ( 図 3-12) X-Ref Target - Figure 3-12 IBUFG BUFG CLKIN1 CLKOUT0 CLKFBIN CLKOUT1 RST CLKOUT2 CLKOUT3 PLL CLKOUT4 CLKOUT5 CLKFBOUT To Logic UG382_c3_11_ 図 3-12 : 内部フィードバックのある PLL Spartan-6 FPGA クロックリソース japan.xilinx.com 97

98 第 3 章 : 位相ロックループ (PLL) ゼロ遅延バッファ PLL を使用し ゼロ遅延バッファクロックを生成することもできます ゼロ遅延バッファは 1 つのクロック信号が 複数の目的地点に低スキューで接続されているアプリケーションに便利です このコンフィギュレーションを図 3-13 に示します ここでは チップ外からフィードバック信号が入力され ボードトレースフィードバックが外部コンポーネントへのトレースと一致するよう設計されています このコンフィギュレーションでは クロックエッジは FPGA の入力および外部コンポーネントの入力で揃うことを想定しています フィードバックパスで許容される最大遅延には制限があります X-Ref Target - Figure 3-13 IBUFG BUFG OBUF Inside FPGA CLKIN1 CLKOUT0 CLKFBIN RST CLKOUT1 CLKOUT2 CLKOUT3 PLL CLKOUT4 CLKOUT5 CLKFBOUT BUFG UG382_c3_12_ 図 3-13 : ゼロ遅延バッファ 外部コンポーネントの入力キャパシタンスと FPGA のフィードバックパスのキャパシタンスの間に負荷の差があるため 場合によっては 正確な位相アライメントができないことがあります たとえば 外部コンポーネントの入力キャパシタンス値は 1pF ~ 4pF の範囲ですが FPGA の場合は約 8pF です 信号の傾きに差があり スキューが発生します タイミングを満たすにはこの点を考慮する必要があります DCM で PLL を駆動 DCM には 正確に位相シフトしたクロックを生成するという優れた機能がありますが リファレンスクロックのジッタは低減できません PLL を使用すると 1 つの DCM のクロック出力の出力ジッタを削減できるようになります このコンフィギュレーションを図 3-14 に示します この PLL は位相がシフトしない (PLL で遅延は追加されない ) ようにコンフィギュレーションされています ブロック図の右側に関連した波形を示します DCM の出力で PLL を直接駆動する場合 DCM と PLL は同じ CMT 内に存在する必要があります ローカルの専用配線上のノイズが最小となるため このインプリメンテーションが推奨されます DCM を BUFG に接続後 PLL の CLKIN 入力に接続することもできます 98 japan.xilinx.com Spartan-6 FPGA クロックリソース

99 PLL の使用モデル X-Ref Target - Figure 3-14 IBUFG BUFG CLKIN CLKFBIN RST DCM CLK0 CLK90 CLK180 CLK270 CLK2X 1 CLK2X180 CLKDV 2 CLKFX CLKFX180 3 BUFG CLKIN1 CLKFBIN RST PLL CLKOUT0 CLKOUT1 CLKOUT2 CLKOUT3 CLKOUT CLKOUT5 CLKFBOUT ug382_c3_13_ 図 3-14 : DCM で PLL を駆動 PLL で DCM を駆動 クロックジッタ低減の 2 つ目のオプションとして DCM を駆動する前に PLL を使用して入力クロックジッタをクリーンアップする方法があります これにより 全 DCM 出力の出力ジッタが改善されますが DCM によって追加されたジッタはそのままクロック出力に現れます PLL と DCM 間には専用リソースがあり 遅延が追加されないようになっているため PLL と DCM は同一 CMT ブロックになければなりません PLL と DCM が同じ CMT にない場合は BUFG を介した接続しかなく スキュー調整の妨げとなる可能性があります リファレンス周波数が 1 つの PLL で生成できる場合 1 つの PLL で複数の DCM を駆動できます たとえば 33MHz のリファレンスクロックが PLL に入力され デザインに 200MHz で動作する DCM が 1 つと 100MHz で動作する DCM が 1 つある場合 VCO は 600MHz (M1 = 18) で動作できます VCO 周波数を 3 分周して 200MHz のクロックを生成 6 分周して 100MHz クロックを生成できます 図 3-15 の例では 1 つの PLL で 2 つの DCM を駆動できます Spartan-6 FPGA クロックリソース japan.xilinx.com 99

100 第 3 章 : 位相ロックループ (PLL) X-Ref Target - Figure 3-15 IBUFG 1 2 Matches 3 CLKIN1 CLKFBIN RST PLL CLKOUT0 CLKOUT1 CLKOUT2 CLKOUT3 CLKOUT4 CLKOUT5 CLKFBOUT 1 CLKIN CLKFBIN RST DCM CLK0 CLK90 CLK180 CLK270 CLK2X CLK2X180 CLKDV CLKFX CLKFX180 BUFG ug382_c3_14_ 図 3-15 : PLL で DCM を駆動 PLL 同士の接続 PLL をカスケード接続することによって より広範囲のクロック周波数が生成可能です 周波数の範囲には制限があります 式 3-16 は 最終出力周波数と入力周波数の関係と 2 つの PLL ( 図 3-16) のカウンタ設定を示したものです 2 つ目の PLL の出力クロックと入力クロックの位相関係は定義されていません PLL をカスケードするには 最初の PLL の出力を BUFG に配線した後 2 つ目の PLL の CLKIN ピンに配線します このパスのデバイスジッタの値は最小値になります M f OUTPLL2 f PLL2 M OUTPLL f PLL1 = = IN D PLL2 O PLL2 D PLL1 O PLL1 M PLL2 D PLL2 O PLL2 式 japan.xilinx.com Spartan-6 FPGA クロックリソース

101 アプリケーションガイドライン X-Ref Target - Figure 3-16 IBUFG BUFG BUFG CLKIN1 CLKOUT0 CLKFBIN CLKOUT1 RST CLKOUT2 CLKOUT3 PLL CLKOUT4 CLKOUT5 CLKFBOUT CLKIN1 CLKOUT0 CLKFBIN CLKOUT1 RST CLKOUT2 CLKOUT3 PLL CLKOUT4 CLKOUT5 CLKFBOUT To Logic ug382_c3_15_ 図 3-16 : 2 つの PLL のカスケード アプリケーションガイドライン このセクションには いつ DCM と PLL のどちらを選択すればよいのかがまとめられています Spartan-6 FPGA の PLL では 最大 6 個の独立した出力が使用できます 複数の異なる出力を使用するデザインでは PLL を使用してください この場合のデザイン例は次のようになっています DCM にはリファレンスクロックを基本にした予め定義された出力が固定数ありますが PLL では幅広い範囲で出力が生成でき その出力数も設定可能なため PLL は複数出力が必要なデザインには理想的なソリューションです 一方で ファイン位相シフトやダイナミック可変位相シフトが必要なアプリケーションでは DCM がより適したソリューションとなります PLL アプリケーション例 次の PLL 属性設定により 広い周波数範囲の合成クロックが生成されます CLKOUT0_PHASE = 0; CLKOUT0_DUTY_CYCLE = 0.5; CLKOUT0_DIVIDE = 2; CLKOUT1_PHASE = 90; CLKOUT1_DUTY_CYCLE = 0.5; CLKOUT1_DIVIDE = 2; CLKOUT2_PHASE = 0; CLKOUT2_DUTY_CYCLE = 0.25; CLKOUT2_DIVIDE = 4; CLKOUT3_PHASE = 90; CLKOUT3_DUTY_CYCLE = 0.5; CLKOUT3_DIVIDE = 8; CLKOUT4_PHASE = 0; CLKOUT4_DUTY_CYCLE = 0.5; CLKOUT4_DIVIDE = 8; CLKOUT5_PHASE = 135; CLKOUT5_DUTY_CYCLE = 0.5; CLKOUT5_DIVIDE = 8; CLKFBOUT_PHASE = 0; CLKFBOUT_MULT = 8; DIVCLK_DIVIDE = 1; CLKIN1_PERIOD = 10.0; 図 3-17 にこの波形を示します Spartan-6 FPGA クロックリソース japan.xilinx.com 101

102 第 3 章 : 位相ロックループ (PLL) X-Ref Target - Figure 3-17 REFCLK VCOCLK CLKOUT0 CLKOUT1 CLKOUT2 CLKOUT3 CLKOUT4 CLKOUT5 UG382_c3_16_ 図 3-17 : 波形例 102 japan.xilinx.com Spartan-6 FPGA クロックリソース

Virtex-6 Clocking

Virtex-6 Clocking Spartan-6 クロックリソース Proprietary to PALTEK CORPORATION 1 AGENDA はじめに クロックネットワーク クロックマネージメントタイル (CMT) 使用例 2 AGENDA はじめに クロックネットワーク クロックマネージメントタイル (CMT) 使用例 3 高速なクロッキング 新型アプリケーションには複雑なクロック要件が必要 : 高速クロック信号

More information

PPTフォーム(white)

PPTフォーム(white) Spartan-6 概要 株式会社 PALTEK Engineering Group Proprietary to PALTEK CORPORATION 1 アジェンダ Spartan-6 導入 概要 Spartan-6 アーキテクチャ CLB ブロック RAM SelectIO クロック DSP メモリコントローラブロック (MCB) GTP 2 概要 ( ファミリ ) Virtex-6 LXT

More information

Virtex-6 FPGA クロッキング リソース ユーザー ガイド (UG362)

Virtex-6 FPGA クロッキング リソース ユーザー ガイド (UG362) Virtex-6 FPGA クロックリソース ユーザーガイド Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the development of designs to operate with

More information

7 シリーズ FPGA クロッキング リソース ユーザー ガイド (UG472)

7 シリーズ FPGA クロッキング リソース ユーザー ガイド (UG472) 7 シリーズ FPGA クロッキングリソース ユーザーガイド 本資料は表記のバージョンの英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください The information disclosed to you hereunder (the Materials

More information

Virtex-6 FPGA で LVDS を使用した、1.25Gb/s での 4X 非同期オーバーサンプリング, アプリケーション ノート (XAPP881)

Virtex-6 FPGA で LVDS を使用した、1.25Gb/s での 4X 非同期オーバーサンプリング, アプリケーション ノート (XAPP881) アプリケーションノート : Virtex-6 FPGA XAPP881 (v1.0.1) 2010 年 7 月 25 日 Virtex-6 FPGA で LVDS を使用した 1.25Gb/s での 4X 非同期オーバーサンプリング著者 : Catalin Baetoniu Brandon Day 概要 Virtex -6 FPGA の SelectIO テクノロジによって 1.25Gb/s で 4X

More information

資料作成Wordフォーム(社外秘)

資料作成Wordフォーム(社外秘) Spartan-6 FPGA 設計ガイド Ver1.0 ( PSDB ) 1 本設計情報は 設計者の皆様がザイリンクス社 Spartan-6 デバイス選択 および設計を進める上で必要となる基本的な注意事項をまとめた資料です Spartan-6 に関する詳細な技術情報はデータシートおよびユーザーガイドを参照してください 本資料に記載されている各事項については データシートおよびユーザーガイドに記載されている事項を優先します

More information

エレクトーンのお客様向けiPhone/iPad接続マニュアル

エレクトーンのお客様向けiPhone/iPad接続マニュアル / JA 1 2 3 4 USB TO DEVICE USB TO DEVICE USB TO DEVICE 5 USB TO HOST USB TO HOST USB TO HOST i-ux1 6 7 i-ux1 USB TO HOST i-mx1 OUT IN IN OUT OUT IN OUT IN i-mx1 OUT IN IN OUT OUT IN OUT IN USB TO DEVICE

More information

ScanFront300/300P セットアップガイド

ScanFront300/300P セットアップガイド libtiff Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby

More information

インターネット接続ガイド v110

インターネット接続ガイド v110 1 2 1 2 3 3 4 5 6 4 7 8 5 1 2 3 6 4 5 6 7 7 8 8 9 9 10 11 12 10 13 14 11 1 2 12 3 4 13 5 6 7 8 14 1 2 3 4 < > 15 5 6 16 7 8 9 10 17 18 1 2 3 19 1 2 3 4 20 U.R.G., Pro Audio & Digital Musical Instrument

More information

PLL ダイナミック リコンフィギュレーション, アプリケーション ノート (XAPP879)

PLL ダイナミック リコンフィギュレーション, アプリケーション ノート (XAPP879) アプリケーションノート : Spartan-6 ファミリ XAPP7 (v1.1) 11 年 1 月 6 日 PLL ダイナミックリコンフィギュレーション著者 : Karl Kurbjun Carl Ribbing 概要 このアプリケーションノートは ダイナミックリコンフィギュレーションポート (DRP) を介して Spartan - 6 FPGA の位相ロックループ (PLL) のクロック出力の周波数

More information

2

2 NSCP-W61 08545-00U60 2 3 4 5 6 7 8 9 10 11 12 1 2 13 7 3 4 8 9 5 6 10 7 14 11 15 12 13 16 17 14 15 1 5 2 3 6 4 16 17 18 19 2 1 20 1 21 2 1 2 1 22 23 1 2 3 24 1 2 1 2 3 3 25 1 2 3 4 1 2 26 3 4 27 1 1 28

More information

ScanFront 220/220P 取扱説明書

ScanFront 220/220P 取扱説明書 libtiff Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby

More information

ScanFront 220/220P セットアップガイド

ScanFront 220/220P セットアップガイド libtiff Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby

More information

iPhone/iPad接続マニュアル

iPhone/iPad接続マニュアル / JA 2 3 USB 4 USB USB i-ux1 USB i-ux1 5 6 i-mx1 THRU i-mx1 THRU 7 USB THRU 1 2 3 4 1 2 3 4 5 8 1 1 9 2 1 2 10 1 2 2 6 7 11 1 2 3 4 5 6 7 8 12 1 2 3 4 5 6 13 14 15 WPA Supplicant Copyright 2003-2009, Jouni

More information

Xilinx XAPP721 High-Performance DDR2 SDRAM Interface Data Capture Using ISERDES and OSERDES, Application Note

Xilinx XAPP721 High-Performance DDR2 SDRAM Interface Data Capture Using ISERDES and OSERDES, Application Note XAPP721 (v2.1) 2007 年 10 月 12 日 アプリケーションノート : Virtex-4 FPGA ISERDES と OSERDES を使用した高性能 DDR2 SDRAM インターフェイスのデータキャプチャ著者 : Maria George 本資料は英語版 (v2.1) を翻訳したものです 英語の更新バージョンがリリースされている場合には 最新の英語版を必ずご参照ください 概要

More information

TH-47LFX60 / TH-47LFX6N

TH-47LFX60 / TH-47LFX6N TH-47LFX60J TH-47LFX6NJ 1 2 3 4 - + - + DVI-D IN PC IN SERIAL IN AUDIO IN (DVI-D / PC) LAN, DIGITAL LINK AV IN AUDIO OUT 1 11 2 12 3 13 4 14 5 6 15 7 16 8 17 9 18 10 19 19 3 1 18 4 2 HDMI AV OUT

More information

外部SQLソース入門

外部SQLソース入門 Introduction to External SQL Sources 外部 SQL ソース入門 3 ESS 3 ESS : 4 ESS : 4 5 ESS 5 Step 1:... 6 Step 2: DSN... 6 Step 3: FileMaker Pro... 6 Step 4: FileMaker Pro 1. 6 Step 5:... 6 Step 6: FileMaker Pro...

More information

Chapter 1 1-1 2

Chapter 1 1-1 2 Chapter 1 1-1 2 create table ( date, weather ); create table ( date, ); 1 weather, 2 weather, 3 weather, : : 31 weather -- 1 -- 2 -- 3 -- 31 create table ( date, ); weather[] -- 3 Chapter 1 weather[] create

More information

WQD770W WQD770W WQD770W WQD770W WQD770W 5 2 1 4 3 WQD8438 WQD770W 1 2 3 5 4 6 7 8 10 12 11 14 13 9 15 16 17 19 20 20 18 21 22 22 24 25 23 2 1 3 1 2 2 3 1 4 1 2 3 2 1 1 2 5 6 3 4 1 2 5 4 6 3 7 8 10 11

More information

XAPP1064 : ソース同期のシリアライズおよびデシリアライズ (最大 1050 Mb/s)

XAPP1064 : ソース同期のシリアライズおよびデシリアライズ (最大 1050 Mb/s) アプリケーションノート : Spartan-6 FPGA XAPP1064 (v1.1) 2010 年 6 月 3 日 ソース同期のシリアライズおよびデシリアライズ ( 最大 1050Mb/s) 著者 : Nick Sawyer 概要 Spartan -6 は 入力 SerDes (ISERDES) および出力 SerDes () ブロックを備えています これらのプリミティブによって より高速な動作が実現されると同時に

More information

TH-65LFE7J TH-50LFE7J TH-42LFE7J - + - + PC IN DVI-D IN IR IN/OUT CHARGE OUT SERIAL IN LAN AUDIO IN (DVI-D / PC) AUDIO OUT AV IN (HDMI 1 HDMI 2) 19 3 1 1 11 2 12 3 13 4 14 5 6 15 7 16 8 17 9 18 10

More information

WYE771W取扱説明書

WYE771W取扱説明書 WYE771W WYE771W 2 3 4 5 6 MEMO 7 8 9 10 UNLOCK RESET/ STOPALARM EMERG. TALK FIRE CONFIRM MENU OFF POWER 11 UNLOCK RESET/ STOPALARM EMERG. TALK FIRE CONFIRM MENU OFF POWER 12 POWER EMERG. RESET/ STOPALARM

More information

Microsoft PowerPoint - 3.3タイミング制御.pptx

Microsoft PowerPoint - 3.3タイミング制御.pptx 3.3 タイミング制御 ハザードの回避 同期式回路と非同期式回路 1. 同期式回路 : 回路全体で共通なクロックに合わせてデータの受け渡しをする 通信における例 :I 2 C(1 対 N 通信 ) 2. 非同期式回路 : 同一のクロックを使用せず データを受け渡す回路間の制御信号を用いてデータの受け渡しをす 通信における例 :UART(1 対 1 通信 ) 2 3.3.1 ハザード 3 1 出力回路のハザード

More information

Xilinx UG190 Virtex-5 FPGA ユーザー ガイド

Xilinx UG190 Virtex-5 FPGA ユーザー ガイド Virtex-5 FPGA ユーザーガイド 本資料は英語版 (v4.5) を翻訳したものです 英語の更新バージョンがリリースされている場合には 最新の英語版を必ずご参照ください Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely

More information

基本操作ガイド

基本操作ガイド HT7-0199-000-V.5.0 1. 2. 3. 4. 5. 6. 7. 8. 9. Copyright 2004 CANON INC. ALL RIGHTS RESERVED 1 2 3 1 1 2 3 4 1 2 1 2 3 1 2 3 1 2 3 1 2 3 4 1 2 3 4 1 2 3 4 5 AB AB Step 1 Step

More information

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用 WP-01034-1.0/JP DLL (PVT compensation) 90 PLL PVT compensated FPGA fabric 90 Stratix III I/O block Read Dynamic OC T FPGA Write Memory Run Time Configurable Run Time Configurable Set at Compile dq0 dq1

More information

EPSON ES-D200 パソコンでのスキャンガイド

EPSON ES-D200 パソコンでのスキャンガイド NPD4271-00 ...4...7 EPSON Scan... 7...11 PDF...12 / EPSON Scan...13 EPSON Scan...13 EPSON Scan...14 EPSON Scan...14 EPSON Scan...15 Epson Event Manager...16 Epson Event Manager...16 Epson Event Manager...16

More information

NetVehicle GX5取扱説明書 基本編

NetVehicle GX5取扱説明書 基本編 -GX5 1 2 3 4 5 6 7 8 # @(#)COPYRIGHT 8.2 (Berkeley) 3/21/94 All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite Releases is copyrighted by The Regents of the University of California.

More information

DS-30

DS-30 NPD4633-00 JA ...6... 6... 6... 6... 6... 7... 7... 7... 7... 8... 8...9...10...11...11...13 Document Capture Pro Windows...13 EPSON Scan Mac OS X...14 SharePoint Windows...16 Windows...16...17 Document

More information

操作ガイド(本体操作編)

操作ガイド(本体操作編) J-1 QT5-0681-V02 1 m a b c d e f l kj i h g a b c d e f g h i j k l m n n o o s p q r p q r s w t u v x y z t u v w x y z a bc d e f g q p o n m l k j i h a b c d e f g h i j k l {}[] {}[] m n

More information

Xilinx XAPP485 Spartan-3E FPGA における最大レート 666Mbps でのデシリアライズ、アプリケーション ノート

Xilinx XAPP485 Spartan-3E FPGA における最大レート 666Mbps でのデシリアライズ、アプリケーション ノート XAPP485 (v1.1) 2006 11 10 R : Spartan-3E FPGA Spartan-3E FPGA 666Mbps 1:7 : Nick Sawyer (v1.1) Spartan -3E 666 / (Mbps) 1:7 Spartan-3E 4 5 666Mbps 1/7 Spartan-3E FPGA DCM ( ) DFS ( ) 3.5 DDR ( ) 1:7 DDR

More information

ES-D400/ES-D350

ES-D400/ES-D350 NPD4650-00 ...4 EPSON Scan... 4 Document Capture Pro Windows... 7 EPSON Scan...10 EPSON Scan...10...14 PDF...15 / EPSON Scan...17 EPSON Scan...17 EPSON Scan...18 EPSON Scan...18 Document Capture Pro Windows...19

More information

操作ガイド(本体操作編)

操作ガイド(本体操作編) J QT5-0571-V03 1 ...5...10...11...11...11...12...12...15...21...21...22...25...27...28...33...37...40...47...48...54...60...64...64...68...69...70...70...71...72...73...74...75...76...77 2 ...79...79...80...81...82...83...95...98

More information

DDK-7 取扱説明書 v1.10

DDK-7 取扱説明書 v1.10 DDK-7 v. JA 2 ()B-9 /4 ()B-9 2/4 3 4 ()B-9 3/4 ()B-9 4/4 5 6 7 "Mobile Wnn" OMRON SOFTWARE Co., Ltd. 999 All Rights Reserved. 8 CONTENTS 2 3 4 5 6 7 8 9 0 2 3 4 3 4 5 6 2 3 0 4 5 6 7 8 9 0 2 D. 2 3 4 5

More information

XAPP858 - High-Performance DDR2 SDRAM Interface In Virtex-5 Devices

XAPP858 - High-Performance DDR2 SDRAM Interface In Virtex-5 Devices XAPP858 (v1.1) 2007 1 9 : Virtex-5 FPGA Virtex-5 DDR2 SDRAM : Karthi Palanisamy Maria George (v1.1) DDR2 SDRAM Virtex -5 I/O ISERDES (Input Serializer/Deserializer) ODDR (Output Double Data Rate) DDR2

More information

基本操作ガイド

基本操作ガイド HT7-0022-000-V.4.0 Copyright 2004 CANON INC. ALL RIGHTS RESERVED 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 4 1 1 2 3 4 5 1 2 1 2 3 1 2 3 1 2 3 1 2 3 4 1 2 3 4 1 2 3 4 5 6 1 2 3 4 5 6 7 1 2 3 4

More information

DS-70000/DS-60000/DS-50000

DS-70000/DS-60000/DS-50000 NPD4647-02 JA ...5...7...8 ADF...9... 9 ADF...10...11...13...15 Document Capture Pro Windows...15 EPSON Scan Mac OS X...16 SharePoint Windows...18 Windows...18...19 Windows...19 Mac OS X...19...20...23...23

More information

GT-X830

GT-X830 NPD5108-00 ...5... 5... 6... 8...11 EPSON Scan...11 PDF...16 OCR...16...17...17...20 /...20...20...22...23...23...24...25...25...26...27 PDF...30...31 / EPSON Scan...34 EPSON Scan...34 EPSON Scan...36

More information

XAPP453 「3.3V 信号を使用した Spartan-3 FPGA のコンフィギュレーション」 v1.0 (02/05)

XAPP453 「3.3V 信号を使用した Spartan-3 FPGA のコンフィギュレーション」 v1.0 (02/05) アプリケーションノート : ファミリ XAPP453 (v1.0) 2005 年 2 月 2 日 3.3 信号を使用した のコンフィギュレーション 概要 このアプリケーションノートでは Spartan -3 および Spartan -3L の 3.3 コンフィギュレーションについて説明しています ここでは コンフィギュレーションモード別に完全な接続図を示しており インプリメンテーションに簡単に利用できる便利なソリューションです

More information

ザイリンクス XCN 製造中止製品の通知 : CPLD、コンフィギュレーション PROM、Spartan および Virtex FPGA 製品のリビジョン制御 SCD 製品番号

ザイリンクス XCN 製造中止製品の通知 : CPLD、コンフィギュレーション PROM、Spartan および Virtex FPGA 製品のリビジョン制御 SCD 製品番号 XCN12011 (v1.0) 2012 年 12 月 3 日 製造中止製品の通知 : CPLD コンフィギュレーション PROM Spartan および Virtex FPGA 製品のリビジョン制御 SCD 製品番号 製造中止製品の通知 概要 この通知は一部の SCD (Specification Control Document) 製品が製造中止となることをお知らせするものです これらの SCD

More information

TH-80LF50J TH-70LF50J

TH-80LF50J TH-70LF50J TH-80LF50J TH-70LF50J TY-ST58P20 (70V) TY-ST65P20 (80V) TY-WK70PV50 TY-FB10HD TY-PG70LF50 (70V) TY-PG80LF50 (80V) - + - + SERIAL IN, SERIAL OUT AUDIO IN (COMPOSITE) AV IN DVI-D IN/OUT PC IN AUDIO

More information

デザインパフォーマンス向上のためのHDLコーディング法

デザインパフォーマンス向上のためのHDLコーディング法 WP231 (1.1) 2006 1 6 HDL FPGA TL TL 100MHz 400MHz HDL FPGA FPGA 2005 2006 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx,

More information

untitled

untitled SUBJECT: Applied Biosystems Data Collection Software v2.0 v3.0 Windows 2000 OS : 30 45 Cancel Data Collection - Applied Biosystems Sequencing Analysis Software v5.2 - Applied Biosystems SeqScape Software

More information

PX-403A

PX-403A NPD4403-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.x...15...18...19...19...21...22!ex...22 /...23 P.I.F. PRINT Image Framer...23...24...27...27...28...28...28...32 Web...32...32...35...35...35...37...37...37...39...39...40...43...46

More information

GT-X980

GT-X980 NPD5061-00 JA ...6...10...10...11...13...15...20...21...21...22 /...23 PDF...27 PDF...31 /...35...38...43...46 EPSON Scan...49...49...49...50 EPSON Scan...51...51...52...52...53 2 Windows...53 Mac OS X...53...53...53...54...56...56...58...59...60...60...61...62...63

More information

Spartan-6 ライブラリ ガイド (HDL 用)

Spartan-6 ライブラリ ガイド (HDL 用) UG615 (v12.2) 2010 年 7 月 23 日 Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you solely for use in the development of designs to operate with Xilinx

More information

Microsoft Word - 実験4_FPGA実験2_2015

Microsoft Word - 実験4_FPGA実験2_2015 FPGA の実験 Ⅱ 1. 目的 (1)FPGA を用いて組合せ回路や順序回路を設計する方法を理解する (2) スイッチや表示器の動作を理解し 入出力信号を正しく扱う 2. スケジュール項目 FPGAの実験 Ⅱ( その1) FPGAの実験 Ⅱ( その2) FPGAの実験 Ⅱ( その3) FPGAの実験 Ⅱ( その4) FPGAの実験 Ⅱ( その5) FPGAの実験 Ⅱ( その6) FPGAの実験 Ⅱ(

More information

PX-504A

PX-504A NPD4537-00 ...6... 6... 9 Mac OS X...10 Mac OS X v10.5.x v10.6.x...10 Mac OS X v10.4.11...13...15...16...16...18...19...20!ex...20 /...21 P.I.F. PRINT Image Framer...21...22...26...26...27...27...27...31

More information

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk 2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk Autodesk Vault 2014 新機能 操作性向上 Inventor ファイルを Vault にチェックインすることなくステータス変更を実行できるようになりました 履歴テーブルの版管理を柔軟に設定できるようになりました

More information

PX-434A/PX-404A

PX-434A/PX-404A NPD4534-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.11...15...18...19...19...21...22!ex...22 /...23 P.I.F. PRINT Image Framer...23...24...26...27...27...28...28...31 Web...31...31...35...35...35...37...37...37...39...39...40...43...48

More information

IM 21B04C50-01

IM 21B04C50-01 User s Manual Blank Page Media No. (CD) 5th Edition : Sep. 2009 (YK) All Rights Reserved. Copyright 2001, Yokogawa Electric Corporation Yokogawa Electric Corporation Software License Agreement This

More information

EPSON PX-503A ユーザーズガイド

EPSON PX-503A ユーザーズガイド NPD4296-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.x...15...18...19...19...21...22...23!ex...23 /...24 P.I.F. PRINT Image Framer...24...25...28...28...29...29...30...33

More information

GT-F740/GT-S640

GT-F740/GT-S640 NPD4743-00 JA ...5 EPSON Scan... 5 Document Capture Pro / Document Capture...11...14 EPSON Scan...14 PDF...18 OCR...18...19...19...21 /...21...22...23 GT-F740...24...24...25...26...26...26...27 PDF...28...30

More information

「電子政府推奨暗号の実装」評価報告書

「電子政府推奨暗号の実装」評価報告書 2011 情財第 399 号 情報セキュリティ対策基盤整備事業 電子政府推奨暗号の実装 評価報告書 平成 24 年 12 月 [ 改訂履歴 ] 日付改訂内容 2012 年 12 月 11 日評価報告書初版発行 2012 年 12 月 21 日 2. 評価結果 内のデータを修正 ( 表 1-1 表 1-2 表 2-1 表 2-2 表 3-1 表 3-2 表 4-1 表 4-2 表 5-1 表 5-2

More information

MusicSoft Manager

MusicSoft Manager MusicSoft Manager( ミュージックソフトマネージャー ) は 電子楽器で扱うファイル ( ソングやスタイルデータ ) を iphone/ipod touch/ipad 上で管理するアプリケーションです 本アプリケーションにより以下のことができます データのダウンロード購入 データをアプリと楽器 コンピューター オンラインストレージサービス Dropbox ( ドロップボックス ) 間で転送

More information

EP-704A

EP-704A NPD4533-01 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.11...15...18...19...19...22...23...24!ex...24 /...25 P.I.F. PRINT Image Framer...25...26...29...29...30...30...31...34

More information

ChipScope Pro ILA コアと Project Navigator を使用した FPGA アプリケーションのデバッグ

ChipScope Pro ILA コアと Project Navigator を使用した FPGA アプリケーションのデバッグ ChipScope Pro ILA コアと Project Navigator を使用した FPGA アプリケーションのデバッグ UG750 (v12.3) 2010 年 11 月 5 日 Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you

More information

EPSON EP-803A/EP-803AW ユーザーズガイド

EPSON EP-803A/EP-803AW ユーザーズガイド NPD4293-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.x...15...18...19...19...22...23...24!ex...24 /...25 P.I.F. PRINT Image Framer...25...26...30...30...31...31...31...35

More information

EPSON EP-703A ユーザーズガイド

EPSON EP-703A ユーザーズガイド NPD4295-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.x...15...18...19...19...22...23...24!ex...24 /...25 P.I.F. PRINT Image Framer...25...26...29...30...30...31...31...34

More information

PLL クイック・ガイド for Cyclone III

PLL クイック・ガイド for Cyclone III ver.9.1 2010 年 1 月 1. はじめに アルテラ社製 FPGA デバイスにおいて PLL を実現するには ALTPLL メガファンクションを使用します ALTPLL を使用することでクロック信号を逓倍 分周 シフトなど簡単に調整することができます PLL で生成したクロック信号を出力専用ピンから外部のデバイスへ供給することも可能なので システムクロックを FPGA にて生成することも可能です

More information

Xilinx XAPP622 : 644 MHz SDR LVDS トランスミッタ /レシーバ

Xilinx XAPP622 : 644 MHz SDR LVDS トランスミッタ /レシーバ アプリケーションノート : Virtex-II シリーズ 644-MHz SD LVDS トランスミッタ / レシーバ XAPP622 (v1.7) 2004 年 4 月 27 日 概要 このアプリケーションノートでは 1 ペアのクロックと 16 ペアのデータチャネルの合計 17 ペアの低電圧差動信号伝送 (LVDS) を使用した 最大 644 MHz で動作するシングルデータレート (SD) トランスミッタおよびレシーバについて説明します

More information

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは? アルテラ FPGA 向け PLL リコンフィグの応用回路 1. PLL リコンフィグとは アルテラ FPGA は PLL 機能を内蔵しています PLL を利用して基本周波数を逓倍 分周したクロックを利用することができます 通常 FPGA 開発ツール Quartus2( 以下 Q2) の MegaWizard プラグインマネージャを利用して PLL を設定し 希望のクロック周波数を得ることができます

More information

Microsoft Word - HowToSetupVault_mod.doc

Microsoft Word - HowToSetupVault_mod.doc Autodesk Vault 環境設定ガイド Autodesk Vault をインストール後 必要最小限の環境設定方法を説明します ここで 紹介しているのは一般的な環境での設定です すべての環境に当てはまるものではありません 1 条件 Autodesk Data Management Server がインストール済み Autodesk Vault Explorer がクライアント PC にインストール済み

More information

Xilinx XAPP523 LVDS 4x Asynchronous Oversampling Using 7 Series FPGAs, Application Note

Xilinx XAPP523 LVDS 4x Asynchronous Oversampling Using 7 Series FPGAs, Application Note アプリケーションノート : 7 シリーズ FPGA XAPP523 (v1.0) 2012 年 4 月 6 日 7 シリーズ FPGA で LVS を使用した 4x 非同期オーバーサンプリング著者 : Marc efossez 概要 このアプリケーションノートでは SelectIO インターフェイスプリミティブで LVS を使用して非同期通信でデータをキャプチャする方法について説明します この方法では

More information

Xpand! Plug-In Guide

Xpand! Plug-In Guide Xpand! Version 1.0 Copyright 2006 Digidesign, a division of Avid Technology, Inc. All rights reserved. This guide may not be duplicated in whole or in part without the express written consent of Digidesign.

More information

X-Form Plug-in Guide

X-Form Plug-in Guide X-Form Plug-in Version 7.2 Copyright 2006 Digidesign, a division of Avid Technology, Inc. All rights reserved. This guide may not be duplicated in whole or in part without the express written consent of

More information

PX-673F

PX-673F NPD4385-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.x...15...18...19...19...21...22...23!ex...23 /...24 P.I.F. PRINT Image Framer...24...25...28...29...29...30...30...33

More information

AWS Client VPN - ユーザーガイド

AWS Client VPN - ユーザーガイド AWS Client VPN ユーザーガイド AWS Client VPN: ユーザーガイド Copyright 2019 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with

More information

2

2 SXSXD 2 3 4 5 6 7 8 9 10 11 12 13 DC12V EIAJ RC5320A Class4 14 15 16 17 18 19 20 21 22 23 24 25 26 SCOPE CHART SCOPE CHART CHART SCOPE SCOPE SCOPE CHART CHART 27 SCOPE MODE CHART MODE 28 29 CHART MODE

More information

ザイリンクス Spartan-6 FPGA SP605 評価キット スタートアップ ガイド (UG525)

ザイリンクス Spartan-6 FPGA SP605 評価キット スタートアップ ガイド (UG525) ザイリンクス Spartan-6 FPGA SP605 評価キットスタートアップガイド XPM 0402789-01 Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the development

More information

Microsoft Word - TC4013BP_BF_J_P9_060601_.doc

Microsoft Word - TC4013BP_BF_J_P9_060601_.doc 東芝 CMOS デジタル集積回路シリコンモノリシック TC4013BP,TC4013BF TC4013BP/TC4013BF Dual D-Type Flip Flop は 2 回路の独立な D タイプ フリップフロップです DATA 入力に加えられた入力レベルはクロックパルスの立ち上がりで Q および Q 出力に伝送されます SET 入力を H RESET 入力を L にすると Q 出力は H Q

More information

ザイリンクス XAPP1097 : Artix-7 FPGA GTP トランシーバーを使用した SMPTE SDI インターフェイスの実装

ザイリンクス XAPP1097 : Artix-7 FPGA GTP トランシーバーを使用した SMPTE SDI インターフェイスの実装 アプリケーションノート : Artix-7 ファミリ XAPP1097 (v1.0) 2013 年 12 月 5 日 Artix-7 FPGA GTP トランシーバーを使用した SMPTE SDI インターフェイスの実装著者 : John Snow 概要 放送業界向けの映像機器には SMPTE (Society of Motion Picture and Television Engineers)

More information

べリンガーB-CONTROL

べリンガーB-CONTROL B-CONTROL B-CONTROL B-CONTROL NATIVE INSTRUMENTS as well as the name of companies, institutions or publications pictured or mentioned and their respective logos are registered trademarks of their respective

More information

Microsoft PowerPoint LC_15.ppt

Microsoft PowerPoint LC_15.ppt ( 第 15 回 ) 鹿間信介摂南大学理工学部電気電子工学科 特別講義 : 言語を使った設計 (2) 2.1 HDL 設計入門 2.2 FPGA ボードの設計デモ配布資料 VHDL の言語構造と基本文法 2.1 HDL 設計入門 EDAツール : メンター社製品が有名 FPGAベンダーのSW 1 1 仕様設計 にも簡易機能あり 2 3 2 HDLコード記述 3 論理シミュレーション 4 4 論理合成

More information

AN 357: Error Detection & Recovery Using CRC in Altera FPGA Devices

AN 357: Error  Detection & Recovery Using CRC in Altera FPGA Devices 2008 年 7 月 ver. 1.4 アルテラ FPGA デバイスの CRC によるエラー検出およびリカバリ Application Note 357 概要 航空電子 テレコム システム コントロール および軍事用アプリケーションの分野で使用されるクリティカルな用途では 以下ができることが重要です FPGA デバイスに格納されたコンフィギュレーション データが正確であるかを確認する システムにコンフィギュレーション

More information

VLSI工学

VLSI工学 25/1/18 計算機論理設計 A.Matsuzawa 1 計算機論理設計 (A) (Computer Logic Design (A)) 東京工業大学大学院理工学研究科電子物理工学専攻 松澤昭 3. フリップフロップ回路とその応用 25/1/18 計算機論理設計 A.Matsuzawa 2 25/1/18 計算機論理設計 A.Matsuzawa 3 注意 この教科書では記憶回路を全てフリップフロップと説明している

More information

ベース0516.indd

ベース0516.indd QlikView QlikView 2012 2 qlikview.com Business Discovery QlikTech QlikView QlikView QlikView QlikView 1 QlikView Server QlikTech QlikView Scaling Up vs. Scaling Out in a QlikView Environment 2 QlikView

More information

XAPP594 パラレル LVDS 高速 DAC インターフェイス アプリケーション ノート

XAPP594 パラレル LVDS 高速 DAC インターフェイス アプリケーション ノート アプリケーションノート : 7 シリーズ FPGA XAPP594 (v1.0) 2012 年 8 月 22 日 パラレル LVDS 高速 DAC インターフェイス著者 : Marc Defossez 概要 このアプリケーションノートでは ザイリンクス 7 シリーズ FPGA が備える専用の SelectIO インターフェイスシリアライザー () コンポーネントを使用し シリアル LVDS ( 低電圧差動信号

More information

Microsoft Word - LaCie Manual_JA080719doc.doc

Microsoft Word - LaCie Manual_JA080719doc.doc Macintosh Intego Backup Assistant Intego Backup Manager Pro 2008 Intego. All Rights Reserved Intego http://lacie.intego.com Intego Backup Assistant Intego Backup Manager Pro for Macintosh Intego Backup

More information

Appendix

Appendix Appendix Appendix-A PHP 392 Appendix-B -> cd ext/pgsql -> phpize ->./configure --with-pgsql -> make -> make EXTENSION_DIR=/usr/local/lib/php/extensions install extension_dir = "/usr/local/lib/php/extensions/"

More information

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR 第 回マイクロプロセッサのしくみ マイクロプロセッサの基本的なしくみについて解説する. -1 マイクロプロセッサと周辺回路の接続 制御バス プロセッサ データ バス アドレス バス メモリ 周辺インタフェース バスの基本構成 Fig.-1 バスによる相互接続は, 現在のコンピュータシステムのハードウェアを特徴づけている. バス (Bus): 複数のユニットで共有される信号線システム内の データの通り道

More information

PX-B750F

PX-B750F NPD4539-00 ...6... 6... 9 Mac OS X...10 Mac OS X v10.5.x v10.6.x...10 Mac OS X v10.4.11...13...16...16...17...18...20...22!ex...22...23...26...27...27...28...28...30 Web...30...30...34...34...34...35...36...36...38...40...40...44...46...51

More information

PSP-3000 MHB

PSP-3000 MHB PSP-3000 MHB PSP PSP 4-261-883-01(1) 5 VCCI PSP-3000 2 2.4GHz2.400GHz 2.497GHz 2.4GHz 1. 2. 2.4GHz DS-SS 40m http://www.scei.co.jp/psp-eula/ 3 PSP................4...........................5 x........................12.....................15

More information