99
UltraScale アーキテクチャ クロッキング リソース ユーザー ガイド UG572 (v1.10) 2020 8 28 この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料に よっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきまし ては、必ず最新英語版をご参照ください。

UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

  • Upload
    others

  • View
    87

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース

ユーザー ガイド

UG572 (v1.10) 2020 年 8 月 28 日

この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

Page 2: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 2UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

改訂履歴

次の表に、 この文書の改訂履歴を示します。

日付 バージ ョ ン 内容

2020 年 8 月 28 日 1.10 第 3 章: 図 3-23 を更新。

「MMCM レジスタ」 のレジスタ 15 の表を更新。

2019 年 10 月 31 日 1.9 第 3 章: 表 3-4 に注記追加。 「スペク ト ラム拡散クロ ッ ク生成」 セクシ ョ ンを更新し、 新し

い内容と式を追加。 表 3-12 を更新。 31 ページの UltraScale+ の注記を更新。

2018 年 12 月 19 日 1.8 第 3 章: 「入力周波数の決定」 セクシ ョ ンのサンプルを更新。

「ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート (DRP)」 および 「ク ロ ッキングのガイ ド

ライン」 に新しいセクシ ョ ンを追加。

2018 年 4 月 9 日 1.7 第 2 章: 「BUFG_GT および BUFG_GT_SYNC」 セクシ ョ ンを更新。

第 3 章: 表 3-4 の注 3 を更新。

2017 年 6 月 6 日 1.6 第 3 章: 表 3-4 の 53 ページの 「COMPENSATION」 属性の BUF_IN の説明を更新。

2017 年 3 月 15 日 1.5 第 2 章: 15 ページの説明を更新。「BUFG_GT および BUFG_GT_SYNC」 セクシ ョ ンを更新。

第 3 章: 「MMCM におけるダイナミ ッ ク位相シフ ト インターフェイス」 セクシ ョ ンを更新。

表 3-6 および表 3-8 を追加。 表 3-12 の 「CLKOUT[0:1]_PHASE」 および

「CLKFBOUT_PHASE」 の説明を更新。

2016 年 12 月 12 日 1.4 第 1 章: 8 ページのクロ ッ ク兼用ピンとグローバル ク ロ ッ ク ピンの違いについての説明を

更新。

第 2 章: 「グローバル ク ロ ッ ク入力」 セクシ ョ ンを明確化。 図 2-3 の後に詳細情報を追加。

「BUFGCE_DIV」 セクシ ョ ンを更新。 32 ページの BUFG_GT_SYNC の説明に UltraScale+ デバイスを含むよ うに変更。

第 3 章: 「MMCM プリ ミティブ」 および 「PLL プリ ミ ティブ」 セクシ ョ ンに UltraScale+ デバイスの MMCME4 および PLLE4 プリ ミ ティブを追加。 「MMCM におけるダイナミ ッ ク

位相シフ ト インターフェイス」 セクシ ョ ンの PSCLK サイクルの説明を更新。 49 ページに

新しい推奨事項を追加。 「CLKINSTOPPED – 入力クロ ッ ク ステータス」 セクシ ョ ンを更

新。 表 3-11 およびその下の説明に CLKFBOUT および CLKFBIN を追加。

「CLKOUTPHYEN – PHY ク ロ ッ ク イネーブル」 の説明を更新。図 3-17 および図 3-18 を追

加。 表 3-12 で、 「DIVCLK_DIVIDE」 の有効な値を更新し、 「COMPENSATION」 セクシ ョ

ンに PHY_ALIGN を追加。

「お読みください: 重要な法的通知」 セクシ ョ ンを更新。

Page 3: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 3UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

2015 日 11 月 24 日 1.3 5 ページの 「UltraScale アーキテクチャの概要」 に UltraScale+ デバイスの紹介文を追加。

8 ページの 「7 シ リーズ FPGA との主な違い」 の次に 9 つ目の項目を追加。 9 ページの

「グローバル ク ロ ッ ク入力」 の第 1 段落に HDGC の説明を追加。 11 ページの 「ク ロ ッ ク

構造」 の第 1 段落を更新。 15 ページの 「ク ロ ッ ク バッファー」 に 「重要」 を追加。

29 ページの 「BUFCE_LEAF ク ロ ッ ク バッファー」 に、 2 つ目の段落を追加。 31 ページの

「BUFG_GT および BUFG_GT_SYNC」 の次に 2 文を追加。 33 ページの 「BUFG_PS」 を追

加。 39 ページの 「MMCM で分数分周を使用した周波数合成」 を 0.125 から 0.125 に変更。

40 ページの 「スタティ ッ ク位相シフ ト モード (MMCM および PLL)」 に MMCM と PLL を追加。 42 ページの 「MMCM ク ロ ッ ク分周値の動的変更 (CDDC)」 に MMCM を追加。

46 ページの 「CLKFBIN – フ ィードバッ ク ク ロ ッ ク入力」 に 「重要」 を追加。 表 3-4 に 51 ページの 「CLKFBOUT_MULT_F(1)」 用の UltraScale+ デバイスの MMCM 属性の列を追

加し、 53 ページの 「COMPENSATION」 の ZHOLD のデフォルト値を AUTO に変更し、

COMPENSATION の説明を明確化し、 注記 4、 および注記 5 を追加。 表 3-12 に、 75 ペー

ジの 「CLKFBOUT_MULT」 の UltraScale+ デバイスの PLL 属性の列を追加し、

COMPENSATION の説明を明確化し、 注記 1 を追加。 77 ページの 「ダイナミ ッ ク リ コン

フ ィギュレーシ ョ ン ポート (DRP)」 を追加。 97 ページの 「参考資料」 を更新。

2015 日 2 月 23 日 1.2 表 3-4 の 「CLKIN1_PERIOD」 および 52 ページの 「CLKIN2_PERIOD」 の有効な値を変更。

表 3-12 の 75 ページの 「CLKIN_PERIOD」 の有効な値を変更。

2014 年 8 月 21 日 1.1 「グローバル ク ロ ッ ク入力」 のクロ ッ ク専用ピンをグローバル ク ロ ッ ク ピンに置き換え。

「バイ ト ク ロ ッ ク入力」 を更新。 BBUFG_GT_SYNC を 「BUFG_GT および BUFG_GT_SYNC」 に追加。 図 3-3 を更新し、 表 3-3 にヒン ト を追加。 図 3-11 を更新。

2013 月 12 月 10 日 1.0 初版ザイ リ ンクス

日付 バージ ョ ン 内容

Page 4: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 4UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

目次

改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

第 1 章: 概要UltraScale アーキテクチャの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5ク ロ ッキングの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6ク ロ ッキング アーキテクチャの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6旧世代 FPGA のクロ ッキングとの違い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

第 2 章: クロッキング リソース概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9グローバル ク ロ ッ ク入力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9バイ ト ク ロ ッ ク入力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10ク ロ ッ ク バッファーおよびクロ ッ ク配線 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

第 3 章: クロック マネージメン ト タイル概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34MMCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート (DRP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76VHDL/Verilog テンプレート、 およびクロ ッキング ウ ィザード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96ク ロ ッキングのガイ ド ライン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

付録 A: その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97ソ リ ューシ ョ ン センター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97お読みください: 重要な法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

Page 5: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 5UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 1 章

概要

UltraScale アーキテクチャの概要

ザイ リ ンクスの UltraScale™ アーキテクチャは、 高帯域幅の I/O と メモ リ を必要とする次世代アプリ ケーシ ョ ンの要

件に対応するだけでなく、 チップ上でデータを効率的に配線して処理するプログラマブル デバイスを実現した革新

的なアプローチです。 UltraScale アーキテクチャ デバイスは、 業界最先端をいく革新的な技術によって高帯域幅、 高

使用率の幅広いシステム要件に対応します。 これらのデバイスは多数の構築ブロッ クが共通となっているため、 製

品間のデザイン移行に最適なだけでなく、 多くの新しい消費電力削減機能によって総消費電力の低減も実現されて

います。

Kintex® UltraScale FPGA は、 特にワッ ト あた りの性能を重視しながら高い性能を実現しており、 無線、 有線、 信号処

理、 画像処理などのアプリ ケーシ ョ ンに適しています。 DSP デジタル信号処理およびブロ ッ ク RAM の対ロジッ ク比

率が高く、 低コス トのパッケージに次世代ト ランシーバーが搭載されているこの FPGA は、 これらのアプリ ケー

シ ョ ンで求められる機能を最適な組み合わせで備えています。

Kintex UltraScale+™ FPGA は、オンチップに UltraRAM メモ リ を備えるこ とで BOM コス トの削減を可能にし、Kintex UltraScale ファ ミ リ をしのぐ性能を備えているのに加え、 高性能なペリ フェラルをバランス良く提供してコス ト効率

の高いシステム実装を実現します。 また、 Kintex UltraScale+ FPGA には多くの電源オプシ ョ ンがあ り、 最小限の消費

電力で必要なシステム性能が得られるよ う最適なバランスを取るこ とができます。

Virtex® UltraScale FPGA は、 最も高いシステム容量、 帯域幅、 そして性能を提供します。 これまでにないロジッ ク容

量、 シ リ アル I/O 帯域幅、 オンチップ メモ リ を持つ Virtex UltraScale ファ ミ リは、 性能の水準をさらに高めた製品と

なっています。

Virtex UltraScale+ FPGA は、 最も高いト ランシーバー帯域幅と DSP 数、 さ らに最大のオンチップ UltraRAM メモ リ を

備え、 最高のシステム性能を提供します。 UltraScale+ FPGA にも多くの電源オプシ ョ ンがあ り、 最小限の消費電力で

必要なシステム性能が得られるよ う最適なバランスを取るこ とができます。

Zynq® UltraScale+ MPSoC は、Arm® v8 ベースの Cortex®-A53 高性能でエンジン効率の高い 64 ビッ ト アプリ ケーシ ョ

ン プロセッサ、 Arm Cortex-R5 リ アルタイプ プロセッサと、 UltraScale アーキテクチャを統合した、業界初の MPSoC です。 次世代のプログラマブル エンジン、 セキュ リ ティ、 安全性、 信頼性、 そして 32 ビッ トから 64 ビッ トへ拡張

可能なスケーラビ リ ティを備える Zynq UltraScale+ MPSoC は、 これまでにない省電力性、 処理性能、 プログラマブ

ル アクセラレーシ ョ ン、 I/O、 メモ リ帯域幅を提供し、 ヘテロジニアスなプロセッシングを必要とするアプリ ケー

シ ョ ンに理想的です。

このユーザー ガイ ドでは、 UltraScale アーキテクチャのクロ ッキング リ ソースについて説明します。 UltraScale アー

キテクチャに関するその他の資料は、 ザイ リ ンクスのウェブサイ ト (japan.xilinx.com/documentation) から入手可能で

す。

Page 6: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 6UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 1 章: 概要

クロッキングの概要

この章では、 ク ロ ッキングの概要および UltraScale アーキテクチャ と前世代 FPGA のクロ ッキングの比較について説

明します。 ク ロ ッ ク リ ソースの使用に関する詳細は、 第 2 章 「ク ロ ッキング リ ソース」 および第 3 章 「ク ロ ッ ク マネージメン ト タイル」 を参照してください。詳細は、 『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949) [参照 1] の 「ク ロ ッキング ガイ ド ライン」 を参照してください。

クロッキング アーキテクチャの概要

UltraScale アーキテクチャのクロ ッ ク リ ソースは、 ク ロ ッ ク配線およびクロ ッ ク分配リ ソースに分配された専用のグ

ローバル ク ロ ッ クを使用して、 複雑なものからシンプルなものまでさまざまなクロ ッキング要件を管理します。

ク ロ ッ ク マネージメン ト タイル (CMT) は、 ク ロ ッ ク周波数の合成、 スキュー調整、 およびジッター フ ィルター機

能を提供します。 ローカル配線などのクロ ッ ク以外のリ ソースは、 ク ロ ッ ク機能の設計には推奨されていません。

• デバイスはセグメン ト化されたクロ ッ ク領域 (CR) の列 (カラム) と行 (ロウ) に分割されます。 デバイスの半分の

幅を占めていた従来のファ ミ リの CR とは異なり、 このアーキテクチャの CR はタイル状の配置に変更されてい

ます。 1 つの CR には、 複数のコンフ ィギャラブル ロジッ ク ブロ ッ ク (CLB)、 DSP スライス、 ブロ ッ ク RAM、

インターコネク ト 、 および関連するクロ ッキングが含まれます。 CR の高さは CLB 60 個分、 DSP スライス 24 個分、 ブロ ッ ク RAM 12 個分で、 中央には水平クロ ッ ク スパイン (HCS) があ り ます。 HCS には、 水平方向の配線/分配リ ソース、 リーフ ク ロ ッ ク バッファー、 ク ロ ッ ク ネッ ト ワーク インターコネク ト 、 およびクロ ッ ク ネッ

ト ワークのルートが含まれます。 ク ロ ッ ク バッファーは HCS に直接駆動します。 1 つのバンクには 52 の I/O のほか、 CR と同じピッチに揃えられた 4 つのギガビッ ト ト ランシーバー (GT) があ り ます。 コア カラムにはコン

フ ィギュレーシ ョ ン、 システム モニター (SYSMON)、 PCIe® ブロ ッ クが含まれ、 これが基本的なデバイス構成

とな り ます。

• I/O ブロ ッ ク カラムの隣には物理層 (PHY) ブロ ッ クがあ り、 この中には CMT、 グローバル ク ロ ッ ク バッ

ファー、 グローバル ク ロ ッ ク マルチプレクサー、 I/O ロジッ ク管理機能が含まれます。 ク ロ ッキングは HCS を経由し、 それぞれのクロ ッ ク配線/分配リ ソースを使用して垂直および水平方向に CR と I/O を駆動します。

• 水平方向のクロ ッ ク配線/分配ト ラ ッ クは、 横方向に CR を駆動します。 垂直方向の配線/分配ト ラ ッ クは、 縦方

向に隣接した CR を駆動します。 ト ラ ッ クは、 水平方向、 垂直方向と も CR の境界で分割できます。 これによ

り、 デバイス幅のグローバル ク ロ ッ クまたは可変サイズのローカル ク ロ ッ クが作成可能です。

• 分配ト ラ ッ クは、 デバイス全体における同期エレ メン トのクロ ッキングを駆動します。 この ト ラ ッ クは配線ト

ラ ッ クで駆動するか、 PHY のクロ ッキング構造によって直接駆動します。

• I/O は PHY ク ロ ッキングから直接駆動されるほか、 隣接する PHY から配線ト ラ ッ クを経由して駆動されます。

• 1 つの CMT には 1 つのミ ッ クス ド モード ク ロ ッ ク マネージャー (MMCM) と 2 つの位相ロッ ク ループ (PLL) が含まれます。

Page 7: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 7UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 1 章: 概要

クロック配線リソースの概要

各 I/O バンクには、デバイスのクロ ッ ク管理/配線リ ソースにユーザー ク ロ ッ クを取り込むグローバル ク ロ ッ ク (GC) 入力ピンが含まれます。 GC 入力は、 ユーザー ク ロ ッ クを次のリ ソースに取り込みます。

• 同じバンクに隣接する PHY にあるクロ ッ ク バッファー

• 同じバンクに隣接する PHY にある CMT

各デバイスには、 BUFGCTRL、 BUFGCE、 BUFGCE_DIV の 3 つのグローバル ク ロ ッ クバッファーがあ り ます。

また、 水平方向の分配ト ラ ッ クからデバイス内の各種ブロッ クへリーフ ク ロ ッ クを駆動するためのローカル ク ロ ッ

ク バッファーと して BUFCE_LEAF も用意されています。 BUFGCTRL から派生したソフ ト ウェア表現と して、

BUFGMUX、 BUFGMUX1、 BUFGMUX_CTRL、 BUFGCE_1 があ り ます。 BUFGCE は、 グ リ ッチのないクロ ッ ク ゲーティング用で、 その派生ソフ ト ウェア表現と して BUFG (BUFGCE のクロ ッ ク イネーブルを High に接続したも

の) があ り ます。 これらのグローバル ク ロ ッ ク バッファーは、 HCS ロウを介してデバイス ロジッ クへの配線/分配ト

ラ ッ クを駆動します。 各 HCS ロウには配線ト ラ ッ ク と分配ト ラ ッ クがそれぞれ 24 本あ り ます。 また、 GT ク ロ ッキ

ング用に分周したクロ ッ クを生成する BUFG_GT もあ り ます。 ク ロ ッ ク バッファーには次の特長があ り ます。

• ク ロ ッ ク イネーブル回路と して使用し、 グローバル、 ローカル、 または CR 内でクロ ッ クの有効/無効を切り替

え、 消費電力をきめ細かく制御できます。

• 次の目的でグ リ ッチのないマルチプレクサーと して使用できます。

° 2 つのクロ ッ ク ソースからの選択。

° 問題のあったクロ ッ ク ソースからの切り替え。

• 次の目的で CMT によって駆動されます。

° ク ロ ッ ク分配遅延の削除。

° 別のクロ ッ クに対する遅延の調整。

第 2 章 「ク ロ ッキング リ ソース」 で、 グローバル ク ロ ッ ク、 I/O、 GT ク ロ ッキングについてさらに詳し く説明しま

す。 アプリ ケーシ ョ ンに応じて使用すべきクロ ッ ク配線リ ソースについても解説します。

CMT の概要

UltraScale アーキテクチャ デバイスには、 各 I/O バンクの隣に PHY があ り、 その一部と して CMT があ り ます。

各 CMT は、 1 つの MMCM と 2 つの PLL で構成されます。MMCM は主に幅広い周波数に対応した周波数合成回路と

して使用するブロ ッ クで、 それ以外にも外部または内部クロ ッ ク用のジッ ター フ ィルターと しての機能や、 クロ ッ

クのスキュー調整など、 数多くの機能を備えています。 PLL は、 主に PHY I/O にクロ ッ クを供給する目的で使用し

ます。 デバイス内のほかのリ ソースにクロ ッ クを供給する目的でも使用できますが、 その機能には制約があ り ます。

デバイスのクロ ッ ク入力接続によって、 複数のリ ソースから MMCM および PLL に基準クロ ッ クを供給できます。

MMCM には、 ファ イン (高精度な) 位相シフ ト機能がいずれの方向にも無制限で追加されており、 これはダイナミ ッ

ク位相シフ ト モードで使用できます。 MMCM については、 フ ィードバッ ク パスまたは 1 つの出力パスのいずれか

に分数カウンターを持つため、 周波数合成機能の精度がさらに強化されます。

LogiCORE™ IP ク ロ ッキング ウ ィザードは、MMCM および PLL を活用して UltraScale アーキテクチャ デザインでク

ロ ッ ク ネッ ト ワークを作成するのに役立ちます。 GUI インターフェイスを使用し、 ク ロ ッ ク ネッ ト ワークのパラ

メーターを収集します。 ク ロ ッキング ウ ィザードは、 適切な CMT リ ソースを選択した上で、 CMT リ ソースおよび

関連するクロ ッ ク配線リ ソースを最適にコンフ ィギュレーシ ョ ンします。

第 3 章 「ク ロ ッ ク マネージメン ト タイル」 で、 CMT ブロ ッ ク機能および接続についてさらに詳し く説明します。

Page 8: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 8UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 1 章: 概要

旧世代 FPGA のクロッキングとの違い

UltraScale アーキテクチャ デバイスは、 ク ロ ッキング アーキテクチャに多くの革新的技術が導入されています。

大き く捉える と、 グローバル ク ロ ッ ク バッファーと ローカル ク ロ ッ ク バッファーの違いがほとんどなくなってい

ます。 したがって、 7 シ リーズのリージ ョナル ク ロ ッ ク バッファーの代わりに、 よ りグローバルな駆動が可能な新

しいクロ ッ ク バッファーが導入されています。 ク ロ ッ クをローカルに分配する場合は自動的にローカル ク ロ ッ ク バッファーが使用されます。 CMT ブロ ッ クは、 1 つの MMCM と 2 つの PLL で構成されます。 MMCM は 7 シ リーズ ファ ミ リのものとほぼ同じです。 PLL には I/O PHY ク ロ ッキングの新しい機能が追加されていますが、 デバイスの

ほかの部分のクロ ッキングに関しては機能と接続が縮小しています。

7 シリーズ FPGA との主な違い

• UltraScale アーキテクチャでは BUFMR、 BUFR、 BUFIO、 および関連する配線リ ソースがなくな り、 代わりに新

しいクロ ッ ク バッファー、 ク ロ ッ ク配線、 そして新しい I/O ク ロ ッキング アーキテクチャが採用されています。

• BUFGCTRL とその派生バッファーは同じよ うに使用可能です。 UltraScale アーキテクチャでは、 グローバル クロ ッ ク バッファー リ ソース と して BUFGCE と BUFGCE_DIV の 2 つが新し く追加されています。 ローカル クロ ッキング レベルでは BUFCE_LEAF ク ロ ッ ク バッファーが新たに導入され、 垂直方向のローカル ク ロ ッキン

グのほか、 いくつかの機能が追加されています。

• GT ク ロ ッ クの分周用に BUFG_GT バッファーが追加されました。

• ク ロ ッ ク配線アーキテクチャが新し く改良されました。 2 種類のグローバル配線ト ラ ッ ク と して、 配線ト ラ ッ ク

と分配ト ラ ッ クを備えています。 どちらの配線も CR レベルでセグメン ト分割可能なクロ ッ ク ネッ ト ワークを

実現します。 また、 これらの ト ラ ッ クは共にグローバル ク ロ ッ ク バッファーで駆動可能です。 分配ト ラ ッ ク

は、 配線ト ラ ッ クで駆動するこ と も、 ク ロ ッ ク バッファー リ ソースで直接駆動するこ と もできます。 分配ト

ラ ッ クは、 UltraScale デバイスのすべてのクロ ッ ク ポイン トに接続を提供します。

• CMT に含まれる PLL の数が従来の 1 つから 2 つに増えています。

• MMCM は 7 シ リーズ デバイスのものとほぼ同じです。 PLL には、 I/O PHY ク ロ ッキングに関する新しい機能が

追加されていますが、 デバイスのほかの部分のクロ ッキングに関しては機能と接続が縮小しています。 たとえ

ば、 PLL は位相の補正や外部フ ィードバッ クはサポート しておらず、 出力の数も少なくなっています。 また、

VCO (電圧制御オシレーター ) を PHY ク ロ ッキングと共有しているほか、 7 シ リーズ デバイスにあったいくつ

かの機能がサポート されていません。 このため、 ほとんどの場合、 通常のクロ ッキングには MMCM の使用を

推奨します。 ただし、 余った PLL を使用するこ と もできます。

• MMCM の出力クロ ッ ク周波数は、 MMCM を リセッ ト しな くても動的に変更できます。

• ク ロ ッ ク領域の定義が変更されました。 以前のクロ ッ ク領域は水平方向にデバイスの半分の幅を占めていまし

たが、 UltraScale アーキテクチャでは、 幅と高さが固定された長方形のクロ ッ ク領域がタイル状に配置されてい

ます。 水平および垂直方向のクロ ッ ク ト ラ ッ クは、 ク ロ ッ ク領域の境界で分割できます。

• CC (Clock Capable: ク ロ ッ ク兼用) ピンは、 GC (Global Clock: グローバル ク ロ ッ ク ) ピンに置き換わり ました。

また、 UltraScale+ アーキテクチャは、 HD (High-Density) I/O バンクを備えています。 このバンクには、 HDGC と呼ばれる 4 本のグローバル ク ロ ッ ク ピンがあ り ます。 HDGC ピンは、 BUFGCTRL に接続できます。

Page 9: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 9UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章

クロッキング リソース

概要

UltraScale™ アーキテクチャ デバイスには、 さまざまなクロ ッキング手法、 大きいファンアウ ト、 短い伝搬遅延、 非

常に大きいスキューなどの要件をサポートするためのクロ ッ ク配線リ ソースが用意されています。 ク ロ ッ ク配線リ

ソースを最大限に活用するには、 PCB から UltraScale デバイスへのユーザー ク ロ ッ クを取得する方法、 どのクロ ッ

ク配線リ ソースが最適かを決定する方法、 適切な I/O およびクロ ッ ク バッファーを利用してこれらのクロ ッ ク配線

リ ソースへアクセスする方法を設計者が理解している必要があ り ます。

グローバル クロック入力

外部のグローバル ユーザー ク ロ ッ クは、 グローバル ク ロ ッ ク (GC) 入力と呼ばれる差動クロ ッ ク ピン ペアで

UltraScale デバイスに取り込む必要があ り ます。 GC ピン ペアは各バンクに 4 つあ り、 同じ I/O バンクに隣接する CMT にあるグローバル ク ロ ッ ク バッファー、 MMCM、 PLL に直接アクセスできます。 UltraScale+ アーキテクチャ

では、 各 HD I/O バンクに 4 本の HDGC ピンがあ り ます。 HD I/O バンクがあるのは UltraScale+ ファ ミ リのみです。

HD I/O バンクの隣には XIPHY および CMT がないため、 HDGC ピンは、 BUFGCE (BUFG) のみ直接駆動可能で、

MMCM や PLL は駆動できません。 したがって、 HDGC ピンに接続されたクロ ッ クは、 BUFGCE を介してのみ MMCM/PLL へ接続できます。 デザイン ルール チェッ ク エラーを回避するには、 プロパティで CLOCK_DEDICATED_ROUTE = FALSE に設定してください。 GC 入力は、 内部のグローバルおよびリージ ョナル クロ ッ ク リ ソースへの専用の高速アクセスを提供します。 GC 入力は専用配線を使用します。 さまざまなクロ ッ ク機

能でタイ ミ ングが特に重視される場合は、 ク ロ ッ ク入力に GC 入力を利用する必要があ り ます。 ローカル インター

コネク ト を備える汎用 I/O は、 ク ロ ッ ク信号に使用できません。

各 I/O バンクは 1 ク ロ ッ ク領域にあ り、 52 本の I/O ピンを備えています。各 I/O カラムの I/O バンクそれぞれに 52 本の I/O ピンがあ り、 そのうちの 4 組がグローバル ク ロ ッ ク入力ピン ペア (合計 8 本のピン) です。 各グローバル クロ ッ クには次の特徴があ り ます。

• PCB の差動またはシングルエンド ク ロ ッ クに接続可能です。

• 差動 I/O 規格も含め、 任意の I/O 規格に構成可能です。

• P 側 (マスター ) および N 側 (スレーブ) があ り ます。

Page 10: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 10UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

シングルエンド ク ロ ッ ク入力は、 GC 入力ピン ペアの P (マスター ) 側に割り当てる必要があ り ます。 シングルエン

ド ク ロ ッ クを差動クロ ッ ク ピン ペアの P 側に接続した場合、 N 側を別のシングルエンド ク ロ ッ ク ピンと しては使

用できず、 ユーザー I/O と してのみ使用可能です。 ピンの命名規則については、 『UltraScale および UltraScale+ FPGA パッケージおよびピン配置ユーザー ガイ ド』 (UG575) [参照 2] を参照してください。

GC 入力がクロ ッ ク と して使用されない場合、 通常の I/O と して利用できます。 通常の I/O と して使用される場合、

グローバル ク ロ ッ ク入力ピンはシングルエンドまたは差動 I/O 規格と して構成できます。 GC 入力は、 その GC 入力

が属するバンクに隣接した PHY に接続できます。

バイ ト クロック入力

