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

UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

UltraScale アーキテクチャコンフ ィギャラブルロジック ブロック

ユーザー ガイド

UG574 (v1.5) 2017 年 2 月 28 日

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

Page 2: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

UltraScale アーキテクチャ CLB ユーザー ガイド 2UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

改訂履歴

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

日付 バージョ ン 内容

2017 年 2 月 28 日 1.5 「分散 RAM (SLICEM のみ)」 で、 「デュアル ポート 32 x (1 ~ 4) ビッ ト RAM」 を 「デュア

ル ポート 32 x (1 ~ 8) ビッ ト RAM」 に、 「ク ワ ッ ド ポート 32 x (1 ~ 8) ビッ ト RAM」 を

「ク ワ ッ ド ポート 32 x (1 ~ 4) ビッ ト RAM」 に変更。図 5-5 に続く段落をわかりやすく記

載。 「第 2 世代の 3D IC インターコネク ト 」 で、 「インターポーザー境界」 および 「イン

ターポーザー z接続」 という用語から 「インターポーザー」 を削除。

2015 年 11 月 24 日 1.4 UltraScale+ デバイスの情報を追加。

2015 年 10 月 29 日 1.3 「旧世代との違い」 の 後の箇条書きの項目を削除。 図 2-1 を更新。 「マルチプレクサー」

の 後の段落と 「32:1 マルチプレクサー」 の 初の段落を更新。 「分散 RAM (SLICEM の

み)」 の第 2 段落を更新。

2015 年 2 月 20 日 1.2 第 1 章の章題を 「概要 (Introduction)」 から 「概要 (Overview)」 に変更。 「CLB スライス リ

ソース」 に 後の 2 つの文を追加。 第 2 章 「CLB の機能」 の 「CLB リ ソース」 の 初の

段落をわかりやすくするために修正、 「分散 RAM (SLICEM のみ)」 で 「クワ ッ ド ポート

32 x (1 ~ 4) ビッ ト RAM」 を 「ク ワ ッ ド ポート 32 x (1 ~ 8) ビッ ト RAM」 に変更し、

「デュアル ポート 128 x 1 ビッ ト RAM」 を 「デュアル ポート 128 x 2 ビッ ト RAM」 に変

更。 第 3 章 「デザイン入力」 の編集をマイナー変更。 第 5 章 「高度な使用法」 の

「Laguna フ リ ップフロ ップ」 の章題を 「第 2 世代の 3D IC インターコネク ト 」 に変更し、

インターコネク ト フ リ ップフロ ップに関して 「Laguna」 とい う用語の使い方をわかりや

すくするために修正。 表 5-2 「各デバイスで利用可能なシンクロナイザーの総数」 を削

除。 「スタ ッ ク ド シ リ コン インターコネク ト (SSI) テク ノ ロジを使用する 3D IC デバイ

ス」 の編集をマイナー変更し、 図 5-5 を追加。

2014 年 9 月 8 日 1.1 「旧世代との違い」 から 「スタ ッ ク ド シ リ コン インターコネク ト (SSI) テク ノ ロジを採用

したデバイスの違い」 を削除し、 後の段落を追加。 表 1-1 および表 1-2 を結合。 「初期

化」 の説明を更新し、 わかりやすく記載。 「分散 RAM (SLICEM のみ)」 の 6 段落目の説

明をわかりやすく記載。 「デザインのチェッ ク リ ス ト 」 に UG949 の参照を追加。 第 5 章

「高度な使用法」 に 「非同期クロ ッ ク乗せ換え」 を追加。 「スタ ッ ク ド シ リ コン インター

コネク ト (SSI) テク ノ ロジを使用する 3D IC デバイス」の参照を更新、「第 2 世代の 3D IC

インターコネク ト 」 を追加。 付録 A 「その他のリ ソースおよび法的通知」 の参照を更

新。

2013 年 12 月 10 日 1.0 初版

Page 3: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

目次

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

第 1 章: 概要UltraScale アーキテクチャについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

CLB の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

旧世代との違い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

デバイス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

推奨デザイン フロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

ピン配置の計画 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

第 2 章: CLB の機能概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

CLB リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

