制御セットとは、クロック信号、クロック イネーブル信号、およびセット/リセット信号の組み合わせです。各スライスでサポートされる制御セットの数には限りがあり、スライス内のフリップフロップの組み合わせを使用できます。共有される制御セットの中には、アーキテクチャによってスライス内で使用できるものもあります。ユーザーは、ターゲット ファミリのコンフィギャラブル ロジック ブロック アーキテクチャとその互換性規則について理解しておく必要があります。
レポートされる主な分野は次の 2 つです。
- 制御セットの絶対数。指定したパーツの制御セットの数には限りがあります。制御セットに推奨される数を超過すると、QoR (結果の品質) に悪影響が出ることがあります。
- 制御セットのロード プロファイル。制御セットを減らす必要がある場合、ロード数を少なくして制御セットを減らすと、デザインに追加されロジックの量を最小限にできるので、最も効率的な方法です。
次は、制御セットのレポート サマリの例です。推奨される制御セット カウントに関する詳細は、 『ザイリンクス FPGA および SoC 用 UltraFast 設計手法ガイド』 (UG949) の推奨事項を参照してください。
合成で複製されるネットは、通常重複しがちで、配線リソースに負担がかかることがあります。物理合成で複製されるネットの方が重複は少なく、最大制御セット数を計算する際に無視できることがあります。
制御セット合計が推奨レベルを超える場合は、最小の BEL 数のロードで制御セットを最適化して数を減らす必要があります。この概要を示すために、ヒストグラム サマリがレポートされます。
ターゲット情報がさらに必要な場合は、-hierarchical
および -hierarchical_depth
オプションで特定の階層を指定できます。合成の BLOCK_SYNTH.CONTROL_SET_THRESHOLD プロパティを使用すると、特定レベルの階層の制御セットのターゲットを変更できます。
制御セット レポートには、デザインで使用されるフリップフロップの分散タイプなどの詳細もレポートされます。非同期リセットには、Vivado でターゲット変更されたリセット制御を含めることはできません。
デザインに含まれる制御セットすべてのリストを表示するには、-verbose
オプションを使用します。これには、制御セットごとに次の情報が含まれます。
- [Clock Signal]: 論理クロック信号名
- [Enable Signal]: 論理クロック イネーブル信号名
- [Set/Reset Signal]: 論理セット/リセット信号名
- [Slice Load Count]: 制御セットに接続されているセルに含まれるスライス数
- [BEL Load Count]: 制御セットに接続されているセルの数