バイ ト レーン ク ロ ッ ク (DBC および QBC) 入力ピン ペアは、 I/O バンク内のビッ ト スライスへのソース同期クロ ッ

クを直接駆動する専用のクロ ッ ク入力です。 メモ リ アプリ ケーシ ョ ンでは、 これらは DQS と呼ばれます。 I/O のバ

イ ト ク ロ ッ クで使用しない場合、 これらのピンは汎用 I/O といったほかの機能に利用可能です。詳細は、 『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571) [参照 3] を参照してください。

クロック バッファーおよびクロック配線

グローバル ク ロ ッ クは、 すべてのクロ ッ ク入力とデバイスのさまざまな リ ソースを接続するための専用ネッ ト ワー

クです。 このネッ ト ワークは、 スキュー、 デューティ サイクルの歪み、 消費電力を抑え、 ジッ ター耐性が向上する

よ うに設計されています。 また、 非常に高い周波数の信号をサポートするよ うにも設計されています。

グローバル ク ロ ッ クの信号パスを理解する と、 さまざまなグローバル ク ロ ッ ク リ ソースについても理解できるよ う

にな り ます。 グローバル ク ロ ッ ク リ ソース とネッ ト ワークには、 次のパスおよびコンポーネン トが含まれます。

• 11 ページの 「ク ロ ッ ク構造」

• 15 ページの 「ク ロ ッ ク バッファー」

• 16 ページの 「BUFGCTRL ク ロ ッ ク バッファーのプリ ミティブ」

• 24 ページの 「BUFGCTRL のその他の使用モデル」

• 28 ページの 「BUFGCE ク ロ ッ ク バッファー」

• 29 ページの 「BUFG ク ロ ッ ク バッファー」

• 29 ページの 「BUFCE_LEAF ク ロ ッ ク バッファー」

Page 11: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 11UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

クロック構造

基本的なデバイス アーキテクチャは CR のブロッ クで構成されています。 CR はタイル状に並んでおり、 列 (カラム) と行 (ロウ) を形成します。 各 CR には、 スライス (CLB)、 DSP、 および 36K ブロ ッ ク RAM ブロ ッ クが含まれます。

スライス、 DSP、 ブロ ッ ク RAM カラムの構成比率は CR ごとに異なり ますが、 垂直方向には常に同じ構成の CR が並びます。 これによ り、 デバイス全体でこれら リ ソースのカラムが形成されます。 次に、 CR カラムと共に I/O およ

び GT カラムがあ り ます。 また、 コンフ ィギュレーシ ョ ン ロジッ ク、 SYSMON、 PCIe ブロ ッ クを含むカラムも 1 つあ り ます。 CR、 I/O、 GT の各ロウの中央には、 デバイス全体を水平に貫く HCS が通っています。 HCS には水平方向

の配線/分配ト ラ ッ クのほか、 リーフ ク ロ ッ ク バッファーおよび水平/垂直方向の配線/分配ト ラ ッ クを相互接続する

クロ ッ ク ネッ ト ワーク インターコネク トが含まれます。垂直方向の配線/分配ト ラ ッ クは、同じカラム内のすべての CR を接続します。 垂直方向の配線は I/O カラム全体に広がっています。 水平方向には各 24 本の配線ト ラ ッ ク と分配

ト ラ ッ クがあ り (図 2-1 参照)、垂直方向にも各 24 本の配線ト ラ ッ ク と分配ト ラ ッ クがあ り ます (図 2-2 参照)。 これら

のクロ ッ ク配線リ ソースの目的は、 クロ ッ クをグローバル ク ロ ッ ク バッファーから中心点に配線するこ とです。

この中心点からは、 ク ロ ッ ク分配リ ソースを通って負荷に接続されます。 このよ うなク ロ ッ ク ネッ ト ワークの中心

点を、 UltraScale アーキテクチャではクロ ッ ク ルート と呼びます。 ク ロ ッ ク ルートは、 CR から クロ ッ ク分配リ ソー

スを介して負荷に配線され、 デバイス内の任意の CR に存在できます。 このよ うなアーキテクチャによって、 ク ロ ッ

ク スキューが最適化されました。 ク ロ ッ ク配線リ ソース と ク ロ ッ ク分配リ ソースは、 必要に応じて、 隣接する CR に接続するこ と も、 CR の境界で接続せず、 切り離しておく こ と もできます。 このコンセプ トは、 SSI デバイスにも

適用されます。

Page 12: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 12UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

X-Ref Target - Figure 2-1

図 2-1: 水平方向クロッキング

I/O Column

HCS

I/O Column

PHY and Clocking

CR Column CR Column GT Column

24 Distribution Tracks

24 Routing Tracks

CR Column with PCIe, Configuration, and SYSMON Column

X16662-111516

Page 13: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 13UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

X-Ref Target - Figure 2-2

図 2-2: 垂直方向クロッキング

I/O Column I/O Column

PHY and Clocking

24 Distribution Tracks24 Routing Tracks

CR Column CR Column GT Column

CR Column with PCIe, Configuration, and SYSMON Column

12 Distribution and 12 Routing Tracks on each side

X16663-111516

Page 14: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 14UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

ク ロ ッ クをソースから分配する方法には、 次の 2 とおりがあ り ます (図 2-3 参照)。

• ク ロ ッ クを配線ト ラ ッ クに取り込み、 負荷なしで CR の中心ポイン トへ駆動します。 次に、 このクロ ッ クは分

配ト ラ ッ クを一方向に駆動し、 そこから クロ ッ ク ネッ ト ワークがファン アウ ト します。 こ うするこ とで、 ク

ロ ッ ク バッファーは CR 内の特定のポイン ト まで駆動し、 そこから クロ ッ ク バッファーはまず垂直方向に、 そ

して次に水平方向に分配ト ラ ッ クを進み、 ク ロ ッ ク ポイン ト を駆動します。 ク ロ ッ ク ポイン トは、 同じ CR および必要に応じて隣接する CR にある CE (ク ロ ッ ク イネーブル) 付きのリーフ ク ロ ッ クによって駆動されます。

分配ト ラ ッ クは配線ト ラ ッ クを駆動できません。

この分配方式を用いてすべての負荷のルート を特定の位置に移動するこ とで、 局所的なスキューを改善できま

す。 さ らに、 配線ト ラ ッ ク と分配ト ラ ッ クはどちら も水平または垂直に隣接した CR をセグメン ト形式で駆動で

きます。 配線ト ラ ッ クは隣接する CR 内の配線および分配ト ラ ッ クをどちら も駆動できますが、 分配ト ラ ッ クは

隣接する CR にあるほかの水平分配ト ラ ッ クを駆動できます。 CR は境界でセグメン ト されているため、 デバイ

ス全体にわたる完全にグローバルなクロ ッ ク ネッ ト ワークを構築するこ と も、 ク ロ ッキング ト ラ ッ クを再利用

して可変サイズのよ り局所的なローカル ク ロ ッ ク ネッ ト ワークを構築するこ と も可能です。

• も う 1 つの方法は、 クロ ッ ク バッファーで分配ト ラ ッ クを直接駆動し、 ク ロ ッ クを分配する という ものです。

この方法では、 ク ロ ッ ク挿入の遅延を少なくできます。

X-Ref Target - Figure 2-3

図 2-3: クロック領域のクロッキング

Columns ofCLBs, Block RAMs, DSPs

Columns ofCLBs, Block RAMs,DSPs

CR Boundary

Columns ofCLBs, Block RAMs,DSPs

From/To NextCR or FromClock Buffers

From/To NextCR or From

Clock BuffersHCS

From/To CR Above

From/ToCR Below

HorizontalDistribution

HorizontalRouting

VerticalRouting

VerticalDistribution

24

24

24

CEBUFCE_LEAFs

BUFCE_LEAFs

CE CE

CETS

TS

Root

CE

CE CECE CE

24

Columns ofCLBs, Block RAMs,DSPs

X16681-111516

Page 15: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 15UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

• XIPHY BITSLIC スライスの各 4 バイ トには、 HCS からそれらのグローバル ク ロ ッキング ピンへの接続が 6 つあ り ます。 したがって、 6 つの BUFG のみが、 いずれか片方の I/O バンクの BITSLICE ク ロ ッキング ピンを駆動

できます (最大 6 つのクロ ッ クがいずれか一方の I/O バンクを駆動できる )。

クロック バッファー

PHY グローバル クロ ッキングには、 BUFGCTRL、 BUFGCE、 BUFGCE_DIV のセッ トが複数含まれます。 各セッ ト

は、 隣接するバンクからの 4 本の GC ピン、 同じ PHY 内の MMCM、 PLL、 およびインターコネク トで駆動できます。

次に、 クロ ッ ク バッファーがデバイス全体の配線/分配リ ソースを駆動します。 各 PHY には、 24 の BUFGCE、 8 つの BUFGCTRL、 4 つの BUFGCE_DIV があり ますが、 同時に使用できるのはいずれか 24 のバッファーに限られます。

重要: 各グローバル ク ロ ッ ク バッファーを特定の場所に割り当てる作業は、 Vivado® 配置プログラムのみに許可する

こ とを推奨します。 各 CR には、 24 の BUFGCE、 8 つの BUFGCTRL、 4 つの BUFGCE_DIV があ り ます。 これらのク

ロ ッ ク バッファーは 24 本の配線ト ラ ッ クを共用するため、 競合が発生して配線ができなくなる場合があ り ます。

ある CR にグローバル ク ロ ッ ク バッファーを多数含める必要があるデザインでは、 それらのバッファーに、 特定の LOCATION プロパティではなく、 CLOCK_REGION プロパティを設定するこ とを推奨します。

このクロ ッキング アーキテクチャでは、 BUFGCTRL マルチプレクサーおよびそのすべての派生バッファーを隣接す

るクロ ッ ク バッファーにカスケード接続して、 8 つの BUFGMUX (BUFGCTRL マルチプレクサー ) による リ ングを

形成できます。 図 2-4 に、 カスケード接続された BUFGCTRL のブロッ ク図を示します。

次のセクシ ョ ン以降では、 ク ロ ッ ク バッファーの各種構成、 プリ ミ ティブ、 使用モデルについて説明しています。

X-Ref Target - Figure 2-4

図 2-4: カスケード接続した BUFGCTRL

X16664-111516

Page 16: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 16UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

BUFGCTRL クロック バッファーのプリ ミテ ィブ

表 2-1 に、 ク ロ ッ ク BUFGCTRL バッファーのプリ ミティブを示します。 Vivado ツールは、 これらすべてのプリ ミ

ティブのコンフ ィギュレーシ ョ ンを管理します。 LOC 制約については、 『Vivado Design Suite ユーザー ガイ ド : 制約の

使用』 (UG903) [参照 4] を参照してください。

BUFGCTRL

BUFGCTRL プリ ミ ティブ (図 2-5 参照) では、 2 つの非同期クロ ッ クの切り替えが可能です。 その他のグローバル クロ ッ ク バッファー プリ ミティブはすべて BUFGCTRL のコンフ ィギュレーシ ョ ンから派生したものです。

BUFGCTRL には、 S0、 S1、 CE0、 CE1 の 4 つのセレク ト ラインと IGNORE0 および IGNORE1 の 2 つの制御ラインが

あ り ます。 これらの 6 つの制御ラインを使用して入力 I0 と I1 を制御します。

表 2-1: BUFGCTRL クロック バッファーのプリ ミテ ィブ

プリ ミテ ィブ 入力 出力 制御

BUFGCTRL I0、 I1 O CE0、 CE1、 IGNORE0、 IGNORE1、 S0、 S1

BUFGCE_1 I O CE

BUFGMUX I0、 I1 O S

BUFGMUX_1 I0、 I1 O S

BUFGMUX_CTRL I0、 I1 O S

X-Ref Target - Figure 2-5

図 2-5: BUFGCTRL プリ ミテ ィブ

IGNORE1

IGNORE0

CE1

CE0

S1

S0

I1

I0

O

BUFGCTRL

X16665-111516

Page 17: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 17UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

BUFGCTRL は、 2 つのクロ ッ ク入力をグ リ ッチなしで切り替えるよ う設計されています。 S0 と S1 の変化後に選択

されているクロ ッ クが High から Low に切り替わる と、出力はも う 1 つのクロ ッ クが High から Low に遷移するまで Low を維持します。 その後、 新しいクロ ッ クが出力を駆動し始めます。 デフォルトのコンフ ィギュレーシ ョ ンでは BUFGCTRL は立ち下がりエッジを認識し、 入力が切り替わる前は Low に保持されるよ うになっています。

INIT_OUT 属性を使用するこ とで、 立ち上がりエッジを認識して、 入力が切り替わるまで High を保持するよ うにも

設定できます。

アプリ ケーシ ョ ンによっては、 上記のよ うな切り替え条件が適さない場合もあ り ます。 その場合は、 IGNORE ピン

をアサートする と BUFGCTRL は 2 つのクロ ッ ク入力の切り替え条件を検出しなくな り ます。 つま り、 IGNORE をア

サートする とセレク ト ピンの変化と同時にマルチプレクサーの入力が切り替わり ます。 IGNORE0 をアサートする と

セレク ト ピンの変化と同時に I0 入力から切り替わり、 IGNORE1 をアサートする とセレク ト ピンの変化と同時に I1 入力から切り替わり ます。

入力クロ ッ クは、 S0 と CE0 または S1 と CE1 のペアのいずれかが High にアサート されなければ選択できません。

S かクロ ッ ク イネーブル (CE) のいずれかが High にアサート されていないと きは、 必要な入力が選択されません。

通常は、 両方のペア (4 つのすべてのセレク ト ライン) が同時に High にアサート されるこ とはあ り ません。 セレク ト ラインと して使用されるのは、 ペアの一方のピンだけで、 も う一方は High に固定されます。 表 2-2 はその真理値表

です。

S と CE はどちらも出力を選択するために使用しますが、 グ リ ッチのない切り替えを実行できる S の使用を推奨しま

す。 CE を使用してクロ ッ クを切り替える と、 S を使用した場合よ り も ク ロ ッ ク選択が高速で変更されます。 CE ピン

でセッ ト アップ/ホールド タイム違反がある と、 ク ロ ッ ク出力でグ リ ッチが発生します。 一方、 S ピンの使用では、

セッ ト アップ/ホールド タイムと無関係に 2 つのクロ ッ ク入力を切り替えるこ とができます。 このため、 S ピンを使

用してクロ ッ クを切り替えてもグ リ ッチは発生しません。 23 ページの 「BUFGMUX_CTRL」 を参照してください。

図 2-6 のタイ ミ ング図は、 BUFGCTRL プリ ミティブを使用した場合のクロ ッ クの切り替わり を示しています。 正確

なタイ ミ ング値は、 スピード ファ イルから求めるこ とができます。

表 2-2: クロック リソースの真理値表

CE0 S0 CE1 S1 O

1 1 0 X I0

1 1 X 0 I0

0 X 1 1 I1

X 0 1 1 I1

1 1 1 1 前の入力(1)

注記:1. 前の入力とは、 このステートに移行する前の有効な入力クロ ッ クのこ とです。

2. これ以外のステートではすべて、 出力が INIT_OUT 値になり、 ト グルしません。

Page 18: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 18UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

• タイム イベン ト 1 の前は、 出力 O に入力 I0 が選択されています。

• タイム イベン ト 1 の立ち上がりエッジよ り TBCCCK_CE 前に、 CE0 と S0 が Low にディアサート されます。

これとほぼ同時に、 CE1 と S1 が High にアサート されます。

• タイム イベン ト 3 よ り TBCCKO_O 後に、 出力 O が入力 I1 に切り替わり ます。 これは、 I0 が High から Low になり (イベン ト 2)、 I1 が High から Low になる と発生します。

• タイム イベン ト 4 で IGNORE1 がアサート されます。

• タイム イベン ト 5 で CE0 と S0 が High にアサート され、 CE1 と S1 が Low にディアサート されます。 タイム イベン ト 6 よ り TBCCKO_O 後に、 出力 O の入力が I1 から I0 に切り替わり ます。 このと き、 I1 が High から Low に切り替わる必要はあ り ません。

BUFGCTRL には、 ほかに次のよ うな機能があ り ます。

• I0 と I1 入力は、 コンフ ィギュレーシ ョ ン後、 デバイスが動作を開始する前にあらかじめ選択されます。

• コンフ ィギュレーシ ョ ン後の最初の出力には、 High または Low のどちらでも選択できます。

• CE0 と CE1 のみを使用してクロ ッ クを選択 (S0 と S1 を High に固定) した場合、 前に選択されたクロ ッ クの High から Low への遷移を待つこ とな く別のクロ ッ クを選択できます。

X-Ref Target - Figure 2-6

図 2-6: BUFGCTRL のタイ ミング図

I0

I1

S0

S1

IGNORE0

IGNORE1

O

CE0

CE1

1 2 3 4 5 6

TBCCKO_O

at I0 Begin I1 Begin I0

TBCCKO_O TBCCKO_O

TBCCKK_CE

X16666-111516

Page 19: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 19UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

表 2-3 に、 BUFGCTRL プリ ミ ティブの属性を示します。

BUFGCE_1

BUFGCE_1 はクロ ッ ク入力、 ク ロ ッ ク出力、 ク ロ ッ ク イネーブル ラインを 1 つずつ持つクロ ッ ク バッファーです。

このプリ ミ ティブは BUFGCTRL に対して、 一部のピンをロジッ ク High または Low に固定したものです。 図 2-7 に、

BUFGCE_1 と BUFGCTRL の関係を示します。 BUFGCE_1 の手動配置には LOC 制約を使用できます。 詳細は、

『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 4] を参照してください。

BUFGCE_1 の切り替え条件は、 BUFGCTRL で INIT_OUT を 1 にセッ ト した場合と同様です。 入力クロ ッ クの立ち下

がりエッジ前に CE 入力が Low になる場合は、 その後の入力クロ ッ ク パルスは出力に送信されず、 出力は High に保

たれます。 入力クロ ッ クが Low の間に CE が変化しても、 ク ロ ッ クが High になるまで出力に影響はあ り ません。

ク ロ ッ クが無効になる と出力は High のままとな り ます。 ただし、 ク ロ ッ クが無効になる時点でのクロ ッ ク Low パル

スは出力されます。

重要: ク ロ ッ ク イネーブル ラインに BUFGCTRL の CE ピンを使用するため、 セレク ト信号はセッ ト アップ タイム要

件を満たす必要があ り ます。 この条件に違反する とグ リ ッチが発生する可能性があ り ます。

表 2-3: BUFGCTRL 属性

属性名 説明 設定可能な値

INIT_OUT コンフ ィギュレーシ ョ ン後に BUFGCTRL 出力を特定の値に初期化

します。 立ち上がりエッジと立ち下がりエッジのいずれを使用する

かを設定します。 また、 ク ロ ッ ク選択を切り替える と きの出力レベ

ルを設定します。

0 (デフォルト )、 1

PRESELECT_I0 TRUE の場合、 コンフ ィギュレーシ ョ ン後の BUFGCTRL の出力に I0 入力が選択されます。 (1)

FALSE (デフォルト )、 TRUE

PRESELECT_I1 TRUE の場合、 コンフ ィギュレーシ ョ ン後の BUFGCTRL の出力に I1 入力が選択されます。 (1)

FALSE (デフォルト )、 TRUE

注記:1. 2 つの PRESELECT 属性を同時に TRUE にはできません。

X-Ref Target - Figure 2-7

図 2-7: BUFGCE_1 と BUFGCTRL の関係

IGNORE1

IGNORE0

CE1

CE0

S1

S0

I1

I0O

BUFGCE_1

BUFGCE_1 as BUFGCTRL

VDDGND

VDDCE

VDDOII

CEGND

GNDX16668-111516

Page 20: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 20UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

図 2-8 に、 BUFGCE_1 のタイ ミ ング図を示します。

BUFGMUX および BUFGMUX_1

BUFGMUX はクロ ッ ク入力 2 つと、 ク ロ ッ ク出力、 ク ロ ッ ク イネーブル ラインを 1 つずつ持つクロ ッ ク バッファー

です。 このプリ ミティブは BUFGCTRL に対して、 一部のピンをロジッ ク High または Low に固定したものです。

図 2-9 に、 BUFGMUX と BUFGCTRL の関係を示します。 BUFGMUX と BUFGCTRL の手動配置には LOC 制約を使

用できます。 詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 4] を参照してください。

重要: BUFGMUX は CE ピンをセレク ト ピンと して使用するため、 セレク ト を使用する場合は、 セッ ト アップ タイム

要件を満たしている必要があ り ます。 この条件に違反する とグ リ ッチが発生する可能性があ り ます。

X-Ref Target - Figure 2-8

図 2-8: BUFGCE_1 のタイ ミング図

X-Ref Target - Figure 2-9

図 2-9: BUFGMUX と BUFGCTRL の関係

BUFGCE_1(I)

BUFGCE_1(CE)

BUFGCE_1(O)

TBCCKO_O

TBCCCK_CE

X16669-111516

IGNORE1

IGNORE0

CE1S

CE0

S1

S0

I1

I0

O

BUFGMUX

VDD

VDD

O

I1

I0

S

GND

GNDX16670-111516

Page 21: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 21UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

BUFGMUX の入力切り替え条件は BUFGCTRL の CE ピンと同様です。 図 2-10 に、 BUFGMUX のタイ ミ ング図を示

します。

図 2-10 について説明します。

• 現在のクロ ッ クは I0 です。

• S が High に変化します。

• I0 が現在 High の場合、 マルチプレクサーは I0 が Low にディアサート されるのを待ちます。

• I0 が Low になる と、 I1 が High から Low に切り替わるまでマルチプレクサーの出力は Low に保たれます。

• I1 が High から Low に切り替わる と、 出力は I1 に切り替わり ます。

• セッ ト アップ/ホールド タイム要件が満たされている場合、 出力にグ リ ッチやシ ョート パルスは発生しません。

BUFGMUX_1 は立ち上がりエッジを認識し、 入力が切り替わるまで High に保持されます。 図 2-11 に、

BUFGMUX_1 のタイ ミ ング図を示します。 BUFGMUX と BUFGMUX_1 の手動配置には LOC 制約を使用できます。

詳細は、 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903) [参照 4] を参照してください。

X-Ref Target - Figure 2-10

図 2-10: BUFGMUX のタイ ミング図

S

I0

I1

O

TBCCKO_O TBCCKO_O

TBCCCK_CE

begin switching using I1

X16671-111516

Page 22: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 22UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

図 2-11 について説明します。

• 現在のクロ ッ クは I0 です。

• S が High に変化します。

• I0 が現在 Low の場合、 マルチプレクサーは I0 が High にアサート されるのを待ちます。

• I0 が High になる と、 I1 が Low から High に切り替わるまでマルチプレクサーの出力は High に保たれます。

• I1 が Low から High に切り替わる と、 出力は I1 に切り替わり ます。

• セッ ト アップ/ホールド タイム要件が満たされている場合、 出力にグ リ ッチやシ ョート パルスは発生しません。

表 2-4 に、 BUFGMUX プリ ミティブの属性を示します。

X-Ref Target - Figure 2-11

図 2-11: BUFGMUX_1 のタイ ミング図

S

I0

I1

O

TBCCCK_CE

TBCCKO_O

X16672-111516

表 2-4: BUFGMUX の属性

属性名 説明 設定可能な値

CLK_SEL_TYPE ク ロ ッ ク切り替えの同期または非同期を指定します。 SYNC (デフォルト )、 ASYNC

Page 23: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 23UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

BUFGMUX_CTRL

BUFGMUX_CTRL はクロ ッ ク入力 2 つと、 ク ロ ッ ク出力、 セレク ト ラインを 1 つずつ持つクロ ッ ク バッファーで

す。 このプリ ミ ティブは BUFGCTRL に対して、 一部のピンをロジッ ク High または Low に固定したものです。

図 2-12 に、 BUFGMUX_CTRL と BUFGCTRL の関係を示します。

BUFGMUX_CTRL では、 S ピンがセレク ト ピンと して使用されます。 S はグ リ ッチを発生させずに常に切り替え可

能です。 S のセッ ト アップ/ホールド タイムによって、 新しいクロ ッ クへの切り替え前に、 その前のクロ ッ クの余分

なパルスが出力されるかが決ま り ます。 図 2-13 のよ うに、 セッ ト アップ タイム TBCCCK_S よ り前、 I0 が High から Low になる前に S が変化した場合、 I0 の余分なパルスは出力されません。 S がホールド タイムの後に変化した場合

は、 余分なパルスが出力されます。 S がセッ ト アップ/ホールド タイムに違反する と、 余分なパルスが出力されるこ

と もあ り ますが、 グ リ ッチは発生しません。 いずれの場合でも、 出力は遅い方のクロ ッ クの 3 ク ロ ッ ク サイクル以

内に新しいクロ ッ クに変わり ます。

S0 と S1 のセッ ト アップ/ホールド タイムの要件は、 CE0 と CE1 のよ うに立ち上がりエッジではなく、 立ち下がり

エッジが基準となっています。

X-Ref Target - Figure 2-12

図 2-12: BUFGMUX_CTRL と BUFGCTRL の関係

IGNORE1

IGNORE0

CE1

S

CE0

S1

S0

I1

I0

O

BUFGMUX_CTRL

VDD

VDD

O

I1

I0

S

GND

GNDX16673-111516

Page 24: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 24UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

BUFGMUX_CTRL の入力切り替え条件は BUFGCTRL の S ピンと同様です。 図 2-13 に、 BUFGMUX_CTRL のタイ ミ

ング図を示します。

BUFGMUX_CTRL プリ ミ ティブには、 ほかに次のよ うな機能があ り ます。

• I0 および I1 入力はコンフ ィギュレーシ ョ ン後にあらかじめ選択しておく こ とができます。

• コンフ ィギュレーシ ョ ン後の最初の出力は、 High または Low のどちらにでも設定できます。

BUFGCTRL のその他の使用モデル

BUFGCTRL を使用した非同期マルチプレクサー (MUX)

アプリ ケーシ ョ ンによっては、 ク ロ ッ ク入力の即座の切り替えや BUFGCTRL のエッジ認識の無視が必要とな り ま

す。 たとえば、 ク ロ ッ ク入力の 1 つがト グルを停止しているよ うな場合、 BUFGCTRL ではクロ ッ ク エッジが認識さ

れないため、 ク ロ ッ ク出力の切り替え条件は成立しません。 このよ うな場合には非同期 MUX を使用します。

図 2-14 に、 BUFGCTRL を使用した非同期 MUX のサンプル デザインを示します。

X-Ref Target - Figure 2-13

図 2-13: BUFGMUX_CTRL のタイ ミング図

S

I0

I1

OTBCCKO_O TBCCKO_O

X16674-111516

Page 25: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 25UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

図 2-15 は、 非同期 MUX のタイ ミ ング図です。

X-Ref Target - Figure 2-14

図 2-14: BUFGCTRL を使用した非同期マルチプレクサー

X-Ref Target - Figure 2-15

図 2-15: 非同期マルチプレクサーのタイ ミング図

IGNORE1

IGNORE0

CE1

S

CE0

S1

S0

I1

I0

S

I1

I0

O

Asynchronous MUXDesign Example

O

VDD

VDD

VDD

VDD

X16675-111516

TBCCKO_O TBCCKO_O

I0

I1

S

O

at I0 Begin I1

X16676-111516

Page 26: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 26UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

図 2-15 について説明します。

• 現在のクロ ッ クは I0 です。

• S が High に変化します。

• 直後にクロ ッ ク出力が I1 に切り替わり ます。

• IGNORE 信号が High にアサート される と、 グ リ ッチを発生させないよ うにする機能は無効になり ます。