ルッ クアップ テーブル (LUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

ス ト レージ エレ メン ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

マルチプレクサー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

キャ リー ロジッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

分散 RAM (SLICEM のみ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

シフ ト レジスタ (SLICEM のみ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

第 3 章: デザイン入力概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

デザインのチェッ ク リ ス ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

CLB スライス リ ソースの使用法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

第 4 章: アプリケーシ ョ ン概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

分散 RAM のアプリ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

シフ ト レジスタのアプリ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

キャ リー ロジッ クのアプリ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

第 5 章: 高度な使用法非同期クロ ッ ク乗せ換え . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

ラ ッチ ファンクシ ョ ンのロジッ クへの転用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

インターコネク ト リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

スタ ッ ク ド シ リ コン インターコネク ト (SSI) テク ノ ロジを使用する 3D IC デバイス . . . . . . . . . . . . . . . . . . . . . . . 51

付録 A: その他のリソースおよび法的通知ザイ リ ンクス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

ソ リ ューシ ョ ン センター . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

UltraScale アーキテクチャ CLB ユーザー ガイド 3UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 4: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

参考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

法的通知 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

UltraScale アーキテクチャ CLB ユーザー ガイド 4UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 5: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 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 アーキテクチャを統合した、 業界初の

All Programmable MPSoC です。 次世代のプログラマブル エンジン、 セキュ リ ティ、 安全性、 信頼性、 そして 32 ビッ

トから 64 ビッ トへ拡張可能なスケーラビ リティを備える Zynq UltraScale+ MPSoC は、 これまでにない省電力性、 処

理性能、 プログラマブル アクセラレーシ ョ ン、 I/O、 メモ リ帯域幅を提供し、 ヘテロジニアスなプロセッシングを必

要とするアプ リ ケーシ ョ ンに理想的です。

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

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

す。

UltraScale アーキテクチャ CLB ユーザー ガイド 5UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 6: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 1 章: 概要

CLB の概要

CLB (コンフ ィギャラブル ロジッ ク ブロ ッ ク ) は、 汎用の組み合わせ回路および順次回路をインプリ メン トするため

の主要リ ソースです。 合成ツールでは、 UltraScale アーキテクチャの高効率なロジッ ク、 演算、 およびメモ リ機能を

いかした合成が自動的に実行されます。 あるいは、 インプリ メンテーシ ョ ンをよ り制御するために、 これらの機能

を直接インスタンシエートするこ と もできます。 CLB はロジッ ク エレ メン ト自体で構成され、 それらを接続するイ

ンターコネク ト配線リ ソース と共に 1 つのスライスにグループ化されています。 スライスの使用、 デバイスにおけ

る配置、 スライス間の接続は、 ツールで自動的に実行させるこ とが 良の方法ですが、 UltraScale アーキテクチャを

理解しておく こ とは優れたデザインを作成する助けとなり ます。

このユーザー ガイ ドでは、 その性能を十分にいかしたコードを作成できるよ う、 CLB について詳細に説明します。

この概要セクシ ョ ンでは、 もよ く使用される CLB リ ソースを紹介します。 後続の各章では、 デザインを 適化し

て集積度、 性能、 消費電力を向上させるために必要な詳細について解説します。

UltraScale アーキテクチャ CLB は、 高度で高性能、 かつ低消費電力のプログラマブル ロジッ クを提供します。

• 完全な 6 入力ルッ クアップ テーブル (LUT) 性能

• デュアル LUT5 (5 入力 LUT) オプシ ョ ン

• 分散メモ リおよびシフ ト レジスタ ロジッ ク (SRL) 性能

• 高速演算専用のキャ リー ロジッ ク ファンクシ ョ ン

• 使用効率を向上させる多入力マルチプレクサー

• 柔軟な制御信号を備えるフ リ ップフロ ップまたはラ ッチと して構成可能な専用のス ト レージ エレ メン ト

UltraScale アーキテクチャの 1 つの CLB には 1 つのスライスが含まれ、 各スライスは 8 つの 6 入力 LUT と 16 のフ

リ ップフロ ップを備えています。 スライス同士の接続は容易で、 互いに接続するこ とでよ り大きなファンクシ ョ ン

を作成可能です。 スライス とその CLB はデバイス全体にカラム状に配列され、 サイズと数は集積度が高いデバイス

ほど大き くな り ます。

UltraScale アーキテクチャの LUT は、 次のよ うに構成可能です (図 1-1 参照)。

• 出力が 1 つの 6 入力 LUT

• 出力は別々でアドレスまたはロジッ ク入力が共通の 2 つの 5 入力 LUT

各 LUT 出力はスライスに接続するか、 オプシ ョ ンでフ リ ップフロ ップあるいはラ ッチを経由できます。 ス ト レージ

エレ メン トは、 スライスへの直接入力 (X および I) でも、内部のキャ リー ロジッ クまたは多入力マルチプレクサーの

結果でも駆動可能です。 図 1-2 を参照してください。 ス ト レージ エレ メン トにはクロ ッ ク イネーブル入力および初

期化信号があ り ます。 初期化信号は、 同期/非同期およびセッ ト / リセッ ト と してプログラム可能です。

X-Ref Target - Figure 1-1

図 1-1: LUT の構成

O6

One Function of 6 Inputs Two Functions of 5 Inputs

6:1

O6

O5

5:156

ug574_c1_01_102912

UltraScale アーキテクチャ CLB ユーザー ガイド 6UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 7: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 1 章: 概要

専用キャ リー ロジッ クは、 加算器、 カウンター、 乗算器などの演算機能を向上させます。 キャ リー ロジッ クは、 高

い集積度と性能の両方を提供しながら、 汎用ロジッ ク リ ソースから独立した専用のキャ リー ルッ クアヘッ ド ゲー

ト、 マルチプレクサー、 そして配線で構成されています。 キャ リー ロジッ クは多くの場合、 小さな演算ファンク

シ ョ ン用に推論されます。 よ り大き く、 複雑な演算ファンクシ ョ ンには専用の DSP ブロ ッ クが使用できます。 詳細

は、 『UltraScale アーキテクチャ DSP スライス ユーザー ガイ ド』 (UG579) [参照 1] を参照してください。

各 6 入力 LUT は 4:1 マルチプレクサー (MUX) を 1 つインプリ メン ト可能です。 スライス内の専用マルチプレクサー

を用いて LUT を組み合わせるこ とで、 別のスライスに接続せずに、 よ り大きなファンクシ ョ ンを作成できます。 た

とえば、 1 つのスライスの全 LUT を組み合わせた場合、 1 段のロジッ クで 32:1 MUX がインプリ メン トできます。

X-Ref Target - Figure 1-2

図 1-2: LUT およびスト レージ エレメン トに接続するスライス I/O の概略図

Note: MUX inputs include carry and wide multiplexers (not shown)

Note

Note

NoteO5

O6 O

MUX

X

I

Q1

6:1

ug574_c1_02_102912

Q2

UltraScale アーキテクチャ CLB ユーザー ガイド 7UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 8: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 1 章: 概要

図 1-3 に示すよ うに、 6 入力 LUT が 8 つ、 それらのス ト レージ エレ メン トが 16 個、 そしてマルチプレクサーと演算

キャ リー ロジッ クによって 1 つのスライスが構成されます。 6 入力 LUT、 そのフ リ ップフロ ップとほかのロジッ ク

をま とめたものそれぞれを、 下から上に向かって A から H と します。

X-Ref Target - Figure 1-3

図 1-3: スライス内の LUT およびスト レージ エレメン ト

H

G

F

E

D

C

B

A

ug574_c1_03_102912

UltraScale アーキテクチャ CLB ユーザー ガイド 8UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 9: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 1 章: 概要

UltraScale アーキテクチャには 2 つのタイプのスライスがあ り、 その比率はデバイスによって異なり ます。 SLICEL

(ロジッ ク ) には、 こ こに示したすべての LUT およびス ト レージ エレ メン ト リ ソース、 キャ リー ロジッ ク、 多入力

マルチプレクサーが含まれます。 SLICEM (メモ リ ) は、 個別の書き込みアドレス (WA)、 書き込みイネーブル (WE)、

およびクロ ッ ク信号を追加するこ とによ り、LUT を 64 ビッ トの分散 RAM と して使用できます。LUT は 64x1 または

32x2 のメモ リ と して構成可能です。 直接入力の X および I はデータ入力となり ます。 図 1-4 を参照してください。

SLICEM 内の 8 つの LUT で分散 RAM を組み合わせ、 大 512 ビッ トのメモ リ を作成できます。 SLICEM では、 8 つ

すべての LUT で WA および書き込みクロ ッ クが共有されます。 書き込みイネーブル信号も共有されますが、 よ り柔

軟性を与えるために、ほかの 3 つのスライス入力と組み合わせて使用するこ と も可能です。 さ らに、複数の SLICEM

を組み合わせるこ とによって 512 ビッ ト を超える メモ リ も作成できます。 よ り大きなメモリ用には専用のブロ ッ ク

RAM も使用できます。 詳細は、 『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイ ド』 (UG573) [参照 2] を参

照してください。

SLICEM 内の LUT は 32 ビッ トのシフ ト レジスタ と しても使用できます。 各スライスに含まれる専用フ リ ップフ

ロ ップが 16 個なのに対して、 1 つの SLICEM でその LUT を組み合わせる と、 大 256 ビッ トのシフ ト レジスタが可

能です。

これらの機能に関する詳細は、 第 2 章 「CLB の機能」 で説明しています。

X-Ref Target - Figure 1-4

図 1-4: ルックアップ テーブルを使用した分散 RAM

O6

WE64 x 1 Distributed RAM 32 x 2 Distributed RAM

O6

O5

I

WA6:WA1

ug574_c1_04_102912

6:1

I

X

WA5:WA1

5:1

WE

UltraScale アーキテクチャ CLB ユーザー ガイド 9UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 10: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 1 章: 概要

旧世代との違い

6 入力 LUT、 柔軟性に優れたス ト レージ エレ メン ト、 そして豊富な配線を持つ構築ブロッ クを基本と している点で、

UltraScale アーキテクチャの CLB と 7 シ リーズ デバイスの CLB は非常に似ています。 前世代のデバイスに使用した

設計テクニッ クは、 UltraScale アーキテクチャ デバイスでも十分活用できます。 主な違いは柔軟性が向上しているこ

とで、 それによってデザインがさらに自動で 適化されるよ うになり ました。

• 7 シ リーズの CLB には 2 つの独立したスライスがあ り ましたが、 UltraScale ではこれが 1 つにまとめられてロ

ジッ クおよび配線の効率が改善されています。 UltraScale アーキテクチャ スライスの上下半分それぞれが、 7 シ

リーズの 1 スライス と類似しています。 UltraScale アーキテクチャでは各 CLB に 1 スライスで、 CLB あたりの

総リ ソースはほぼ同じです。

• 柔軟性を向上し、 ク ロ ッ ク ゲーティングをサポートするために使用可能な制御セッ トが増えました。

° CLB スライスあたり 4 つのクロ ッ ク イネーブル

° オプシ ョ ンでセッ ト / リセッ ト信号にインバーター

• 分散 RAM の制御がよ り柔軟になり ました。

° 分散 RAM 専用クロ ッ ク

° フ リ ップフロ ップのクロ ッ ク イネーブルとは独立した書き込みイネーブル

° 書き込みイネーブル入力をスライスへの 3 つの直接入力と組み合わせるこ とで、 1 つのスライス内で 大 8

つの個別の書き込みイネーブルを使用可

• フ リ ップフロ ップのすべての出力が使用できるためパッキングおよび配線が改善され、 LUT あたり 4 つの出力

となり ます。

° 直接 LUT 出力

° マルチプレクサーを通る組み合わせ出力

° 2 つの等価なフ リ ップフロ ップ出力

• フ リ ップフロ ップはエッジ ト リ ガーの D タイプ フ リ ップフロ ップまたはレベル認識ラ ッチと して使用できま

す。 これは上半分または下半分で選択可能です。

• 高速演算用にキャ リー ロジッ クが 4 ビッ トから 8 ビッ トに拡張されています。 1 つの CLB に 1 つのキャ リー

チェーンがあ り ます。

CLB 構造に共通した機能があるため、 7 シ リーズから UltraScale アーキテクチャ デバイスへのデザイン移行はシンプ

ルです。 制御信号を柔軟に使用できるよ うにし、 スライス固有の制限をなくすため、 以前のデバイスをターゲッ ト

と したデザインを UltraScale デバイスにインプリ メン トする前にマップおよび配置の制約を削除してください。

CLB はカラム状に配列されています。 アーキテクチャがカラム状になっているこ とで、 デバイスはそれぞれのアプ

リ ケーシ ョ ン ド メ インに 適な機能の組み合わせを備えるこ とが可能になっています。 この革新的なアーキテク

チャによ り、 ザイ リ ンクスが提供する多様なデバイスから、 個々のデザインのインプリ メンテーシ ョ ンに適した機

能、 性能を備えたものを選択できます。

カラム状のアーキテクチャによって、 次のよ うに従来の設計における制約がなくな り ます。

• I/O 数によるロジッ ク アレイ サイズの制限など、 幾何学的配置の制約を削除

• デバイスの任意の場所に電源および GND を配置できるこ とで、 これらの分配を改善

• 個々のシ リ コン ベースの専用 IP ブロ ッ クを互いに、 かつ周囲のリ ソースから独立して拡張可能

UltraScale アーキテクチャ CLB ユーザー ガイド 10UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 11: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 1 章: 概要

アーキテクチャはセグメン ト化されたクロ ッ ク領域に分割されます。 デバイスの半分の幅を占めていた従来のファ

ミ リの CR とは異なり、 このアーキテクチャの CR はタイル状の配置に変更されています。 1 つの CR には、 CLB、

DSP スライス、 ブロ ッ ク RAM、 インターコネク ト、 および関連するクロ ッキングが含まれます。 CR の高さは CLB

60 個分、DSP スライス 24 個分、ブロ ッ ク RAM 12 個分で、中央には水平クロ ッ ク スパイン (HCS) があ り ます。HCS

には、 水平方向の配線/分配リ ソース、 リーフ ク ロ ッ ク バッファー、 ク ロ ッ ク ネッ ト ワーク インターコネク ト、 お

よびクロ ッ ク ネッ ト ワークのルートが含まれます。 ク ロ ッ ク バッファーは HCS に直接駆動します。 1 つのバンクに

は 52 個の I/O のほか、 CR と同じピッチに揃えられた 4 つのギガビッ ト ト ランシーバーがあ り ます。 コア カラムに

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

す。

デバイス リソース

CLB リ ソースはすべての UltraScale アーキテクチャ デバイス間でスケーラブルで、 アーキテクチャも共通となって

いるため、 ツール効率、 IP インプリ メンテーシ ョ ン、 デザイン移行が改善されています。 UltraScale アーキテクチャ

デバイスへの移行では、 CLB ベースのデザイン変更は不要です。

デバイスの容量は、 論理的に従来の 4 入力 LUT とフ リ ップフロ ップ 1 つに相当するロジッ ク セル単位で計測されま

す。 UltraScale アーキテクチャの CLB には、 6 入力 LUT、 豊富なフ リ ップフロ ップと ラ ッチ、 キャ リー ロジッ ク、

そして SLICEM で分散 RAM またはシフ ト レジスタを構築できる機能が備わっており、 実質的な容量が増加してい

ます。

CLB スライス リソース

各 UltraScale アーキテクチャ デバイスで利用可能な CLB スライス リ ソース (CLB フ リ ップフロ ップ、 CLB LUT、 分

散 RAM など) の数については、 『UltraScale アーキテクチャおよび製品概要』 (DS890) [参照 3] の機能をま とめた表を

参照してください。 分散 RAM の量に基づいて、 関連する リ ソースを計算できます。 シフ ト レジスタ ビッ トの 大

数は、 分散 RAM ビッ トの数を 2 で割った値です。 SLICEM の数は、 分散 RAM ビッ ト を 512 で割った値です。

推奨デザイン フロー

CLB リ ソースは汎用デザイン ロジッ ク用に推論されるため、 インスタンシエーシ ョ ンは不要です。 効率的なインプ

リ メンテーシ ョ ンには HDL または高位合成 (HLS) で十分です。

推奨: UltraScale アーキテクチャ CLB をターゲッ ト とする場合は次のコーディング プラ クティ スを参考にしてくださ

い。

• CLB のフ リ ップフロ ップにはセッ ト またはリセッ トのいずれか一方しかあ り ません。 1 つのエレ メン トでセッ

ト と リセッ ト を両方使用しないでください。

• フ リ ップフロ ップが豊富に用意されています。 性能を向上させるためにパイプラインの使用を検討してくださ

い。

• 制御入力は CLB の複数のリ ソース間で共有されます。 デザインに必要な固有の制御入力の数は可能な限り少な

く します。 制御入力には、 クロ ッ ク、 ク ロ ッ ク イネーブル、 セッ ト / リセッ ト 、 書き込みイネーブルなどがあ り

ます。

UltraScale アーキテクチャ CLB ユーザー ガイド 11UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 12: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 1 章: 概要

• LUT に効率的にシフ ト レジスタをインプリ メン トするには、 シフ ト レジスタにリセッ ト を使用しないよ うにし

ます。

• 必要なス ト レージ領域が小さい場合は、 6 入力 LUT を 64x1 のメモ リ と して使用できます。

• 標準的な演算ファンクシ ョ ンは、 キャ リー ロジッ クを使用する と効果的にインプリ メン ト されます。

推奨デザイン フロー

1. 推奨される手法 (HDL、 HLS、 IP など) を用いてデザインをインプリ メン ト します。

2. 使用率レポートから、 リ ソースの利用状況を判断します。 演算ロジッ ク、 分散 RAM、 SRL が適宜使用されてい

るこ とを確認します。

3. フ リ ップフロ ップの使用法を検討します。

a. 性能向上を目的と したパイプライン処理の使用

b. 専用リ ソース (ブロ ッ ク RAM、 DSP) 出力への専用フ リ ップフロ ップの使用

c. シフ ト レジスタの SRL と しての使用 (セッ ト / リセッ トの使用を避ける )

4. セッ ト / リセッ トの使用は 低限に抑えます。 デバイスへの電源投入時に、 フ リ ップフロ ップは自動的に初期化

されます。

ピン配置の計画

CLB はデザイン全体に分散しているため、 ピン配置に与える影響はわずかです。 カラム ベースのアーキテクチャ

は、 ほとんどの I/O の両側にある CLB に 大限の柔軟性を提供します。 デバイスの要件に基づいてツールに I/O 配

置を決定させるこ とが 良の方法です。 その結果に対して、 ボード レイアウ トの検討時に必要な変更を加えます。

タイ ミ ング制約を指定するこ とで、 デザインの要件に基づいた 適な配置がツールによって選択されます。 キャ

リー ロジッ クはカラムに沿って垂直上方向 (CLB 構造における唯一の方向性) にカスケード接続するため、 多入力演

算バスは I/O を含むほかのロジッ ク と直交する方向で駆動する場合があ り ます。

UltraScale アーキテクチャ CLB ユーザー ガイド 12UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 13: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章

CLB の機能

概要

この章では UltraScale™ アーキテクチャの CLB について詳し く解説します。 詳細はデザインの 適化や検証に役立

ちますが、 デザインの開始に必要となるものではあ り ません。 この章では、 次の項目について説明します。

• 「CLB リ ソース」 : CLB スライス機能の概要

• 「ルッ クアップ テーブル (LUT)」 : ロジッ ク ファンクシ ョ ン ジェネレーターの説明

• 「ス ト レージ エレ メン ト 」 : ラ ッチおよびフ リ ップフロ ップの制御方法の説明

• 「マルチプレクサー」 : LUT を組み合わせて多入力ファンクシ ョ ンを作成するための専用ゲート

• 「キャ リー ロジッ ク」 : 効率的に演算機能をインプリ メン トするための専用ゲートおよびカスケード接続

• 「分散 RAM (SLICEM のみ)」 : SLICEM LUT を書き込み可能なメモ リ と して使用

• 「シフ ト レジスタ (SLICEM のみ)」 : SLICEM LUT をシフ ト レジスタ と して使用

CLB リソース

各 CLB は、 8 つの 6 入力 LUT と 16 個のフ リ ップフロ ップを備えるスライスを 1 つ含みます。 LUT はカラムと して

配列されており、 CARRY8 と呼ばれる 8 ビッ トのキャ リー チェーンが各 CLB に 1 つあり ます。 多入力マルチプレク

サーで LUT を組み合わせるこ とで、 7、 8、 または 9 入力の任意のファンクシ ョ ン、 あるいは 大 55 入力の一部の

ファンクシ ョ ンを作成できます。 これらのファンクシ ョ ンをサポートする CLB スライスは SLICEL と呼ばれます

(L はロジッ クを表す)。 SLICEM (M はメモ リ を表す) にある LUT は、 ルッ クアップ テーブル、 64 ビッ トの分散

RAM、 または 32 ビッ トのシフ ト レジスタ と して構成可能です。 SLICEL の CLB は CLEL タイルと呼ばれ、 SLICEM

の CLB は CLE_M タイルと呼ばれます。 表 2-1 に、 1 つの CLB に含まれる リ ソースをま とめます。

表 2-1: 1 つの CLB に含まれるロジック リソース

CLBスライス

LUT フリ ップフロップ

演算およびキャリー チェーン

多入力マルチプレクサー 分散 RAM シフ ト レジスタ

SLICEL 8 16 1 F7、 F8、 F9 N/A N/A

SLICEM 8 16 1 F7、 F8、 F9 512 ビッ ト 256 ビッ ト

UltraScale アーキテクチャ CLB ユーザー ガイド 13UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 14: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

LUT は下から上に向かって A から H となっています。 これらは、 各 LUT の周りの信号およびその LUT のス ト レー

ジ エレ メン ト を区別するために使用されます。 信号名あるいはコンポーネン ト名の前に A から H の文字を付け、 同

じ CLB スライス内にあるほかの LUT と区別されるよ うにします。 たとえば、 LUT 入力は A1 ~ A6、 B1 ~ B6 など

のよ うに示され、 ス ト レージ エレ メン ト出力は AQ と AQ2、 BQ と BQ2 などのよ うに示されます。

ルックアップ テーブル (LUT)ファンクシ ョ ン ジェネレーターは、 6 入力のルッ クアップ テーブル (LUT) と してインプリ メン ト されています。 各

CLB の 8 つのファンクシ ョ ン ジェネレーターそれぞれには、 6 つの独立した入力 (1 ~ 6) と 2 つの独立した出力 (O5

および O6) があ り ます。

ファンクシ ョ ン ジェネレーターは次をインプリ メン トできます。

• 任意に定義された 6 入力のブール関数

• 任意に定義された 2 つの 5 入力のブール関数 (これら 2 つが入力を共有している場合のみ)

• 3 および 2 入力以下の任意に定義された 2 つのブール関数

6 入力ファンクシ ョ ンでは、 次の入力/出力を使用します。

• 入力 1 ~ 6

• O6 出力

5 入力以下のファンクシ ョ ンが 2 つの場合は、 次の入力/出力を使用します。

• 入力 1 ~ 5

• 6 番目の入力は High 駆動

• O5 および O6 出力

LUT を通る伝搬遅延は、 インプリ メン ト されるファンクシ ョ ンと無関係です。

ファンクシ ョ ン ジェネレーターからの信号は、 スライスの出力またはスライス内のほかのリ ソースに接続できます。

• O6 の直接 O 出力、 あるいは MUX を介した O5 または O6 の出力を通ってスライスから出る

• 2 つあるス ト レージ エレ メン トのいずれかの D 入力に入る

• キャ リー ロジッ クに入力

° O6 出力から XOR ゲートに入力

° O5 出力からカスケード チェーンに入力

° O6 出力からカスケード マルチプレクサーのセレク ト ラ インに入力

• O6 出力から F7MUX 多入力マルチプレクサーに入力

各スライスにはマルチプレクサーが 7 つ含まれ、 これらを使用するこ とでよ り入力の多いファンクシ ョ ンが作成で

きます。 これらのマルチプレクサーを用いる と、 大 8 つのファ クシ ョ ン ジェネレーターを組み合わせるこ とがで

き、 1 つのスライス内で 大 9 入力の任意のファンクシ ョ ンを提供できます。

• F7MUX_AB、 F7MUX_CD、 F7MUX_EF、 F7MUX_GH: 2 つの隣接する LUT から 7 入力ファンクシ ョ ンを作成す

る場合に使用

UltraScale アーキテクチャ CLB ユーザー ガイド 14UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 15: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

• F8MUX_BOT および F8MUX_TOP: 2 つの隣接する F7MUX から 8 入力ファンクシ ョ ンを作成する場合に使用

• F9MUX: 2 つの隣接する F8MUX から 9 入力ファンクシ ョ ンを作成する場合に使用

複数のスライスを使用するこ とで、 10 入力以上のファンクシ ョ ンをインプリ メン ト可能です。

スト レージ エレメン ト

CLB スライスあたり 16 個のス ト レージ エレ メン トがあ り ます (各 LUT に 2 個)。 これらはすべて、 エッジ ト リ ガー

の D タイプ フ リ ップフロ ップまたはレベル認識ラ ッチと して構成できます。 ラ ッチ オプシ ョ ンは、 デバイスの上半

分また下半分 (A ~ D および E ~ H) に対して使用します。 ス ト レージ エレ メン トに対してラ ッチ オプシ ョ ンを適用

した場合、 選択した上半分また下半分にある 8 つのス ト レージ エレ メン トすべてをラ ッチと して使用するか、 未使

用のままにする必要があ り ます。 ラ ッチと して構成する と、 そのラ ッチは CLB のクロ ッ ク入力 (CLK) が High のと

きに透過になり ます。

LUT ス ト レージ エレ メン トの Q1 および Q2 に同じ D 入力オプシ ョ ンがあるため、デザインの柔軟性が向上していま

す。

• LUT O6 出力

• LUT O5 出力

• LUT (BYP) をバイパスする、 CLB 入力からの直接入力。 Q1 の CLB X 入力、 Q2 の CLB I 入力

• キャ リー XOR の結果

• そのビッ トでのキャ リー カスケード出力

• 7 つの多入力マルチプレクサー (FMUX) の 1 つ (ローカル)。 一番下の LUT A では使用不可

UltraScale アーキテクチャ CLB ユーザー ガイド 15UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 16: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

制御信号

ス ト レージ エレ メン トのすべての CLB に 2 つのクロ ッ ク入力 (CLK) および 2 つのセッ ト / リセッ ト (SR) があ り ます。

各クロ ッ クまたはセッ ト / リセッ ト入力は、 16 のス ト レージ エレ メン トの うちの 8 つ専用で、 デバイスの上半分また

下半分 (A ~ D および E ~ H) に対して使用します。1 つの LUT の 2 つのス ト レージ エレ メン ト (Q1 および Q2) は 1

つのクロ ッ クおよびセッ ト / リセッ ト信号を共有します。 これらの信号の極性はスライスの入力でプログラム可能で

あるこ とから、 どの反転も CLB に自動的に維持されます。

クロック イネーブル

スライスあたり 4 つのクロ ッ ク イネーブル (CE) があ り ます。 ク ロ ッ ク イネーブルは上下半分と、LUT あたり 2 つの

ス ト レージ エレ メン トに対して使用されます。 つま り、 CE は次のそれぞれのグループに対して独立しています。

• AQ1、 BQ1、 CQ1、 および DQ1

• AQ2、 BQ2、 CQ2、 および DQ2

• EQ1、 FQ1、 GQ1、 および HQ1

• EQ2、 FQ2、 GQ2、 および HQ2

これによ り、 ク ロ ッ ク ゲーティングに 大限の柔軟性が与えられ、 デザインの効率向上および消費電力削減が実現

されます。 あるス ト レージ エレ メン トの CE が有効の場合、 そのグループ内の残り 3 つのス ト レージ エレ メン トの

CE も有効になり ます。 CE はスライスでは常にアクティブ High ですが、 ソース ロジッ クで反転可能です。

初期化

スライスへの 2 つの SR セッ ト / リセッ ト入力は同期または非同期にプログラムできます。 セッ ト / リセッ ト信号は

セッ ト またはリセッ トにプログラム可能ですが、 個々のス ト レージ エレ メン トに対してセッ ト と リセッ トの両方と

しては使用できません。

レジスタまたはラ ッチの SR セッ ト / リセッ トの設定オプシ ョ ンを次に示します。

• セッ ト / リセッ ト なし

• 同期セッ ト (FDSE プリ ミ ティブ)

• 同期リセッ ト (FDRE プリ ミ ティブ)

• 非同期セッ ト (プレセッ ト ) (FDPE プリ ミ ティブ)

• 非同期リセッ ト (ク リ ア) (FDCE プリ ミ ティブ)

4 つのフ リ ップフロ ップごとのグループ (CE 入力で制御される同じグループ) では、 SR セッ ト / リセッ ト入力を無視

できます。 あるス ト レージ エレ メン トの SR が有効の場合、 そのグループ内の残り 3 つのス ト レージ エレ メン トの

SR も有効になり ます。

セッ ト またはリセッ トの選択は、 スライス内の各ス ト レージ エレ メン トに対して個々に制御できます。同期 (SYNC)

または非同期 (ASYNC) セッ ト / リセッ ト (SYNC_ATTR) は、 2 つの別々の SR 入力で、 8 つのフ リ ップフロ ップのグ

ループごとに制御されます。

コンフ ィギュレーシ ョ ン後の初期ステートは、 0 または 1 に設定する各 INIT 属性で指定します。 デフォルトでは、

INIT = 1 で SR はセッ ト と指定され、 INIT = 0 とする と SR はリセッ ト と指定されます。 INIT は、 SR ファンクシ ョ ン

と関係なく定義できます。

UltraScale アーキテクチャ CLB ユーザー ガイド 16UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 17: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

図 2-1 に、 スライスにおける制御信号のス ト レージ エレ メン トへの接続を示します。

X-Ref Target - Figure 2-1

図 2-1: スライスにおける制御信号のスト レージ エレメン トへの接続

HQ1

HQ2

GQ1

GQ2

FQ1

FQ2

EQ1

EQ2

SR2

CLK2

CE3

CE4

DQ1

DQ2

CQ1

CQ2

BQ1

BQ2

AQ1

AQ2

SR1

CLK1

CE1

CE2ug574_c2_03_101615

UltraScale アーキテクチャ CLB ユーザー ガイド 17UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 18: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

マルチプレクサー

UltraScale アーキテクチャ スライスのファンクシ ョ ン ジェネレーターおよび関連するマルチプレクサーは、 次をイ

ンプ リ メン トできます。

• LUT を 1 つ使用する 4:1 マルチプレクサー、 CLB あたり 8 つの 4:1 マルチプレクサーを提供

• LUT を 2 つ使用する 8:1 マルチプレクサー、 CLB あたり 4 つの 8:1 マルチプレクサーを提供

• LUT を 4 つ使用する 16:1 マルチプレクサー、 CLB あたり 2 つの 16:1 マルチプレクサーを提供

• LUT を 8 つ使用する 32:1 マルチプレクサー、 CLB あたり 1 つの 32:1 マルチプレクサーを提供

多入力マルチプレクサーは、 次のよ うに専用のマルチプレクサーを使用して、 1 レベルのロジッ ク (または LUT) に

インプ リ メン ト されます。

• F7MUX_AB、 F7MUX_CD、 F7MUX_EF、 および F7MUX_GH が隣接する LUT を結合します。

• F8MUX_BOT および F8MUX_TOP が F7MUX 出力を結合します。

• F9MUX が 2 つの F8MUX 出力を結合します。

このよ うなマルチプレクサーは、 1 つの CLB で 大 8 つの LUT を組み合わせるこ とができます。 また、 2 つの LUT

を用いて 大 13 入力の汎用ファンクシ ョ ン、 または 4 つの LUT を用いて 27 入力の汎用ファンクシ ョ ンを構成する

場合にも使用できます。 マルチプレクサーの出力は組み合わせ回路による値で、 CLB のス ト レージ エレ メン トに格

納できます。

UltraScale アーキテクチャ CLB ユーザー ガイド 18UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 19: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

16:1 マルチプレクサー

F8MUX は、 F7MUX_AB と F7MUX_CD または F7MUX_EF と F7MUX_GH の出力を組み合わせて 大 27 入力

(または 16:1 MUX) の組み合わせファンクシ ョ ンを構築します。図 2-2 に示すよ うに、1 つの CLB の半分で 16:1 MUX

を 1 つインプリ メン トできます。

32:1 マルチプレクサー

F9MUX は F8MUX_BOT と F8MUX_TOP の出力を組み合わせて、 1 つの CLB スライスで 32:1 MUX を構築します

(図 2-3 参照)。

X-Ref Target - Figure 2-2

図 2-2: CLB スライスの半分に 1 つの 16:1 マルチプレクサー

ug574_c2_04_101413

(D[6:1])

(C[6:1])

(CX)

(B[6:1])

(A[6:1])

(AX)(BX)

(CLK)

SELF7

SELF7

SELF8

CLK

6

LUT

LUT

LUT

LUT

A[6:1]

O6

6A[6:1]

O6

RegisteredOutput

16:1 MUXOutput

(Optional)

D Q

(BMUX)

(B)

6A[6:1]

O6

6A[6:1]

O6

F7MUX_CD

F8MUX_BOT

SEL D [1:0], DATA D [3:0]Input

SEL C [1:0], DATA C [3:0]Input

SEL B [1:0], DATA B [3:0]Input

SEL A [1:0], DATA A [3:0]Input

F7MUX_AB

UltraScale アーキテクチャ CLB ユーザー ガイド 19UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 20: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

X-Ref Target - Figure 2-3

図 2-3: 1 つの CLB スライスに 1 つの 32:1 マルチプレクサー

ug574_c2_20_2013

(D[6:1])

(C[6:1])

(CX)

(B[6:1])

(A[6:1])

(AX)

(BX)(CLK)

SELF7

SELF7

SELF8

CLK

6

LUT

LUT

LUT

LUT

A[6:1]

O6

6A[6:1]

O6

RegisteredOutput

32:1 MUXOutput

(Optional)

D Q

(EMUX)

(EQ/EQ2)

6A[6:1]

O6

6A[6:1]

O6

F7MUX_CD

F8MUX_BOT

F7MUX_AB

SEL D [1:0], DATA D [3:0]Input

SEL C [1:0], DATA C [3:0]Input

SEL B [1:0], DATA B [3:0]Input

SEL A [1:0], DATA A [3:0]Input

(H[6:1])

(G[6:1])

(GX)

(F[6:1])

(E[6:1])

(EX)

(FX)

SELF7

SELF7

SELF8

6

LUT

LUT

LUT

LUT

A[6:1]

O6

6A[6:1]

O6

6A[6:1]

O6

6A[6:1]

O6

F7MUX_GH

F8MUX_TOP

F7MUX_EF

SEL H [1:0], DATA H [3:0]Input

SEL G [1:0], DATA G [3:0]Input

SEL F [1:0], DATA F [3:0]Input

SEL E [1:0], DATA E [3:0]Input

(DX)SELF9

F9MUX

UltraScale アーキテクチャ CLB ユーザー ガイド 20UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 21: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

キャリー ロジック

ファンクシ ョ ン ジェネレーターのほか、 高速加算/減算を実行するための専用の高速ルッ クアヘッ ド キャ リー ロ

ジッ クが含まれています。 図 2-4 に示すよ うに、 CLB スライスには 1 つのキャ リー チェーンがあ り ます。 このキャ

リー チェーンはカスケード接続して、 大規模な加算/減算ロジッ クを構築できます。

UltraScale アーキテクチャ CLB ユーザー ガイド 21UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 22: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

X-Ref Target - Figure 2-4

図 2-4: 高速キャリー ロジック パスおよび関連するエレメン ト

ug574_c2_05_031013

O6 From LUTH

HMUX/HQ(1)

HMUX

HQO5 From LUTH

HX

S7MUXCY

DI7

CO7

O7

COUT

Carry Chain Block (CARRY8)

(Optional)

D Q

O6 From LUTG

GMUX/GQ(1)

GMUX

GQO5 From LUTG

GX

S6MUXCY

DI6

CO6

CO5

CO4

O6

(Optional)

D Q

O6 From LUTF

FMUX/FQ(1)

FMUX

FQO5 From LUTF

FX

S5MUXCY

DI5

O5

(Optional)

D Q

O6 From LUTE

EMUX/EQ(1)

EMUX

EQO5 From LUTE

EX

S4MUXCY

DI4

CYINIT

10

O4

(Optional)

D Q

O6 From LUTD

DMUX/DQ(1)

DMUX

DQO5 From LUTD

DX

S3MUXCY

DI3

CO3

O3

(Optional)

D Q

O6 From LUTC

CMUX/CQ(1)

CMUX

CQO5 From LUTC

CX

S2MUXCY

DI2

CO2

CO1

CO0

O2

(Optional)

D Q

O6 From LUTB

BMUX/BQ(1)

BMUX

BQO5 From LUTB

BX

S1MUXCY

DI1

O1

(Optional)

D Q

O6 From LUTA

AMUX/AQ(1)

AMUX

AQO5 From LUTA

AX

S0MUXCY

DI0

CIN

CIN

Note 1: Can be used ifunregistered/registeredoutputs are free.

CYINIT

10

O0

(Optional)

D Q

UltraScale アーキテクチャ CLB ユーザー ガイド 22UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 23: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

キャ リー チェーンでは上方向に演算が実行され、 各 CLB スライスあたり 8 ビッ トの高さがあ り ます。 キャ リー初期

化入力 CYINIT を使用して、 キャ リー チェーンの 初のビッ ト を選択します。 この入力の値は、 加算の場合は 0、

減算の場合は 1、 初のキャ リー ビッ ト を動的に指定する場合は AX 入力になり ます。 キャ リーの初期化ファンク

シ ョ ンは、 CLB スライスの下に位置するチェーンの開始点、 および 2 つの 4 ビッ ト キャ リー ブロ ッ クに分割する中

間点の両方で可能です。あるスライスの COUT ピンからその上にあるスライスの CIN 入力へのカスケード接続には、

専用の接続が使用されます。 各ビッ トに対してキャ リー マルチプレクサー (MUXCY) と専用 XOR ゲートが 1 つずつ

あり、 選択されたキャ リー ビッ ト を使用してオペランドを加算/減算します。 専用キャ リー パスおよびキャ リー マ

ルチプレクサー (MUXCY) を使用して、 ファンクシ ョ ン ジェネレーターをカスケード接続し、 多入力ロジッ ク ファ

ンクシ ョ ンをインプ リ メン トするこ と も可能です。

分散 RAM (SLICEM のみ)SLICEM 内のファンクシ ョ ン ジェネレーター (LUT) は、 分散 RAM と も呼ばれる同期 RAM リ ソース と してインプ リ

メン トできます。 SLICEM 内の 複数の LUT をさまざまな方法で組み合わせるこ とで、 SLICEM あたり 大で 512

ビッ トのデータを格納可能です。 さ らに、 複数の SLICEM を組み合わせるこ とによってさ らに大きなメモ リ も作成

できます。 RAM エレ メン トは、 SLICEM 内で次のインプリ メン トするよ うに構成可能です。

• シングル ポート 32 x (1 ~ 16) ビッ ト RAM

• デュアル ポート 32 x (1 ~ 8) ビッ ト RAM

• クワ ッ ド ポート 32 x (1 ~ 4) ビッ ト RAM

• シンプル デュアル ポート 32 x (1 ~ 14) ビッ ト RAM

• シングル ポート 64 x (1 ~ 8) ビッ ト RAM

• デュアル ポート 64 x (1 ~ 4) ビッ ト RAM

• クワ ッ ド ポート 64 x (1 ~ 2) ビッ ト RAM

• オクタル ポート 64 x 1 ビッ ト RAM

• シンプル デュアル ポート 64 x (1 ~ 7) ビッ ト RAM

• シングル ポート 128 x (1 ~ 4) ビッ ト RAM

• デュアル ポート 128 x 2 ビッ ト RAM

• クワ ッ ド ポート 128 x 1 ビッ ト RAM

• シングル ポート 256 x (1 ~ 2) ビッ ト RAM

• デュアル ポート 256 x 1 ビッ ト RAM

• シングル ポート 512 x 1 ビッ ト RAM

分散 RAM モジュールは同期 (書き込み) リ ソースです。 書き込みクロ ッ クは、 ス ト レージ エレ メン トの 2 つのク

ロ ッ クから独立している、 専用の SLICEM 入力 LCLK から供給されます。 書き込み動作時には、 書き込みイネーブ

ル (WE) を High にする必要があ り ます。 デフォルトの読み出しは非同期です。 同期読み出しは、 同じ SLICEM 内の

フ リ ップフロ ップを使用してインプリ メン トできます。 このよ うにフ リ ップフロ ップを使用する場合、 Clock-to-Out

遅延が低減されるこ とによって分散 RAM の性能が向上します。 ただし、 ク ロ ッ ク レイテンシが 1 サイクル分追加さ

れます。

UltraScale アーキテクチャ CLB ユーザー ガイド 23UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 24: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

分散 RAM の構成には、 次のポートがあ り ます。

• シングル ポート

° 同期書き込みおよび非同期読み出しに共通のアドレス ポートです。 読み出しアドレス と書き込みアドレス

は、 同じアドレス バスを共有します。 シングル ポート RAM は、 LUT の構成が 5 つのアドレス入力を持つ

32x1 RAM の SPRAM32 または 6 つのアドレス入力を持つ 64x1 RAM の SPRAM64 と定義されます。 同じ

LUT にあ り、 アドレス入力が共通の 2 つの SPRAM32 の 6 つ目のアドレス ラインを High にして、 05 およ

び 06 出力を独立して使用する と、 これら 2 つを組み合わせるこ とができます。

• デュアル ポート

° 同期書き込みおよび非同期読み出し用にポートが 1 つあり ます。 読み出しおよび書き込みのポート アドレ

スが共有されているファンクシ ョ ン ジェネレーターが 1 つ接続されます。

° 非同期読み出し用に 1 ポート あ り ます。 2 つ目のファンクシ ョ ン ジェネレーターには、 2 つ目の読み出し専

用ポート アドレスに接続されるアドレス入力および 1 つ目の読み出し /書き込みポート アドレス と共有する

書き込みアドレス (WA) 入力があ り ます。 クワ ッ ド ポートおよびオクタル ポートの構成では、 非同期の読

み出しポート と してファンクシ ョ ン ジェネレーターが追加されます。

• シンプル デュアル ポート

° 同期書き込み用に 1 ポート あ り ます (書き込みポートからのデータ出力/読み出しポートはない)。

° 非同期読み出し用に 1 ポート あ り ます。

° デュアル ポート RAM とは、 LUT の構成が 5 つのアドレス入力を持った 32x1 RAM の DPRAM32 または

6 つのアドレス入力を持った 64x1 RAM の DPRAM64 と定義されます。

図 2-5 に、 1 つの H LUT を使用した 64x1 分散 RAM の例を示します。 図 2-5 に示すとおり、 共通 WA ポートは常に

H LUT への入力 (H6 ~ H1) によって物理的に駆動されます。 読み出しポートは、 書き込みおよび読み出しに共通の

入力セッ ト を使用する H LUT を用いて 8 つの LUT それぞれで互いに独立して動作します。 したがって、 DPRAM64

が LUT に設定されていても、 H LUT は常に有効なシングル ポート メモ リ とな り ます。 読み出しおよび書き込みア

ドレスが互いに接続されている場合に SPRAM32 を選択できますが、 その他の 3 つの LUT は常に有効なデュアル

ポート メモ リ とな り ます。

8 つのシングル ポート 64x1 ビッ ト モジュールを図 2-5 に示すよ うに構築し、 これらが同じクロ ッ ク、 書き込みイ

ネーブル、 共有読み出しおよび書き込みポート アドレス入力を共有する場合、 8 つの RAM64X1S プリ ミ ティブで

1 つの SLICEM を使用できます。 この構成は、 64x8 ビッ トのシングル ポート分散 RAM と同等です。

ただし、 SLICEM 内で LUT いずれかが分散 RAM と して設定される と、 その他の LUT は SRL と して使用できませ

ん。 書き込みアドレス ポートは必ず H LUT を使用するため、 分散 RAM はスライスの一番上から配置されます。

X-Ref Target - Figure 2-5

図 2-5: 分散 RAM (RAM64X1S)

ug574_c2_06_110512

Output

RegisteredOutput

(Optional)

DI1

D Q

(HI)D

A[5:0]

WCLKWE

(H[6:1])

6

SPRAM64

RAM64X1S

A[6:1]WA[6:1]CLK

CLK

WE

O6O

6

UltraScale アーキテクチャ CLB ユーザー ガイド 24UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 25: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

4 つのデュアル ポート 64x1 ビッ ト モジュールを図 2-6 に示すよ うに構築する場合は、4 つの RAM64X1D プリ ミ ティ

ブで 1 つの SLICEM を使用できます。 ただし、 これらは同じク ロ ッ ク、 共有読み出しおよび書き込みポート アドレ

ス入力を共有する必要があ り ます。 この構成は、 64x4 ビッ トのデュアル ポート分散 RAM と同等です。

図 2-7 に示すよ うに、 スライスの 8 つの LUT を利用する と、 デュアル ポートの構成をオクタル ポート 64x1 メモ リ

に拡張できます。 あるいは、 図 2-8 に示すよ うに、 シンプル デュアル ポートの構成では、 1 つの専用書き込みポー

ト と 7 つの読み出しポート を用いて、 1 つのスライスで 大 64x7 メモ リ まで拡張できます。

X-Ref Target - Figure 2-6

図 2-6: 64x1 デュアル ポート分散 RAM (RAM64X1D)

UG574_c2_21_100913

DI1D

A[5:0]

WCLKWE

6

6

DPRAM64

RAM64X1D

A[6:1]WA[6:1]CLKWE

O6

DI1

DPRA[5:0] 6

6

DPRAM64

A[6:1]WA[6:1]CLKWE

O6

RegisteredOutput

(Optional)

D Q

SPO

RegisteredOutput

(Optional)

D Q

DPO

UltraScale アーキテクチャ CLB ユーザー ガイド 25UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 26: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

X-Ref Target - Figure 2-7

図 2-7: 64x1 オクタル ポート分散 RAM

UG574_c2_22_100913

DI1DIH

ADDRH

ADDRG

ADDRA

WCLK

WE

(CLK)

(WE)

DPRAM64

A[6:1]WA[6:1]CLKWE

O6

DI1

DPRAM64

A[6:1]WA[6:1]CLKWE

O6

(G[6:1])

(H[6:1])

(DI)

(A[6:1])

DI1

DPRAM64

A[6:1]WA[6:1]CLKWE

O6

RegisteredOutput

DOH

DOG

DOA

(Optional)

D Q

RegisteredOutput

(Optional)

D Q

RegisteredOutput

(Optional)

D Q

ADDRB

DI1

(B[6:1])

DPRAM64

A[6:1]WA[6:1]CLKWE

O6DOB

RegisteredOutput

(Optional)

D Q

ADDRF

ADDRC

DOF

DOC

~ ~ ~ ~~ ~ ~ ~

UltraScale アーキテクチャ CLB ユーザー ガイド 26UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 27: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

ワード数が 64 以上の分散 RAM の構成をインプ リ メン トするには、 多入力機能マルチプレクサーを図 2-9 に示すよ

うに使用する必要があ り ます。 4 つのシングル ポート 128x1 ビッ ト モジュールを図 2-9 に示すよ うに構築する場合

は、 4 つの RAM128X1S プリ ミ ティブで 1 つの SLICEM を使用できます。 ただし、 これらは同じクロ ッ ク、 共有読み

出しおよび書き込みポート アドレス入力を共有する必要があ り ます。 この構成は、 128x4 ビッ トのシングル ポート

分散 RAM と同等です。

X-Ref Target - Figure 2-8

図 2-8: 64x7 シンプル デュアル ポート分散 RAM

UG574_c2_23_100913

DI1unused

WADDR[6:1]

RADDR[6:1]

WCLK

WEH

(CLK)

(WE)

DPRAM64

A[6:1]WA[6:1]CLKWE

DI1

DPRAM64

A[6:1]WA[6:1]CLKWE

O6

(H[6:1])

(A[6:1])

DI1

DPRAM64

A[6:1]WA[6:1]CLKWE

O6

O[1]

O[7]

DI1

(B[6:1])

DPRAM64

A[6:1]WA[6:1]CLKWE

O6O[6]

DATA[2]

DATA[5]

O6

DI2unused

DATA[1]

DATA[6]

DATA[7]

DI2

DI2

DI2

6

(G[6:1]) 6

6

6

6

6

6

6

O[2]

O[5]

~ ~ ~~~ ~ ~~

UltraScale アーキテクチャ CLB ユーザー ガイド 27UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 28: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

分散 RAM のデータ フロー

同期書き込み

同期書き込みは、 アクティブ High の書き込みイネーブル (WE) を使用してシングル ク ロ ッ ク エッジで実行されま

す。 WE が High のと き、 入力 (D) がアドレス A のメモリ位置へ読み込まれます。

非同期読み出し

出力は、 デュアル ポート モードの SPO 出力のアドレス A、 またはデュアル ポート モードの DPO 出力のアドレス

DPRA で決定されます。 新しいアドレスがアドレス ピンに読み込まれる と、 LUT にアクセスする時間分遅れて、 メ

モ リ位置のデータ値が出力に現れます。 この動作はクロ ッ ク信号とは関係なく非同期で実行されます。

分散 RAM のまとめ

分散 RAM には次のよ うな特長があ り ます。

• SLICEM にはシングル ポートおよびデュアル ポートのモードがある。 各 LUT は 64 ビッ トの RAM を提供し、

各スライスは 大 256 ビッ トのデュアル ポート RAM または 大 512 ビッ トのシングル ポート RAM を提供す

• 書き込み動作にはクロ ッ ク エッジが 1 つ必要で、 フ リ ップフロ ップとは別の LCLK 入力を使用する。 データ入

力は、 Setup-to-Clock タイ ミ ング仕様に従う

• 読み出し動作は非同期スタンドアロンのフ リ ップフロ ップを使用し、 SLICEM 内で出力をレジスタに保持でき

X-Ref Target - Figure 2-9

図 2-9: 128x1 シングル ポート分散 RAM (RAM128X1S)

UG574_c2_26_100913

DI1

A6

D

A[6:0]

WCLK

WE

[5:0]

[5:0]

7

SPRAM64

RAM128X1S

A[6:1]WA[7:1]CLKWE

O6

DI1

7

SPRAM64

A[6:1]WA[7:1]CLKWE

O6

RegisteredOutput

Output

F7MUX

(Optional)

D Q

UltraScale アーキテクチャ CLB ユーザー ガイド 28UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 29: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

ROM (読み出し専用メモリ )SLICEM および SLICEL の両スライスに含まれる各ファンクシ ョ ン ジェネレーターは、64x1 ビッ ト ROM をインプ リ

メン トでき、 ROM64x1、 ROM128x1、 ROM256x1、 および ROM512x1 の 4 つの構成が可能です。 ROM の内容は各デ

バイスのコンフ ィギュレーシ ョ ン時に読み込まれます。 表 2-2 に、 各 ROM 構成で使用される LUT 数を示します。

シフ ト レジスタ (SLICEM のみ)SLICEM ファンクシ ョ ン ジェネレーターは、 フ リ ップフロ ップを使用せずに、 32 ビッ ト シフ ト レジスタ と しても使

用できます。 この形で使用する と、 各 LUT でシ リ アル データを 1 ~ 32 ク ロ ッ ク サイクルだけ遅延させるこ とがで

きます。 シフ ト イン D (DI1 LUT ピン) およびシフ ト アウ ト Q31 (MC31 LUT ピン) ラインは、 LUT をカスケード接続

してよ り大規模なシフ ト レジスタを構築します。 したがって、 1 つの SLICEM にある 8 つの LUT をカスケード接続

する と、 大 256 ク ロ ッ ク サイクルの遅延を生成できます。 複数の SLICEM のシフ ト レジスタを組み合わせるこ と

もできますが、 生成されたプログラマブル遅延を使用して、 データ パイプラインのタイ ミ ングのバランスを取るこ

とが可能です。

シフ ト レジスタには次のよ うな用途が考えられます。

• 遅延またはレイテンシの補正

• 同期 FIFO および CAM (Content Addressable Memory)

シフ ト レジスタには次のよ うな機能があ り ます。

• 書き込み: ク ロ ッ ク入力およびオプシ ョ ンのクロ ッ ク イネーブルと同期して実行

• Q31 への固定読み出しアクセスで、 下に位置する LUT とカスケード接続

° 下に位置する LUT A の Q31 は、直接使用または次の SLICEM にカスケード接続するために SLICEM 出力に

接続

• ダイナミ ッ ク読み出しアクセス

° 5 ビッ トのアドレス バス A[4:0] を使用して実行される。 LUT アドレスの LSB は使用せず、 ツールによって

自動的に High 駆動される

° アドレスを変更する と、 32 ビッ トの任意のビッ ト を非同期に (LUT の O6 出力から ) 読み出すこ とができる

- この機能は、 32 ビッ ト未満の小規模シフ ト レジスタを構成する際に役立つ

- たとえば、 13 ビッ ト シフ ト レジスタを構築する場合は、 アドレスを 13 番目のビッ トに設定する

° 同期読み出しのインプ リ メンテーシ ョ ンに、 ス ト レージ エレ メン ト またはフ リ ップフロ ップが使用できる

- フ リ ップフロ ップの Clock-to-Out が遅延全体を左右し、 性能が向上する

- ク ロ ッ ク レイテンシが 1 サイ クル分追加される

表 2-2: ROM の構成

ROM LUT 数

64 x 1 1

128 x 1 2

256 x 1 4

512 x 1 8

UltraScale アーキテクチャ CLB ユーザー ガイド 29UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 30: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

• シフ ト レジスタのセッ ト またはリセッ トはサポート されていないが、 コンフ ィギュレーシ ョ ン後は任意の値に

初期化できる

図 2-10 に、 32 ビッ ト シフ ト レジスタのロジッ ク ブロ ッ ク図を示します。

図 2-11 に、 ファンクシ ョ ン ジェネレーターを 1 つ使用したシフ ト レジスタの構成例を示します。

図 2-12 に 2 つの 16 ビッ ト シフ ト レジスタを示します。 この例は 1 つの LUT にインプリ メン ト可能です。

X-Ref Target - Figure 2-10

図 2-10: 32 ビッ ト シフ ト レジスタの構成

X-Ref Target - Figure 2-11

図 2-11: シフ ト レジスタの表記

ug574_c2_07_102513

Output (Q)

RegisteredOutput

(Optional)

(AQ)

DI1

D Q

(AI)

SHIFTIN (Q31 of Previous LUT)

SHIFTIN (D)

A[4:0]

CLK

CLK

CE

(A[6:2])

SRL32

SRLC32E

A[6:2]

CLKCE

O6

MC31SHIFTOUT (Q31)

5

ug574_c2_08_102412

SHIFTIN (D)

SHIFTOUT(Q31)WE

CLK

Address (A[4:0])

32-bit Shift Register

MUX

Q

5

UltraScale アーキテクチャ CLB ユーザー ガイド 30UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 31: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

MC31 出力を 1 つ追加してシフ ト レジスタ間に専用配線を使用する と、 LUT O6 出力を使用せずに、 そのレジスタの

終ビッ ト を次のレジスタの 初のビッ トに接続できます。 よ り長いシフ ト レジスタは、 チェーン内の任意のビッ

トに動的にアクセスして構築できます。 シフ ト レジスタのチェーン接続および多入力マルチプレクサーによって、

アドレス指定によるアクセスが可能な 大 256 ビッ トのシフ ト レジスタを 1 つの SLICEM 内にインプリ メン トでき

ます。 図 2-13 に、 SLICEM の半分を使用できる 128 ビッ トのシフ ト レジスタを示します。

X-Ref Target - Figure 2-12

図 2-12: 2 つの 16 ビッ ト シフ ト レジスタを使用した構成

ug574_c2_09_110512

DI1SHIFTIN1 (AI)

SHIFTIN2 (AX)

A[3:0]

CLK

CE

4

SRL16

A[5:2]

CLKWE

O5

MC31

DI2

4

SRL16

A[5:2]CLKWE

O6

UltraScale アーキテクチャ CLB ユーザー ガイド 31UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 32: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 2 章: CLB の機能

シフ ト レジスタのまとめ

• シフ ト操作にはクロ ッ ク エッジ 1 つが必要

• LUT の Q 出力に対する可変長モードの読み出しは非同期で実行される

• LUT の Q 出力に対する固定長モードの読み出しは同期で実行される

• データ入力は、 Setup-to-Clock タイ ミ ング仕様に従う

• カスケード接続した構成では、 常に Q31 出力に 終のビッ ト値が含まれる

X-Ref Target - Figure 2-13

図 2-13: 128 ビッ ト シフ ト レジスタの構成

UG574_c2_25_102513

DI1SHIFTIN (D)

A[6:0]

CLK

WE

5

SRL32

A[6:2]

CLKWE

O6

MC31

MC31

MC31

MC31

DI1

SRL32

A[6:2]

CLKWE

O6F7MUX_CD

F8MUX_BOT

CX (A5)

BX (A6)

RegisteredOutput

Output (Q)

(Optional)

D Q

(BMUX)

SHIFTOUT (Q127)

(BQ)

DI1

SRL32

A[6:2]

CLKWE

O6

DI1

SRL32

A[6:2]

CLKWE

O6F7MUX_AB

AX (A5)

UltraScale アーキテクチャ CLB ユーザー ガイド 32UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 33: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 3 章

デザイン入力

概要

CLB スライス リ ソースは、 アーキテクチャ固有の特別なコーディングを必要とせず、 合成ツールによって自動的か

つ効率的に使用されます。 ただし、 HDL コーディングにおける推奨事項や手法が、 デザイン効率を 大限に引き出

す 適化に役立つ場合があ り ます。

デザインのチェ ックリス ト

次のガイ ド ラインは、 UltraScale™ アーキテクチャの CLB スライスを効果的に使用するためのデザイン上の推奨事項

をま とめた簡単なチェッ ク リ ス トです。

• リ ソースの使用

° ジェネ リ ッ ク HDL コードを使用し、 合成およびマッピングのツールが特定の CLB リ ソースを選択できる

よ うにします。

° 特定リ ソースのインスタンシエーシ ョ ンは、 集積度または性能の要件を満たすために必要な場合にのみ検

討します。

° 合成結果を予測スライス数と比較してデザインの効率を検証します。

° ターゲッ ト デバイスでリ ソースが不足した場合、 どのリ ソースが制約要因になっているのかを確認し、 レ

ジスタから SRL や分散 RAM、 分散 RAM からブロ ッ ク RAM、 キャ リー ロジッ クから DSP スライスなどの

代替リ ソースへの移行を検討します。

° ほかのアーキテクチャからデザインを移行する場合は、 リ ソース インスタンシエーシ ョ ン、 マッピングお

よびフロアプランの制約を削除します。 『UltraScale マイグレーシ ョ ン ユーザー ガイ ド』 (UG1026) [参照 4]

を参照してください。

° 適切な HDL コーディング手法および一般的な設計手法については、 『UltraFAST 設計手法ガイ ド』 (UG949)

[参照 5] を参照して ください。

• パイプライン処理

° 豊富なフ リ ップフロ ップを活用して性能を高めるには、 シーケンシャル デザインの手法やパイプライン処

理を使用してください。

• 制御信号

° 制御信号は必要な場合にのみ使用します。

° 配線済みのグローバル リセッ ト信号の使用を避け、 ローカル リセッ トの使用も 低限に抑えます。

° アクティブ High の制御信号を使用します。

UltraScale アーキテクチャ CLB ユーザー ガイド 33UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 34: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 3 章: デザイン入力

° 1 つのフ リ ップフロ ップでセッ ト と リセッ トの両方を使用しないよ うにします。

° フ リ ップフロ ップの代わりに LUT を使用して使用率の 大化、 消費電力の 小化を図るため、 小さなシフ

ト レジスタおよびス ト レージ アレイに制御信号を使用しないよ うにします。

• インプ リ メンテーシ ョ ン オプシ ョ ン

° 性能を自動的に向上させるために、 タイ ミ ング制約を使用し、 ツールのオプシ ョ ンを活用してインプリ メ

ンテーシ ョ ン実行時間の増加との ト レードオフを調整します。

CLB スライス リソースの使用法

ザイ リ ンクスでは、 ツールが CLB リ ソースの使用を推論できるよ うに、 ジェネ リ ッ ク HDL コードの使用を推奨し

ています。 UltraScale アーキテクチャ向けに設計された IP ソ リ ューシ ョ ンを使用する と、 CLB リ ソースを十分に活

用できます。 LUT、 キャ リー ロジッ ク、 シーケンシャル エレ メン ト を含む CLB のすべての機能は直接インスタンシ

エートできます。 ただし、 インスタンシエーシ ョ ンは主に DSP スライスなどの CLB 外のリ ソースを使用する場合の

指定に使用してください。 合成ツールによって多入力マルチプレクサー、 分散 RAM、 SRL 機能などの目的の CLB

リ ソースを推論できない場合には、 インスタンシエーシ ョ ンが必要となる可能性があ り ます。

プリ ミテ ィブ

こ こでは、 も頻繁に使用される CLB プリ ミティブの概要を説明します。 インスタンシエーシ ョ ンのテンプレート

は、 Vivado Design Suite の言語テンプレート を確認して ください。 すべてのプリ ミ ティブについての詳細は、

『UltraScale Architecture ライブラ リ ガイ ド』 (UG974) [参照 6] を参照してください。

LUT プリ ミテ ィブ

LUT プリ ミ ティブは、 SLICEL または SLICEM のいずれかにおけるルッ クアップ テーブルの構成と位置を直接指定

できるよ うにします。 上位セッ トのプリ ミ ティブは LUT6_2 で、 LUT の 6 つの入力すべてと O5 および O6 出力への

アクセスを提供します (図 3-1 参照)。 LUT6_2 は、 デュアル非同期 32 ビッ ト ROM (アドレスは

5 ビッ ト ) と して使用可能です。 また、 入力を共有した任意の 2 個の 5 入力ロジッ ク ファンクシ ョ ン、 あるいは 6 入

力のロジッ ク ファンクシ ョ ンおよび入力と ロジッ ク値を共有した 5 入力のロジッ ク ファンクシ ョ ンをインプ リ メン

トできます。

UltraScale アーキテクチャ CLB ユーザー ガイド 34UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 35: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 3 章: デザイン入力

その他の LUT プリ ミ ティブと しては O6 出力を提供するだけの LUT6、 5 入力 LUT を提供する LUT5、 そして LUT4、

LUT3、 LUT2、 LUT1 も同様に 1 つの LUT でそれぞれの入力数の LUT を提供します。

LUT の論理機能を示す 16 進数の値で構成される INIT 属性を指定します。 すべて 0 が適用される と、 INIT 値の LSB

が出力に対応し、 すべてが 1 の場合は MSB が出力に対応します。 たとえば、 LUT6_2 または LUT6 には 64 ビッ トの

16 進数値が必要です。Verilog で INIT 値が 64'hfffffffffffffffe (VHDL では X"FFFFFFFFFFFFFFFE") の場合、

I[5:0] 入力がすべて 1 でない限り O6 出力が 1 になり ます (6 入力 OR ゲートが 1 つ)。 LUT6_2 に対しては、 INIT 値の

下位半分のビッ ト 31:0 が O5 出力のロジッ ク ファンクシ ョ ンに適用されます。 この例では、 I[4:0] がすべて 0 でない

限り、 O5 出力は 1 です (5 入力の OR ゲートが 1 つ)。

マルチプレクサー プリ ミテ ィブ

マルチプレクサーのプリ ミ ティブは、 各スライスの専用マルチプレクサーを直接インスタンシエートするこ とで、

よ り多入力のマルチプレクサーを構築できるよ うにします。 表 3-1 にプリ ミ ティブの説明を示します。

いずれのマルチプレクサー プリ ミ ティブも同じ信号を使用します。 図 3-2 に MUXF7 を示します。

X-Ref Target - Figure 3-1

図 3-1: LUT6_2 プリ ミテ ィブ

表 3-1: マルチプレクサーのプリ ミテ ィブ

プリ ミテ ィブ 入力 リソース 出力

MUXF7LUT 出力 (4:1 mux)

F7MUX_AB、 F7MUX_CD、

F7MUX_EF、 F7MUX_GH8:1 Mux

MUXF8F7MUX_AB と F7MUX_CD、 または

F7MUX_EF と F7MUX_GH 出力 (8:1 mux)F8MUX_BOT、 F8MUX_TOP 16:1 Mux

MUXF9F8MUX_BOT および F8MUX_TOP

(16:1 mux)F9MUX 32:1 Mux

UG574_c3_10_101413

I5

I4

I2

LUT5

LUT6_2

I1

LUT5

O6

O5

I0

I3

I0I1

I0

I4

I1

I3

I2 I2

I3

I4

Attributes

INIT=0000000000000000

6-Input Look-Up Table

UltraScale アーキテクチャ CLB ユーザー ガイド 35UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 36: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 3 章: デザイン入力

ピン信号

データ入力 – I0、 I1

データ入力には、 セレク ト信号 (S) で選択されるデータが入力されます。

セレク ト入力 – S

セレク ト入力信号は、 出力 O へ送信されるデータ入力信号を決定します。 ロジッ ク 0 では I0 入力が、 ロジッ ク 1 で

は I1 入力が選択されます。

データ出力 – O

データ出力 O には、 セレク ト入力で選択されたデータ値 (1 ビッ ト ) が出力されます。

キャリー チェーン プリ ミテ ィブ

CARRY8 プリ ミ ティブは、 各スライスで使用可能な高速キャ リー ロジッ クをインスタンシエート します。 このプリ

ミ ティブは、 LUT と接続して加算器および乗算器を構築します。 図 3-3 に CARRY8 プリ ミ ティブを示します。 合成

ツールによって通常は、 演算 HDL コードから このロジッ クが推論され、 そのファンクシ ョ ンが自動で適切に接続さ

れます。

X-Ref Target - Figure 3-2

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

O

I0

MUXF7

UG574_c3_01_100813

I1

S

UltraScale アーキテクチャ CLB ユーザー ガイド 36UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 37: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 3 章: デザイン入力

ピン信号

合計出力 – O[7:0]

合計出力には、 加算/減算の 終結果が出力されます。 スライスの組み合わせおよびレジスタ付き出力に接続されま

す。

キャリー出力 – CO[7:0]

キャ リー出力には、 各ビッ トのキャ リー アウ トが出力されます。 CARRY8 プリ ミ ティブの CO[7] は、 スライスの

COUT と等価です (図 2-4 参照)。COUT を介して CO[7] をほかの CARRY8 プリ ミ ティブの CI 入力へ接続するこ とで、

よ り長いキャ リー チェーンを構築できます。 キャ リー チェーンは、 専用の配線によってスライスに沿って上方向に

接続されます。 キャ リー出力は、 必要に応じてスライスの組み合わせおよびレジスタ付き出力に接続されます。

キャリー入力 – CI

CIN と も呼ばれるキャ リー入力を使用してスライスをカスケード接続し、 よ り長いキャ リー チェーンを構築します。

データ入力 – DI[7:0]

データ入力は、 キャ リー ルッ クアヘッ ド ロジッ クの生成信号と して使用されます。 この生成信号は、 LUT 出力から

送信されます。

セレク ト入力 – S[7:0]

セレク ト入力は、 キャ リー ルッ クアヘッ ド ロジッ クの伝搬信号と して使用されます。 この伝搬信号は、 LUT 出力か

ら送信されます。

分割キャリー入力 – CI_TOP

CARRY8 の CARRY_TYPE はデフォルトで SINGLE_CY8 ですが、 CARRY_TYPE = DUAL_CY4 とするこ とで、 2 つの

別々の等価 CARRY4 に分割できます。 CI_TOP は上に位置する CARRY4 への外部キャ リー入力になり ます。

CARRY8 のデフォルトでは、 CI_TOP は GND に接続します。

X-Ref Target - Figure 3-3

図 3-3: CARRY8 プリ ミテ ィブ

CARRY8

CI_TOP CI

DI[7:0]

S[7:0]

O[7:0]

UG574_c3_02_100813

CO[7:0]

UltraScale アーキテクチャ CLB ユーザー ガイド 37UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 38: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 3 章: デザイン入力

SLICEM 分散 RAM プリ ミテ ィブ

表 3-2 に 8 つのプリ ミ ティブを示します。 シングル ポート RAM とデュアル ポート RAM のプリ ミ ティブが 3 つず

つ、 そしてオクタル ポート RAM のプリ ミ ティブが 2 つです。

入力および出力データは 1 ビッ ト幅です (オクタル ポート RAM を除く )。

図 3-4 に、 標準的なシングル ポート、 デュアル ポート、 およびオクタル ポートの分散 RAM のプリ ミ ティブを示し

ます。 A、 ADDR、 および DPRA 信号はアドレス バスです。

表 3-2: シングル ポート、 デュアル ポート、 オクタル ポートの分散 RAM

プリ ミテ ィブ RAM のサイズ タイプ アドレス入力

RAM32X1S 32 ビッ ト シングル ポート A[4:0] (読み出し /書き込み)

RAM32M16 32 ビッ ト オクタル 2 ビッ ト ポート ADDRA[4:0] (読み出し )

ADDRB[4:0] (読み出し )

ADDRC[4:0] (読み出し )

ADDRD[4:0] (読み出し )

ADDRE[4:0] (読み出し )

ADDRF[4:0] (読み出し )

ADDRG[4:0] (読み出し )

ADDRH[4:0] (読み出し /書き込み)

RAM64X1S 64 ビッ ト シングル ポート A[5:0] (読み出し /書き込み)

RAM64X1D 64 ビッ ト デュアル ポート A[5:0] (読み出し /書き込み)

DPRA[5:0] (読み出し )

RAM64M8 64 ビッ ト オクタル ポート ADDRA[5:0] (読み出し )

ADDRB[5:0] (読み出し )

ADDRC[5:0] (読み出し )

ADDRD[5:0] (読み出し )

ADDRE[5:0] (読み出し )

ADDRF[5:0] (読み出し )

ADDRG[5:0] (読み出し )

ADDRH[5:0] (読み出し /書き込み)

RAM128X1S 128 ビッ ト シングル ポート A[6:0] (読み出し /書き込み)

RAM256X1D 256 ビッ ト デュアル ポート A[7:0] (読み出し /書き込み)

DPRA[7:0] (読み出し )

RAM512X1S 512 ビッ ト シングル ポート A[8:0] (読み出し /書き込み)

UltraScale アーキテクチャ CLB ユーザー ガイド 38UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 39: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 3 章: デザイン入力

分散 RAM プリ ミ ティブを複数使用する と、 ビッ ト幅の大きいメモ リ ブロ ッ クをインプリ メン トできます。

ピン信号

同じ メモ リ セルを読み出す場合でも、 分散 RAM の各ポートはそれぞれ独立して動作します。

クロック – WCLK

ク ロ ッ クは同期書き込みに使用します。 データ入力ピンとアドレス入力ピンのセッ ト アップ タイムは、 WCLK ピン

を基準と しています。

ク ロ ッ ク ピン (WCLK) には、 スライス レベルで反転オプシ ョ ンがあ り ます。 ク ロ ッ ク信号は、 ほかのロジッ ク リ

ソースを使用せずに、 立ち下がりエッジまたは立ち上がりエッジでアクティブにできます。 デフォルトでは、 立ち

上がりエッジを使用します。

イネーブル – WE

イネーブル ピンはポートの書き込みを制御します。 WE が無効の場合、 メモ リ セルへの書き込みは実行されません。

WE が有効の場合、 クロ ッ ク エッジに同期して、 アドレス入力で指定したメモ リ位置にデータ入力信号が書き込ま

れます。

X-Ref Target - Figure 3-4

図 3-4: シングル ポート、 デュアル ポート、 およびオクタル ポートの分散 RAM プリ ミテ ィブ

RAM#X1S

UG574_c3_03_101113

DO

WE

WCLK

A[#:0]

SPO DOH[#:0]

RAM#X1D

D

DPO

R/W Port

Read Port

WE

WCLK

A[#:0]

DPRA[#:0]

RAM#M

DI[A:H][#:0]

DOG[#:0]

R/W Port

Read Port

Read Port

Read Port

WE

WCLK

ADDRH[#:0]

ADDRG[#:0]

DOB[#:0]ADDRB[#:0]

DOA[#:0]ADDRA[#:0]

DOC[#:0]Read PortADDRC[#:0]

DOD[#:0]Read PortADDRD[#:0]

DOE[#:0]Read PortADDRE[#:0]

DOF[#:0]Read PortADDRF[#:0]

UltraScale アーキテクチャ CLB ユーザー ガイド 39UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 40: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 3 章: デザイン入力

アドレス – A[#:0]、 DPRA[#:0]、 ADDRA[#:0] ~ ADDRH[#:0]

アドレス入力 A[#:0] (シングル ポートおよびデュアル ポートの場合)、 DPRA[#:0] (デュアル ポートの場合)、

ADDRA[#:0] ~ ADDRH[#:0 (オクタル ポートの場合) は、 読み出しまたは書き込みを実行する メモ リ セルを選択しま

す。 必要となるアドレス入力の数はポート幅によって決定します。 VHDL または Verilog のインスタンシエーシ ョ ン

では、 一部のアドレス入力はバスではあ り ません。 表 3-2 に各アドレス ピンの機能の概要を示します。

データ入力 – D、 DIH[#:0]

データ入力 D (シングル ポートおよびデュアル ポートの場合) および DIH[#:0] (オクタル ポートの場合) には、 RAM

に書き込む新しいデータ値が入力されます。

データ出力 – O、 SPO、 DPO、 DOA[#:0] ~ DOH[#:0]

データ出力 O (シングル ポート または SPO)、 DPO (デュアル ポート )、 DOA[#:0] ~ DOH[#:0] (オクタル ポート ) には、

アドレス入力で指定したメモ リ セルの内容が反映されます。 次のアクティブな書き込みクロ ッ ク エッジで、 データ

出力 (O、 SPO、 DOH[#:0) には新し く書き込まれたデータが反映されます。

SLICEM SRL シフ ト レジスタ プリ ミテ ィブ

32 ビッ トのシフ ト レジスタ (SRLC32E) は、 SLICEM の LUT を 1 つ用いるプリ ミ ティブを 1 つ使用します。 図 3-5

に、 32 ビッ ト シフ ト レジスタのプリ ミ ティブを示します。

ピン信号

クロック – CLK

シフ ト動作は、 クロ ッ クの立ち上がりエッジまたは立ち下がりエッジのいずれかに同期します。 データおよびク

ロ ッ ク イネーブル入力ピンには、 CLK の選択されたエッジを基準と したセッ ト アップ タイムがあ り ます。

ク ロ ッ ク ピン (CLK) には、 スライス レベルで反転オプシ ョ ンがあ り ます。 ク ロ ッ ク信号は、 ほかのロジッ ク リ ソー

スを使用せずに、 立ち下がりエッジまたは立ち上がりエッジでアクティブにできます。 デフォルトでは、 立ち上が

りエッジを使用します。

データ入力 – D

データ入力は、 シフ ト レジスタへシフ ト インする新しいデータ (1 ビッ ト ) になり ます。

X-Ref Target - Figure 3-5

図 3-5: 32 ビッ ト シフ ト レジスタ

SRLC32E

UG574_c3_04_100813

DQ

A[4:0]5

CE

CLK

Q31

UltraScale アーキテクチャ CLB ユーザー ガイド 40UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 41: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 3 章: デザイン入力

クロック イネーブル – CE

ク ロ ッ ク イネーブル ピンは、 シフ ト動作を制御します。 ク ロ ッ ク イネーブル ピンが非アクティブのと きは、 シフ

ト レジスタにデータはシフ ト インされず、 新しいデータは書き込まれません。 クロ ッ ク イネーブルをアクティブに

する と、 データ入力 (D) の内容が 初のビッ トに書き込まれ、 すべてのデータが 1 つずつシフ ト します。 新しいデー

タは、 出力ピン (Q) およびカスケード接続可能な出力ピン (Q31) に送信されます。

アドレス – A[4:0]

アドレス入力は、 読み出されるビッ ト (範囲 0 ~ 31) を選択します。 n 番目のビッ トが、 出力ピン (Q) に送信されま

す。 この入力はカスケード接続可能な出力ピン(Q31) に影響せず、 Q31 は常にシフ ト レジスタの 後のビッ ト (ビッ

ト 31) になり ます。

データ出力 – Q

データ出力 Q には、 アドレス入力で選択されたデータ値 (1 ビッ ト ) が送信されます。

データ出力 – Q31

データ出力 Q31 には、 32 ビッ ト シフ ト レジスタの 後のビッ ト値が送信されます。 シフ ト インが実行されるごとに

新しいデータが出力されます。 Q31 は、 スライス上では MC31 とな り ます (図 2-10 参照)。

フリ ップフロップ プリ ミテ ィブ

フ リ ップフロ ップやラ ッチ両方を含む、 CLB スライスのス ト レージ エレ メン ト用のプリ ミ ティブがいくつかあ り、

さまざまな制御信号を組み合わせて使用できます。 図 3-6 に、 FDRE プリ ミ ティブを例と して示します。 フ リ ップフ

ロ ップおよびラ ッチのプリ ミ ティブについての詳細は、 『UltraScale アーキテクチャ ライブラ リ ガイ ド』 (UG974)

[参照 6] を参照して ください。

ピン信号

データ入力 – D

データ入力は、 フ リ ップフロ ップにクロ ッ クで入力される新しいデータ (1 ビッ ト ) です。

データ出力 – Q

Q は、 フ リ ップフロ ップからのレジスタを介した 1 ビッ トのデータ出力です。

X-Ref Target - Figure 3-6

図 3-6: FDRE プリ ミテ ィブ

FDRE

UG574_c3_05_100813

DQ

CE

C

R

UltraScale アーキテクチャ CLB ユーザー ガイド 41UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 42: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 3 章: デザイン入力

クロック – C

データのキャプチャおよび出力のト グルには、 ク ロ ッ クの立ち上がりエッジまたは立ち下がりエッジのいずれかが

使用されます。 データおよびクロ ッ ク イネーブル入力ピンには、 クロ ッ クの選択されたエッジを基準と したセッ ト

アップ タイムがあ り ます。 ク ロ ッ ク ピン (C) には、 スライス レベルで反転オプシ ョ ンがあ り ます。 ク ロ ッ ク信号

は、 ほかのロジッ ク リ ソースを使用せずに、 立ち下がりエッジまたは立ち上がりエッジでアクティブにできます。

デフォルトでは、 立ち上がりエッジを使用します。 1 つのスライスに含まれるすべてのフ リ ップフロ ップで、 同じク

ロ ッ クおよびクロ ッ クの極性を使用する必要があ り ます。

クロック イネーブル – CE

CE が Low のと き、 D 入力に対するクロ ッ ク遷移が無視されます。 セッ トおよびリセッ ト入力は、 クロ ッ ク イネー

ブルよ り も優先されます。

同期リセッ ト – R

R が High の場合、 ほかの入力よ り も優先され、 データ出力 (Q) はクロ ッ ク遷移がアクティブのと きに Low に駆動さ

れます。 この信号は FDRE コンポーネン トで使用できます。 デフォルトでは、 電源投入時に FDRE フ リ ップフロ ッ

プも ク リ アされます。

同期セッ ト – S

S が High の場合、 ほかの入力よ り も優先され、 データ出力 (Q) はクロ ッ ク遷移がアクティブのと きに High に駆動さ

れます。 この信号は FDSE コンポーネン トで使用できます。 デフォルトでは、 電源投入時に FDSE フ リ ップフロ ップ

もプ リセッ ト されます。

非同期クリア – CLR

CLR が High の場合、 ほかの入力よ り も優先され、 データ出力 (Q) は Low に駆動されます。 この信号は FDCE コン

ポーネン トで使用できます。 デフォルトでは、 電源投入時に FDCE フ リ ップフロ ップも ク リ アされます。

非同期プリセッ ト – PRE

PRE が High の場合、 ほかの入力よ り も優先され、 データ出力 (Q) は High に駆動されます。 この信号は FDPE コン

ポーネン トで使用できます。 デフォルトでは、 電源投入時に FDPE フ リ ップフロ ップもプリセッ ト されます。

重要: 1 つのフ リ ップフロップで非同期ク リアと非同期プリセッ トの両方を使用する場合は、 リ ソースおよびタイ ミ ング

パスを追加する必要があります。

UltraScale アーキテクチャ CLB ユーザー ガイド 42UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 43: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 4 章

アプリケーシ ョ ン

概要

この章では、 よ り大きなファンクシ ョ ンの一部と して CLB スライス リ ソースを使用する方法について説明します。

また、 これらのファンクシ ョ ンを別の方法でインプリ メン トする場合のト レードオフについても解説します。

分散 RAM のアプリケーシ ョ ン

分散 RAM と しての用途には、 小規模なアレイ向けのス ト レージ エレ メン ト と大規模なアレイ向けのブロ ッ ク RAM

との間に ト レードオフがあ り ます。 大限の柔軟性を得るために、 メモ リは可能な限り推論するこ とを推奨します。

分散 RAM は、 インスタンシエーシ ョ ンまたはザイ リ ンクス IP を使用してターゲッ トにするこ と もできます。

通常、 ターゲッ ト デバイスの SLICEM またはロジッ ク リ ソースが不足していない限り、 64 ビッ ト以下のメモ リは、

すべて分散 RAM でインプリ メン ト して ください。 分散 RAM は、 リ ソース、 性能、 消費電力の面でよ り効率的で

す。

64 ビッ トから 128 ビッ トのメモ リの場合、 使用する 適な リ ソースの判断は次の要因に依存します。

1. 使用可能なブロ ッ ク RAM の有無。 使用できるブロッ ク RAM がない場合は、 分散 RAM を使用します。

2. レイテンシの要件。 非同期読み出し機能が必要な場合は、 分散 RAM を使用します。

3. データ幅。 16 ビッ ト よ り も大きな場合は、 可能であればブロ ッ ク RAM を使用します。

4. 必要な性能要件。 通常、 レジスタ付き分散 RAM はブロッ ク RAM に比べて Clock-to-Out タイ ミ ングが短く、 配

置制約も厳し くあ り ません。

シフ ト レジスタのアプリケーシ ョ ン

同期シフ ト レジスタ

シフ ト レジスタのプリ ミ ティブは、 同じスライスにあるレジスタを使用しません。 完全に同期した読み出し /書き込

みシフ ト レジスタをインプリ メン トするには、 出力ピン Q をフ リ ップフロ ップに接続する必要があ り ます。 図 4-1

に示すよ うに、 シフ ト レジスタ とフ リ ップフロ ップで独立したクロ ッ クが使用されます。

UltraScale アーキテクチャ CLB ユーザー ガイド 43UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 44: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 4 章: アプリケーシ ョ ン

この構成は、 デザインが簡単でタイ ミ ング ソ リ ューシ ョ ンの点でも優れています。 フ リ ップフロ ップはシフ ト レジ

スタ チェーンの 後のレジスタ と考え、 固定長モードまたは可変長モードでのアドレス指定は必要な長さから 1 を

引いた値にします。 必要に応じて、 カスケード接続可能な出力もフ リ ップフロ ップを介して出力できます。

固定長シフ ト レジスタ

カスケード接続可能な 32 ビッ トのシフ ト レジスタでは、専用マルチプレクサーを使用せずに、任意の固定長モード

シフ ト レジスタをインプリ メン トできます。 図 4-2 に、 72 ビッ トのシフ ト レジスタを示します。 後の SRLC32E

プリ ミ ティブのみアドレス入力を 0b00111 に固定する必要があ り ます。 または、 シフ ト レジスタの長さを 71 ビッ

ト までに制限して (アドレス入力を 0b00110 に固定)、 後のレジスタにはフ リ ップフロ ップを使用するこ と もでき

ます。 SRLC32E プリ ミ ティブでは、 シフ ト レジスタの長さはアドレス入力 +1 です。

X-Ref Target - Figure 4-1

図 4-1: 同期シフ ト レジスタ

X-Ref Target - Figure 4-2

図 4-2: 固定長シフ ト レジスタの例

SynchronousOutputD QD Q

Address

CLK

(Write Enable)CE

SRLC32E Flip-Flop

Q31

UG574_c4_01_101113

CLK

LUT

SRLC32E

D

Q31

LUT

SRLC32E

D

Q31

LUT

SRLC32E

D OUT(72-bit SRL)

A[4:0]

Q31

Q

500111

D

UG574_c4_02_101113

LUT

SRLC32E

D

Q31

LUT

SRLC32E

D

Q31

LUT

SRLC32E

D OUT(72-bit SRL)

A[4:0]

Q31

Q

FF

D Q

500110

D

UltraScale アーキテクチャ CLB ユーザー ガイド 44UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 45: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 4 章: アプリケーシ ョ ン

キャリー ロジックのアプリケーシ ョ ン

CLB の専用キャ リー ロジッ クは、 加算器、 カウンター、 コンパレータなどの演算の性能を向上させます。 単純なカ

ウンターまたは加算/減算器を含むデザインでは、 自動的にキャ リー ロジッ クが推論されます。 乗算器などのよ り複

雑なファンクシ ョ ンは、 独立した DSP スライスによってインプリ メン トできます。

すべてのデバイスに搭載された DSP スライスは、 乗算、 乗算累算、 乗算加算、 3 入力加算、 バレル シフター、 多入

力マルチプレクサー、 マグニチュード コンパレータ、 ビッ ト単位のロジッ ク ファンクシ ョ ン、 パターン検出、 多入

力カウンターなど、 多くの独立した機能をサポート します。 さ らに、 複数の DSP スライスをカスケード接続できる

アーキテクチャによって、 多入力の数値演算や DSP フ ィルター、 および複素数演算にも対応できます。 DSP スライ

スの詳細は、 『UltraScale アーキテクチャ DSP スライス ユーザー ガイ ド』 (UG579) [参照 1] を参照してください。

CLB キャ リー ロジッ ク と DSP スライスのいずれを使用するかは、 アプリ ケーシ ョ ンによって異なり ます。 DSP スラ

イス全体よ り も、 CLB キャ リー ロジッ クを用いた方が小規模な演算はよ り高速に動作し、 消費電力も小さ くな り ま

す。 DSP スライスをすべて使用している場合は、 効率的な代替手段と して CLB スライスやキャ リー ロジッ クを利用

できます。

キャリー ロジックの使用法

キャ リー ロジッ クは、 推論またはインスタンシエーシ ョ ンのいずれも可能です。 UltraScale™ アーキテクチャ向けに

設計されたマクロを使用する と、 特に複雑なファンクシ ョ ンで 大の柔軟性と効率が得られます。

ユニマクロは、 加算器、 カウンター、 コンパレータ、 乗算器、 乗算器/アキュムレータを含み、 DSP スライスを使用

します。

ザイ リ ンクスの IP には同様のファンクシ ョ ンが含まれます。 これらのファンクシ ョ ンを定義する場合、 CLB キャ

リー ロジッ クまたは DSP スライスのいずれでインプリ メン トするかは設計者が指定できます。

キャ リー ロジッ クはスライスのカラムで垂直方向上向きに実行します。 キャ リー ロジッ クを使用する場合、 ザイ リ

ンクス ツールによってロジッ クが自動的にカラム方向に配置されます。 フロアプランを作成する際は、 キャ リー ロ

ジッ クを使用するファンクシ ョ ンを必ずグループ化し、 キャ リー チェーンが不要に中断されるこ とのないよ うにす

る必要があ り ます。 スタ ッ ク ド シ リ コン インターコネク ト (SSI) テク ノ ロジを使用するデバイスの SLR (Super Logic

Region) 間では、 キャ リー ロジッ クのカスケード接続はできません。

UltraScale アーキテクチャ CLB ユーザー ガイド 45UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 46: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 5 章

高度な使用法

非同期クロック乗せ換え

あるクロ ッ ク ド メ インから別のクロ ッ ク ド メ インへ移動する信号は、 ド メ イン間の位相が既知で予測可能な同期ク

ロ ッ ク乗せ換え (こちらがよ り好ましい) または非同期クロ ッ ク乗せ換えのいずれかに分類できます。 非同期クロ ッ

ク乗せ換えパスでは、 タイ ミ ングの正確さに依存せず、 メ タスタビ リ ティの発生を 小限に抑える適切な同期回路

が使用されるよ うに注意する必要があ り ます。 バスの不正なキャプチャ、 メ タスタビ リ ティなど、 このよ うなパス

におけるデータの整合性に影響を及ぼす事象が軽減されるよ う考慮した設計が必要です。

非同期クロ ッ ク ド メ イン間をデータが問題なく行き来できるよ うにする一般的な方法が 2 通りあ り ます。 2 ビッ ト

以上の関連データを転送するのにシングル ビッ ト しか必要と しない、 またはグレイ コーディングのよ うな方法を使

用する場合、 レジスタ シンクロナイザーを挿入して回路の Mean Time Between Failures (MTBF: 平均故障間隔) を向上

できます。 複数ビッ トのデータ (バス) の場合、 ある ド メ インから別のド メ インへデータを問題なく転送するには、

通常、独立クロ ッ クの (非同期) FIFO の使用を推奨します。 この FIFO はブロ ッ ク RAM にある専用ロジッ クで構築で

きます。 デュアル ク ロ ッ ク FIFO では不確定、 グ リ ッチ、 メ タスタビ リ ティの問題が発生せず、 異なるクロ ッ ク ド

メ イン間でデータを受け渡す場合に便利です。 詳細は、 『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイ

ド』 (UG573) [参照 2] の第 2 章にある 「独立クロ ッ ク /デュアル ク ロ ッ ク FIFO」 を参照してください。

レジスタ シンクロナイザー UltraScale™ アーキテクチャの CLB スライスにあるフ リ ップフロ ップは、 非同期信号の MTBF が 大になるよ うに

設計されています。 レジスタ シンクロナイザーに標準のスライス フ リ ップフロ ップを使用する と、 この柔軟で豊富

な リ ソースを効果的に利用できます。 HDL コードで ASYNC_REG 属性を使用して、 同期しているレジスタをすべて

特定します。 これによ り、 合成、 適化、 シ ミ ュレーシ ョ ン、 配置配線に適したアルゴ リズムを Vivado Design Suite

が判断し、 使用できるよ うになるため、 メ タスタビ リ ティの発生を軽減して MTBF を向上させるこ とができます。

ASYNC_REG が適用される と、 配置 (機能) によって同期チェーンのフ リ ップフロ ップが近接配置され、 MTBF が

大になり ます。 ASYNC_REG を用いる直接接続のレジスタはグループ化されて 1 つのスライスに共に配置されます

が、 互換性のある制御セッ ト を備え、 レジスタ数がスライスの利用可能な リ ソース未満であるこ とがその前提です。

HARD_SYNC 専用シンクロナイザー

多くのデザインでは、 CLB スライスのフ リ ップフロ ップからシンクロナイザーを作成すれば十分です。 MTBF が非

常に大きいデザイン、 または超高速信号を同期するデザインには、 HARD_SYNC ブロ ッ クが利用できます。

HARD_SYNC ブロッ クには、 高速な外部信号の同期、 非同期ハンドシェイ ク、 デバイス内でクロ ッ ク ド メ インをま

たがる一定量の信号の同期に理想的な、超高速メ タステーブル回復機能を備えたレジスタが含まれています。 MTBF

要件が非常に厳しい、 超高速クロ ッ ク乗せ換えが必要である、 またはこれらに一定の低温動作が伴うアプリ ケー

シ ョ ンでは、 HARD_SYNC シンクロナイザーをスライス レジスタの代わりに使用できます。

UltraScale アーキテクチャ CLB ユーザー ガイド 46UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 47: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 5 章:高度な使用法

HARD_SYNC シンクロナイザー ブロ ッ クは、 2 あるいは 3 段のレイテンシを伴って構成できます。 CLB スライス レ

ジスタ と同様、 HARD_SYNC レジスタはコンフ ィギュレーシ ョ ン中に初期化でき、 オプシ ョ ンでクロ ッ ク入力にイ

ンバーターを使用可能です。

HARD_SYNC プリ ミ ティブ (図 5-1) をデザインで使用するには、 インスタンシエートする必要があ り ます。 2 ~ 3 つ

のレジスタであれば 1 つの HARD_SYNC シンクロナイザー チェーンに含めるこ とができます (図 5-2)。3 段階のレジ

スタ構成であれば、 クロ ッ ク レイテンシが追加されますが、 MTBF 特性は向上します。 以降のレジスタには通常の

スライス レジスタを使用してください。

X-Ref Target - Figure 5-1

図 5-1: HARD_SYNC プリ ミテ ィブ

X-Ref Target - Figure 5-2

図 5-2: HARD_SYNC シンクロナイザー ロジック

HARD_SYNC

CLK DOUT

DIN

UG574_c5_04_073014

DIN

CLK

DOUT

UG574_c5_05_073014

UltraScale アーキテクチャ CLB ユーザー ガイド 47UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 48: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 5 章:高度な使用法

ピン信号

データ入力 - DIN

データ入力は、 初のレジスタにク ロ ッ ク入力される非同期データ (1 ビッ ト ) です。

クロック - CLK

入力データのキャプチャおよびシンク ロナイザー出力のト グルには、 クロ ッ クの立ち上がりエッジまたは立ち

下がりエッジのいずれかが使用されます。 ク ロ ッ ク ピンには反転オプシ ョ ンがあ り、 デフォルトは立ち上がり

エッジです。 シンクロナイザー内のすべてのレジスタは同じク ロ ッ クおよび同じ クロ ッ ク極性を使用します。

データ出力 - DOUT

DOUT は、 シンクロナイザー内の 2 つ目または 3 つ目のレジスタから出力される 1 ビッ トの同期データ出力で

す。

レイテンシ、 初期値、 クロ ッ ク極性は次の属性で制御されます (表 5-1)。

ク ロ ッ ク領域内の各ブロッ ク RAM カラムの中央に位置する水平クロッ ク スパインに、 4 つのシンクロナイザーがあ

り ます (クロ ッ ク領域の詳細は、『UltraScale アーキテクチャ クロ ッキング リ ソース ユーザー ガイ ド』 (UG572) [参照 7]

参照)。

表 5-1: HARD_SYNC 属性

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

LATENCY 2、 3 2 10 進数 シンクロナイザーのレジスタの数

INIT 0、 1 0 1 ビッ ト

バイナリ

シンクロナイザーの全レジスタの初期化値

IS_CLK_INVERTED 0、 1 0 1 ビッ ト

バイナリ

アクティブ Low へのオプシ ョ ンのクロ ッ ク反転

UltraScale アーキテクチャ CLB ユーザー ガイド 48UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 49: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 5 章:高度な使用法

ラ ッチ ファンクシ ョ ンのロジックへの転用

ラ ッチ ファンクシ ョ ンはレベル認識型であるため、 ロジッ ク ゲートの等価回路と して使用できます。 このファンク

シ ョ ンを指定するプリ ミ ティブは、 図 5-3 に示す AND2B1L (一方の入力が反転した 2 入力の AND ゲート ) および

OR2L (2 入力の OR ゲート ) です。

図 5-4 に示すよ うに、AND2B1L や OR2L プリ ミ ティブがインスタンシエート される と、 ラ ッチのデータ、および SR

の入力と Q 出力が使用され、 CK ゲート と CE ゲートのイネーブルがアクティブ High に保持されます。 AND2B1L

は、 ラ ッチ データ入力 (ゲートの反転入力、 DI) と非同期ク リ ア入力 (SRI) を組み合わせます。 OR2L は、 ラ ッチ

データ入力と非同期プリセッ ト を組み合わせます。 通常、 ラ ッチ データは同じスライスの LUT 出力から入力され、

ロジッ ク ファンクシ ョ ンがほかの外部入力へ拡張されます。 SR 入力は各スライスの上または下半分ごとに 1 つしか

存在しないため、 スライスの半分で複数の AND2B1L または OR2L を使用する場合は、 外部入力を共有する必要があ

り ます。

2 入力ゲートの AND2B1L および OR2L は LUT リ ソースを節約し、電源投入時に既知の状態に初期化されます。 これ

らのプリ ミ ティブによってレジスタ /ラ ッチ リ ソースをロジッ クに転用するこ とで、 ロジッ ク レベルが低減され、 ロ

ジッ ク集積度が向上します。 ただし、 ク ロ ッ ク入力およびクロ ッ ク イネーブル入力を固定する必要があるこ とから、

1 つ以上の AND2B1L または OR2L プリ ミ ティブを指定する と、 スライス内でレジスタのパッキングや集積度に問題

が生じ、 残りのレジスタやラ ッチを使用できなくなる可能性があ り ます。

X-Ref Target - Figure 5-3

図 5-3: AND2B1L および OR2L コンポーネン ト

X-Ref Target - Figure 5-4

図 5-4: OR2L のインプリ メンテーシ ョ ン (Q = D または SRI)

UG574_c5_01_101113

AND2B1L OR2L

UG474_c5_02_101113

LUT6 D Q

CE

VCC

CKSR

IN[6:1] O6 Q

SRI

UltraScale アーキテクチャ CLB ユーザー ガイド 49UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 50: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 5 章:高度な使用法

インターコネク ト リソース

インターコネク ト とは、 デバイス内の IOB、 CLB スライス、 DSP スライス、 ブロ ッ ク RAM などのファンクシ ョ ン

エレ メン トの入力と出力間をつなぐ信号経路であ り、 プログラム可能なネッ ト ワークです。 配線と も呼ばれるイン

ターコネク トは、 適なコネクティビティを達成するためにセグメン ト化されています。 ザイ リ ンクスの配置配線

ツールは、 豊富なインターコネク ト アレイを活用し、 適なシステム性能を 短のコンパイル時間で実現します。

CLB スライスは通常のアレイに配置されます。 各 CLB はスイッチ マ ト リ クスに接続して、 ロウ (行) 間とカラム (列)

間に水平および垂直方向に存在する汎用配線マト リ クスにアクセスします。 同様のスイ ッチ マ ト リ ッ クスで、 DSP ス

ライスやブロッ ク RAM リ ソースなどのほかのリ ソースにも接続します。

ほとんどのインターコネク ト機能は、 設計者からは透過的、 つま り意識する必要があ り ません。 インターコネク ト

に関する詳細な知識は設計テクニッ クのガイ ド と して役立ちますが、 効率的なデザインに必須というわけではあ り

ません。 ユーザーが制御できるインターコネク トは一部に限られています。 その一例がクロ ッ ク配線リ ソースであ

り、 これはクロ ッ ク バッファーを使用するこ とで選択します。 詳細は、 『UltraScale アーキテクチャ ク ロ ッキング リ

ソース ユーザー ガイ ド』 (UG572) [参照 7] で説明しています。

インターコネク トの最適化

インターコネク トの遅延は、 デザインの特定のインプリ メンテーシ ョ ンやロードによって異なり ます。 インターコ

ネク トの種類、 デバイス内を伝搬する距離、 通過するスイ ッチ マ ト リ ッ クスの数などが全体の遅延を決定する要因

になり ます。 タイ ミ ングの問題の多くは、 制約ファイルで必要なタイ ミ ングが指定されているかを確認するこ とで、

あるいはブロ ッ ク遅延を確認し、 レベル数を低減するか高速パスを使用するこ とで得られる効果を判断するこ とで

解決できます。 インターコネク ト遅延が長い場合は、 インプリ メンテーシ ョ ンのエフォート レベルまたは反復回数

を増やすこ とで性能を改善します。

ク リ ティカル パスを含むネッ ト、 または負荷が重いネッ トについては、 ほとんどの場合、 ネッ トのソースを複製す

るこ とで改善されます。 スライスのデュアル 5 入力 LUT の構成を使用する と、 同一スライス内でロジッ クを簡単に

複製でき、 ソース ファンクシ ョ ンの入力の余分な負荷を 小にできます。 一方、 複数のスライスでロジッ クを複製

する と、 ツールでソースを個々に配置できるよ うになり ます。

フロアプランは、 ユーザー配置制約を指定するプロセスです。 これはインプリ メンテーシ ョ ンの前後いずれでも実

行できますが、 ユーザー フロアプランを指定する場合は、 必ず自動配置配線を先に実行するこ とを推奨します。 ザ

イ リ ンクス ツールでは、 配置がグラフ ィ ッ ク表示されます。 この表示によって、 設計者は幅広いデザインおよび解

析機能を用いて RTL コーディング、 合成、 インプリ メンテーシ ョ ンを選択できます。 適かつ一般的な設計手法は、

『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949) [参照 5] を参照してください。

UltraScale アーキテクチャ CLB ユーザー ガイド 50UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 51: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 5 章:高度な使用法

スタ ック ド シリコン インターコネク ト (SSI) テク ノロジを使用する 3D IC デバイス

一部の UltraScale アーキテクチャ デバイスはスタ ッ ク ド シ リ コン インターコネク ト (SSI) テク ノ ロジを採用していま

す。 これらのデバイスは、 SLR (Super Logic Region) 間に特別な配線リ ソースを備えています。 これらの特別な配線

リ ソースは、 スーパー ロング ライン (SLL) と呼ばれます。 複数のホモジニアス SLR ダイを 1 つのインターポーザー

上で組み合わせるこ とで、 カラムの高さを効率的に増やし、 デバイスの総容量を増加します。 ツールでこの構成を

大限に活用する配置を実行したり、 設計者自身がフロアプランを適用して、 SLR 内および SLR 間の配置を制御で

きます。 キャ リー ロジッ クのカスケード接続は SLR 内にのみ限定され、 SLL の接続を通じて継続するものではあ り

ません。 ブロ ッ ク RAM、 DSP、 および DCI などのほかのカスケード接続も同様です。 境界はフロアプラン ツールで

視覚的に表示され、 タイ ミ ング レポートに報告されます。

SSI テク ノ ロジを使用するデバイスの 適化は、 標準モノ リ シッ ク デバイス と同様に、 適切な設計手法やタイ ミ ン

グ制約、 良のインプ リ メンテーシ ョ ンを自動的に探し出すオプシ ョ ンなどを適用するこ とで開始できます。 これ

らのデバイスのフロアプランには同じグラフ ィカル ツールが使用できます。

SSI テク ノ ロジを使用するデバイスの詳細は、 次を参照してください。

• All Programmable 3D IC [参照 8]

• 『ザイ リ ンクスのスタ ッ ク ド シ リ コン インターコネク ト テク ノ ロジで飛躍的な FPGA 容量、 帯域幅、 電力効率

を実現』 (WP380) [参照 9]

第 2 世代の 3D IC インターコネク ト UltraScale アーキテクチャは第 2 世代の 3D IC インターコネク ト を使用して、 1 つのデバイス内の複数の SLR を接続

します。 このインターコネク ト独自の機能がフ リ ップフロ ップで、 SLR 間の境界にあ り、 SSI デバイス内の 1 つの

SLR から次の SLR へ予測可能な高速インターフェイスを提供します。 これらの専用フ リ ップフロ ップは両 SLR に存

在するため、 送信 (TX) および/または受信 (RX) SLR には、 SLL を介した単方向接続に使用するス ト レージ エレ メン

トが備わり ます。 組み合わせ接続も可能です。

フリ ップフロップ

複数の SLR を接続し、 境界でレジスタを介する信号があるデザインの場合、 3D IC インターコネク ト内のフ リ ップ

フロ ップをツールで使用できます。 インターコネク ト フ リ ップフロ ップは CLB スライス フ リ ップフロ ップと類似し

ており、 柔軟な配置が可能です。 インターコネク ト フ リ ップフロ ップはラ ッチ モードでは使用できませんが、 スラ

イス フ リ ップフロ ップと同様のクロ ッ ク イネーブルおよび初期化機能が備わっています。 デザイン内でスライス フ

リ ップフロ ップと同様の標準フ リ ップフロ ップがインスタンシエート または推論されている場合、 またはインプリ

メンテーシ ョ ン ツールでフ リ ップフロ ップが複製される場合は常に、 インターコネク ト フ リ ップフロ ップをツール

で使用できます。 デザインでインターコネク ト フ リ ップフロ ップを具体的にインスタンシエートするこ とはできま

せんが、 フロアプランを利用して、 指定したフ リ ップフロ ップを Laguna セルと呼ばれる 3D IC インターコネク ト リ

ソースに配置できます。

これらのフ リ ップフロ ップはセル内で TX フ リ ップフロ ップと RX フ リ ップフロ ップのペアを形成し、 そのいずれか

を関連する接続に使用できます。 SLR 境界の片側または両側にある Laguna セルを使用する と、 SLL 接続が可能にな

り ます。 つま り、 各接続には 4 つのフ リ ップフロ ップが存在するこ とになり ますが、 アプ リ ケーシ ョ ンで使用でき

るフ リ ップフロ ップは 大で 2 つまでです。 場合によっては、 ホールド タイム違反となる可能性があるため TX お

よび RX フ リ ップフロ ップを同じパスに同時に使用できませんが、 ホールド タイムが発生しない場合のみ両レジス

タがツールで使用されます。

UltraScale アーキテクチャ CLB ユーザー ガイド 51UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 52: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

第 5 章:高度な使用法

Laguna サイ トには 6 つの Laguna セルがあ り、制御信号はサイ ト レベルで動作します (図 5-5 参照)。各 Laguna タイル

は 4 つの Laguna サイ トから成り、 CLB スライス と同じ高さです。 Laguna タイルはクロ ッ ク領域の高さ全体に広が

り、 タイル 60 個分に相当します。 各クロ ッ ク領域には 2 つの Laguna カラムがあ り ますが、 SLR がほかの SLR に隣

接する場合、 SLR の一番上と一番下のクロ ッ ク領域にしか Laguna カラムは含まれません。

デバイスで利用可能なインターコネク ト フ リ ップフロ ップの総数は、 各ロウ (行) に存在するクロ ッ ク領域の数と

SLR の数によって決ま り ます。 たとえば、 KU115 は各ロウに 6 つのクロ ッ ク領域を持ち、 2 つの SLR で構成されま

す。 つま り、 SLR 境界をまたぐ接続で 69,120 のインターコネク ト フ リ ップフロ ップが使用可能であ り、 17,280 の

SLL 接続をサポート します。指定された SLR の SLL の数は、Tcl コマンド get_property NUM_SLLS [get_slrs

SLR0] を使用してレポートできます。 Tcl コマンドの詳細は、 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ

ド』 (UG835) [参照 10] を参照してください。

インターコネク ト フ リ ップフロ ップには、 スライス フ リ ップフロ ップのよ うな初期化制御および CLB ク ロ ッ ク イ

ネーブル制御があ り ます。 サイ ト内の 6 つの TX フ リ ップフロ ップから成るグループには固有のクロ ッ ク、 オプシ ョ

ンのクロ ッ ク イネーブルおよびセッ ト / リセッ トの各制御入力があ り ます。 サイ ト内の 6 つの RX フ リ ップフロ ップ

から成るグループについても同様です。 ク ロ ッ クはリーフ ク ロ ッ クから供給され、 サイ トでプログラム可能な極性

を持ちます。 セッ ト / リセッ トにもサイ ト レベルでプログラム可能な極性があ り ます。

スライス フ リ ップフロ ップと同様、 SR 信号をアサートする と、 フ リ ップフロ ップ出力で強制的にロジッ クを High

または Low に遷移できます (SR ファンクシ ョ ンは同期または非同期に選択可能)。 両オプシ ョ ンは指定された SR 信

号ですべてのフ リ ップフロ ップ (サイ ト内の 6 つの TX フ リ ップフロ ップまたは 6 つの RX フ リ ップフロ ップ) に適用

されます。

スライス フ リ ップフロ ップと同様、 コンフ ィギュレーシ ョ ン後の初期ステートは INIT を 0 または 1 に設定して指定

します。 デフォルトでは、 SR が強制的にロジッ ク High に遷移した後 INIT ステート も High になり、 SR が Low に遷

移する とデフォルトで INIT も Low になり ます。 INIT の定義は 1 組の TX/RX ペアのセル レベルで制御されます。

X-Ref Target - Figure 5-5

図 5-5: Laguna サイ ト内のインターコネク ト フリ ップフロップ

TXQ0

TXQ1

TXQ2

TXQ5

TX_CLK

TX_CE

TX_SR

TXQ3

TXQ4

Laguna Cell for One SLL

ug574_c5_06_012915

RXQ0

RXQ1

RXQ2

RXQ5

RX_CLK

RX_CE

RX_SR

RXQ3

RXQ4

UltraScale アーキテクチャ CLB ユーザー ガイド 52UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 53: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

付録 A

その他のリソースおよび法的通知

ザイリンクス リソース

アンサー、 資料、 ダウンロード、 フォーラムなどのサポート リ ソースは、 ザイ リ ンクス サポート サイ ト を参照して

ください。

ソリューシ ョ ン センター

デバイス、 ツール、 IP のサポートについては、 ザイ リ ンクス ソ リ ューシ ョ ン センターを参照して ください。 デザイ

ン アシスタン ト 、 デザイン アドバイザリ、 ト ラブルシュートのヒ ン ト などが含まれます。

参考資料

注記: 日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『UltraScale アーキテクチャ DSP スライス ユーザー ガイ ド』 (UG579: 英語版、 日本語版)

2. 『UltraScale アーキテクチャ メモ リ リ ソース ユーザー ガイ ド』 (UG573: 英語版、 日本語版)

3. 『UltraScale アーキテクチャおよび製品概要』 (DS890: 英語版、 日本語版)

4. 『UltraScale アーキテクチャへの移行設計手法ガイ ド』 (UG1026: 英語版、 日本語版)

5. 『UltraFast 設計手法ガイ ド (Vivado Design Suite 用)』 (UG949: 英語版、 日本語版)

6. 『UltraScale アーキテクチャ ライブラ リ ガイ ド』 (UG974: 英語版、 日本語版)

7. 『UltraScale アーキテクチャ ク ロ ッキング リ ソース ユーザー ガイ ド』 (UG572: 英語版、 日本語版)

8. All Programmable 3D IC ページhttp://japan.xilinx.com/products/silicon-devices/3dic.html

9. 『ザイ リ ンクスのスタ ッ ク ド シ リ コン インターコネク ト テク ノ ロジで飛躍的な FPGA 容量、 帯域幅、 電力効率

を実現』 (WP380: 英語版、 日本語版)

10. 『Vivado Design Suite Tcl コマンド リ ファレンス ガイ ド』 (UG835: 英語版、 日本語版)

11. UltraScale アーキテクチャ ビデオ チュート リ アル

http://japan.xilinx.com/training/ultrascale/index.htm

UltraScale アーキテクチャ CLB ユーザー ガイド 53UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com

Page 54: UltraScale アーキテクチャ コンフィギャラブル ロ …...UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド

付録 A: その他のリソースおよび法的通知

法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適

用される法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) という状態で提

供され、 ザイ リ ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこ

れらに限られません)、 すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿ま

たは貴社による本情報の使用を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負

わない (契約上、 不法行為上 (過失の場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損

害には、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信

用の損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可

能であったり、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情

報に含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負

いません。 事前の書面による同意のない限り、 貴殿または貴社は本情報を再生産、 変更、 頒布、 または公に展示してはなり ませ

ん。 一定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、 https://japan.xilinx.com/legal.htm#tos で見られるザ

イ リ ンクスの販売条件を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補

助的条件に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプ

リ ケーシ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ う な重大なアプリ ケーシ ョ ンにザイ リ ンクスの

製品を使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。 https://japan.xilinx.com/legal.htm#tos で見られるザ

イ リ ンクスの販売条件を参照して ください。

自動車用のアプリ ケーシ ョ ンの免責条項

オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性

の機能 ( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプリ ケーシ ョ ン ( 「セー

フティ アプリ ケーシ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用

前または提供前に安全を目的と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品

を使用する リ スクはすべて顧客が負い、 製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。

© Copyright 2012-2017 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含

まれるその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 すべてのその他の商標は、 それぞれ

の保有者に帰属します。 この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。

フ ィードバッ クは日本語で入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アド

レスへのお問い合わせは受け付けており ません。 あらかじめご了承ください。 mailto:[email protected]

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページ

の右下にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語

で入力可能です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは

受け付けており ません。 あらかじめご了承ください。

UltraScale アーキテクチャ CLB ユーザー ガイド 54UG574 (v1.5) 2017 年 2 月 28 日 japan.xilinx.com