クロック イネーブル付き BUFGMUX_CTRL

BUFGCTRL コンフ ィギュレーシ ョ ンから派生したクロ ッ ク イネーブル付きの BUFGMUX_CTRL を使用する と、 入

力クロ ッ クを選択できます。 ク ロ ッ ク イネーブルを使用し、 出力を無効にするこ と も可能です。 図 2-16 に、

BUFGCTRL を使用したサンプル デザインを示します。 図 2-17 は、 そのタイ ミ ング図です。

X-Ref Target - Figure 2-16

図 2-16: CE 付き BUFGMUX_CTRL と BUFGCTRL

IGNORE1

IGNORE0

CE1

S

CE

CECE0

S1

S0

I1

I0

O

BUFGMUX_CTRL+CE Design Example

O

I1

I0

S

GND

GNDX16677-111516

Page 27: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 27UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

図 2-17 について説明します。

• タイム イベン ト 1 で出力 O に入力 I0 が選択されます。

• タイム イベン ト 2 の前に S が High にアサート されます。

• タイム イベン ト 2 よ り TBCCKO_O 後に、 出力 O が入力 I1 に切り替わり ます。 これは、 I0 が High から Low になり、 I1 が High から Low になる と発生します。

• タイム イベン ト 3 よ り TBCCCK_CE 前に、 CE が Low にアサート されます。 グ リ ッチ発生を回避するため、 ク

ロ ッ ク出力は Low に切り替わり、 I1 が High から Low に切り替わった後も Low に保たれます。

X-Ref Target - Figure 2-17

図 2-17: CE 付き BUFGMUX_CTRL のタイ ミング図

TBCCKO_O

TBCCCK_CE

TBCCKO_O

at I0 Clock Off

I0

I1

S

CE

O

Begin I1

1 2 3

X16678-111516

Page 28: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 28UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

BUFGCE クロック バッファー

BUFGCE はクロ ッ ク入力、 ク ロ ッ ク出力、 ク ロ ッ ク イネーブル ラインを 1 つずつ持つクロ ッ ク バッファーです (図 2-18 参照)。 このバッファーによ り、 グ リ ッチのないクロ ッ ク ゲーティングが可能です。 BUFGCE はゲーテッ ド

入力を 1 つ持つクロ ッ ク バッファーで、配線リ ソースを直接駆動できます。CE が Low (非アクティブ) の場合、出力 O は 0 です。 CE が High の場合、 入力 I がそのまま出力 O とな り ます。

表 2-5 に BUFGCE で使用されるピンを示します。

表 2-6 に、 BUFGCE の属性を示します。

X-Ref Target - Figure 2-18

図 2-18: BUFGCE バッファー

BUFGCECE

X16679-111516

表 2-5: BUFGCE のピン

ピン名 タイプ 反転可能 説明

CE 入力 TRUE (オン) ク ロ ッ ク イネーブル

I 入力 FALSE (オフ) ク ロ ッ ク バッファー

O 出力 FALSE ク ロ ッ ク バッファー

表 2-6: BUFGCE の属性

属性名 値 デフォルト タイプ 説明

CE_TYPE SYNC、 ASYNC SYNC 文字列 クロ ッ ク イネーブルの動作を設定します。

SYNC に設定する とグ リ ッチのない遷移と

な り、 ASYNC に設定する と直ちに遷移し

ます。

Page 29: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 29UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

図 2-19 に、 BUFGCE のタイ ミ ング図を示します。

BUFG クロック バッファー

BUFG は、 ク ロ ッ ク入力と クロ ッ ク出力を各 1 つ持つ入力クロ ッ ク バッファーです。 このプリ ミ ティブは BUFGCE の CE ピンを High に接続したものです (図 2-20 参照)。

BUFCE_LEAF クロック バッファー

BUFCE_LEAF は、 水平方向の HCS ロウから リーフ ク ロ ッ クを駆動する CE 付きのクロ ッ ク バッファーです。 これ

は、 1 つのゲーテッ ド入力を使用して各種ブロッ クのクロ ッ ク ポイン ト を駆動するインターコネク ト リーフ ク ロ ッ

ク バッファーです。CE が Low (非アクティブ) の場合、出力 O は 0 です。CE が High の場合、入力 I がそのまま出力 O とな り ます。 表 2-7 に、 BUFCE_LEAF の属性を示します。

BUFGCE_LEAF は、 参考情報と してのみ記載するもので、 Vivado Design Suite でユーザーがアクセス (インスタンシ

エーシ ョ ン、 配置など) できるものではあ り ません。

X-Ref Target - Figure 2-19

図 2-19: BUFGCE のタイ ミング図

X-Ref Target - Figure 2-20

図 2-20: BUFG バッファー

I

CE

O

TBCCKO_O

TBCCCK_CE

X16680-111516

BUFG

OI

X16667-111516

表 2-7: BUFCE_LEAF の属性

属性名 値 デフォルト タイプ 説明

CE_TYPE SYNC、 ASYNC SYNC 文字列 クロ ッ ク イネーブルの動作を設定します。SYNC に設定する とグ リ ッチのない遷移とな り、

ASYNC に設定する と直ちに遷移します。

Page 30: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 30UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

BUFGCE_DIV

BUFGCE_DIV は、 ク ロ ッ ク入力 (I)、 ク ロ ッ ク出力 (O)、 ク リ ア入力 (CLR)、 ク ロ ッ ク イネーブル (CE) 入力を 1 つず

つ持つクロ ッ ク バッファーです。 このクロ ッ ク バッファーはゲーテッ ド入力と リセッ ト を 1 つずつ持ち、 配線およ

び分配リ ソースを直接駆動できます。 CLR が High (アクティブ) の場合、 その出力 O は 0 です。 CE が High の場合、

入力 I がそのまま出力 O とな り ます。 CE はクロ ッ クに対して非同期で、 グ リ ッチのない動作が可能です。 CLR は、

このバッファーに対する非同期リセッ ト アサートおよび同期リセッ ト ディアサートです。 BUFGCE_DIV には、 入

力クロ ッ クを 1 ~ 8 分周する機能もあ り ます。

CLR ( リ セッ ト ) をディアサートする と、 出力クロ ッ クは分周値にかかわらず、 CLR がディアサート された後の最初

のエッジで Low から High に遷移します。 したがって、 BUFGCE_DIV 出力クロ ッ クは、 分周値にかかわらず常にア

ラインされた状態とな り ます。 出力クロ ッ クは、 分周後の周波数で ト グルします。 CLR をアサートする と、

Clock-to-Out 時間の経過後にクロ ッ クは ト グルを停止します。 分周値が奇数の場合、 クロ ッ クが High の期間が Low の期間よ り も 1 サイクル少ないため、 デューティ サイクルは 50% になり ません。 たとえば分周値が 7 の場合、 ク

ロ ッ クは 3 サイクル間 High とな り、 4 サイクル間 Low とな り ます。

CE をディアサートする と、 出力は現在の状態のまま High または Low で停止します。 CE を再びアサートする と、 内

部カウンターは停止したと ころから再開します。 たとえば分周値が 8 で、 出力が最後に High に遷移してから入力ク

ロ ッ クの 2 サイクル後に CE をディアサートする と、出力は High のまま とな り ます。次に CE をアサートする と、出

力は入力クロ ッ クの 2 サイクル経過後、 Low に遷移します。 リセッ ト入力を使用する場合、 アサートする と出力は

現在の状態が High なら直ちに Low に遷移し、 Low ならそのままの状態を維持します。

リセッ トはクロ ッ クに同期してディアサート されるため、 上記の例でリセッ ト をディアサートする と、 出力は次の

入力クロ ッ ク エッジで High に遷移し、 そこから入力クロ ッ クの 4 サイクル後に Low に遷移します。

表 2-8 に、 BUFGCE_DIV で使用されるピンを示します。

表 2-9 に、 BUFGCE_DIV の属性を示します。

表 2-8: BUFGCE_DIV のピン

ピン名 タイプ 反転可能 説明

I 入力 FALSE (オフ) ク ロ ッ ク入力

CLR 入力 TRUE (オン) リ セッ ト

CE 入力 TRUE (オン) ク ロ ッ ク イネーブル

O 出力 FALSE ク ロ ッ ク出力

表 2-9: BUFGCE_DIV の属性

属性名 値 デフォルト タイプ 説明

BUFGCE_DIVIDE 1、 2、 3、 4、 5、 6、 7、 8 1 文字列 入力クロ ッ クを分周する値を指定。

Page 31: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 31UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

BUFG_GT および BUFG_GT_SYNCBUFG_GT は、 ギガビッ ト ト ランシーバー (GT) および RFSoC デバイスの ADC/DAC ブロ ッ クによって駆動され、 こ

れらのブロ ッ クがクロ ッ ク配線リ ソースを駆動するには BUFG_GT を使用する必要があ り ます。 BUFG_GT を駆動で

きるのは GT、 ADC、 および DAC のみです。 BUFG_GT (図 2-21) は、 ク ロ ッ ク入力 (I)、 ク ロ ッ ク出力 (O)、 ク リ ア入

力 (CLR) と CLR マスク入力 (CLRMASK)、 ク ロ ッ ク イネーブル入力 (CE) と CE マスク入力 (CEMASK)、 3 ビッ トの

分周値入力 (DIV[2:0]) を 1 つずつ持つクロ ッ ク バッファーです。BUFG_GT_SYNC は BUFG_GT のシンクロナイザー

回路で、 このセクシ ョ ンでは明示されています。 BUFG_GT_SYNC プリ ミティブがデザインにない場合、 Vivado ツールがこのプリ ミ ティブを自動的に挿入します。 このクロ ッ ク バッファーはゲーテッ ド入力と リセッ ト を 1 つず

つ持ち、配線および分配リ ソースを直接駆動できます。 CE を Low にディアサートする と、出力は現在の状態のまま High または Low で停止します。 CE が High の場合、 入力 I がそのまま出力 O とな り ます。 CE の両エッジと CLR のディアサートはクロ ッ クに自動的に同期され、 グ リ ッチのない動作を実現します。 Vivado ツールは CE ピンのタイ ミ

ングをサポート しないため、 確定的なレイテンシを得るこ とはできません。 CLR は、 BUFG_GT に対する非同期リ

セッ ト アサートおよび同期リセッ ト ディアサートです。 シンクロナイザー回路には 2 つの段階があ り ますが、 CLR ピンにはセッ ト アップ/ホールド タイ ミ ング アークが割り当てられていません。 このため、 レイテンシは予測不可能

です。 BUFG_GT には、 入力クロ ッ クを 1 ~ 8 分周する機能もあ り ます。 DIV[2:0] 値は、 実際の分周値から 1 を引い

た値です (すなわち 3'b000 は 1 分周、 3'b111 は 8 分周に対応)。 分周値 (DIV 入力)、 CEMASK、 CLRMASK は、

バッファーがリセッ ト状態のと きに変更する必要があ り ます。 入力クロ ッ クは、 CE がディアサート されているか、

リセッ トがアサート されている と きに変更できます。 ただし、 これらの制御信号には最小ディアサート /アサート時

間があ り ます。

重要: RFSoC デバイスでは、 ADC および DAC タイルが MPSoC デバイスにおける GTH ト ランシーバーに置き換わり

ます。 つま り、 ADC と DAC は既存の BUFG_GT ク ロ ッ ク バッファーを使用してデバイス内のグローバル ク ロ ッ ク ツ リーを駆動した後、 ファブ リ ッ クから ADC/DAC タイルに戻り ます。 ただし、 ADC/DAC ク ロ ッ クへ接続する と き

は DIV 機能を使用できません。 BUFG_GT は CE および CLR を持つシンプルなグローバル ク ロ ッ ク バッファーのよ

うに機能します。

重要: Zynq UltraScale+ デバイスおよび Kintex UltraScale+ ファ ミ リの特定デバイス (XCKU9P 以上) では、BUFG_GT ドラ イバーと同じ領域 (X0 列) にクロ ッ ク ルート を割り当てる と配線ができなくなる場合があ り、 出力クロ ッ クが Zynq UltraScale+ デバイス PS の右側のクロ ッ ク領域に配置された負荷や、 Kintex UltraScale+ の Y0、 Y1、 Y2 行の空い

ている PL 領域に配置された負荷に到達できなくな り ます。 この問題を回避するには、ユーザーがクロ ッ ク ルート を 1 ク ロ ッ ク領域右 (この場合は X1 列) に割り当てる必要があ り ます。

Page 32: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 32UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

UltraScale FPGA には、 GT クワ ッ ド 1 つにつき 24 の BUFG_GT と 10 の BUFG_GT_SYNC があ り ます。 UltraScale+ FPGA には、 GT クワ ッ ド 1 つにつき 24 の BUFG_GT と 14 の BUFG_GT_SYNC があ り ます。 クワ ッ ド内の GT 出力

クロ ッ クはいずれも BUFG_GT にマルチプレクスできます。 UltraScale デバイスの場合、 10 の BUFG_GT_SYNC に対

応する 10 の CE および CLR ピンがあ り、 これらで 24 の BUFG_GT を制御できます。UltraScale+ デバイスの場合、14 の BUFG_GT_SYNC に対応する 14 の CE および CLR ピンがあ り、 これらで 24 の BUFG_GT を制御できます。

各 BUFG_GT バッファーには CE と CLR 用に個別のマスクがあ り ます (全部で 24 個)。同じ ク ロ ッ ク ソースによって

駆動される BUFG_GT はすべて CE および CLR 信号を共通とする必要があ り ます。 この場合、CE と CLR を 1 つの定

数信号に接続するこ とはできませんが、 マスクを設定して同じ機能を得るこ とができます。 同じ入力クロ ッ クに接

続された BUFG_GT の出力クロ ッ クは、 リセッ ト (CLR) 終了時または CE アサート時に互いに同期します (位相が揃

う )。 個々のマスク ピンを使用して、 24 の BUFG_GT のうちどれが CE および CLR に応答するか (すなわち互いに同

調するか直前の位相および分周値を維持するか) を制御します。 BUFG_GT は HCS にあ り、 GT 出力クロ ッ クで直接

駆動されます。 これらのバッファーは、 配線/分配リ ソースを使用して CR 内のハード ブロ ッ ク と ロジッ クを直接駆

動するこ とを目的と しています。 GT には、 これ以外にほかのクロ ッ ク ソースに直接つながる専用の接続はあ り ませ

ん。 ただし、 BUFG_GT およびクロ ッ ク配線リ ソースを経由して CMT に接続可能です。

CLR ( リ セッ ト ) をディアサートする と、 出力は次の入力クロ ッ ク エッジで High に遷移し、 入力クロ ッ クの分周値/2 サイクル後に Low に遷移します。 リセッ トは同期してディアサート されるため、 出力を High に遷移させるには、

2 ク ロ ッ ク サイクル分の同期レイテンシを追加する必要があ り ます。次に、 8 分周で必要な 4 サイクル後に Low に遷

移します。 出力は指定された分周値によって決まるクロ ッ ク サイクル数を経過した後 High に遷移し、 その後は分周

後の周波数で出力クロ ッ クが ト グルします。 CLR をアサートする と、 Clock-to-Out 時間の経過後にクロ ッ クは Low のまま ト グルを停止します。 分周値が奇数の場合、 クロ ッ クが High の期間が Low の期間よ り も 1 サイクル少ないた

め、 デューティ サイクルは 50% になり ません。 たとえば分周値が 7 の場合、 クロ ッ クは 3 サイクル間 High とな り、

4 サイクル間 Low とな り ます。

X-Ref Target - Figure 2-21

図 2-21: BUFG_GT プリ ミテ ィブ

DIV[2:0]

Clear Mask

Enable Mask

BUFG_GT_SYNC

MGT and ADC/DAC

ClockClock

CLKCESYNC

CLRSYNCCE

CLR

CLRCE

I

CEMASKCLRMASK

BUFG_GT

O

Clock Enable

Reset

DIV

3

X19390-060717

Page 33: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 33UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 2 章: クロッキング リソース

CE をディアサートする と、 出力は現在の状態のまま High または Low で停止します。 CE を再びアサートする と、 内

部カウンターは停止したと ころから再開します。 たとえば分周値が 8 で、 出力が最後に High に遷移してから入力ク

ロ ッ クの 2 サイクル後に CE をディアサートする と、 出力は High のままとな り ます。 次に CE を再びアサートする

と、 出力は入力クロ ッ クの 4 サイクル (同期に必要な 2 サイクルと、 8 分周で必要な出力クロ ッ クの High 期間の 2 サイクル) 後に Low に遷移します。 リセッ ト入力を使用する場合、 アサートする と出力は現在の状態が High なら直ち

に Low に遷移し、 Low ならそのままの状態を維持します。 リセッ トはクロ ッ クに同期してディアサート されるため、

上記の例でリセッ ト をディアサートする と、 出力は同期に必要な 2 サイクル後に High に遷移し、 8 分周で必要な 4 サイクル後に Low に遷移します。

マスク ピン (CEMASK および CLRMASK) は、個々の BUFG_GT が CE/CLR 制御入力に対してどのよ うに応答するか

を制御します。 マスク ピンをディアサートする と、 対応する制御ピンは通常の動作とな り ます。 マスク ピンをア

サートする と、 対応する制御ピンは無視され、 ク ロ ッ クはそのまま伝搬します (すなわち CE が High でリセッ トが Low の状態と同じ )。 内部シンクロナイザー回路は、 マスク されていない BUFG_GT のクロ ッ ク出力の位相を揃えま

す。 CE は両エッジが同期しますが、 リセッ トはディアサートのみ同期します。 リセッ ト をアサートする と、

BUFG_GT の出力が High であれば直ちに Low に遷移します。 このため、 グ リ ッチまたはラン ト パルスが発生する可

能性があ り ます。 これを回避するには、 まず CE を使用して出力を停止し、 入力クロ ッ クの (2 + 分周値/2) サイクル

後に、 リセッ ト をアサート します。 これによ り、 出力クロ ッ クが High の状態で無効になった場合に出力クロ ッ クの High 期間が通常よ り短くなるのを防ぐこ とができます。

重要: シンクロナイザー回路によ り、 同じ ク ロ ッ クで駆動されている BUFG_GT はすべて リセッ ト終了時に位相が揃

いますが、 リセッ ト マスクをアサート していたために、 リセッ ト されていない BUFG_GT とは位相が揃わない場合

があ り ます。

BUFG_PS

BUFG_PS は、 ク ロ ッ ク入力 (I) と ク ロ ッ ク出力 (O) を各 1 つ持つ、 シンプルなクロ ッ ク バッファーです。 このクロ ッ

ク バッファーは、 Zynq UltraScale+ MPSoC プロセッシング システム (PS) 用のリ ソースです。 プロセッサから PL (プログラマブル ロジッ ク ) へのクロ ッ クが、 PL のクロ ッ ク配線リ ソースにアクセスできるよ うにします。 最大 18 の PS ク ロ ッ クが BUFG_PS を駆動できます。 このクロ ッ ク バッファーは、 PS に隣接しています。

Page 34: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 34UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章

クロック マネージメン ト タイル

概要

UltraScale™ アーキテクチャ デバイスのクロ ッ ク マネージメン ト タイル (CMT) には MMCM ( ミ ッ クス ド モード クロ ッ ク マネージャー ) と 2 つの PLL (位相ロッ ク ループ) があ り ます。 PLL は主に I/O へのクロ ッ クを生成するため

に使用しますが、 汎用クロ ッキングに使用できる MMCM の機能も一部備えています。

ク ロ ッ ク入力の接続によって、 複数のリ ソースから MMCM に基準クロ ッ クを供給できます。 出力カウンター (分周

器) は 8 つあ り、 その一部は 180° 位相シフ ト した反転クロ ッ ク出力を駆動可能です。 MMCM には、 ファ イン (高精

度な) 位相シフ ト機能がいずれの方向にも無制限で追加されており、 これはダイナミ ッ ク位相シフ ト モードで使用で

きます。 ファ イン位相シフ トの分解能は、 VCO (電圧制御オシレーター ) の周波数によって異なり ます。 CLKFBOUT および CLKOUT0 には、 1/8 (0.125) 単位でのインク リ メン トが可能な分数分周機能があ り、 合成できるクロ ッ ク周波

数の幅が広がっています。 UltraScale アーキテクチャ デバイスにはスペク ト ラム拡散 (SS) の機能があ り ます。

MMCM のスペク ト ラム拡散機能が使用されない場合、 外部からの入力クロ ッ クのスペク ト ラム拡散はフ ィルターさ

れないため、 出力クロ ッ クに渡されません。

MMCMUltraScale アーキテクチャ デバイスは、 各 I/O バンクに CMT が 1 つあ り ます。 MMCM は幅広い周波数に対応する周

波数シンクロナイザー回路や外部または内部クロ ッ ク用のジッ ター フ ィルターと して機能し、 ク ロ ッ クのスキュー

調整にも活用できます。

入力マルチプレクサーは、 グローバル ク ロ ッ ク I/O またはクロ ッ ク配線/分配リ ソースからの基準クロ ッ クおよび

フ ィードバッ ク ク ロ ッ クを選択します。 各クロ ッ ク入力にはプログラマブルなカウンター分周器 (D) があ り ます。

位相周波数検出器 (PFD) は入力 (基準) ク ロ ッ ク とフ ィードバッ ク ク ロ ッ クの立ち上がりエッジの位相と周波数を比

較します。 最小限の High/Low のパルスが維持されていれば、 デューティ サイクルはそれほど重要ではあ り ません。

PFD を使用して、 2 つのクロ ッ ク間の位相と周波数に比例した信号が生成されます。 この信号でチャージ ポンプ (CP) とループ フ ィルター (LF) を駆動し、 VCO に対する基準電圧を生成します。 また、 PFD は、 VCO 周波数の増加/減少を決定するアップ信号またはダウン信号を CP および LF に送り ます。VCO の動作周波数が高すぎる場合は PFD がダウン信号を有効にし、 これによって制御電圧が減圧されて、 VCO の動作周波数が低くな り ます。 VCO の動作周

波数が低すぎる場合は、 アップ信号によって電圧が増圧されます。 VCO からは 8 つの出力位相と、 ファ イン位相シ

フ ト用の可変位相が 1 つ生成されます。 どの出力位相も、 出力カウンターに対する基準クロ ッ ク と して選択できま

す (図 3-1 参照)。 カウンターは、 カスタム デザインに応じてそれぞれ独立してプログラムできます。 これ以外に、

特別なカウンター M も用意されています。 このカウンターは MMCM のフ ィードバッ ク ク ロ ッ クを制御し、 幅広い

周波数合成を可能にします。

整数分周出力カウンターに加え、 MMCM には CLKOUT0 と CLKFBOUT の分数カウンターがあ り ます。

Page 35: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 35UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

X-Ref Target - Figure 3-1

図 3-1: MMCM の詳細なブロック図

Clock Switch Circuit

D PFD

Lock DetectLock

Lock Monitor

CLKIN1

GeneralRouting

CLKIN2

CLKFB

CLKFBOUT

CLKOUT6

CLKOUT5

CLKOUT4

CLKOUT3BCLKOUT3

CLKOUT2BCLKOUT2

CLKOUT1BCLKOUT1

CLKOUT0BCLKOUT0

CLKFBOUTB

CP LF VCO

8-phase taps + 1 variable phase tap

9Fractional Divide

M(Fractional Divide)

O1

O2

O3

O4

O5

O6

X16683-111516

Page 36: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 36UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

一般的な使用法について

MMCM プリ ミテ ィブ

図 3-2 に、 UltraScale デバイスの MMCM プリ ミティブ、 MMCME3_BASE および MMCME3_ADV を示します。

UltraScale+ デバイスには、 E3 ではなく E4 が付いた同じプリ ミ ティブがあ り ます。 このユーザー ガイ ドでは、

MMCME4_ADV は MMCME3_ADV と同じで、 MMCME4_BASE は MMCME3_BASE と同じです。

X-Ref Target - Figure 3-2

図 3-2: MMCM プリ ミテ ィブ

CLKIN1

CLKFBIN

RST

CLKOUT0

CLKOUT0B

CLKOUT1

CLKOUT1B

CLKOUT2

CLKOUT2B

CLKOUT3

CLKOUT3B

CLKOUT4

CLKOUT5

CLKOUT6

CLKFBOUT

CLKFBOUTB

LOCKED

MMCME3_BASE or MMCME4_BASE

PWRDWN

CLKIN1

CLKIN2

CLKFBIN

CLKINSEL

PWRDWN

DADDR[6:0]

DI[15:0]

DWE

DEN

DCLK

PSINCDEC

PSEN

PSCLK

RST

CLKOUT0

CLKOUT0B

CLKOUT1

CLKOUT1B

CLKOUT2

CLKOUT2B

CLKOUT3

CLKOUT3B

CLKOUT4

CLKOUT5

CLKOUT6

CLKFBOUT

CLKFBOUTB

LOCKED

DO[15:0]

PSDONE

CLKINSTOPPED

CLKFBSTOPPED

MMCME3_ADV or MMCME4_ADV

CDDCREQ

CDDCDONE

X16684-111516

Page 37: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 37UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

MMCME3_BASE または MMCME4_BASE プリ ミテ ィブ

MMCME#_BASE プリ ミ ティブでは、 スタンドアロンの MMCM で最も高頻度に使用される機能を利用できます。

ク ロ ッ ク スキュー調整、 周波数合成、 コース位相シフ ト、 およびデューティ サイクル プログラ ミ ングは、

MMCME#_BASE で使用できる機能です。 表 3-1 に、 ポートの一覧を示します。

MMCME3_ADV および MMCME4_ADV プリ ミテ ィブ

MMCME#_ADV プリ ミティブには、 MMCME#_BASE の全機能に加え、 ク ロ ッ ク切り替え用ポート、 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート (DRP) へのアクセス、 ダイナミ ッ ク ファ イン位相シフ ト機能を提供するポート を

備えています。 表 3-2 に、 MMCME#_ADV のポートの一覧を示します。

MMCM は、 ク ロ ッ ク ネッ ト ワークのスキュー調整、 周波数合成、 ジッ ター フ ィルターの機能をサポートするよ う

に設計された ミ ッ クス ド シグナル ブロ ッ クです。 これら 3 つの動作モードの詳細は後述します。 VCO の動作周波数

は、 次の関係によって決定されます。

式 3-1

式 3-2

こ こで、 M、 D、 O は 36 ページの図 3-2 に示したカウンターです。 M の値は CLKFBOUT_MULT_F の設定に、 D の値

は DIVCLK_DIVIDE の設定に、 O の値は CLKOUT_DIVIDE の設定にそれぞれ対応しています。

7 つの O カウンターは個別にプログラム可能です。 たとえば、 O0 を 2 分周用にプログラムし、 O1 を 3 分周用にプロ

グラムできます。 ただし、 1 つの VCO ド ラ イバーがすべてのカウンターを駆動するため、 VCO 動作周波数はすべて

の出力カウンターに対して同一でなければなり ません。

表 3-1: MMCME#_BASE ポート

説明 ポート

ク ロ ッ ク入力 CLKIN1、 CLKFBIN

制御入力 RST

ク ロ ッ ク出力 CLKOUT0 ~ CLKOUT6、 CLKOUT0B ~ CLKOUT3B、 CLKFBOUT、 CLKFBOUTB

ステータスおよびデータ出力 LOCKED

電圧制御 PWRDWN

表 3-2: MMCME#_ADV ポート

説明 ポート

ク ロ ッ ク入力 CLKIN1、 CLKIN2、 CLKFBIN、 DCLK、 PSCLK

制御およびデータ入力 RST、 CLKINSEL、 DWE、 DEN、 DADDR、 DI、 PSINCDEC、 PSEN、 CDDCREQ

ク ロ ッ ク出力 CLKOUT0 ~ CLKOUT6、 CLKOUT0B ~ CLKOUT3B、 CLKFBOUT、 CLKFBOUTB

ステータスおよびデータ出力 LOCKED、 DO、 DRDY、 PSDONE、 CLKINSTOPPED、 CLKFBSTOPPED、 CDDCDONE

電圧制御 PWRDWN

FVCO FCLKINMD----=

FOUT FCLKINM

D O------------=

Page 38: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 38UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

クロック ネッ トワークのスキュー調整

多くの場合、 I/O タイ ミ ング バジェッ トの制限がある中でクロ ッ ク ネッ ト ワークに生じる遅延は望ましいものでは

あ り ません。 このため、 MMCM を使用してクロ ッ ク ネッ ト ワークの遅延を補正します。 UltraScale アーキテクチャ デバイスは、 この遅延補正機能をサポート しています。 基準クロ ッ ク CLKIN の周波数と同じ周波数のクロ ッ ク出力 (常に CLKFBOUT) がロジッ クを駆動する同じタイプのクロ ッ ク バッファーに接続され、MMCM の CLKFBIN ピンに

フ ィードバッ ク入力されます。 それ以外の出力はクロ ッ ク分周に使用でき、 周波数合成を実行できます。 このよ う

な場合、 すべての出力クロ ッ クには、 入力基準クロ ッ クに対して定義済みの位相関係があ り ます。

整数分周のみを使用した周波数合成

MMCM をスタンドアロンで使用し、 周波数合成を実行できます。 この場合、 MMCM はクロ ッ ク ネッ ト ワークのス

キュー調整には使用せず、 ほかのブロ ッ クで使用される出力クロ ッ ク周波数を生成します。 このモードでは、

MMCM のフ ィードバッ ク パスは内部となるため、 すべてがローカル配線とな り、 ジッ ターが最小限に抑えられま

す。 図 3-3 に、 周波数合成回路と して構成した MMCM を示します。 この例では、 33MHz で動作する外部基準クロ ッ

クが使用可能です。 基準クロ ッ クには、 ク リ スタル オシレーターまたはも う一方の MMCM の出力を使用できます。

M カウンターを 32 に設定する と、 VCO オシレーターは 1056MHz (33MHz x 32) で動作します。 たとえば MMCM の出力は、 プロセッサ用の 528MHz ク ロ ッ ク、 ガスケッ ト用の 264MHz ク ロ ッ ク、 176MHz ク ロ ッ ク、 メモ リ イン

ターフェイス用の 132MHz ク ロ ッ ク、 66MHz インターフェイス ク ロ ッ ク、 および 33MHz インターフェイス ク ロ ッ

クなどにプログラムできます。 こ こでは、 基準クロ ッ ク と出力クロ ッ ク間の位相関係は不要ですが、 出力クロ ッ ク

間の位相は一致する必要があ り ます。

X-Ref Target - Figure 3-3

図 3-3: 周波数シンセサイザーとして使用した MMCM

33 MHzReference

ClockProcessor

Gasket

CLBs

Memory Interface

66 MHz Interface

not used

D = 1

M = 32

PFD, CP, LF, VCO

O0 = 2

O1 = 4

O2 = 6

O3 = 8

O4 = 16

O6 = 1

33 MHz InterfaceO5 = 32

X16685-111516

Page 39: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 39UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

MMCM で分数分周を使用した周波数合成

UltraScale アーキテクチャ デバイスは、 CLKOUT0 出力パスにおいて分数分周をサポート しています。 分数分周の分

解能は 1/8 (0.125) で、 合成可能な周波数の数は 8 倍に増えます。 たとえば、 CLKIN の周波数が 100MHz で M の分周

値を 8 に設定した場合、 VCO の周波数は 800MHz とな り ます。 800MHz の VCO 周波数を CLKOUT0 でさらに分数分

周するこ と もできます (たとえば CLKOUT0_DIVIDE = 2.5 とする と 320MHz の出力周波数が得られる )。

分数分周モードの出力では、 デューティ サイクルはプログラムできません。

ジッ ター フ ィルター

MMCM には、 基準クロ ッ クに内在するジッ ターを除去する機能があ り ます。 MMCM は、 外部クロ ッ クが別のブ

ロ ッ クに駆動される前にそのクロ ッ クのジッ ターをフ ィルタ リ ングするスタンドアロンの機能と してインスタンシ

エートできます。 ジッ ターのフ ィルターと して使用する場合、 MMCM はバッファーのよ うに動作し、 入力周波数と

同じ周波数の出力を再生成します (たとえば FIN = 100MHz の場合、 FOUT = 100MHz)。 一般に、 MMCM の BANDWIDTH 属性を Low に設定する と、 ジッ ターのフ ィルタ リ ング効果が大き くな り ます。 ただし、 この属性を Low に設定する と MMCM のスタティ ッ ク オフセッ トが増加するこ とがあ り ます。

制限

MMCM の使用には、 いくつかの制約があ り ます。 これらの制約は、 UltraScale デバイスのデータシート [参照 5] の MMCM の電気的仕様に記載されています。 一般的な主な制約と しては、 VCO 動作範囲、 入力周波数、 デューティ サイクルのプログラム、 位相シフ トがあ り ます。 また、 ほかのクロ ッ ク エレ メン ト (ピン、 GT、 ク ロ ッ ク バッ

ファー ) への接続にはいくつかの制約があ り ます。 MMCM のカスケード接続は、 ク ロ ッ ク配線ネッ ト ワークを利用

した場合のみ可能です。

VCO 動作範囲

VCO の最大および最小動作周波数は、 UltraScale デバイスのデータシート [参照 5] の電気的仕様に定義されていま

す。 これらの値はスピード仕様からも得るこ とができます。

最小および最大入力周波数

CLKIN の最大および最小入力周波数は、 UltraScale デバイスのデータシート [参照 5] の電気的仕様に定義されています。

デューティ サイクルのプログラム

1 つの VCO 動作周波数に対しては、 個別のデューティ サイクルのみ可能です。 最小値から最大値までの範囲、 およ

びステップ サイズは CLKOUT_DIVIDE の値によって決定します。 CLKOUT_DIVIDE で設定可能な値は、 クロ ッキン

グ ウ ィザードに示されます。

位相シフ ト

多くの場合、 クロ ッ ク間の位相をシフ ト させる必要があ り ます。 MMCM での位相シフ トの実装には多くのオプシ ョ

ンがあ り ます。 スタティ ッ ク位相シフ トは、 CLKOUT の分周値に応じた CLKOUT 出力カウンターのファイン位相シ

フ トで利用可能な 8 つの VCO 出力位相のいずれかを選択して実行します。 また、 固定またはダイナミ ッ ク モードの

いずれにも対応した補間型位相シフ ト機能もあ り ます。 MMCM の位相シフ ト機能は非常に優れている と同時に、 使

用方法が複雑になるこ とが考えられます。 ク ロ ッキング ウ ィザードを使用する と、 MMCM の設定に基づいて許容さ

れる位相シフ ト値が計算されます。

Page 40: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 40UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

スタテ ィ ック位相シフ ト モード (MMCM および PLL)

スタティ ッ ク位相シフ ト (SPS) の時間単位の分解能は次のよ うに定義されます。

式 3-3

VCO からは 45° ずつシフ ト した 8 つのクロ ッ クを生成でき、 0°、 45°、 90°、 135°、 180°、 225°、 270°、 315° の位相シ

フ ト設定が常に可能です。 VCO の周波数が高くなるほど、 位相シフ トの分解能は細かくな り ます。 VCO には固有の

動作周波数範囲があるため、 次の範囲を使用して位相シフ トの分解能を制限するこ と も可能です。

CLKOUT 出力カウンターは個別にプログラム可能で、 VCO の出力位相と CLKOUT カウンターの分周値に基づいて

個別の位相シフ ト分解能 (度数) を持つこ とができます。 CLKOUT 位相シフ トの分解能は、 45° /CLKOUT_DIVIDE の値と して求めるこ とができます。 位相シフ トの最大範囲も CLKOUT_DIVIDE の値によって決定します。

CLKOUT_DIVIDE 64 の場合、 最大位相シフ トは 360° です。 CLKOUT_DIVIDE > 64 の場合、 最大位相シフ トは次で

求められます。

式 3-4

CLKFBOUT フ ィードバッ ク ク ロ ッ クの位相をシフ ト させるこ と もできます。 その場合、 すべての CLKOUT 出力ク

ロ ッ クが CLKIN に対して負の方向に位相シフ ト します。

2 つの分数カウンター (CLKFBOUT と CLKOUT0) にもスタティ ッ ク位相シフ ト機能があ り ます。 位相シフ トのス

テップは次のよ うに定義されます。

式 3-5

たとえば、 分数分周値が 2.125 の場合、 スタティ ッ ク位相シフ トのステップは 360/(2.125x8) = 21.176° とな り ます。

MMCM における固定またはダイナミ ック モードの補間型ファイン位相シフ ト

補間型ファイン位相シフ ト (IFPS) モードの MMCM では、 CLKOUT_DIVIDE の値に関係なく一定の比率で位相がシ

フ ト し、 位相シフ トの分解能は VCO の周波数にのみ依存します。 このモードでは、 出力クロ ッ クの位相を

ずつ増加させて、 ラウンド ロビン方式で 360° 回転できます。

VCO の動作周波数が 600MHz の場合、位相分解能は約 30ps (端数切り捨て) で、動作周波数が 1.6GHz なら約 11ps (端数切り捨て) とな り ます。

コンフ ィギュレーシ ョ ン中に最初の位相シフ ト値をプログラムするこ とはできません。 ファ イン位相シフ ト を使用

する場合、 最初の位相シフ ト量は設定できません。 位相は常に 0 から開始し、 その後は動的に増減できます。 ダイ

ナミ ッ ク位相シフ トは MMCME#_ADV の PS インターフェイスによって制御されます。 この位相シフ ト モードは、

USE_FINE_PS 属性を TRUE に設定してこのモード用に選択したすべての CLKOUT 出力クロ ッ クに同じ影響を与え

ます。 補間型ファイン位相シフ ト モードでは、 ク ロ ッ クは常に MMCM の PSCLK ピンに接続する必要があ り ます。

ク ロ ッ クが補間型ファイン位相シフ ト モード (固定またはダイナミ ッ ク ) にあるかど うかにかかわらず、 ク ロ ッ クは

常に MMCM の PSCLK ピンに接続する必要があ り ます。 各 CLKOUT カウンターは、 補間型位相シフ ト モード、 上

述のスタティ ッ ク位相シフ ト モード、 位相シフ ト なしのいずれかを個別に選択できます。 固定またはダイナミ ッ ク

の補間型ファイン位相シフ ト モードでは、 分数分周は利用できません。 フ ィードバッ ク パスで固定またはダイナ

ミ ッ ク位相シフ ト を実行する と、 すべての出力クロ ッ クが CLKIN に対して負の方向に位相シフ ト します。 ダイナ

ミ ッ ク位相シフ ト インターフェイスは、 位相シフ ト モードが 「固定」 に設定されている場合は使用できません。

SPS 18FVCO--------------period or= D

8MFIN--------------period

18FVCOMIN---------------------- to 1

8FVCOMAX----------------------

Maximum Phase Shift 63CLKOUT_ DIVIDE--------------------------------------- 360 7 Phase Shift Value +=

SPS frac 3608 fractional_divide_value---------------------------------------------------------or= 45

fractional_divide_value-------------------------------------------------

156FVCO----------------

Page 41: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 41UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

MMCM におけるダイナミ ック位相シフ ト インターフェイス

MMCME#_ADV プリ ミティブには、 ダイナミ ッ ク ファ イン位相シフ ト をサポートするための 3 つの入力と 1 つの出

力があ り ます。 CLKOUT と CLKFBOUT の各分周器は、 それぞれ個別に位相シフ ト を選択できます。 どの出力ク

ロ ッ クを動的に位相シフ トするかは、 CLKOUT[0:6]_USE_FINE_PS 属性と CLKFBOUT_USE_FINE_PS 属性で選択し

ます。 ダイナミ ッ ク位相シフ ト量は、 選択したすべての出力クロ ッ クで共通です。

可変位相シフ トは PSEN、 PSINCDEC、 PSCLK、 PSDONE ポートで制御します (図 3-4 参照)。 MMCM 出力クロ ッ ク

の位相は、 最初の位相またはダイナミ ッ ク位相シフ ト後の位相を基準に、 PSEN、 PSINCDEC、 PSCLK、 PSDONE の関係によって増減します。 PSEN、 PSINCDEC、 および PSDONE は PSCLK に同期しています。 PSEN を PSCLK の 1 ク ロ ッ ク サイクル分アサートする と、 位相シフ ト をインク リ メン ト またはデク リ メン トできるよ うにな り ます。

PSINCDEC が High の場合はインク リ メン ト され、 Low の場合はデク リ メン ト されます。 MMCM ク ロ ッ ク出力の位

相シフ ト量は、 1 回のインク リ メン トにつき VCO 周期の 1/56 分増加します。 同様に各デク リ メン トでは VCO 周期

の 1/56 分減少します。 PSEN は、正確に PSCLK の 1 サイクルの間アサート して ください。位相シフ トが完了する と、

PSDONE は 1 ク ロ ッ ク周期分 High になり ます。 PSCLK サイクルの数は確定しています (PSCLK の 12 サイクル分)。PSEN をアサート して位相シフ トが開始した後、 PSDONE によって位相シフ トの完了が通知される と、 MMCM 出力

クロ ッ クの位相は最初の位相から徐々に、 一定の比率で増減します。 インク リ メン ト またはデク リ メン トの完了は、

PSDONE が High になるこ とでわかり ます。 PSDONE が High になる と、 位相シフ トのインク リ メン ト またはデク リ

メン ト を再び開始できます。 位相シフ トの最大値やオーバーフローはあ り ません。 周波数に関係なく、 ク ロ ッ ク周

期全体 (360°) を常に位相シフ トできます。 周期の最後まで達したら、 最初から位相シフ トが実行されます。

X-Ref Target - Figure 3-4

図 3-4: 位相シフ トのタイ ミング図

PSCLK

PSEN

PSDONE

PSINCDEC

X16686-111516

Page 42: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 42UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

MMCM クロック分周値の動的変更 (CDDC)ク ロ ッ ク分周値の動的変更 (CDDC: Clock Divide Dynamic Change) は、 DRP インターフェイス と組み合わせるこ とに

よ り、 MMCM を リセッ トするこ とな く ク ロ ッ ク出力分周値 (CLKOUT[6:0]_DIVIDE) を動的に変更可能にする機能で

す。 これによ り、 動作中のほかの出力クロ ッ クには影響を与えずに 1 つ以上の MMCM 出力クロ ッ ク周波数を変更で

きます。 ハンドシェイ クは 2 本のピン (CDDCREQ と CDDCDONE) で制御します。 アプリ ケーシ ョ ンは、 CDDCREQ 信号をアサート して出力カウンター値 (CLKOUT_DIVIDE の値) の変更を要求します。 新しい分周値は標準の DRP インターフェイスを利用して 1 ポートずつ書き込まれ、 標準の DRP プロ ト コル (DEN、 DWE、 DRDY) で制御されま

す。 書き込み先の CLKOUT[6:0] カウンターの DRP アドレスによ り、 どの出力クロ ッ クの分周値を変更するかが決定

します。 CLKOUTx カウンターに書き込みを実行する と、 関連するクロ ッ ク出力はト グルを停止します。 その後も同

じ方法で DRP に書き込み、 ほかの CLKOUT カウンターの分周値を変更するこ と もできます。 すべての DRP 書き込

みが完了したら (すなわち、 最後の DRDY の後)、 CDDCREQ 入力をディアサートする必要があ り ます。 その後、 分

周値を変更した出力カウンターはクロ ッ クに同期して動作を再開します。 分周値の変更が完了し、 新しい出力ク

ロ ッ ク (周波数) が利用可能になる と、 MMCM は肯定応答信号と して CDDCDONE をアサート します。

CDDC による分周値の動的変更の間、 その影響を受けない CLKOUT ポートは互いの位相関係を維持したまま通常の

動作を継続します (図 3-5 参照)。 ただし、 CDDC によって分周値が動的に変更された出力クロ ッ ク (ポート ) の位相

と、 CDDCREQ による影響を受けていないその他の出力クロ ッ クの位相は揃いません (同期しない)。 CDDCREQ の影響を受けるクロ ッ クは、 出力にグ リ ッチが発生してクロ ッ クの ト グルが停止する可能性があるため、 アサート後

は使用しないでください。 この機能は分数分周モードでは利用できません。

X-Ref Target - Figure 3-5

図 3-5: CDDC のタイ ミング図

Last DRP Access Done

CLKOUT

CDDREQ

DRDY

CDDCDONE

No CDDC Change

CLKOUT

With CDDC Change

X16698-111516

Page 43: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 43UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

MMCM カウンターのカスケード接続

CLKOUT6 分周器 (カウンター ) は CLKOUT4 分周器とカスケード接続できます。 これによ り、 128 よ り も大きい出力

分周器が可能とな り ます。 CLKOUT6 は CLKOUT4 分周器の入力を供給します。 カスケード接続した分周器の出力と

それ以外の出力分周器との間には、 スタティ ッ クな位相オフセッ トがあ り ます。

MMCM のプログラム

安定性とパフォーマンスの確保されたコンフ ィギュレーシ ョ ンを実現するには、 一定のフローに従って MMCM をプ

ログラムする必要があ り ます。 こ こからは、 具体的なデザイン要件に基づいた MMCM のプログラム方法を説明しま

す。 デザインをインプリ メン トするには、 GUI インターフェイス (ク ロ ッキング ウ ィザード ) を使用する方法と MMCM をインスタンシエートする方法の 2 とおりあ り ます。 どちらの方法でも、 MMCM をプログラムするには次

の情報が必要です。

• 基準クロ ッ ク周期

• 出力クロ ッ ク周波数 (最大 7 つ)

• 出力クロ ッ ク デューティ サイクル (デフォルト 50%)

• 出力クロ ッ クの位相シフ ト (最初の位相 0 を基準と した度数で指定)

• MMCM の帯域幅 (デフォルトは OPTIMIZED。 帯域幅はソフ ト ウェア ツールで選択)

• 補正モード (ソフ ト ウェア ツールで自動的に決定)

• 単位が UI の基準クロ ッ ク ジッ ター (基準クロ ッ ク周期の比率など)

入力周波数の決定

最初に入力周波数を決定します。 次に、 入力周波数の最小値と最大値から D カウンターの範囲を定義し、 VCO 動作

周波数の範囲から M カウンターの範囲を求め、 出力カウンターの範囲を定義する と、 可能な出力周波数すべてが決

定します。 この時点では、 周波数の数は非常に多くなるこ とが想定されます。 たとえば整数分周を使用した場合、

最多で 106 x 64 x 136 = 868,363 とおりの組み合わせが考えられます。実際には、M および D カウンター範囲すべてを

実現するこ とは不可能であ り、 かつ重複した設定もあるため、 周波数の総数は減少します。

例と して、 FIN = 100MHz、 FVCO = 600MHz ~ 1600MHz、 FPFD = 10MHz ~ 550MHz の場合を考えてみます。

FPFDMIN が 10MHz である と、 D は 1 ~ 10 の範囲に限られます。

DMIN (式 3-6 参照) = 1

DMAX (式 3-7 参照) = 10

• D = 1 の場合、 M の値は 6 ~ 16 に制限されます。

• D = 2 の場合、 M の値は 12 ~ 32 に制限されます。

• D = 3 の場合、 M の値は 24 ~ 64 に制限されます。

D = 1 M = 4 は、 D = 2 M = 8、 D = 4 M = 16、 D = 8 M = 32 のサブセッ トであるため、 これらのケースは除外できます。

この例では、 D = 1、 3、 5、 6、 7、 9 以外の値はすべてこれらのサブセッ トであるため、 これら 6 つの値のみを考慮

すればよいこ とになり ます。 こ うする と、 可能な出力周波数の数は大幅に減少し、 最終的に出力周波数が決定して

いきます。 目的とする出力周波数は、 求められた可能な出力周波数内であるかを確認する必要があ り ます。 最初の

出力周波数が決定する と、 M および D の値がさらに制限され、 2 番目の出力周波数が制限されるこ とにな り ます。

すべての出力周波数が選択されるまで、 このプロセスを繰り返します。

Page 44: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 44UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

M および D 値の決定に使用する制約は次の式で表されます。

式 3-6

式 3-7

式 3-8

式 3-9

M および D 値の決定

入力周波数が決定する と、 M および D 値がある程度決ま り ます。次に、最適な M および D 値を指定します。 まず M の開始値を決定します。 この値は、 VCO ターゲッ ト周波数、 つま り VCO の理想的な動作周波数に基づいて決定し

ます。

式 3-10

こ こでは、 VCO の理想周波数に最も近くなる M 値を決定します。 また、 プロセスの開始には D の最小値を使用しま

す。 VCO を可能な限り高くする と同時に、 最小の D および M 値を指定するよ うにします。

DMIN roundupf IN

fPFD MAX-------------------=

DMAX rounddownf IN

fPFD MIN ------------------------=

MMIN roundup fVCOMIN

f IN------------------ DMIN =

MMAX rounddownfVCOMAX

f IN------------------- DMAX =

MIDEALDMIN fVCOMAX

f IN-----------------------------------=

Page 45: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 45UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

MMCM のポート

表 3-3 に、 MMCM のポート一覧を示します。

表 3-3: MMCM のポート (1)

ピン名 I/O ピンの説明

CLKIN1 入力 通常のクロ ッ ク入力です。 「CLKIN1 – プライマ リ基準クロ ッ ク入力」 を参照してくださ

い。

CLKIN2 入力 MMCM 基準クロ ッ クのセカンダ リ ク ロ ッ ク入力です。「CLKIN2 – セカンダ リ ク ロ ッ ク入

力」 を参照してください。

CLKFBIN 入力 フ ィードバッ ク ク ロ ッ ク入力です。 「CLKFBIN – フ ィードバッ ク ク ロ ッ ク入力」 を参照

してください。

CLKINSEL 入力 クロ ッ ク入力マルチプレクサーのステート を制御します (High = CLKIN1、 Low = CLKIN2)。 CLKINSEL は MMCM 基準クロ ッ クを動的に切り替えます。 「CLKINSEL – クロ ッ ク入力切り替え」 を参照してください。

RST 入力 非同期リセッ ト信号です。 RST 信号は MMCM の非同期リセッ トです。 この信号がリ リー

スされる と、 MMCM は同期して再び有効になり ます (MMCM の再イネーブル)。 入力ク

ロ ッ クの条件 (周波数など) が変更される と リセッ トが必要です。 「RST – 非同期リセッ ト

信号」 を参照してください。

PWRDWN 入力 インスタンシエート された未使用の MMCM への電力供給を停止します。 「PWRDWN – パワーダウン」 を参照してください。

DADDR[6:0] 入力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのアドレス入力です。 使用しない場合はすべて

のビッ ト を 0 にする必要があ り ます。 「DADDR[6:0] – ダイナミ ッ ク リ コンフ ィギュレー

シ ョ ン アドレス」 を参照してください。

DI[15:0] 入力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのデータ入力です。 使用しない場合はすべての

ビッ ト を 0 にする必要があ り ます。 「DI[15:0] – ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン データ入力」 を参照してください。

DWE 入力 DI データの DADDR アドレスへの書き込みを制御するイネーブル信号です。 使用しない

場合は Low に接続する必要があ り ます。 「DWE – ダイナミ ッ ク リ コンフ ィギュレーシ ョ

ン書き込みイネーブル」 を参照してください。

DEN 入力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン機能を使用するかを制御します。 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン機能を使用しない場合は、 Low に接続する必要があ り ます。

「DEN – ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン イネーブル ス ト ローブ」 を参照してく

ださい。

DCLK 入力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポートの基準クロ ッ クです。 「DCLK – ダイナ

ミ ッ ク リ コンフ ィギュレーシ ョ ン基準クロ ッ ク」 を参照してください。

PSCLK 入力 位相シフ ト ク ロ ッ クです。 「PSCLK – 位相シフ ト ク ロ ッ ク」 を参照してください。

PSEN 入力 位相シフ ト イネーブルです。 「PSEN – 位相シフ ト イネーブル」 を参照してください。

PSINCDEC 入力 位相シフ トの増減を制御します。 「PSINCDEC – 位相シフ トの増減制御」 を参照してくだ

さい。

CLKOUT[0:6] 出力 ユーザー設定可能なクロ ッ ク出力 (0 ~ 6) です。 ユーザー制御可能な VCO 位相出力を 1 (バイパス) ~ 128 の範囲で分周したものです。出力クロ ッ クは (位相シフ ト しない限り ) 互いに位相が揃っており、 適切なフ ィードバッ ク構成によって入力クロ ッ ク と も位相が一

致します。

Page 46: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 46UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

ヒン ト : ク ロ ッキング ウ ィザードによって生成されたポート名は、 プ リ ミ ティブで使用されるポート名と異なる場合

があ り ます。

MMCM の各ポートの説明

CLKIN1 – プライマリ基準クロック入力

CLKIN1 は、 PHY タイルに隣接する同じバンクにある場合、 グローバル ク ロ ッ ク I/O で直接駆動できます。

CLKIN2 – セカンダリ クロック入力

CLKIN2 は、 PHY タイルに隣接する同じバンクにある場合、 グローバル ク ロ ッ ク I/O で直接駆動できます。

CLKFBIN – フ ィードバック クロック入力

CLKFBIN は、 内部フ ィードバッ ク用に CLKFBOUT へ直接接続するか、 ク ロ ッ ク バッファー フ ィードバッ クの一致

を目的と して BUFG、 または IBUFG (外部スキュー調整用に GC ピンを経由) かインターコネク ト (推奨しない) を介

CLKOUT[0:3]B 出力 反転した CLKOUT[0:3] です。 「CLKOUT[0:3]B – 反転出力クロ ッ ク」 を参照してくださ

い。

CLKFBOUT 出力 専用の MMCM フ ィードバッ ク出力です。 「CLKFBOUT – 専用の MMCM フ ィードバッ ク

出力」 を参照してください。

CLKFBOUTB 出力 反転した CLKFBOUT です。 「CLKFBOUTB – 反転 CLKFBOUT」 を参照してください。

CLKINSTOPPED 出力 入力クロ ッ クが停止したこ とを示すステータス ピンです。 「CLKINSTOPPED – 入力ク

ロ ッ ク ステータス」 を参照してください。

CLKFBSTOPPED 出力 フ ィードバッ ク ク ロ ッ クが停止したこ とを示すステータス ピンです。 「CLKFBSTOPPED – フ ィードバッ ク ク ロ ッ ク ステータス」 を参照してください。

LOCKED 出力 MMCM の位相があらかじめ定義されたウ ィンド ウ内で揃い、 周波数があらかじめ定義さ

れた PPM 範囲内で一致したこ とを示す MMCM からの出力です。 電源投入後、 MMCM は自動的にロッ ク し、 追加のリセッ トは不要です。 入力クロ ッ クが停止した場合や、 位相

が揃わなくなった場合 (入力クロ ッ クの位相シフ ト など)、 LOCKED はディアサート され

ます。 LOCKED がディアサート された後は MMCM を リセッ トする必要があ り ます。

DO[15:0] 出力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン使用時に MMCM のデータ出力が現れます。

「DO[15:0] – ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン出力バス」 を参照してください。

DRDY 出力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのレディ入力 (DRDY) 出力は、 MMCM のダイナ

ミ ッ ク リ コンフ ィギュレーシ ョ ン機能の DEN 信号に対する応答信号です。「DRDY – ダイ

ナミ ッ ク リ コンフ ィギュレーシ ョ ン レディ」 を参照してください。

PSDONE 出力 位相シフ ト完了を示します。 「PSDONE – 位相シフ ト完了」 を参照してください。

CDDCREQ 入力 選択したクロ ッ ク出力の動的な周波数変更を要求します。 42 ページの 「MMCM ク ロ ッ ク

分周値の動的変更 (CDDC)」 を参照してください。

CDDCDONE 出力 動的な周波数変更が完了したこ とを示します。 42 ページの 「MMCM ク ロ ッ ク分周値の動

的変更 (CDDC)」 を参照してください。

注記:1. PSINCDEC 以外の制御信号およびステータス信号はすべてアクティブ High です。

表 3-3: MMCM のポート (1) (続き)

ピン名 I/O ピンの説明

Page 47: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 47UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

して CLKFBOUT へ接続する必要があ り ます。 ク ロ ッ クの位相を揃えるには、 フ ィードバッ ク パスのクロ ッ ク バッ

ファーのタイプがフォワード ク ロ ッ ク バッファーのタイプと同じでなければなり ません。

Page 48: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 48UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

重要: 内部補正モードの設定は、 ソースにおける CLKFBOUT ポートから CLKFBIN ポートへの直接接続 (ワイヤ) で決定されます。 合成中に最適化によってこの接続がなくな り、 その後の Vivado Design Suite のすべての表現から、

CLKFBOUT から CLKFBIN への接続が削除されます。 ただし、 MMCM/PLL の COMPENSATION 属性が INTERNAL に設定されているこ とから、 MMCM/PLL の内部補正であるこ とがわかり ます。

CLKFBOUT – 専用の MMCM フ ィードバック出力

CLKFBOUT の可能な構成については、 55 ページの 「MMCM の使用モデル」 を参照してください。 フ ィードバッ ク パスにクロ ッ ク バッファーが含まれる場合、 CLKFBOUT でロジッ ク も駆動できます。

CLKFBOUTB – 反転 CLKFBOUT

この信号はフ ィードバッ クに使用しないでください。 この信号はも う 1 つの反転 CLKFBOUT 出力クロ ッ クを提供し

ます。 フ ィードバッ ク パスにクロ ッ ク バッファーが含まれる場合、 CLKFBOUTB でロジッ クを駆動できます。

CLKINSEL – クロック入力切り替え

CLKINSEL 信号は、 クロ ッ ク入力マルチプレクサーの状態を制御します。 High なら CLKIN1、 Low なら CLKIN2 とな り ます (55 ページの 「基準クロ ッ クの切り替え」 参照)。 ク ロ ッ ク切り替え中は、 MMCM を RESET に保持する必

要があ り ます。

RST – 非同期リセッ ト信号

RST 信号は MMCM の非同期リセッ トです。 この信号をディアサートする と、 MMCM は同期的に再び有効になり ます。

PWRDWN – パワーダウン

この信号は、 インスタンシエート された現在未使用の MMCM への電力供給を停止します。 このモードを使用する

と、 デザインで一時的に非アクティブになっている部分や、 特定のシステム構成で使用されない MMCM の電力を削

減できます。 このモードでは、 MMCM の消費電力はゼロになり ます。

DADDR[6:0] – ダイナミ ック リコンフ ィギュレーシ ョ ン アドレス

DADDR 入力バスは、 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのアドレス入力です。 このバスのアドレス値によ り、

次の DCLK サイクルで書き込みまたは読み出しを実行する 16 ビッ トのコンフ ィギュレーシ ョ ン ビッ ト を指定しま

す。 使用しない場合はすべてのビッ ト を 0 にする必要があ り ます。

DI[15:0] – ダイナミ ック リコンフ ィギュレーシ ョ ン データ入力

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのデータ入力です。 このバスの値がコンフ ィギュレーシ ョ ン セルに書き込

まれます。 このデータは、 DEN と DWE がアクティブなサイ クルで現れます。 データはシャ ド ウ レジスタに取り込

まれ、 後で書き込まれます。 DRP ポートに対して次の書き込みが可能になる と、 DRDY によって通知されます。

使用しない場合はすべてのビッ ト を 0 にする必要があ り ます。

DWE – ダイナミ ック リコンフ ィギュレーシ ョ ン書き込みイネーブル

DWE 入力は、 DADDR アドレスに対する DI データの書き込みまたは DO データの読み出しを制御するイネーブル信

号です。 使用しない場合は Low に接続する必要があ り ます。

Page 49: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 49UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

DEN – ダイナミ ック リコンフ ィギュレーシ ョ ン イネーブル ストローブ

DEN 入力は、 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン機能を使用するかを制御するイネーブル信号で、 すべての DRP ポートの動作を有効にします。 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン機能を使用しない場合は、 Low に接続

する必要があ り ます。

DCLK – ダイナミ ック リコンフ ィギュレーシ ョ ン基準クロック

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポートの基準クロ ッ クです。 この信号の立ち上がりエッジが、 その他すべ

てのポートの信号に対するタイ ミ ングの基準とな り ます。 セッ ト アップ タイムは、 UltraScale デバイスのデータシー

ト [参照 5] に記載されています。 ほかの入力信号には、 DCLK の立ち上がりエッジに対するホールド タイムの要件

はあ り ません。 このピンは IBUF、 IBUFG、 BUFGCE、 BUFGCTRL のいずれかで駆動できます。 このクロ ッ ク入力

への専用接続はあ り ません。

PSCLK – 位相シフ ト クロック

この入力ピンは、 ダイナミ ッ ク位相シフ ト インターフェイスに対するソース ク ロ ッ クを供給します。 これ以外の入

力は、 すべてこのクロ ッ クの立ち上がりエッジと同期します。 このピンは IBUF、 IBUFG、 BUFG、 BUFGCE のいず

れかで駆動できます。 このクロ ッ ク入力への専用接続はあ り ません。

PSEN – 位相シフ ト イネーブル

この信号を同期的にアサートする と、 ダイナミ ッ ク (可変) 位相シフ トが開始します。 この信号は、 PSCLK の 1 サイ

クル間アクティブにする必要があ り ます。 アクティブになる と位相が徐々にシフ ト し、 位相シフ トが完了する と PSDONE が High になり ます。 位相シフ ト中は、 グ リ ッチや散発的な変化は発生しません。 位相シフ トの開始から終

了まで、 位相は連続したアナログ量と してシフ ト します。

PSINCDEC – 位相シフ トの増減制御

この入力信号は、 ダイナミ ッ ク位相シフ トでシフ ト量を増やすのか (正の位相シフ ト ) 減らすのか (負の位相シフ ト ) を同期的に示します。 増加の場合は PSENCDEC が High にアサート され、 減少の場合は Low にアサート されます。

ダイナミ ッ ク位相シフ トには、 位相シフ トのオーバーフローはあ り ません。 360° 以上シフ ト した場合は、 元の位相

に戻り ます。

CLKOUT[0:6] – 出力クロック

ユーザー設定可能なクロ ッ ク出力 (CLKOUT0 ~ CLKOUT6) で、 ユーザー制御可能な VCO 位相出力を 1 (バイパス) ~ 128 の範囲で分周したものです。 入力クロ ッ ク と出力クロ ッ クは位相を揃えるこ とができます。

推奨: 最初に、 ルート ク ロ ッ ク ポイン ト を設定するために、 CLKOUT0 が使用されます。 ZHOLD モードの場合は、

このクロ ッ クで補正が実行されます。 したがって、 ザイ リ ンクスでは、 CLKOUT0 を メ イン ク ロ ッ ク と して使用す

るこ とを推奨しています。

可能な構成については、 55 ページの 「MMCM の使用モデル」 を参照してください。 MMCM では、 CLKOUT0 と CLKFBOUT を分数分周モードで使用できます。 どの CLKOUT 出力も整数分周モードで使用でき、 スタティ ッ クま

たはダイナミ ッ ク位相シフ トが可能です。 分数モードでは、 固定位相シフ ト モード しか利用できません。 詳細は、

40 ページの 「スタティ ッ ク位相シフ ト モード (MMCM および PLL)」 を参照してください。

CLKOUT[0:3]B – 反転出力クロック

CLKOUT[0:3] を反転 (180° 位相シフ ト ) したものです。

Page 50: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 50UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

CLKINSTOPPED – 入力クロック ステータス

入力クロ ッ クが停止したこ とを示すステータス ピンです。 この信号は、 ク ロ ッ クが停止してから CLKFBOUT クロ ッ クの 2 サイクル以内にアサート されます。 ク ロ ッ クが再開して LOCKED の状態になるか、 別のクロ ッ ク入力に

切り替わって MMCM が再びロッ クする と、 ディアサート されます。

CLKFBSTOPPED – フ ィードバック クロック ステータス

フ ィードバッ ク ク ロ ッ クが停止したこ とを示すステータス ピンです。 この信号は、 ク ロ ッ クが停止してから 1 クロ ッ ク サイクル以内にアサート されます。 フ ィードバッ ク ク ロ ッ クが再開し、 MMCM が再びロッ クする と、 ディ

アサート されます。

LOCKED

MMCM の基準クロ ッ ク と入力ピンのフ ィードバッ ク ク ロ ッ クの間で位相が揃い、 周波数が一致したこ とを示す MMCM からの出力です。 位相はあらかじめ定義されたウ ィンド ウ内で揃い、 周波数はあらかじめ定義された PPM 範囲内で一致する必要があ り ます。 電源投入後、 MMCM は自動的にロッ ク し、 追加のリセッ トは不要です。 入力ク

ロ ッ クが停止した場合や、 位相が揃わなくなった場合 (入力クロ ッ クの位相シフ ト など)、 または周波数が変化した

場合は、 1 PFD ク ロ ッ ク サイクル以内に LOCKED がディアサート されます。 LOCKED がディアサート された場合、

MMCM を リセッ トする必要があ り ます。 LOCKED のアサート前はクロ ッ ク出力は使用できません。

DO[15:0] – ダイナミ ック リコンフ ィギュレーシ ョ ン出力バス

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン使用時に MMCM のデータ出力が現れます。 DCLK の立ち上がりエッジで DEN がアクティブで DWE が非アクティブの場合、 このバスは DADDR によって指定されたアドレスのコンフ ィ

ギュレーシ ョ ン セルの内容を保持します。 DO バスは、 DRDY がアクティブなと きに DCLK の立ち上がりエッジで

キャプチャする必要があ り ます。 DO バスの値は、 次の DRP 動作まで保持されます。

DRDY – ダイナミ ック リコンフ ィギュレーシ ョ ン レディ

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのレディ入力 (DRDY) 出力は、 MMCM のダイナミ ッ ク リ コンフ ィギュ

レーシ ョ ン機能の DEN 信号に対する応答信号です。 この信号は、 DEN/DCLK の操作が完了したこ とを示します。

PSDONE – 位相シフ ト完了

この信号は、 PSCLK に同期します。 現在の位相シフ トが完了する と、 PSDONE 信号が 1 ク ロ ッ ク サイクルの間ア

サート され、 次の位相シフ ト サイクルを開始できる こ とを示します。

CDDCREQ – クロック出力分周値の変更要求

出力クロ ッ ク分周値 (すなわち周波数) の動的変更を要求する信号です。 この信号を High にアサートする と、 変更要

求がすべての影響を受けるカウンターに送信されます。 DRP を使用して最後の変更が完了するまでこの信号はア

サート しておく必要があ り ます。

CDDCDONE – クロック出力変更完了

出力クロ ッ ク分周値の変更が完了し、 出力が有効になったこ とを示す MMCM からの肯定応答信号です。

Page 51: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 51UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

MMCM の属性

表 3-4 に、 MMCME#_BASE および MMCME#_ADV プリ ミ ティブの属性一覧を示します。

表 3-4: MMCM の属性

属性 タイプ 許容値 デフォルト 説明

BANDWIDTH 文字列 HIGHLOWOPTIMIZED(6)

OPTIMIZED MMCM のジッター、 位相マージン、 そ

の他の特性に影響を与える MMCM のプログラ ミ ング アルゴ リズムを指定し

ます。

CLKOUT[1:6]_DIVIDE 整数 1 ~ 128 1 異なる周波数を使用する必要がある場

合、 CLKOUT ク ロ ッ ク出力を分周する

値を指定します。 こ こで指定した値と CLKFBOUT_MULT_F および DIVCLK_DIVIDE の値の組み合わせに

よって出力周波数が決定します。

CLKOUT[0]_DIVIDE_F(1) 整数

または

実数

1 ~ 128 または

2.000 ~ 128.000 の範囲 (増分幅 0.125)

1

CLKOUT[0:6]_PHASE 実数 –360.000 ~ 360.000「スタティ ッ ク位相シフ

ト モード (MMCM およ

び PLL)」 セクシ ョ ンの

式を参照してください。

0.0 関連する CLKOUT ク ロ ッ ク出力の出力

位相関係を度数で指定します (90 は 90° または 1/4 サイクルの位相オフセッ ト

を示し、 180 は 180° または 1/2 サイク

ルの位相オフセッ ト を示す)。

CLKOUT[0:6]_DUTY_CYCLE 実数 0.01 ~ 0.99 0.50 CLKOUT ク ロ ッ ク出力のデューティ サイクルをパーセン トで指定します。

0.50 の場合デューティ サイクルは 50% になり ます。

CLKFBOUT_MULT_F(1) 整数

または

実数

2 ~ 64 または

2.000 ~ 64.000 の範囲 (増分幅 0.125)

5 この範囲は UltraScale デバイスに適用さ

れます。 異なる周波数を使用する必要

がある場合、 すべての CLKOUT ク ロ ッ

ク出力の逓倍値を指定します。 こ こで

指定した値と当該の CLKOUT#_DIVIDE および DIVCLK_DIVIDE の値の組み合わせに

よって出力周波数が決定します。

CLKFBOUT_MULT_F(1) 整数

または

実数

2 ~ 128 または

2.000 ~ 128.000 の範囲 (増分幅 0.125)

5 この範囲は UltraScale+ デバイスに適用

されます。 異なる周波数を使用する必

要がある場合、 すべての CLKOUT クロ ッ ク出力の逓倍値を指定します。

こ こで指定した値と当該の CLKOUT#_DIVIDE および DIVCLK_DIVIDE の値の組み合わせに

よって出力周波数が決定します。

DIVCLK_DIVIDE 整数 1 ~ 106 1 すべての出力クロ ッ クの、 入力クロ ッ

クに対する分周比を指定します。 これ

によ り、 PFD に入力される CLKIN が分

周されます。

Page 52: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 52UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

CLKFBOUT_PHASE 実数 –360.000 ~ 360.000 0.0 ク ロ ッ ク フ ィードバッ ク出力の位相オ

フセッ ト を度数で指定します。 フ ィー

ドバッ ク ク ロ ッ クをシフ トする と MMCM へのすべての出力クロ ッ クが負

の方向に位相シフ ト します。

REF_JITTER1

REF_JITTER2

実数 0.000 ~ 0.999 0.010 MMCM のパフォーマンスを改善するた

めの基準クロ ッ クのジッ ターの目標値

を指定します。 不明の場合は、 入力ク

ロ ッ クのパフォーマンスが最適となる

よ うに帯域幅を設定する OPTIMIZED 属性が選択されます。 値がわかる場合

は、 入力クロ ッ ク上のジッ ター目標値

を単位間隔 (UI) (最大 Peak-to-Peak 値) で指定する必要があ り ます。

CLKIN1_PERIOD 実数 0.968 ~ 100.000 0.000 MMCM の CLKIN1 入力への入力周期を ns で指定します。 ps 単位まで細かく指

定可能です。 この値は必須であ り、 必

ず指定する必要があ り ます。

CLKIN2_PERIOD 実数 0.968 ~ 100.000 0.000 MMCM の CLKIN2 入力への入力周期を ns で指定します。 ps 単位まで細かく指

定可能です。 この値は必須であ り、 必

ず指定する必要があ り ます。

CLKFBOUT_USE_FINE_PS(2) 文字列 FALSE、 TRUE FALSE CLKFBOUT カウンターの可変ファイン

位相シフ ト イネーブルです。

CLKOUT0_USE_FINE_PS(2) 文字列 FALSE、 TRUE FALSE CLKOUT0 カウンターの可変ファイン

位相シフ ト イネーブルです。

CLKOUT0_DIVIDE は整数とする必要

があ り ます。 したがって、 分数分周は

行えません。

CLKOUT[1:6]_USE_FINE_PS(2) 文字列 FALSE、 TRUE FALSE CLKOUT[1:6] 可変ファイン位相シフ ト イネーブルです。

STARTUP_WAIT 文字列 FALSE、 TRUE FALSE MMCM がロッ ク状態になるまでコン

フ ィギュレーシ ョ ン スタート アップ サイクル間待機します。

CLKOUT4_CASCADE 文字列 FALSE、 TRUE FALSE 出力分周器 (カウンター ) CLKOUT6 を CLKOUT4 分周器の入力にカスケード

接続して 128 を超える出力クロ ッ ク分

周器を得ます。 これによ り、 分周値は

合計で 16,384 とな り ます。

表 3-4: MMCM の属性 (続き)

属性 タイプ 許容値 デフォルト 説明

Page 53: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 53UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

COMPENSATION 文字列 AUTO(3)、

ZHOLD、

EXTERNAL、INTERNAL(5)、BUF_IN

AUTO ク ロ ッ ク入力補正です。 必ず AUTO に設定します。 MMCM のフ ィードバッ ク

構成を定義します。

ZHOLD: MMCM が I/O レジスタで負の

ホールド タイムを提供するよ うにコン

フ ィギュレーシ ョ ンされているこ とを

示します。

EXTERNAL: デバイス外部のネッ ト ワー

クが補正されているこ とを示します。

INTERNAL: MMCM 内部のフ ィード

バッ ク パスを使用しており、 遅延の補

正が実行されていないこ とを示します。

BUF_IN: コンフ ィギュレーシ ョ ンとほ

かの補正モードが一致していないこ と

を示します。 CLKIN ピンと CLKFBIN ピンは、 フ ィードバッ ク パスの遅延が CLKIN に対して補正されるよ うに揃え

られます。

SS_EN 文字列 FALSE、 TRUE FALSE スペク ト ラム拡散の生成を有効にします。

SS_MODE 文字列 DOWN_LOW、

DOWN_HIGH、

CENTER_LOW、

CENTER_HIGH

CENTER_HIGH

スペク ト ラム拡散の周波数偏差および

拡散タイプを管理します。

SS_MOD_PERIOD 整数 4000 ~ 40000 10000 スペク ト ラム拡散の変調周期 (ns) を指

定します。

注記:1. 値が正確に 1/8 と して指定されていない場合、 Vivado ツールによって最も近い 0.125 の倍数に切り上げまたは切り下げられます。

2. 可変ファイン位相シフ ト を使用する場合、 位相シフ トの初期値は常に 0 で、 固定した初期値には設定できません。

3. COMPENSATION 属性の値は、 現在の補正方法を表示する目的でのみ使用されます。 補正方法は実際の回路トポロジに最適なものが Vivado ツールによって自動的に選択されます。 したがって、 COMPENSATION 属性の値は手動で設定せず、 デフォルトのままと して くだ

さい。

4. VCO 周波数 MMCM_FVCOMIN/MMCM_FVCOMAX および最小出力周波数 MMCM_FOUTMIN の仕様は、UltraScale ファ ミ リ と UltraScale+ ファ ミ リ とで異なり ます。 それぞれのデータシート を参照してください。

5. ソース コードでの CLKFBOUT から CLKFBIN への直接接続 (ワイヤ) は、 合成中に最適化されてな くな り ます。

6. UltraScale デバイスに限り SEM-IP を使用する場合は、 MMCM および PLL の VCO へノ イズ カップ リ ングが追加で生じます。 その結果、

AR:71314 で説明されているよ うに、 TIE ジッ ターが増加します。 ガイダンスおよび緩和手法については、 AR を参照してください。 この SEM-IP TIE ジッ ター問題を解決するために、 設定可能な 2 つの新しいプロパティ (BITSTREAM.MMCM.BANDWIDTH と BITSTREAM.PLL.BANDWIDTH) があ り ます。 これらのプロパティが POSTCRC に設定されている場合、BANDWIDTH 属性が OPTIMIZED に設定されている各 MMCM インスタンス、 または BANDWIDTH が黙示的に OPTIMIZED に設定されている PLL インスタンスは、 この設

定が帯域幅 POSTCTRC と して構成されます。 BITSTREAM プロパティに関する詳細は、 『Vivado Design Suite ユーザー ガイ ド : プログラム

およびデバッグ』 (UG908) [参照 13] を参照してください。

表 3-4: MMCM の属性 (続き)

属性 タイプ 許容値 デフォルト 説明

Page 54: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 54UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

MMCM のクロック入力信号

MMCM で利用可能なクロ ッ ク ソースは次のとおりです。

• IBUF – グローバル クロ ッ ク入力バッファーです。 MMCM は、 このパスの遅延を補正します。 IBUF は同じ領域

内のグローバル クロ ッ ク ピンを表します。 IBUF はグローバル クロ ッ ク ピンの場所に配置する必要があり ます。

• BUFGCTRL – 内部グローバル ク ロ ッ ク バッファーです。 MMCM はこのパスの遅延を補正しません。

• BUFGCE – グローバル ク ロ ッ ク入力バッファーです。 MMCM はこのパスの遅延を補正しません。

カウンター制御

MMCM の出力カウンターは、 DIVIDE、 DUTY_CYCLE、 PHASE の組み合わせによって広範囲な合成クロ ッ クを生

成します。 図 3-6 に、 カウンター設定とその出力の関係を示します。

一番上の波形は、 VCO の出力を表しています。

X-Ref Target - Figure 3-6

図 3-6: 出力カウンターのクロック合成の例

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

X16687-111516

Page 55: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 55UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

VCO と出力カウンターの波形についての詳細

図 3-7 に、 8 つの VCO 位相出力と 4 つのそれぞれ異なるカウンター出力を示します。 各 VCO 位相は、 適切なスター

ト アップ シーケンスで示されています。 位相関係およびスタート アップ シーケンスは、 適切な位相が維持されるよ

うになっています。 つま り、 0° 位相の立ち上がりエッジは 45° 位相の立ち上がりエッジよ り も前にあるこ とにな り

ます。 O0 カウンターは、 基準クロ ッ ク と して、 位相タ ップが 0° の単純な 2 分周を実行するよ うプログラムされてい

ます。 O1 カウンターは、 単純な 2 分周を実行するよ うプログラムされていますが、 VCO からの 180° の位相タップ

を使用します。 このカウンター設定を使用する と、 基準クロ ッ クのエッジに揃えられてデータが送信される DDR インターフェイス用のクロ ッ クが生成できます。 O2 カウンターは 3 分周するよ うプログラムされています。 O3 の出力

は O2 の出力と同じよ うにプログラムされていますが、位相が 1 サイクル遅れている点が異なり ます。 VCO の 1 周期

を超える位相シフ トが可能です。

MMCM が特定の位相関係を実現するよ う設定されている と きに入力周波数が変化する と、 この位相関係も変化しま

す。 これは、 VCO の周波数が変わるためにピコ秒単位の絶対位相も変化するためです。 MMCM を使用して設計す

る際は、 この点を考慮する必要があ り ます。 いくつかのクロ ッ ク (CLK や CLK90 など) に対する特定の位相関係の維

持が重要となるデザインでは、 入力クロ ッ ク周波数にかかわらず、 この関係は保持されます。

すべての 「O」 カウンターはどれも同じ機能を持つため、 O0 でできる こ とは O1 でも可能です。 ただし、 O0 カウン

ターのみ分数分周モードで使用できる機能が追加されています。 このため、 MMCM の出力をグローバル ク ロ ッ ク ネッ ト ワークに接続する と出力を柔軟に使用できるよ うにな り ます。 通常、 このレベルの詳細設定は MMCM 属性お

よびクロ ッキング ウ ィザードでの入力に従ってソフ ト ウェアやクロ ッキング ウ ィザードで適切に指定されるため、

認識されません。

X-Ref Target - Figure 3-7

図 3-7: VCO の位相の選択

One Cycle Delay

Counter Outputs

VCO8 Phases

45°

90°

135°

180°

225°

270°

315°

O0

O1

O2

O3

X16688-111516

Page 56: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 56UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

基準クロックの切り替え

MMCM の基準クロ ッ クは、 CLKINSEL ピンを使用して動作中に切り替えるこ とができます。 切り替えは非同期で

す。 クロ ッ クが切り替わる と MMCM は LOCKED 状態が解除される と考えられますが、 新しいクロ ッ クに自動的に

ロッ ク します。 したがって、 ク ロ ッ クが切り替わる と MMCM を リセッ ト状態にする必要があ り ます。 図 3-8 に、 マ

ルチプレクサーを使用した MMCM のクロ ッ ク切り替えを示します。 CLKINSEL 信号は、 マルチプレクサーを直接制

御します。 同期化ロジッ クはあ り ません。

入力クロックまたはフ ィードバック クロックの欠如

入力クロ ッ クまたはフ ィードバッ ク ク ロ ッ クが失われた場合は、 CLKINSTOPPED または CLKFBSTOPPED ステータ

ス信号がアサート されます。 LOCKED 信号は MMCM によってディアサート されます。 ク ロ ッ クが戻ってく る と、

CLKINSTOPPED 信号がディアサート されて RESET が適用されます。

MMCM の使用モデル

このセクシ ョ ンでは、 MMCM の使用例を示します。 MMCM にはいくつかの設計方法があ り ます。 Vivado ツールの

クロ ッキング ウ ィザードを使用する と、 MMCM の各種パラ メーターを容易に生成できます。 また、 MMCM をコン

ポーネン ト と して手動でインスタンシエートするこ と もできます。 このほか、 MMCM は IP コアとのマージも可能

で、 その場合、 MMCM は IP コアに含まれ、 IP コアによって管理されます。

X-Ref Target - Figure 3-8

図 3-8: 入力クロックの切り替え

IBUFG (CC) BUFGCTRL

BUFGCE Local Routing

(Not Recommended)

CLKINSEL

CLKIN1

CLKIN2

MMCM CLKIN

IBUFG (CC) BUFGCTRL

BUFGCE Local Routing

(Not Recommended)X16689-111516

Page 57: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 57UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

クロック ネッ トワークのスキュー調整

MMCM の使用法と して最も一般的なのが、 ク ロ ッ ク ネッ ト ワークのスキュー調整です。 図 3-9 に、 このモードの MMCM を示します。 CLKOUT カウンターのいずれか 1 つからのクロ ッ ク出力を用いて、 デバイスや I/O 内のロジッ

クを駆動します。 フ ィードバッ ク カウンターは、 入力クロ ッ ク と出力クロ ッ ク間の正確な位相関係 (90° 位相シフ ト

させるなど) を制御するために使用されます。 入力クロ ッ ク と出力クロ ッ ク間の位相調整が必要な場合における関連

クロ ッ クの波形を図の右側に示します。 図 3-9 に示すコンフ ィギュレーシ ョ ンが最も柔軟性のあるものですが、 2 つのグローバル ク ロ ッ ク ネッ ト ワークが必要とな り ます。

フ ィードバッ クの実装にはいくつかの制約があ り ます。 CLKFBOUT 出力は、 フ ィードバッ ク ク ロ ッ ク信号と しても

使用できます。 MMCM が BUFG および BUFGCTRL の両方を駆動している場合、 フ ィードバッ ク パスでも使用され

るこれらのクロ ッ ク バッファーのうちの 1 つしかスキュー調整されません。 基本的な制約と して 2 つの PFD に対す

る入力の周波数は同一でなければなり ません。 したがって、 次の関係を満たす必要があ り ます。

式 3-11

たとえば、 ƒIN = 166MHz、 D = 1、 M = 6、 および O = 2 の場合、 VCO = 996MHz でクロ ッ ク出力周波数は 498MHz とな り ます。 フ ィードバッ ク パスの M 値は 6 であるため、 PFD での 2 つの入力周波数は 166MHz です。

も う少し複雑な例と して、 入力周波数が 66.66MHz で、 D = 2、 M = 30、 O = 4 の場合を考えてみます。 この場合、

VCO の周波数は 1000MHz で CLKOUT 出力の周波数は 250MHz とな り ます。 したがって、 PFD のフ ィードバッ ク周

波数は 1000/30 または 33.33MHz で、 PFD の入力周波数 66.66MHz/2 に一致します。

X-Ref Target - Figure 3-9

図 3-9: 2 つの BUFG を使用したグローバル クロック ネッ トワークのスキュー調整

CLKIN1

CLKFBIN

RST

MMCM

IBUFG

1 2 4 5

3

BUFG

BUFG

To Logic

6

6

5

4

3

2

1

CLKOUT0

CLKOUT0B

CLKOUT1

CLKOUT1B

CLKOUT2

CLKOUT2B

CLKOUT3

CLKOUT3B

CLKOUT4

CLKOUT5

CLKOUT6

CLKFBOUT

CLKFBOUTB

LOCKED

X16690-111516

fIND----- fFB

fVCOM

----------= =

Page 58: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 58UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

内部フ ィードバックを使用した MMCM

MMCM を合成回路またはジッター フ ィルターと して使用し、 かつ MMCM の入力クロ ッ ク と出力クロ ッ ク間に特別

な位相関係が必要ない場合は、 MMCM 内部でフ ィードバッ ク させるこ とができます。 この場合、 フ ィードバッ ク クロ ッ クはコア電源から電力供給を受けているブロ ッ クを通過しないため、 この電源のノ イズの影響を受けるこ とが

なく、MMCM のパフォーマンスが向上します。ただし CLKIN 信号および BUFG のノ イズはあ り ます (図 3-10 参照)。

X-Ref Target - Figure 3-10

図 3-10: 内部フ ィードバックを使用した MMCM

CLKIN1

CLKFBIN

RST

MMCM

IBUFG BUFG

To LogicCLKOUT0

CLKOUT0B

CLKOUT1

CLKOUT1B

CLKOUT2

CLKOUT2B

CLKOUT3

CLKOUT3B

CLKOUT4

CLKOUT5

CLKOUT6

CLKFBOUT

CLKFBOUTB

LOCKED

X16691-111516

Page 59: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 59UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

ゼロ遅延バッファー

MMCM を使用するこ とで、 ゼロ遅延バッファー ク ロ ッ クを生成するこ と もできます。 ゼロ遅延バッファーは、 1 つのクロ ッ ク信号が、 複数のデスティネーシ ョ ンに低スキューで接続されているアプリ ケーシ ョ ンで有用です。 この

コンフ ィギュレーシ ョ ンを図 3-11 に示します。 こ こでは、 チップ外からフ ィードバッ ク信号が入力され、 ボード トレース フ ィードバッ クが外部コンポーネン トへの ト レース と一致するよ う設計されています。 このコンフ ィギュ

レーシ ョ ンでは、 ク ロ ッ ク エッジは UltraScale デバイスの入力および外部コンポーネン トの入力で揃う こ とを想定

しています。 CLKIN と CLKFBIN の入力クロ ッ ク バッファーは同じバンクに存在する必要があ り ます。

外部コンポーネン トの入力容量と UltraScale デバイスのフ ィードバッ ク パスの容量間に負荷の差異があるため、 場

合によっては、 正確な位相調整ができないこ とがあ り ます。 たとえば、 外部コンポーネン トの入力容量値は 1pF ~ 4pF の範囲です。 デバイスの入力容量値は、 UltraScale デバイスのデータシート [参照 5] に記載されています。 信号

の傾きの差、 基本的にはスキューが発生します。 タイ ミ ングを満たすにはこの影響を考慮する必要があ り ます。

2 つの CMT の接続

MMCM は、 配線リ ソースのみを使用してカスケード接続できます。 配線遅延の補正は実行されません。

X-Ref Target - Figure 3-11

図 3-11: ゼロ遅延バッファー

CLKIN1

CLKFBIN

RST

MMCM

IBUFGInside UltraScale Device

OBUF

To External Components

BUFG

BUFG

CLKOUT0

CLKOUT0B

CLKOUT1

CLKOUT1B

CLKOUT2

CLKOUT2B

CLKOUT3

CLKOUT3B

CLKOUT4

CLKOUT5

CLKOUT6

CLKFBOUT

CLKFBOUTB

LOCKED

X16692-111516

Page 60: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 60UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

スペク ト ラム拡散クロック生成

スペク ト ラム拡散クロ ッ ク生成 (SSCG) は、 エレク ト ロニクス デバイスで生成される EMI のスペク トル密度を低減

するためその製造者の間で広く使用されています。 EMI 放出レベルは、 近接するほかの電子デバイスの動作に影響

を与えるレベルにならないよ うにする必要があ り ます。 たとえば、 電話がビデオ ディ スプレイの隣にあっても通話

の質が落ちるよ うなこ とがあってはなり ません。 同様に、 ディ スプレイも電話使用中に影響を受けるこ とがないよ

うにします。

電磁適合性 (EMC) に関する規制は、 こ う した電磁妨害を引き起こすノ イズや EMI を抑制するためのものです。 EMC 要件に適合させるための一般的手段と しては、 高額なシールド、 フェライ ト ビーズ、 チョークなどを追加する方法

があ り ます。 こ う した方法は、 PCB の配線を複雑にしたり、 製品開発サイクルが長くなるなどして、 最終製品のコ

ス トに影響する可能性があ り ます。

SSCG は、 電磁エネルギーを幅広い周波数帯域に拡散させ、 狭い周波数の幅の中で計測された電磁界強度を効果的に

抑制します。 ある周波数でのピーク電磁エネルギーは SSCG 出力をモジュール化するこ とで低減されます。

SS_EN が TRUE に設定されている場合、 MMCME# は固定周波数のオシレーターからスペク ト ラム拡散クロッ クを生

成できます (図 3-12 参照)。 MMCME# 内では、 VCO 周波数は CLKFBOUT および CLKOUT[6:4,1,0] と共に変調されま

す。 クロ ッ ク出力 CLKOUT[3:2] は変調周期の制御に使用されますが、 一般的な使用では利用できません。 クロ ッ ク

周波数が低速で調整される限り、 MMCME# の周期ジッターがスペク ト ラム拡散の影響を受けるこ とはあ り ません。

変調周期 SS_MOD_PERIOD を調整するこ とで、 ユーザーは、 ソフ ト ウェア ツールが MMCME# の設定に基づき最も

近い変調周期を選択するよ うに指定できます。 変調周波数が 30KHz の可聴周波数帯域よ り も高い間は、 スペク ト ラ

ム拡散変調によって EMI が低減されます。 一般に、 スペク ト ラム拡散の影響を最小限に抑えるためによ り低い変調

周波数が使用されます。

周波数偏差を SS_MODE (CENTER_HIGH または DOWN_HIGH) で大き くする と、 相対的な EMI が削減されますが、

周波数帯域が広くなったこ とによってシステム全体の動作へ影響が及ばないよ うに注意が必要です (図 3-13 参照)。スペク ト ラム拡散クロ ッ クおよび入力クロ ッ クは異なる周波数で動作しているため、 ク ロ ッ ク ド メ イン間における

データ転送でデータが失われないよ うに非同期 FIFO を使用する必要があ り ます。 周波数偏差を大き くする と、 よ り

大きな FIFO が必要とな り ます。

X-Ref Target - Figure 3-12

図 3-12: センター拡散変調

Modulation Period

Frequency Deviation

FIN

Freq

uenc

y

TimeX16693-111516

Page 61: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 61UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

デザインにおける別の ト レードオフと して、 センター拡散またはダウン拡散のいずれを使用するかを決定するこ と

が考えられます。 SS_MODE (DOWN_HIGH、 DOWN_LOW) を選択する と、 図 3-14 に示すよ うに低い周波数への広

がりが可能です。 DOWN_HIGH は、 CENTER_LOW と類似した周波数偏差とな り ます。

X-Ref Target - Figure 3-13

図 3-13: センター拡散変調 (CENTER_LOW および CENTER_HIGH)

X-Ref Target - Figure 3-14

図 3-14: ダウン拡散変調

Freq

uenc

y

Time

CENTER_LOW

FIN CENTER_HIGH

X16694-111516

Freq

uenc

y

Time

DOWN_LOWDOWN_HIGH

FIN

X16695-111516

Page 62: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 62UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

ダウン拡散を使用する場合、 スペク ト ラム拡散によるタイ ミ ング解析への影響を考慮しなければならないこ とが多

くあ り ます。 スペク ト ラム拡散クロ ッ クを使用するデザインは、 周波数偏差内で最も高い周波数でタイ ミ ングを満

たす必要があ り ます。 したがって、 SS_MODE (CENTER_LOW) の 100MHz ク ロ ッ クによって 3% (±1.5%) のセンター

拡散が生じる と きは、 3% センター拡散の 100MHz ク ロ ッ クは、 101.5MHz ク ロ ッ ク と してタイ ミ ング解析でエラー

が発生しないよ うにします。 ただし、 SS_MODE (DOWN_HIGH) によって 3% のダウン拡散が生じる場合、 入力周波

数は周波数偏差内で最も高い周波数とな り ます。 結果、 3% のダウン拡散の 100MHz ク ロ ッ クについては、 ダウン拡

散クロ ッ クはタイ ミ ング解析では 100MHz ク ロ ッ ク と して継続的に解析されます。

表 3-5: UltraScale デバイスの入力周波数を使用した手動 SS タイ ミング調整

パラメーター 入力周波数 (MHz) M 入力周波数の調整 (FIN_SS)

SS_MODE (CENTER_HIGH)

25 < FIN < 35 M = 28 FIN_SS = FIN x 56/55

35 < FIN < 50M = 21 FIN_SS = FIN x 42/41

M = 22 FIN_SS = FIN x 44/43

50 < FIN < 75 M = 28 FIN_SS = FIN x 56/55

75 < FIN < 150M = 21 FIN_SS = FIN x 42/41

M = 22 FIN_SS = FIN x 44/43

SS_MODE (CENTER_LOW)

25 < FIN < 35 M = 56 FIN_SS = FIN x 112/111

35 < FIN < 50M = 42 FIN_SS = FIN x 84/83

M = 44 FIN_SS = FIN x 88/87

50 < FIN < 75 M = 56 FIN_SS = FIN x 112/111

75 < FIN < 150M = 42 FIN_SS = FIN x 84/83

M = 44 FIN_SS = FIN x 88/87

SS_MODE (DOWN_HIGH)

25 < FIN < 35 M = 28 FIN_SS = FIN

35 < FIN < 50 M = 21、 22 FIN_SS = FIN

50 < FIN < 75 M = 28 FIN_SS = FIN

75 < FIN < 100 M = 21、 22 FIN_SS = FIN

100 < FIN < 150 M = 21、 22 FIN_SS = FIN

SS_MODE (DOWN_LOW)

25 < FIN < 35 M = 56 FIN_SS = FIN

35 < FIN < 50 M = 42、 44 FIN_SS = FIN

50 < FIN < 75 M = 56 FIN_SS = FIN

75 < FIN < 100 M = 42、 44 FIN_SS = FIN

100 < FIN < 150 M = 42、 44 FIN_SS = FIN

Page 63: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 63UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

入力クロ ッ クが 25MHz の場合、 新しいタイ ミ ング制約は次のとおりです。

• SS_MODE (CENTER_HIGH) = 25 x 56/55 = 25.45MHz

• SS_MODE (CENTER_LOW) = 25 x 112/111 = 25.23MHz

• SS_MODE (DOWN_HIGH) = 25MHz

• SS_MODE (DOWN_LOW) = 25MHz

表 3-6: UltraScale+ デバイスの入力周波数を使用した手動 SS タイ ミング調整

パラメーター 入力周波数 (MHz) M D 入力周波数の調整 (FIN_SS)

SS_MODE (CENTER_HIGH)

30 < FIN < 40 M = 28 D = 1 FIN_SS = FIN x 56/55

40 < FIN < 60M = 21 D = 1 FIN_SS = FIN x 42/41

M = 22 D = 1 FIN_SS = FIN x 44/43

60 < FIN < 80 M = 28 D = 2 FIN_SS = FIN x 56/55

80 < FIN < 120M = 21 D = 2 FIN_SS = FIN x 42/41

M = 22 D = 2 FIN_SS = FIN x 44/43

120 < FIN < 150M = 21 D = 3 FIN_SS = FIN x 42/41

M = 22 D = 3 FIN_SS = FIN x 44/43

SS_MODE (CENTER_LOW)

30 < FIN < 40 M = 56 D = 2 FIN_SS = FIN x 112/111

40 < FIN < 60M = 42 D = 2 FIN_SS = FIN x 84/83

M = 44 D = 2 FIN_SS = FIN x 88/87

60 < FIN < 80 M = 56 D = 4 FIN_SS = FIN x 112/111

80 < FIN < 120M = 42 D = 4 FIN_SS = FIN x 84/83

M = 44 D = 4 FIN_SS = FIN x 88/87

120 < FIN < 150M = 42 D = 6 FIN_SS = FIN x 84/83

M = 44 D = 6 FIN_SS = FIN x 88/87

SS_MODE (DOWN_HIGH)

35 < FIN < 40 M = 28 D = 1 FIN_SS = FIN

40 < FIN < 60 M = 21、 22 D = 1 FIN_SS = FIN

60 < FIN < 80 M = 28 D = 2 FIN_SS = FIN

80 < FIN < 120 M = 21、 22 D = 2 FIN_SS = FIN

120 < FIN < 150 M = 21、 22 D = 3 FIN_SS = FIN

SS_MODE (DOWN_LOW)

35 < FIN < 40 M = 56 D = 2 FIN_SS = FIN

40 < FIN < 60 M = 42、 44 D = 2 FIN_SS = FIN

60 < FIN < 80 M = 56 D = 4 FIN_SS = FIN

80 < FIN < 120 M = 42、 44 D = 4 FIN_SS = FIN

120 < FIN < 150 M = 42、 44 D = 6 FIN_SS = FIN

Page 64: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 64UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

入力クロ ッ クが 80MHz の場合、 新しいタイ ミ ング制約は次のとおりです。

• SS_MODE (CENTER_HIGH) = 80 x 44/43 = 81.86MHz

• SS_MODE (CENTER_LOW) = 80 x 88/87 = 80.92MHz

• SS_MODE (DOWN_HIGH) = 80MHz

• SS_MODE (DOWN_LOW) = 80MHz

表 3-5 および表 3-6 では、 スペク ト ラム拡散が有効なクロ ッ クの周波数範囲に対して、 タイ ミ ング制約を手動で調整

するための情報を提供しています。 これらは、 Vivado ツールで使用される XDC ファ イルでタイ ミ ング制約を生成す

る場合の情報です。

表 3-5 および表 3-6 では、 スペク ト ラム拡散クロ ッキング パラ メーター、 SS_MODE が CENTER_LOW または CENTER_HIGH に設定されている場合に変更する必要があるタイ ミ ング制約を示しています。 SS_MODE 属性が DOWN_LOW または DOWN_HIGH に設定されている場合、 タイ ミ ング制約の調整は不要です。

また、 Vivado ツールでは、 デザイン内のスペク ト ラム拡散クロ ッ クを検出するため、 タイ ミ ング制約を手動で調整

する必要がないこ とにも留意してください。 Vivado ツール (スタティ ッ ク タイ ミ ング解析) は、 スペク ト ラム拡散が

有効なクロ ッ クによって生じるタイ ミ ングの広がり を自動的に把握します。 スペク ト ラム拡散クロ ッ クを使用する

場合、 Vivado のスタティ ッ ク タイ ミ ング解析では、 合計不確実性計算式によるスペク ト ラム拡散 (SS) の不確実性値

を考慮します。 スタティ ッ ク解析ツールでは次の式を使用します。

式 3-12

説明:

• TSJ2 = 全システム ジッ ター

• DJ2 = ディ スク リート ジッ ター

• PE = 位相誤差

• SS = スペク ト ラム拡散

注意: デザインでスペク ト ラム拡散クロ ッキングを使用する場合、 クロ ッ ク ド メ インおよびスペク ト ラム拡散クロ ッ

ク ド メ インをまたぐすべての信号、 データおよび非データ信号に対して、 適切なクロ ッ ク ド メ イン ク ロ ッシング (CDC) 回路を使用する必要があ り ます。

2 つのクロ ッ ク ド メ イン間でデータを転送するには、 非同期 FIFO を使用します。 FIFO の深さは、 ク ロ ッ クの変調

周波数によって異なり ます。 変調周波数が低いほど、 FIFO を深くする必要があ り ます。

式 3-13

SS_MODE が DOWN_LOW または DOWN_HIGH に設定されたスペク ト ラム拡散クロ ッキングを使用する と、 計算さ

れる F~IN_SS~ 周波数 (表 3-5/表 3-6 のデータを使用) は、元のクロ ッ ク周波数よ り も低くな り ます (表 3-6 の後の例を

参照)。 これによって、 使用している FIFO がフルになり、 オーバーランが発生する可能性があ り ます。 この問題を

回避するには、 FIFO をスロ ッ トル制御で使用します。

TS J2 DJ

2– 12--

2----------------------------------- PE S S+ +

FIFO depth is proportional to frequencyDeviationModulationFrequency-------------------------------------------------=

Page 65: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 65UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

表 3-7: UltraScale デバイスのスペク ト ラム拡散の生成における制約

パラメーター 値

FMODULATION最小 25 [kHz]

最大 250 [kHz]

入力クロ ッ ク周波数最小 25 [MHz]

最大 150 [MHz]

SS_MODE (CENTER_HIGH)

25MHz < FIN < 35MHzM = 28D = 1

35MHz < FIN < 50MHzM = 21, 22

D = 1

50MHz < FIN < 75MHzM = 28D = 2

75MHz < FIN < 100MHzM = 21, 22

D = 2

100MHz < FIN < 150MHzM = 21, 22

D = 3

SS_MODE (CENTER_LOW)

25MHz < FIN < 35MHzM = 56D = 2

35MHz < FIN < 50MHzM = 42, 44

D = 2

50MHz < FIN < 75MHzM = 56D = 4

75MHz < FIN < 100MHzM = 42, 44

D = 4

100MHz < FIN < 150MHzM = 42, 44

D = 6

SS_MODE (DOWN_HIGH)

25MHz < FIN < 35MHzM = 28D = 1

35MHz < FIN < 50MHzM = 21, 22

D = 1

50MHz < FIN < 75MHzM = 28D = 2

75MHz < FIN < 100MHzM = 21, 22

D = 2

100MHz < FIN < 150MHzM = 21, 22

D = 3

Page 66: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 66UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

SS_MODE (DOWN_LOW)

25MHz < FIN < 35MHzM = 56D = 2

35MHz < FIN < 50MHzM = 42, 44

D = 2

50MHz < FIN < 75MHzM = 56D = 4

75MHz < FIN < 100MHzM = 42, 44

D = 4

100MHz < FIN < 150MHzM = 42, 44

D = 6

CLKOUT[3:2]_DIVIDE N/A

CLKOUT[6:4,1,0]_DIVIDE 1 ~ 128

帯域幅 低

表 3-7: UltraScale デバイスのスペク ト ラム拡散の生成における制約 (続き)

パラメーター 値

表 3-8: UltraScale+ デバイスのスペク ト ラム拡散の生成における制約

パラメーター 値

FMODULATION最小 30 [kHz]

最大 250 [kHz]

入力クロ ッ ク周波数最小 25 [MHz]

最大 150 [MHz]

SS_MODE (CENTER_HIGH)

30MHz < FIN < 40MHzM = 28D = 1

40MHz < FIN < 60MHzM = 21, 22

D = 1

60MHz < FIN < 80MHzM = 28D = 2

80MHz < FIN < 120MHzM = 21, 22

D = 2

120MHz < FIN < 150MHzM = 21, 22

D = 3

SS_MODE (CENTER_LOW)

30MHz < FIN < 40MHzM = 56D = 2

40MHz < FIN < 60MHzM = 42, 44

D = 2

60MHz < FIN < 80MHzM = 56D = 4

80MHz < FIN < 120MHzM = 42, 44

D = 4

120MHz < FIN < 150MHzM = 42, 44

D = 6

Page 67: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 67UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

スペク ト ラム拡散の生成時、 VCO 周波数は入力周波数および SS_MODE に基づきクロッキング ウ ィザードで設定さ

れます。 したがって、 クロ ッキング ウ ィザードでは、 CLKOUT[6:4,1,0] の出力周波数を設定するこ とが推奨されます。

さ らに、 VCO 周波数および SS_MOD_PERIOD に基づいて、 変調周波数が SS_MOD_PERIOD の 10% 内となるよ うに

正しい変調の値も クロ ッキング ウ ィザードで決定します。 変調周波数は VCO 周波数によって異なるため、 コンパイ

ルに応じて入力周波数が変わるたびに変調周波数を調整します。

SS_MODE (DOWN_HIGH)

30MHz < FIN < 40MHzM = 28D = 1

40MHz < FIN < 60MHzM = 21, 22

D = 1

60MHz < FIN < 80MHzM = 28D = 2

80MHz < FIN < 120MHzM = 21, 22

D = 2

120MHz < FIN < 150MHzM = 21, 22

D = 3

SS_MODE (DOWN_LOW)

30MHz < FIN < 40MHzM = 56D = 2

40MHz < FIN < 60MHzM = 42, 44

D = 2

60MHz < FIN < 80MHzM = 56D = 4

80MHz < FIN < 120MHzM = 42, 44

D = 4

120MHz < FIN < 150MHzM = 42, 44

D = 6

CLKOUT[3:2]_DIVIDE N/A

CLKOUT[6:4,1,0]_DIVIDE 1 ~ 128

帯域幅 低

表 3-8: UltraScale+ デバイスのスペク ト ラム拡散の生成における制約 (続き)

パラメーター 値

Page 68: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 68UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

MMCM のアプリケーシ ョ ン例

次のよ うに MMCM の属性を設定する と、 さまざまな合成クロ ッ クが生成されます。

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_F = 8;DIVCLK_DIVIDE = 1;CLKIN1_PERIOD = 10.0;

図 3-15 に、 波形を示します。

X-Ref Target - Figure 3-15

図 3-15: 波形の例

REFCLK

VCOCLK

CLKOUT0

CLKOUT1

CLKOUT2

CLKOUT3

CLKOUT4

CLKOUT5X16696-111516

Page 69: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 69UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

PLLPLL は PHY ロジッ クおよび I/O にクロ ッ クを供給し、 1 つの CMT に 2 つの PLL が含まれます。 また、 PLL は幅広い

周波数に対応する周波数合成回路と しても使用できるほか、 ジッ ター フ ィルターと しての機能や、 基本的な位相シ

フ ト機能およびデューティ サイクルのプログラム機能もあ り ます。 MMCM と比較する と出力の数が違うほか、 ク

ロ ッ ク ネッ トのスキュー調整機能や高度な位相シフ ト機能など、 MMCM の高度な機能の多くに対応していません。

また、 乗算器と入力分周器の値の範囲も狭くなっています。

一般的な使用法について

PLL プリ ミテ ィブ

図 3-16 に、 UltraScale デバイスの PLL プリ ミ ティブ、 PLLE3_BASE および PLLE3_ADV を示します。 UltraScale+ デバイスには、 E3 ではなく E4 が付いた同じプリ ミ ティブがあ り ます。 このユーザー ガイ ドでは、 PLLE4_ADV は PLLE3_ADV と同じで、 PLLE4_BASE は PLLE3_BASE と同じです。

X-Ref Target - Figure 3-16

図 3-16: PLL プリ ミテ ィブ

CLKIN

CLKOUTPHYEN

RST

CLKOUT0

CLKOUT0B

CLKOUT1

CLKOUT1B

CLKOUTPHY

PWRDWN

CLKIN

CLKOUTPHYEN

DADDR[6:0]

DI[15:0]

DWE

DEN

DCLK

PWRDWN

RST

CLKOUT0

CLKOUT0B

CLKOUT1

CLKOUT1B

CLKOUTPHY

LOCKED

DO[15:0]

DRDY

LOCKED

PLLE3_BASE or PLLE4_BASE

PLLE3_ADV or PLLE4_ADV

CLKFBIN

CLKFBOUT

CLKFBIN

CLKFBOUT

X16697-111516

Page 70: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 70UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

PLLE3_BASE および PLLE4_BASE プリ ミテ ィブ

PLLE#_BASE プリ ミ ティブでは、 スタンドアロンの PLL で最も高頻度に使用される機能を利用できます。 ク ロ ッ ク スキュー調整、 周波数合成、 デューティ サイクル プログラ ミ ングは、 PLLE#_BASE で使用できる機能です。 表 3-9 に、 ポートの一覧を示します。

PLLE3_ADV および PLLE4_ADV プリ ミテ ィブ

PLLE#_ADV プリ ミ ティブには、 PLLE#_BASE の全機能に加え、 DRP へのアクセスを提供するポート を備えていま

す。 表 3-10 に、 ポートの一覧を示します。

PLL のポート

表 3-11 に、 PLL のポート一覧を示します。

表 3-9: PLLE#_BASE ポート

説明 ポート

ク ロ ッ ク入力 CLKIN、 CLKFBIN

制御入力 RST、 CLKOUTPHYEN

ク ロ ッ ク出力 CLKOUT0、 CLKOUT1、 CLKOUT0B、 CLKOUT1B、 CLKOUTPHY、 CLKFBOUT

ステータスおよびデータ出力 LOCKED

電圧制御 PWRDWN

表 3-10: PLLE#_ADV ポート

説明 ポート

ク ロ ッ ク入力 CLKIN、 DCLK、 CLKFBIN

制御およびデータ入力 RST、 CLKOUTPHYEN、 DWE、 DEN、 DADDR、 DI

ク ロ ッ ク出力 CLKOUT0、 CLKOUT1、 CLKOUT0B、 CLKOUT1B、 CLKOUTPHY、 CLKFBOUT

ステータスおよびデータ出力 LOCKED、 DO、 DRDY

電圧制御 PWRDWN

表 3-11: PLL のポート

ピン名 I/O ピンの説明

CLKIN 入力 通常のクロ ッ ク入力です。

RST 入力 非同期リセッ ト信号です。 RST 信号は PLL の非同期リセッ トです。 この信号がリ

リースされる と、 PLL は同期して再び有効になり ます (PLL の再イネーブル)。 入力ク

ロ ッ クの条件 (周波数など) が変更される と リセッ トが必要です。

PWRDWN 入力 インスタンシエート された未使用の PLL への電力供給を停止します。 70 ページの

「PWRDWN – パワーダウン」 を参照してください。

CLKOUT[0:1] CLKOUT[0:1]B

出力 ユーザー設定可能なクロ ッ ク出力 (0 ~ 1) およびそれを反転したもの。 ユーザー制御

可能な VCO 位相出力を 1 (バイパス) ~ 128 の範囲で分周したものです。

CLKFBOUT 出力 専用の PLLE3 または PLLE4 フ ィードバッ ク出力です。

CLKFBIN 入力 フ ィードバッ ク ク ロ ッ ク入力です。

CLKOUTPHYEN 入力 PHY へのクロ ッ ク供給を有効にします。

Page 71: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 71UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

PLL の各ポートの説明

CLKIN – 基準クロック入力

PLL への通常のクロ ッ ク入力です。

RST – 非同期リセッ ト信号

RST 信号は PLL の非同期リセッ トです。 この信号をディアサートする と、 PLL は同期的に再び有効になり ます。

PWRDWN – パワーダウン

この信号は、 インスタンシエート された現在未使用の PLL への電力供給を停止します。 このモードを使用する と、

デザインで一時的に非アクティブになっている部分や、 特定のシステム構成で使用されない PLL の電力を削減でき

ます。 このモードでは、 PLL の消費電力はゼロになり ます。

CLKOUT[0:1] – 出力クロック

ユーザー設定可能なクロ ッ ク出力で、 ユーザー制御可能な VCO 位相出力を 1 (バイパス) ~ 128 の範囲で分周したも

のです。 入力クロ ッ ク と出力クロ ッ クは位相を揃えるこ とができます。

CLKOUTPHY 出力 専用の PHY ク ロ ッ クです。

LOCKED 出力 PLL の位相があらかじめ定義されたウ ィンド ウ内で揃い、 周波数があらかじめ定義さ

れた PPM 範囲内で一致したこ とを示す PLL からの出力です。 電源投入後、 PLL は自

動的にロッ ク し、 追加のリセッ トは不要です。 入力クロ ッ クが停止した場合や、 位相

が揃わなくなった場合 (入力クロ ッ クの位相シフ ト など)、 LOCKED はディアサート

されます。 LOCKED がディアサート された後は PLL を リセッ トする必要があ り ます。

DADDR[6:0] 入力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのアドレス入力です。 使用しない場合はす

べてのビッ ト を 0 にする必要があ り ます。

DI[15:0] 入力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのデータ入力です。 使用しない場合はすべ

てのビッ ト を 0 にする必要があ り ます。

DWE 入力 DI データの DADDR アドレスへの書き込みを制御するイネーブル信号です。 使用し

ない場合は Low に接続する必要があ り ます。

DEN 入力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン機能を使用するかを制御します。 ダイナ

ミ ッ ク リ コンフ ィギュレーシ ョ ン機能を使用しない場合は、 Low に接続する必要が

あ り ます。

DCLK 入力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポートの基準クロ ッ クです。

DO[15:0] 出力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン使用時にダイナミ ッ ク リ コンフ ィギュレー

シ ョ ン出力バスによって PLL のデータ出力が現れます。

DRDY 出力 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのレディ入力 (DRDY) 出力は、PLL のダイナ

ミ ッ ク リ コンフ ィギュレーシ ョ ン機能の DEN 信号に対する応答信号です。

表 3-11: PLL のポート (続き)

ピン名 I/O ピンの説明

Page 72: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 72UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

CLKFBOUT – 専用の PLL フ ィードバック出力

CLKFBOUT の可能な構成については、 図 3-17 および図 3-18 を参照してください。 MMCM とは異なり、

CLKFBOUT はロジッ クを駆動できません。

X-Ref Target - Figure 3-17

図 3-17: BUF_ IN 補正モードを使用するクロックのスキュー調整

CLKIN

RST

PWRDWN

CLKOUT0

CLKOUT0B

CLKOUT1

CLKOUT1B

CLKOUTPHYEN

CLKOUTPHY_P

LOCKED

PLLE3

CLKOUTPHY_N

CLKFBIN

CLKFBOUT

Local Clock Network

BUF_INLocal Clock

Network Compensation

21

3

4

5 1

2

3

4

5

X18045-111516

X-Ref Target - Figure 3-18

図 3-18: PLL の内部フ ィードバック

CLKIN

RST

PWRDWN

CLKOUT0

CLKOUT0B

CLKOUT1

CLKOUT1B

CLKOUTPHYEN

CLKOUTPHY_P

LOCKED

PLLE3

CLKOUTPHY_N

CLKFBIN

CLKFBOUT

IBUFG BUFG

X18046-111516

Page 73: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 73UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

CLKFBIN – フ ィードバック クロック入力

CLKFBIN は、 内部フ ィードバッ ク用に CLKFBOUT へ直接接続するか、 BUF_IN を介して CLKFBOUT へ接続する必

要があ り ます。 フ ィードバッ ク パスの BUF_IN を使用するこ とで、 図 3-17 に示すよ うに、 同じ XIPHY バンクのク

ロ ッ ク ネッ ト ワーク遅延が補正されます。 つま り、 ノード 1 と ノード 5 の位相が揃います。

CLKOUTPHY – PHY クロック出力

PHY バイ ト ロジッ クおよび I/O で使用する専用のクロッ ク出力です。 VCO 周波数の 2 倍、 1 倍、 0.5 倍に設定できます。

CLKOUTPHYEN – PHY クロック イネーブル

CLKOUTPHYEN は、 CLKOUTPHY ク ロ ッ ク出力を有効にします。 PLL は、 ユーザー デザインからの非同期 CLKOUTPHYEN 信号を同期させるためのイネーブル ロジッ クを採用して、 CLKOUTPHY ク ロ ッ クが リ リースされ

た場合に信号を制御します。 CLKOUTPHY ク ロ ッ クが リ リースされる と、 立ち上がりエッジが入力クロ ッ ク CLKIN の立ち上がりエッジに揃えられます。 CLKOUTPHY 出力クロ ッ クのグ リ ッチが発生しないイネーブル/ディ スエーブ

ルは、 すべてのコンフ ィギュレーシ ョ ンに対して確実です。

ただし、 複数の PLL CLKOUTPHY ク ロ ッ ク間の位相アライ メン トは、 CLKFBOUT_MULT 値と CLKOUT[0:1]_DIVIDE 値が両方と も 1、 2、 4、 または 8 に設定されている場合のみ確実になり ます。 CLKFBOUT = 3、 5、 6、 7、 9、 … の場合、 立ち上がりエッジは揃いません。

CLKOUT[0:1]B – 反転出力クロック

CLKOUT[0:1] を反転 (180° 位相シフ ト ) したものです。

LOCKED

PLL からのこの出力を使用して、 基準クロ ッ ク と内部フ ィードバッ クの周波数が一致したこ とを示します。 周波数

は、 あらかじめ定義されたウ ィンド ウ と誤差 (PPM) の範囲内で一致します。 電源投入後、 PLL は自動的にロッ ク し、

追加のリセッ トは不要です。 入力クロ ッ クが停止した場合や、 周波数が変化した場合は、 PFD ク ロ ッ クの 1 サイク

ル以内に LOCKED がディアサート されます。 LOCKED がディアサート された場合、 PLL を リセッ トする必要があ り

ます。 LOCKED のアサート前はクロ ッ ク出力は使用できません。

DADDR[6:0] – ダイナミ ック リコンフ ィギュレーシ ョ ン アドレス

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのアドレス入力です。 このバスのアドレス値によ り、 次の DCLK サイクル

で書き込みまたは読み出しを実行する 16 ビッ トのコンフ ィギュレーシ ョ ン ビッ ト を指定します。 使用しない場合は

すべてのビッ ト を 0 にする必要があ り ます。

DI[15:0] – ダイナミ ック リコンフ ィギュレーシ ョ ン データ入力

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのデータ入力です。 このバスの値がコンフ ィギュレーシ ョ ン セルに書き込

まれます。 このデータは、 DEN と DWE がアクティブなサイクルで現れます。 データはシャ ド ウ レジスタに取り込

まれ、 後で書き込まれます。 DRP ポートに対して次の書き込みが可能になる と、 DRDY によって通知されます。

使用しない場合はすべてのビッ ト を 0 にする必要があ り ます。

DWE – ダイナミ ック リコンフ ィギュレーシ ョ ン書き込みイネーブル

DWE 入力は、 DADDR アドレスに対する DI データの書き込みまたは DO データの読み出しを制御するイネーブル信

号です。 使用しない場合は Low に接続する必要があ り ます。

Page 74: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 74UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

DEN – ダイナミ ック リコンフ ィギュレーシ ョ ン イネーブル ストローブ

DEN 入力は、 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン機能を使用するかを制御するイネーブル信号で、 すべての DRP ポートの動作を有効にします。 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン機能を使用しない場合は、 Low に接続

する必要があ り ます。

DCLK – ダイナミ ック リコンフ ィギュレーシ ョ ン基準クロック

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポートの基準クロ ッ クです。 この信号の立ち上がりエッジが、 その他すべ

てのポートの信号に対するタイ ミ ングの基準とな り ます。 セッ ト アップ タイムは、 UltraScale デバイスのデータシー

ト [参照 5] に記載されています。 ほかの入力信号には、 DCLK の立ち上がりエッジに対するホールド タイムの要件

はあ り ません。 この信号は IBUF、 IBUFG、 BUFGCE、 BUFGCTRL のいずれかで駆動できます。 このクロ ッ ク入力

への専用接続はあ り ません。

DO[15:0] – ダイナミ ック リコンフ ィギュレーシ ョ ン出力バス

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン使用時にダイナミ ッ ク リ コンフ ィギュレーシ ョ ン出力バスによって PLL のデータ出力が現れます。 DCLK の立ち上がりエッジで DEN がアクティブで DWE が非アクティブの場合、 このバス

は DADDR によって指定されたアドレスのコンフ ィギュレーシ ョ ン セルの内容を保持します。 DO バスは、 DRDY がアクティブなと きに DCLK の立ち上がりエッジでキャプチャする必要があ り ます。 DO バスの値は、 次の DRP 動作まで保持されます。

DRDY – ダイナミ ック リコンフ ィギュレーシ ョ ン レディ

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ンのレディ入力 (DRDY) 出力は、 PLL のダイナミ ッ ク リ コンフ ィギュレー

シ ョ ン機能の DEN 信号に対する応答信号です。 この信号は、 DEN/DCLK の操作が完了したこ とを示します。

PLL の属性

表 3-12 に、 PLLE#_BASE および PLLE#_ADV プリ ミ ティブの属性一覧を示します。

表 3-12: PLL の属性

属性 タイプ 許容値 デフォルト 説明

CLKOUT[0:1]_DIVIDE 整数 1 ~ 128 1 異なる周波数を使用する必要がある場合、

CLKOUT クロ ッ ク出力を分周する値を指定しま

す。 こ こで指定した値と CLKFBOUT_MULT の値

の組み合わせによって出力周波数が決定します。

CLKOUT[0:1]_ DUTY_CYCLE

実数 0.01 ~ 0.99 0.50 CLKOUT ク ロ ッ ク出力のデューティ サイクルを

パーセン トで指定します。 0.50 の場合デュー

ティ サイクルは 50% になり ます。

CLKFBOUT_MULT ブール型 1 ~ 19 5 この範囲は UltraScale デバイスに適用されます。

異なる周波数を使用する必要がある場合、 すべ

ての CLKOUT ク ロ ッ ク出力の逓倍値を指定しま

す。 こ こで指定した値と当該の CLKOUT#_DIVIDE および DIVCLK_DIVIDE の値

の組み合わせによって出力周波数が決定します。

Page 75: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 75UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

CLKFBOUT_MULT 整数 2 ~ 21 5 この範囲は UltraScale+ デバイスに適用されます。

異なる周波数を使用する必要がある場合、 すべ

ての CLKOUT ク ロ ッ ク出力の逓倍値を指定しま

す。 こ こで指定した値と当該の CLKOUT#_DIVIDE および DIVCLK_DIVIDE の値

の組み合わせによって出力周波数が決定します。

DIVCLK_DIVIDE 整数 1 ~ 15 1 すべての出力クロ ッ クの、 入力クロ ッ クに対す

る分周比を指定します。

REF_JITTER 実数 0.000 ~ 0.999 0.010 PLL のパフォーマンスを改善するための基準ク

ロ ッ クのジッ ターの目標値を指定します。 不明

の場合は、 入力クロ ッ クのパフォーマンスが最

適となるよ うに帯域幅を設定する OPTIMIZED 属性が選択されます。 値がわかる場合は、 入力ク

ロ ッ ク上のジッ ター目標値を単位間隔 (UI) (最大 Peak-to-Peak 値) で指定する必要があ り ます。

CLKIN_PERIOD 実数 0.938 ~ 14.286 0.000 PLL の CLKIN 入力への入力周期を ns で指定しま

す。 ps 単位まで細かく指定可能です。 この値は

必須であ り、 必ず指定する必要があ り ます。

STARTUP_WAIT 文字列 FALSE、 TRUE FALSE PLL がロッ ク状態になるまで、 コンフ ィギュ

レーシ ョ ン スタート アップ サイクル間を待機し

ます。

CLKOUT[0:1]_PHASE 実数 –360.000 ~ 360.000 0.000 関連する CLKOUT ク ロ ッ ク出力の出力位相関係

を度数で指定できます (90 は 90° または 1/4 サイ

クルの位相オフセッ ト を示し、 180 は 180° また

は 1/2 サイクルの位相オフセッ ト を示す)。 有効

な位相シフ トは、 360CLKOUT[0:1]_DIVIDE 単位でインク リ メン ト します。

CLKFBOUT_PHASE 実数 –360.000 ~ 360.000 ク ロ ッ ク フ ィードバッ ク出力の位相オフセッ ト

を度数で指定します。 フ ィードバッ ク ク ロ ッ ク

をシフ トする と PLL へのすべての出力クロ ッ ク

が負の方向に位相シフ ト します。 有効な位相シ

フ トは、 360CLKFBOUT_MULT 単位でインク

リ メン ト します。

表 3-12: PLL の属性 (続き)

属性 タイプ 許容値 デフォルト 説明

Page 76: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 76UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

COMPENSATION 文字列 AUTO(1)、

PHY_ALIGN、

BUF_IN、

INTERNAL

AUTO ク ロ ッ ク入力補正です。 必ず AUTO に設定しま

す。 PLL のフ ィードバッ ク構成を定義します。

INTERNAL: PLL 内部のフ ィードバッ ク パスを使

用しており、 遅延が補正されていないこ とを示

します。

BUF_IN: 同じ XIPHY バンク内のクロ ッ ク ネッ ト

ワーク遅延が補正されるこ とを示します。

CLKIN と CLKFB は、 PFD (FIN/D = FVCO/M) で同

じ周波数になる必要があ り ます。

フ ィードバッ クは、 同じ XIPHY 内に制限する必

要があ り、 隣接するバンクやデバイスの外部に

は配線できません。

PHY_ALIGN (UltraScale+ デバイスのみ): PLL 出力位相のファイングレイン調整を可能にし、 同

じソース ク ロ ッ クを使用して、 XIPHY と内部ロ

ジッ ク フ リ ップフロ ップのアライ メン ト を実行

します。 主にメモ リ コン ト ローラーを使用する

場合に使用します。

CLKOUTPHY_MODE 文字列 VCO_2X、

VCO、

VCO_HALF

VCO_2X BITSLICE_CONTROL ブロ ッ クの VCO 周波数に

基づいてクロ ッ ク出力周波数を決定します。

注記:1. VCO 周波数 PLL_FVCOMIN/PLL_FVCOMAX および最小出力周波数 PLL_FOUTMIN の仕様は、UltraScale ファ ミ リ と UltraScale+ ファ ミ リ

とで異なり ます。 それぞれのデータシート を参照してください。

表 3-12: PLL の属性 (続き)

属性 タイプ 許容値 デフォルト 説明

Page 77: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 77UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

ダイナミ ック リコンフ ィギュレーシ ョ ン ポート (DRP)ほとんどの場合、 デザイン内の MMCM/PLL は、 使用される出力を設定するために計算された固定値を用いて構成

されます。 ウ ィザードを使用するこ とで、 すべての値が計算され、 構成された MMCM または PLL を含むインスタ

ンシエート可能なラ ッパーを生成できます。 MMCM や PLL プリ ミティブは、 プ リ ミ ティブと してインスタンシエー

トするこ と も可能です。 プリ ミティブと して正常に機能させるための値は、 「MMCM のプログラム」 に示す式を使

用して計算できます。

DRP ポート を使用する と、 MMCM/PLL を動的エレ メン ト と してデザインで使用できます。 DRP ポートのセッ ト

アップは一般的なマイクロコン ト ローラー ペリ フェラルの場合と同じで、 これによ り MMCM/PLL 内の一連のレジ

スタへのユーザー アクセスが可能になり ます。 これらのレジスタを介するこ とでユーザーは MMCM/PLL を完全に

制御できます。 出力クロ ッ クを定義するための入力ピンとその値はレジスタ ビッ トに変換され、 これらのプリ ミ

ティブがデザイン内でアクティブ エレ メン ト と して使用できるよ うにな り ます。

DRP ポート を使用する と、 ペリ フェラルのレジスタへの読み出し と書き込みが可能になり ます。 ク ロ ッキング ウ ィ

ザードを利用する場合は、 AXI-Lite コン ト ローラーを介して FPGA のハードまたはソフ ト マイクロコン ト ローラー

へ接続された DRP ポート を有効にできます。 ただし、 デザインやその他の要件によっては、 ベアメ タル構成の DRP ポート を使用する必要がある場合があ り ます (ク ロ ッキング ウ ィザードでも選択可能)。 ステート マシン ベースのデ

ザインによって、 DRP ポート をそのまま使用するこ とが可能です。 DRP ポートの機能について説明した資料が提供

されています。

DRP の使用に関するその他の情報は、 『MMCM および PLL のダイナミ ッ ク リ コンフ ィギュレーシ ョ ン』 (XAPP888) [参照 6] および関連資料を参照してください。

次の図に、 DRP ポートの接続を示します。

X-Ref Target - Figure 3-19

図 3-19: DRP ポートの接続

DRDY DOUT[15:0]

DADDR[n:0]

DCLKDEN

DI[15:0]

DWE

X21932-111618

Page 78: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 78UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

表 3-13: DRP ポート信号

ポート サイズ I/O 説明

DCLK 1 入力

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポートの基準

クロ ッ クです。 通常、 このクロ ッ クは約 100MHz ~ 200MHz です。 使用する FPGA ファ ミ リのテク ノ ロジ ノードが新しいほど高速にできます。

DEN 1 入力

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン機能を使用す

るかを制御します。 ダイナミ ッ ク リ コンフ ィギュレー

シ ョ ン機能を使用しない場合は、 Low に接続する必要が

あ り ます。

DWE 1 入力

DADDR アドレスで選択したレジスタへの DI ポートの

データ書き込みを制御するライ ト イネーブル信号です。

使用しない場合は Low に接続する必要があ り ます。

DADDR n(1) 入力

ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン用にプリ ミ

ティブの特定のレジスタにアクセスするためのリ コン

フ ィギュレーシ ョ ン アドレスを入力します。 使用しな

い場合はすべてのビッ ト を 0 にする必要があ り ます。

DI 16 入力

DI (Dynamic Reconfiguration Data Input) バスは、レジスタ セッ トの特定アドレス (DADDR) に書き込まれる リ コン

フ ィギュレーシ ョ ン データを提供します。 使用しない

場合はすべてのビッ ト を 0 にする必要があ り ます。

DO 16 出力

DADDR バスで選択したレジスタのデータを出力しま

す。 このポート を使用して DRP レジスタの内容を制御

できます。

DRDY 1 出力

DRDY 出力は、 PLL のダイナミ ッ ク リ コンフ ィギュ

レーシ ョ ン機能の DEN 信号に対する応答信号です。

書き込みまたは読み出し動作が正し く完了する と、 この

信号が High にパルスされます。

注記:1. DADDR バスの幅は DRP ポートが関連するプリ ミティブに依存します。 MMCM の場合、 DRP アドレス バスは 7 ビッ ト幅で、

PLL の場合は 7 ビッ ト幅です (DADDR (6 : 0))。 RFSoC デバイスの ADC/DAC の DADDR ポートは 12 ビッ ト幅ですが、 GTP の DADDR ポートは 10 ビッ ト幅です。

Page 79: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 79UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

DRP ポートへの書き込み

1. 書き込みアドレス と書き込みデータを DADDR [n : 0] と DI [15 : 0] に入力します。

2. DWE (Data Write Enable) 信号を High に駆動します。

3. DEN 信号を 1 ク ロ ッ ク サイクル間 High 駆動します。 DEN 信号によって、 DRP ポートの動作がト リガーされま

す。 この信号がクロ ッ クの立ち上がりエッジでキャプチャされる と、 DRP ポートの内部でアドレス とデータが

キャプチャされ、 DRP マップの適切なレジスタに提供されます。

4. DEN 信号が 1 パルス間 Low 駆動したら、 DWE 信号を Low 駆動させます。

5. DRP ポートが、 DRDY 信号を 1 ク ロ ッ ク サイクル間 High 駆動するこ とで、提供されたデータが指定されたアド

レス空間に書き込まれたこ とを確認できます。 これはまた、 次の書き込みまたは読み出しを開始可能であるこ

と も意味します。

DRP ポートからの読み出し

1. 読み出し先レジスタのアドレスを DADDR[n:0] バスに入力します。

2. 読み出し動作中は常に DWE 信号を Low に保持します。

3. DI[15:0] バスの値 (ON/OFF) は関係あ り ません。

4. DEN 信号を 1 ク ロ ッ ク サイクル間 High 駆動します。 DEN 信号によって、 DRP ポートの動作がト リガーされま

す。 この信号がクロ ッ クの立ち上がりエッジでキャプチャされる と、 DRP ポートの内部でアドレスがキャプ

チャされて DRP マップの正しいレジスタ内容が DO[15:0] 出力に反映されているこ とを確認します。

5. DRP ポートが、 DRDY 信号を 1 ク ロ ッ ク サイクル間 High 駆動するこ とで、提供されたデータが指定されたアド

レス空間に書き込まれたこ とを確認できます。 これはまた、 次の書き込みまたは読み出しを開始可能であるこ

と も意味します。

X-Ref Target - Figure 3-20

図 3-20: DRP ポートへの書き込み

DCLK

DEN

DWE

DADDR[n:0]

DI[15:0]

DO[15:0]

DRDY

1 2 3 n n+1

WRITEAddress and Data valid

X21935-111618

Page 80: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 80UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

読み出し /書き込み動作

読み出し - 書き込み動作は、 常に DRDY 信号を基準に実行する必要があ り ます。 DRDY 信号が High 駆動する と きに

のみ、 新しい読み出し /書き込み動作を開始できます。 DRP ポートからの読み出しまたは DRP ポートへの書き込み動

作の後に DRDY 信号が制御されない場合、 書き込まれたビッ トがセッ ト されているか、 または取得したビッ トがレ

ジスタの値を表しているかを確証できません。

X-Ref Target - Figure 3-21

図 3-21: DRP ポートからの読み出し

1 2 3 n n+1

READAddress valid Data valid

DCLK

DEN

DWE

DADDR[n:0]

DI[15:0]

DO[15:0]

DRDY

X21937-111618

X-Ref Target - Figure 3-22

図 3-22: 読み出し /書き込み動作

DCLK

DEN

DWE

DADDR[11:0]

DI[15:0]

DO[15:0]

DRDY

1 2 3 n n+1 1 2 3 n n+1 n n+11 2 3

Addr_N

Data_DD

Addr_M

Data_EE

Addr_N

Data_DD

n n+11 2 3

Addr_M

Data_EE

WRITE WRITE READ READ

X21936-111618

Page 81: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 81UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

DRP レジスタ セッ ト

このセクシ ョ ンでは、 ユーザー アクセス可能な DRP レジスタ セッ トについて説明します。 DRP レジスタ マップは

アドレス 0x00 ~アドレス 0x7F (7 ビッ ト アドレス バス) の範囲とな り ます。下図は、ユーザー アクセス可能なレジ

スタのレジスタ マップ レイアウ ト を示しています。 異なるカウンターの値はレジスタ境界が重なり合う こ とに注目

してください。

重要: DRP ポート を使用する場合、 変更予定のレジスタの既存コンテンツを先に読み出すこ とを推奨します。 必要な

ビッ トだけが変更されたレジスタ コンテンツを書き戻します。 色付きのビッ トのみを修正し、 グレーのビッ トの状

態は常に保持します。

X-Ref Target - Figure 3-23

図 3-23: MMCM DRP レジスタ セッ ト

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

These register positions are not user accessible.

0 inversion control

ckfbout

ckout0

5 compensation

0B ckoutphyckout10A

98

16 divck1514

4F loop filter R4E loop filter C

MMCM PLL

compensationspread spectrum

inversion control

4E loop filter C4F loop filter R

27 interpolator

1415

ckfbout

ckout612

98 ckout0

0D ckout2

ckout30E

0C

16 divck

13

0

5

ckout10B0A

4

11 ckout410

76

ckout5

7

0F

13

19lock cnt18

1A lock ref dly lock fb dly 19

lock cnt18

1A lock ref dly lock fb dly

X21942-073020

Page 82: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 82UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

MMCM レジスタ

レジスタ 0x4F および 0x4E がループ フ ィルターの値を定義します。 『MMCM および PLL のダイナミ ッ ク リ コン

フ ィギュレーシ ョ ン』 (XAPP888) [参照 6] を参照し、 これらのフ ィルターに適切な値を選択してください。

レジスタ 4F アドレス: 0x4F

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W

15 mc_res(3)

ループ フ ィルター抵抗を設定します。12 mc_res(2)

11 mc_res(1)

8 mc_res(0)

7 mc_lfhf(1)ループ フ ィルター高周波数キャパシタを設定します。

4 mc_lfhf(0)

レジスタ 4E アドレス: 0x4E

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 0

アクセス R/W R/W R/W R/W

15 mc_cp(3)

チャージ ポンプ (CP) を設定します。12 mc_cp(2)

11 mc_cp(1)

8 mc_cp(0)

Page 83: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 83UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

レジスタ 27 アドレス: 0x27

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W

15 mc_interp_en(7)

インターポレーターの選択。 デフォルト値は 00010000 です。

12 mc_interp_en(6)

11 mc_interp_en(5)

8 mc_interp_en(4)

7 mc_interp_en(3)

4 mc_interp_en(2)

3 mc_interp_en(1)

0 mc_interp_en(0)

注記:1. いずれかの出力カウンターがファイン位相シフ ト を使用している場合は、 mc_interp_en[3:0] を 1111 に設定する必要があ り ます。 そ うで

ない場合は、 mc_interp_en[3:0] を 0000 に設定する必要があ り ます。

2. mc_interp_en(4) は常に 1 に設定されます。

3. いずれかの出力カウンターが 0 または 180 以外の VCO の位相を使用している場合は、 カウンターにフラ クシ ョナル分周値を使用してく

ださい。 またはスペク ト ラム拡散モードを使用して、 mc_interp_en[7:5] を 111 に設定してください。 設定しない場合、 mc_interp_en[7:5] は 000 になり ます。

レジスタ 1A アドレス: 0x1A

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 1 1 1 1 1 1 0 1 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

14:10 mc_lock_ref_dly[4:0] 基準クロ ッ クのロ ッ ク回路用ウ ィンド ウの設定。

9:0 mc_lock_sat_high[9:0] ロ ッ ク カウンターの最大値。 デフォルト値は d1001 です。

レジスタ 19 アドレス: 0x19

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

14:10 mc_lock_fb_dly[4:0] フ ィードバッ ク ク ロ ッ クのロ ッ ク回路用ウ ィンド ウの設定。

9:0 mc_lock_sat_high[9:0] LOCKED 出力をディアサートする前に、 MMCM では CLKREF と CLKFB の位相が特定ウ ィンド ウ内でずれている必要があるため、 ク ロ ッ ク サイク

ル数を設定するためのカウンターです。 デフォルト値は 1 です。

Page 84: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 84UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

レジスタ 0x1A、 0x19、 および 0x18 の値は、 『MMCM および PLL のダイナミ ッ ク リ コンフ ィギュレーシ ョ ン』 (XAPP888) [参照 6] を参照してください。

レジスタ 0x16 は、 図 3-1 に示す分周器 (D カウンター ) を制御します。

レジスタ 18 アドレス: 0x18

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 1 1 1 1 1 0 1 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

9:0 mc_lock_cnt[9:0] LOCKED 出力をアサートする前に、 MMCM では CLKREF と CLKFB の位

相が特定ウ ィンド ウ内で揃う必要があるため、 ク ロ ッ ク サイクル数を設定

するためのカウンターです。 デフォルト値は 1000 です。

レジスタ 16 アドレス: 0x16

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

13 mc_divck_edge High/Low ク ロ ッ ク エッジ遷移を制御します。

12 mc_divck_nocount バイパス カウンター。

11:6 mc_divck_ht[5:0] カウンター High 時間。

5:0 mc_divck_lt[5:0] カウンター Low 時間。

レジスタ 15 アドレス: 0x15

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 1 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

14:12 mc_ckfbout_frac[2:0] フラ クシ ョナル位相。

11 mc_ckfbout_frac_en 分数カウンターを有効化。

10 mc_ckfbout_frac_wf_r フラ クシ ョナル モード。 立ち上がりエッジの待機。

7 mc_ckfbout_edge High/Low ク ロ ッ ク エッジ遷移を制御します。

6 mc_ckfbout_nocount バイパス カウンター。

5:0 mc_ckfbout_frac[5:0] カウンター遅延。

Page 85: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 85UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

レジスタ 0x15、 0x14、 および 0x13 のビッ ト [15:12] は、 図 3-1 に示すフラクシ ョナル フィードバッ クを制御します。

レジスタ 0x13 のビッ ト [10:0] およびレジスタ 0x12 は、 CLKOUT6 カウンターを制御します。

レジスタ 14 アドレス: 0x14

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15:13 mc_ckfbout_pm_r[2:0] VCO の位相選択 MUX と立ち上がりエッジ制御。

12 mc_ckfbout_en カウンター イネーブル。

11:6 mc_ckfbout_ht[5:0] カウンター High 時間。

5:0 mc_ckfbout_lt[5:0] カウンター Low 時間。

レジスタ 13 アドレス: 0x13

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 0 0 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15:13 mc_ckfbout_pm_f[2:0] VCO の位相選択 MUX と立ち下がりエッジ制御。

12 mc_ckfbout_frac_wf_f フラ クシ ョナル モード。 立ち下がりエッジの待機。

10 mc_ckout6_cddc_en ク ロ ッ ク分周値の動的変更イネーブル (DRP のみ)。

7 mc_ckout6_edge High/Low ク ロ ッ ク エッジ制御。

6 mc_ckout6_nocount カウンター バイパス。

5:0 mc_ckout6_dt[5:0] カウンター遅延。

レジスタ 12 アドレス: 0x12

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15:13 mc_ckout6_pm[2:0] VCO の位相選択 MUX。

12 mc_ckout6_en カウンター イネーブル。

11:6 mc_ckout6_ht[5:0] カウンター High 時間。

5:0 mc_ckout6_lt[5:0] カウンター Low 時間。

Page 86: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 86UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

レジスタ 0x11 および 0x10 は、 CLKOUT4 の出力カウンターを制御します。

レジスタ 0x0F および 0x0E は、 CLKOUT3 の出力カウンターを制御します。

レジスタ 11 アドレス: 0x11

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W

10 mc_ckout4_cddc_en ク ロ ッ ク分周値の動的変更制御イネーブル (DRP のみ)。

7 mc_ckout4_edge High/Low ク ロ ッ ク エッジ制御。

6 mc_ckout4_nocount カウンター バイパス。

5:0 mc_ckout4_dt[5:0] カウンター遅延。

レジスタ 10 アドレス: 0x10

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15:13 mc_ckout4_pm[2:0] VCO の位相選択 MUX。

12 mc_ckout4_en カウンター イネーブル。

11:6 mc_ckout4_ht[5:0] カウンター High 時間。

5:0 mc_ckout4_lt[5:0] カウンター Low 時間。

レジスタ 0F アドレス: 0x0F

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W

10 mc_ckout3_cddc_en ク ロ ッ ク分周値の動的変更制御イネーブル (DRP のみ)。

7 mc_ckout3_edge High/Low ク ロ ッ ク エッジ制御。

6 mc_ckout3_nocount カウンター バイパス。

5:0 mc_ckout3_dt[5:0] カウンター遅延。

レジスタ 0E アドレス: 0x0E

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15:13 mc_ckout3_pm[2:0] VCO の位相選択 MUX。

12 mc_ckout3_en カウンター イネーブル。

11:6 mc_ckout3_ht[5:0] カウンター High 時間。

5:0 mc_ckout3_lt[5:0] カウンター Low 時間。

Page 87: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 87UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

レジスタ 0x0D および 0x0C は、 CLKOUT2 の出力カウンターを制御します。

レジスタ 0x0B および 0x0A は、 CLKOUT1 の出力カウンターを制御します。

レジスタ 0D アドレス: 0x0D

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W

10 mc_ckout2_cddc_en ク ロ ッ ク分周値の動的変更制御イネーブル (DRP のみ)。

7 mc_ckout2_edge High/Low ク ロ ッ ク エッジ制御。

6 mc_ckout2_nocount カウンター バイパス。

5:0 mc_ckout2_dt[5:0] カウンター遅延。

レジスタ 0C アドレス: 0x0C

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15:13 mc_ckout2_pm[2:0] VCO の位相選択 MUX。

12 mc_ckout2_en カウンター イネーブル。

11:6 mc_ckout2_ht[5:0] カウンター High 時間。

5:0 mc_ckout2_lt[5:0] カウンター Low 時間。

レジスタ 0B アドレス: 0x0B

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W

10 mc_ckout1_cddc_en ク ロ ッ ク分周値の動的変更制御イネーブル (DRP のみ)。

7 mc_ckout1_edge High/Low ク ロ ッ ク エッジ制御。

6 mc_ckout1_nocount カウンター バイパス。

5:0 mc_ckout1_dt[5:0] カウンター遅延。

レジスタ 0A アドレス: 0x0A

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15:13 mc_ckout1_pm[2:0] VCO の位相選択 MUX。

12 mc_ckout1_en カウンター イネーブル。

11:6 mc_ckout1_ht[5:0] カウンター High 時間。

5:0 mc_ckout1_lt[5:0] カウンター Low 時間。

Page 88: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 88UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

CLKOUT0 のフラ クシ ョナル出力カウンターは、 レジスタ 0x09、 0x08、 およびレジスタ 0x07 のビッ ト [15:12] で制御されます。

レジスタ 09 アドレス: 0x09

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 0 0 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15 mc_ckout0_cddc_en ク ロ ッ ク分周値の動的変更制御イネーブル (DRP のみ)。

14:12 mc_ckout0_frac[2:0] フラ クシ ョナル位相。

11 mc_ckout0_frac_en 分数カウンターを有効化。

10 mc_ckout0_frac_wf_r 立ち下がりエッジの待機。

7 mc_ckout0_edge High/Low ク ロ ッ ク エッジ制御。

6 mc_ckout0_nocount カウンター バイパス。

5:0 mc_ckout0_dt[5:0] カウンター遅延。

レジスタ 08 アドレス: 0x8

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15:13 mc_ckout0_pm_r[2:0] 立ち上がりエッジ制御。

12 mc_ckout0_en カウンター イネーブル。

11:6 mc_ckout0_ht[5:0] カウンター High 時間。

5:0 mc_ckout0_lt[5:0] カウンター Low 時間。

レジスタ 07 アドレス: 0x07

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 0 0 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15:13 mc_ckout0_pm_f[2:0] 立ち下がりエッジ制御。

12 mc_ckout0_frac_wf_f 立ち上がりエッジの待機。

10 mc_ckout0_cddc_en ク ロ ッ ク分周値の動的変更制御イネーブル (DRP のみ)。

7 mc_ckout5_edge High/Low ク ロ ッ ク エッジ制御。

6 mc_ckout5_nocount カウンター バイパス。

5:0 mc_ckout5_dt[5:0] カウンター遅延。

Page 89: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 89UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

レジスタ 0x07 のビッ ト [10:0] およびレジスタ 0x06 は、 CLKOUT5 カウンターを制御します。

MMCM のすべてのクロ ッ ク出力は、 設定変更可能なカウンターで定義されます。 ク ロ ッ ク出力 CLKOUT6 ~ CLKOUT1 を定義するパラ メーターについては次の表で説明しています。計算の手順および方法は、『MMCM および PLL のダイナミ ッ ク リ コンフ ィギュレーシ ョ ン』 (XAPP888) [参照 6] を参照してください。

2 つのカウンター (CLKFBOUT と CLKOUT0) は分数カウンターです。1 つの分数カウンターは、非分数カウンターを 2 つ、 ステート ロジッ クを追加で 1 つ、 さ らに加算器ロジッ クを使用します。 したがって、 分数カウンターには 2 つのイネーブル信号 (各カウンターに 1 つずつあ り、 非分数の使用を可能にする ) と 2 つの VCO 位相選択設定があ り ま

す。 加算器とステートのロジッ クでは、 VCO の位相選択によって、 立ち上がりの設定と立ち下がりの設定がさらに

分割されます。 次の表では、 分数カウンターを定義するレジスタ設定のオプシ ョ ンを次の表に示します。

レジスタ 06 アドレス: 0x06

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

15:13 mc_ckout5_pm[2:0] VCO の位相選択 MUX。

12 mc_ckout5_en カウンター イネーブル。

11:6 mc_ckout5_ht[5:0] カウンター High 時間。

5:0 mc_ckout5_lt[5:0] カウンター Low 時間。

表 3-14: クロック出力パラメーター

タイプ 説明

CDDC ク ロ ッ ク分周値の動的変更。 MMCM を リセッ ト しな くても DRP レジスタを変更可能です。

このオプシ ョ ンを有効にする と、 CDDCREQ と CDDCDONE のハンドシェイ ク ピンを使用して

機能します。 詳細は、 「MMCM ク ロ ッ ク分周値の動的変更」 を参照してください。

MX ク ロ ッ ク入力マルチプレクサーを制御します。

EDGE ク ロ ッ ク エッジ識別。カウンターの High/Low 遷移に使用されるクロ ッ ク エッジを識別します。

NOCOUNT カウンター バイパス。

DT 遅延時間。 カウンター遅延、 またはコース位相シフ ト を設定します。

PM VCO の位相選択。 有効な 8 つの VCO 出力から 1 つ選択するために使用します。

EN カウンター イネーブル。

HT カウンター High 時間。 カウンターが High 値を出力するのに必要な遅延を設定します。

LT カウンター Low 時間。 カウンターが Low 値を出力するのに必要な遅延を設定します。

Page 90: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 90UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

分数カウンター モードは、 mc_ckout_en と mc_ckout_frac_en が両方設定される と有効になり ます。 2 つのカウンター

は、 VCO 出力からの異なる位相を使用します。

例 1

2.5 の分周が必要な場合:

• カウンター A は VCO の位相 0 (0°) を選択

• カウンター B は VCO の位相 4 (180° の位相オフセッ ト )

出力は、カウンター A の立ち上がりエッジで High になり、カウンター B の 2 回目の次の立ち上がりエッジで Low になり ます。 その後、 カウンター A の 2 回目の立ち上がりエッジで再び High になり ます。 このよ うな動作を繰り返し

ます。

表 3-15: レジスタ コンフ ィギュレーシ ョ ン オプシ ョ ン

タイプ 説明

FRAC 分数カウンター用の VCO の位相を選択します。

FRAC_EN 分数カウンターを有効にします。

FRAC_WF_R 分数カウンターが立ち上がりエッジまで待機します。

FRAC_WF_L 分数カウンターが立ち下がりエッジまで待機します。

PM_R 8 つの VCO 位相クロ ッ クのうち 1 つを立ち上がりエッジ カウンターのクロ ッ ク と して選択

します。

PM_L 8 つの VCO 位相クロ ッ クのうち 1 つを立ち下がりエッジ カウンターのクロ ッ ク と して選択

します。

X-Ref Target - Figure 3-24

図 3-24: 分数カウンター モードの例 1

VCO phase 0(0 degrees)

VCO phase 4(180 degrees)

CLKOUTDivide by 2.5

Divide by 2

State & adder logic assemble a fractional clock from the two

selected VCO phases using thereal divide value

X21938-111418

Page 91: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 91UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

例 2

2.125 の分周が必要な場合:

• カウンター A は VCO の位相 0 (0°) を選択

• カウンター B は VCO の位相 2 (45° の位相オフセッ ト ) の選択から開始

出力は、 カウンター A の立ち上がりエッジで High 駆動し、 カウンター B の 2 回目の立ち上がりエッジで Low に遷移

します。 その後、 カウンター B の次の立ち上がりエッジで High に遷移する と、 カウンター B が VCO の位相 90° へ切

り替わり、 出力はこの位相の 2 回目の立ち上がりエッジで再び Low に遷移します。 このよ うな動作を繰り返します。

X-Ref Target - Figure 3-25

図 3-25: 分数カウンター モードの例 2

VCO phase 0(0 degrees)

VCO phase 1(45 degrees)

CLKOUTDivide by 2.125 State & adder logic assemble a fractional

Clock from the two selected VCO phases using the real divide value

VCO phase 2(90 degrees)

VCO phase 3(135 degrees)

X21939-111418

レジスタ 04 アドレス: 0x04

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 1 0 0 1 1 1

アクセス R/W R/W R/W R/W R/W R/W

5:3 mc_ss_steps_init[2:0] SS_MODE 属性に基づいて、 適切な拡散を開始します。 デフォルト値は 100 です。

2:0 mc_ss_steps[2:0] SS_MODE 属性に基づいて、 スペク ト ラム拡散クロ ッ クの拡散を制御しま

す。 デフォルト値は 111 です。

Page 92: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 92UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

レジスタ 4 の設定は、 MMCM の SS_MODE 属性で制御されます。 スペク ト ラム拡散クロ ッ クの設定および動作の詳

細は、 「スペク ト ラム拡散クロ ッ ク生成」 を参照してください。

レジスタ 0 は、 MMCM プリ ミティブの属性と しても使用可能なビッ ト を表します。 これらのビッ トの機能的な説明

は、 「MMCM の属性」 を参照してください。

ss_steps_init ss_steps

DOWN_LOW 100 011

DOWN_HIGH 100 011

CENTER_LOW 100 111

CENTER_HIGH 100 111

レジスタ 00 アドレス: 0x00

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0

アクセス R/W R/W R/W

3 mc_inv_clkfbin CLKFBIN 入力の反転を有効にします。 属性 IS_CLKFBIN_INVERTED を 1 に設定するのと同様です。

2 mc_inv_clkin2 CLKIN2 入力の反転を有効にします。 属性 IS_CLKIN2_INVERTED を 1 に設定するのと同様です。

1 mc_inv_clkin1 CLKIN1 入力の反転を有効にします。 属性 IS_CLKIN1_INVERTED を 1 に設定するのと同様です。

Page 93: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 93UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

PLL レジスタ

PLL DRP レジスタ セッ ト も同様で、 MMCM の DRP レジスタ セッ ト と並列で実行できます。 PLL にはクロ ッ ク出力

が 2 つしかなく、 選択可能な VCO 出力マルチプレクサーと インターポレーターを使用しないため、 PLL DRP レジス

タ セッ ト内にある変更可能なレジスタ数は MMCM よ り も少なくな り ます。

レジスタ 73 アドレス: 0x73

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 1

アクセス R/W R/W R/W

15 mc_gts_wait LOCKED プロセスを開始する前に GTS_CFG_B 信号を待機します。

14 mc_startup_wait MMCM がロッ ク状態になるまでコンフ ィギュレーシ ョ ン スタート アップ サイクル間待機します。

12 mc_mmcm_en PLL を有効にします。

レジスタ 4F アドレス: 0x4F

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W

15 mc_res(3)

ループ フ ィルター抵抗を設定します。12 mc_res(2)

11 mc_res(1)

8 mc_res(0)

ループ フ ィルター高周波数キャパシタを設定します。7 mc_lfhf(1)

4 mc_lfhf(0)

レジスタ 4E アドレス: 0x4E

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W

15 mc_cp(3)

チャージ ポンプ (CP) を設定します。12 mc_cp(2)

11 mc_cp(1)

8 mc_cp(0)

7 mc_cp_bias_trip_set Low ト リ ップ ポイン トの検知回路を制御します。

4 mc_cp_res(1)チャージ ポンプの基準電流を制御します。

3 mc_cp_res(0)

Page 94: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 94UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

レジスタ 19 アドレス: 0x19

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

14:10 mc_lock_fb_dly[4:0] フ ィードバッ ク ク ロ ッ クのロ ッ ク回路用ウ ィンド ウを設定します。

9:0 mc_unlock_cnt[9:0] LOCKED 出力をディアサートする前に、 PLL では CLKREF と CLKFB の位

相が特定ウ ィンド ウ内でずれている必要があるため、 ク ロ ッ ク サイクル数

を設定するためのカウンターです。 デフォルト値は 1 です。

レジスタ 18 アドレス: 0x18

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 0 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

9:0 mc_lock_cnt[9:0] LOCKED 出力をアサートする前に、 PLL では CLKREF と CLKFB の位相が

特定ウ ィンド ウ内で揃う必要があるため、 ク ロ ッ ク サイクル数を設定する

ためのカウンターです。 デフォルト値は 1000 です。

レジスタ 16 アドレス: 0x16

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

13 mc_divck_edge High/Low ク ロ ッ ク エッジ遷移を制御します。

12 mc_divck_nocount バイパス カウンター。

11:6 mc_divck_ht[5:0] カウンター High 時間。

5:0 mc_divck_lt[5:0] カウンター Low 時間。

レジスタ 15 アドレス: 0x15

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W

7 mc_ckfbout_edge High/Low ク ロ ッ ク エッジ遷移を制御します。

6 mc_ckfbout_nocount バイパス カウンター。

5:0 mc_ckfbout_dt[5:0] カウンター遅延。

Page 95: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 95UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

レジスタ 14 アドレス: 0x14

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

12 mc_ckfbout_en カウンター イネーブル。

11:6 mc_ckfbout_ht[5:0] カウンター High 時間。

5:0 mc_ckfbout_lt[5:0] カウンター Low 時間。

レジスタ 0B アドレス: 0x0B

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

14:13 mc_ckoutphy_mode[1:0] CLKOUTPHY モード (VCO_2X、 VCO、 VCO_HALF)。

7 mc_ckout1_edge High/Low ク ロ ッ ク エッジ制御。

6 mc_ckout1_nocount カウンター バイパス。

5:0 mc_ckout1_dt[5:0] カウンター遅延。

レジスタ 0A アドレス: 0x0A

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 1 0 0 0 0 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

12 mc_ckout1_en カウンター イネーブル。

11:6 mc_ckout1_ht[5:0] カウンター High 時間。

5:0 mc_ckout1_lt[5:0] カウンター Low 時間。

レジスタ 09 アドレス: 0x09

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 1 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W R/W

7 mc_ckout0_edge High/Low ク ロ ッ ク エッジ制御。

6 mc_ckout0_nocount カウンター バイパス。

5:0 mc_ckout0_dt[5:0] カウンター遅延。

Page 96: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 96UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

レジスタ 08 アドレス: 0x08

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 1 0 0 0 0 0 1 0 0 0 0 0 1

アクセス R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

12 mc_ckout0_en カウンター イネーブル。

11:6 mc_ckout0_ht[5:0] カウンター High 時間。

5:0 mc_ckout0_lt[5:0] カウンター Low 時間。

レジスタ 05 アドレス: 0x05

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0 0 0 0 0 0

アクセス R/W R/W R/W R/W R/W R/W R/W

15:10 mc_in_dly_set[5:0]カウンター遅延の設定。 パスに挿入される遅延値を制御します。

9:4 mc_in_dly_mx_dvdd[5:0]

3 mc_direct_path_cntrl 予約。

2 mc_in_dly_en 遅延補正を有効にします。

レジスタ 00 アドレス: 0x00

ビッ ト 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

デフォルト 0 0

アクセス R/W R/W

3 mc_inv_clkfbin CLKFBIN 入力の反転を有効にします。 属性 IS_CLKFBIN_INVERTED を 1 に設定するのと同様です。

1 mc_inv_clkin CLKIN1 入力の反転を有効にします。 属性 IS_CLKIN1_INVERTED を 1 に設定するのと同様です。

Page 97: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 97UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

第 3 章: クロック マネージメン ト タイル

VHDL/Verilog テンプレート、 およびクロッキング ウィザード

すべてのクロ ッ ク リ ソース プリ ミティブの VHDL/Verilog コード と Vivado ツールの言語テンプレートは 『UltraScale アーキテクチャ ライブラ リ ガイ ド』 (UG974) [参照 7] から入手できます。

ク ロ ッキング ウ ィザードを使用する と、 MMCM および PLL リ ソースを適切に設定できます。 また、 ク ロ ッキング ウ ィザードではジッターがレポート され、 位相や周波数合成もサポート されます。 詳細は、 『LogiCORE IP Clocking Wizard 製品ガイ ド』 (PG065) [参照 8] を参照してください。

クロッキングのガイド ライン

デザインのクロ ッキングは、 ク ロ ッ ク バッファーの適用、 MMCM や PLL のインスタンシエート、 XDC ファ イルに 1 つまたは 2 つの制約を適用するだけではあ り ません。 ク ロ ッキングや、 ク ロ ッキング ネッ ト ワークのセッ ト アッ

プには注意が必要です。 デザインを作成する際には、 Vivado Design Suite のすべての機能を使用してインプリ メン ト (合成、 配置、 配線) し、 FPGA にダウンロード して最適な条件で FPGA を動作させるために、 『UltraFast 設計手法ガ

イ ド (Vivado Design Suite 用)』 (UG949) [参照 1] の 「ク ロ ッキング ガイ ド ライン」 および 「ク ロ ッ ク乗せ換え」 の章で

説明するガイ ド ラインに従ってください。

『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949) [参照 1] では、新しいデバイスの設計プロセスを合理化す

るための一連のベス ト プラ クティ スを提供しています。 これらのデザインのサイズおよび複雑性では、 特定の手順

と設計作業が必要であ り、 各設計段階を確実に進める必要があ り ます。 これらの手順に従ってベス ト プラ クティ ス

を順守するこ とで、 目標デザインをできるだけ迅速かつ効率的に完成させるこ とができます。 その他設計に役立つ、

次の 2 つの資料が提供されています。

• 『UltraFast 設計手法クイ ッ ク リ ファレンス ガイ ド』 (UG1231) [参照 9]

• 『UltraFast 設計手法チェッ ク リ ス ト 』 (XTP301) [参照 10]

Page 98: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 97UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

付録 A

その他のリソースおよび法的通知

ザイリンクス リソース

アンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照して

ください。

ソリューシ ョ ン センター

デバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照してください。 デザイ

ン アシスタン ト、 デザイン アドバイザリ、 ト ラブルシューティングのヒン ト などが含まれます。

参考資料

注記: 日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949: 英語版、 日本語版)

2. 『UltraScale および UltraScale+ FPGA パッケージおよびピン配置ユーザー ガイ ド』 (UG575: 英語版、 日本語版

3. 『UltraScale アーキテクチャ SelectIO リ ソース ユーザー ガイ ド』 (UG571: 英語版、 日本語版)

4. 『Vivado Design Suite ユーザー ガイ ド : 制約の使用』 (UG903: 英語版、 日本語版)

5. 『UltraScale および UltraScale+ デバイス データシート 』

° 『UltraScale アーキテクチャおよび製品データシート : 概要』 (DS890: 英語版、 日本語版)

° 『Zynq UltraScale+ MPSoC データシート : 概要』 (DS891: 英語版、 日本語版)

° 『Kintex UltraScale FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS892: 英語版、 日本語版)

° 『Virtex UltraScale FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS893: 英語版、 日本語版)

° 『Kintex UltraScale+ FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS922: 英語版、 日本語版)

° 『Zynq UltraScale+ MPSoC データシート : DC 特性および AC スイ ッチ特性』 (DS925: 英語版、 日本語版)

° 『Virtex UltraScale+ FPGA データシート : DC 特性および AC スイ ッチ特性』 (DS923: 英語版、 日本語版)

6. 『MMCM および PLL のダイナミ ッ ク リ コンフ ィギュレーシ ョ ン』 (XAPP888: 英語版、 日本語版)

7. 『UltraScale アーキテクチャ ライブラ リ ガイ ド』 (UG974: 英語版、 日本語版)

8. 『LogiCORE IP Clocking Wizard 製品ガイ ド』 (PG065)

9. 『UltraFast 設計手法クイ ッ ク リ ファレンス ガイ ド』 (UG1231: 英語版、 日本語版)

Page 99: UltraScale アーキテクチャ クロッキングリソース - Xilinx...UltraScale アーキテクチャ クロッキング リソース 2 UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

UltraScale アーキテクチャ クロッキング リソース 98UG572 (v1.10) 2020 年 8 月 28 日 japan.xilinx.com

付録 A: その他のリソースおよび法的通知

10. 『UltraFast 設計手法チェッ ク リ ス ト 』 (XTP301: 英語版、 日本語版)

11. 『Zynq UltraScale+ デバイス パッケージおよびピン配置ユーザー ガイ ド』 (UG1075: 英語版、 日本語版)

12. 『Zynq UltraScale+ MPSoC テクニカル リ ファレンス マニュアル』 (UG1085: 英語版、 日本語版)

13. 『Vivado Design Suite ユーザー ガイ ド : プログラムおよびデバッグ』 (UG908: 英語版、 日本語版)

お読みください: 重要な法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する最大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) という状態で提供

され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれ

らに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または

貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・性質の損失または損害についても、 責任を負わな

い (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害に

は、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の

損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可能で

あったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情報に

含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いま

せん。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一

定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク

スの販売条件を参照してください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補助的条件

に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプリ ケー

シ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ うな重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を

使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンク

スの販売条件を参照してください。

自動車用のアプリケーシ ョ ンの免責条項

オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性

の機能 ( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプリ ケーシ ョ ン ( 「セー

フティ アプリ ケーシ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用

前または提供前に安全を目的と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品

を使用する リ スクはすべて顧客が負い、 製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。

© Copyright 2013–2020 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含

まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 AMBA、 AMBA Designer、 Arm、

ARM1176JZ-S、 CoreSight、 Cortex、 PrimeCell、 Mali、 および MPCore は、 EU およびその他各国の Arm 社の商標です。 PCI、 PCIe、 および PCI Express は PCI-SIG の商標であ り、 ラ イセンスに基づいて使用されています。 すべてのその他の商標は、 それぞれの保有者

に帰属します。