397
UltraScale アーキテクチャ ライブラリ ガイド UG974 (v2015.2) 2015 月 6 月 24 日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資 料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情 報につきましては、必ず最新英語版をご参照ください。

UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

UltraScale アーキテクチャ ライブラリ ガイド

UG974 (v2015.2) 2015 月 6 月 24 日

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

Page 2: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第 1 章

はじめに

概要

HDL 用ライブラリ ガイドは、Vivado® Design Suite のオンライン マニュアルの 1 つです。

次の内容が含まれます。

• 概要

• 各マクロの詳細説明

• このアーキテクチャでサポートされるプリミティブとマクロのファンクション別リスト

• 各プリミティブの詳細説明

デザイン エレメントについて

このバージョンのライブラリ ガイドでは、UltraScale™ アーキテクチャ ベースのデバイスのデザイン エレメ

ントの説明とそのインスタンシエーション コード例を示します。インスタンシエーション テンプレートは、

http://japan.xilinx.com から個別の ZIP ファイルとしてダウンロードするか、Vivado Design Suite の言語テ

ンプレートから使用できます。

デザイン エレメントは、次のカテゴリに分類されます。

プププリリリミミミテテティィィブブブ ::: ターゲットにしているアーキテクチャ用のザイリンクス コンポーネントです。

UltraScale ライブラリ ガイド http://japan.xilinx.com 2UG974 (v2015.2) 2015 月 6 月 24 日

Page 3: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第1章 : はじめに

デザインの入力方法

このガイドでは、各デザイン エレメントで 4 つの使用方法を評価して、その中から最適なソリューションを示し

ます。この 4 つの使用方法は、次のとおりです。

• イイインンンスススタタタンンンシシシエエエーーーシシショョョンンン ::: デザインにコンポーネントを直接インスタンシエートします。これは、各ブロックの

使用、インプリメンテーション、または配置を厳密に制御する場合に有効な方法です。

• 推推推論論論 ::: コンポーネントはサポートされる合成ツールで推論されます。コードは柔軟性および移植性に優れて

いるので、複数のアーキテクチャで使用できます。推論を使用すると、パフォーマンス、エリア、消費電力な

ど、合成ツールでの指定に基づいて最適化されます。

• IPIPIP カカカタタタロロログググ ::: コンポーネントを IP カタログからインスタンシエートできます。IP カタログは、複雑なファンク

ションを実行するために複数のプリミティブから構築された IP コアと、複雑なプリミティブをインスタンシエー

トするためのインターフェイスのライブラリです。このガイドで IP カタログと言った場合は通常は後者を指して

おり、IP カタログを特定のプリミティブをデザインに組み込むために使用します。

• マママクククロロロのののサササポポポーーートトト ::: 使用可能な UniMacro があります。これらのコンポーネントはザイリンクス ツールの

UniMacro ライブラリに含まれ、プリミティブだけでは複雑すぎてインスタンシエートしにくいプリミティブをイン

スタンシエートする際に使用します。UniMacro は、合成ツールで自動的に下位プリミティブに展開されます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 3UG974 (v2015.2) 2015 月 6 月 24 日

Page 4: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第 2 章

プリミティブ グループ次のプリミティブ グループは、Vivado ツールの PRIMTIVE_GROUP セル プロパティに関連しています。同様に、

プリミティブ サブグループはセルの PRIMTIVE_SUBGROUP プロパティに関連しています。これらは、Vivado で

の制約の処理やその他のタスクでセルのクラスを指定するのに使用できます。

アドバンス CLB I/O

演算ファンクション クロック レジスタ

ブロック RAM コンフィギュレーション

アドバンス

デザイン エレメント 説明プリミティブサブグループ

CMAC プリミティブ : 100G MAC Block MAC

GTHE3_CHANNEL プリミティブ : Gigabit Transceiver for UltraScale devices GT

GTHE3_COMMON プリミティブ : Gigabit Transceiver for UltraScale devices GT

GTYE3_CHANNEL プリミティブ : Gigabit Transceiver for UltraScale devices GT

GTYE3_COMMON プリミティブ : Gigabit Transceiver for UltraScale devices GT

IBUFDS_GTE3 プリミティブ : Gigabit Transceiver Buffer GT

ILKN プリミティブ : Interlaken MAC INTERLAKEN

OBUFDS_GTE3 プリミティブ : Gigabit Transceiver Buffer GT

OBUFDS_GTE3_ADV プリミティブ : Gigabit Transceiver Buffer GT

PCIE_3_1 プリミティブ : Integrated Block for PCI Express PCIE

SYSMONE1 プリミティブ : Xilinx Analog-to-Digital Converter and SystemMonitor

SYSMON

演算ファンクション

デザイン エレメント 説明プリミティブサブグループ

DSP48E2 プリミティブ : 48-bit Multi-Functional Arithmetic Block DSP

UltraScale ライブラリ ガイド http://japan.xilinx.com 4UG974 (v2015.2) 2015 月 6 月 24 日

Page 5: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第2章 : プリミティブ グループ

ブロック RAM

デザイン エレメント 説明プリミティブサブグループ

FIFO18E2 プリミティブ : 18Kb FIFO (First-In-First-Out) Block RAMMemory

FIFO

FIFO36E2 プリミティブ : 36Kb FIFO (First-In-First-Out) Block RAMMemory

FIFO

RAMB18E2 プリミティブ : 18K-bit Configurable Synchronous Block RAM BRAM

RAMB36E2 プリミティブ : 36K-bit Configurable Synchronous Block RAM BRAM

CLB

デザイン エレメント 説明プリミティブサブグループ

AND2B1L プリミティブ : Two input AND gate implemented in place of aCLB Latch

LATCH

CARRY8 プリミティブ : Fast Carry Logic with Look Ahead CARRY

CFGLUT5 プリミティブ : 5-input Dynamically Reconfigurable Look-UpTable (LUT)

LUT

LUT1 プリミティブ : 1-Bit Look-Up Table LUT

LUT2 プリミティブ : 2-Bit Look-Up Table LUT

LUT3 プリミティブ : 3-Bit Look-Up Table LUT

LUT4 プリミティブ : 4-Bit Look-Up Table LUT

LUT6_2 プリミティブ : Six-input, 2-output, Look-Up Table LUT

MUXF7 プリミティブ : CLB MUX to connect two LUT6’s Together MUXF

MUXF8 プリミティブ : CLB MUX to connect two MUXF7’s Together MUXF

MUXF9 プリミティブ : CLB MUX to connect two MUXF8’s Together MUXF

OR2L プリミティブ : Two input OR gate implemented in place of aCLB Latch

LATCH

RAM128X1D プリミティブ : 128-Deep by 1-Wide Dual Port Random AccessMemory (Select RAM)

LUTRAM

RAM128X1S プリミティブ : 128-Deep by 1-Wide Random Access Memory(Select RAM)

LUTRAM

RAM256X1D プリミティブ : 256-Deep by 1-Wide Dual Port Random AccessMemory (Select RAM)

LUTRAM

RAM256X1S プリミティブ : 256-Deep by 1-Wide Random Access Memory(Select RAM)

LUTRAM

RAM32M プリミティブ : 32-Deep by 8-bit Wide Multi Port Random AccessMemory (Select RAM)

LUTRAM

RAM32M16 プリミティブ : 32-Deep by 16-bit Wide Multi Port RandomAccess Memory (Select RAM)

LUTRAM

UltraScale ライブラリ ガイド http://japan.xilinx.com 5UG974 (v2015.2) 2015 月 6 月 24 日

Page 6: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第2章 : プリミティブ グループ

デザイン エレメント 説明プリミティブサブグループ

RAM32X1D プリミティブ : 32-Deep by 1-Wide Static Dual Port SynchronousRAM

LUTRAM

RAM32X1S プリミティブ : 32-Deep by 1-Wide Static Synchronous RAM LUTRAM

RAM512X1S プリミティブ : 512-Deep by 1-Wide Random Access Memory(Select RAM)

LUTRAM

RAM64M プリミティブ : 64-Deep by 4-bit Wide Multi Port Random AccessMemory (Select RAM)

LUTRAM

RAM64M8 プリミティブ : 64-Deep by 8-bit Wide Multi Port Random AccessMemory (Select RAM)

LUTRAM

RAM64X1D プリミティブ : 64-Deep by 1-Wide Dual Port Static SynchronousRAM

LUTRAM

RAM64X1S プリミティブ : 64-Deep by 1-Wide Static Synchronous RAM LUTRAM

SRL16E プリミティブ : 16-Bit Shift Register Look-Up Table (LUT) SRL

SRLC32E プリミティブ : 32-Bit Shift Register Look-Up Table (LUT) SRL

クロック

デザイン エレメント 説明プリミティブサブグループ

BUFG_GT プリミティブ : Clock Buffer Driven by Gigabit Transceiver BUFFER

BUFG_GT_SYNC プリミティブ : Synchronizer for BUFG_GT Control Signals BUFFER

BUFGCE プリミティブ : General Clock Buffer with Clock Enable BUFFER

BUFGCE_1 プリミティブ : General Clock Buffer with Clock Enable andOutput State 1

BUFFER

BUFGCE_DIV プリミティブ : General Clock Buffer with Divide Function BUFFER

BUFGCTRL プリミティブ : General Clock Control Buffer MUX

BUFGMUX プリミティブ : General Clock Mux Buffer MUX

BUFGMUX_1 プリミティブ : General Clock Mux Buffer with Output State 1 MUX

BUFGMUX_CTRL プリミティブ : 2-to-1 General Clock MUX Buffer MUX

MMCME3_ADV プリミティブ : Advanced Mixed Mode Clock Manager (MMCM) PLL

MMCME3_BASE プリミティブ : Base Mixed Mode Clock Manager (MMCM) PLL

PLLE3_ADV プリミティブ : Advanced Phase-Locked Loop (PLL) PLL

PLLE3_BASE プリミティブ : Base Phase-Locked Loop (PLL) PLL

UltraScale ライブラリ ガイド http://japan.xilinx.com 6UG974 (v2015.2) 2015 月 6 月 24 日

Page 7: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第2章 : プリミティブ グループ

コンフィギュレーション

デザイン エレメント 説明プリミティブサブグループ

BSCANE2 プリミティブ : Boundary-Scan User Instruction BSCAN

DNA_PORTE2 プリミティブ : Device DNA Access Port DNA

EFUSE_USR プリミティブ : 32-bit non-volatile design ID EFUSE

FRAME_ECCE3 プリミティブ : Configuration Frame Error Correction ECC

ICAPE3 プリミティブ : Internal Configuration Access Port ICAP

MASTER_JTAG プリミティブ : JTAG Port Access MASTER_JTAG

STARTUPE3 プリミティブ : STARTUP Block STARTUP

USR_ACCESSE2 プリミティブ : Configuration Data Access USR_ACCESS

I/O

デザイン エレメント 説明プリミティブサブグループ

BITSLICE_CONTROL プリミティブ : BITSLICE_CONTROL for control using NativeMode

BITSLICE

DCIRESET プリミティブ : Digitally Controlled Impedance Reset Component DCI_RESET

HPIO_VREF プリミティブ : VREF Scan INPUT_BUFFER

IBUF プリミティブ : Input Buffer INPUT_BUFFER

IBUF_ANALOG プリミティブ : Analog Auxiliary SYSMON Input Buffer INPUT_BUFFER

IBUF_IBUFDISABLE プリミティブ : Input Buffer With Input Buffer Disable INPUT_BUFFER

IBUF_INTERMDISABLE プリミティブ : Input Buffer With Input Buffer Disable and On-dieInput Termination Disable

INPUT_BUFFER

IBUFDS プリミティブ : Differential Input Buffer INPUT_BUFFER

IBUFDS_DIFF_OUT プリミティブ : Differential Input Buffer With ComplementaryOutputs

INPUT_BUFFER

IBUFDS_DIFF_OUT_IBUFDISABLE

プリミティブ : Differential Input Buffer With ComplementaryOutputs and Input Buffer Disable

INPUT_BUFFER

IBUFDS_DIFF_OUT_INTERMDISABLE

プリミティブ : Differential Input Buffer with ComplementaryOutputs, Input Path Disable and On-die Input TerminationDisable

INPUT_BUFFER

IBUFDS_IBUFDISABLE プリミティブ : Differential Input Buffer With Input Buffer Disable INPUT_BUFFER

IBUFDS_INTERMDISABLE プリミティブ : Differential Input Buffer With Input Buffer Disableand On-die Input Termination Disable

INPUT_BUFFER

IBUFDSE3 プリミティブ : Differential Input Buffer with Offset Calibration INPUT_BUFFER

IBUFE3 プリミティブ : Input Buffer with Offset Calibration and VREFTuning

INPUT_BUFFER

UltraScale ライブラリ ガイド http://japan.xilinx.com 7UG974 (v2015.2) 2015 月 6 月 24 日

Page 8: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第2章 : プリミティブ グループ

デザイン エレメント 説明プリミティブサブグループ

IDELAYCTRL プリミティブ : IDELAYE3/ODELAYE3 Tap Delay Value Control DELAY

IDELAYE3 プリミティブ : Input Fixed or Variable Delay Element DELAY

IOBUF プリミティブ : Input/Output Buffer BIDIR_BUFFER

IOBUF_DCIEN プリミティブ : Input/Output Buffer DCI Enable BIDIR_BUFFER

IOBUF_INTERMDISABLE プリミティブ : Bidirectional Buffer with Input Path Disable andOn-die Input Termination Disable

BIDIR_BUFFER

IOBUFDS プリミティブ : Differential Input/Output Buffer BIDIR_BUFFER

IOBUFDS_DCIEN プリミティブ : Differential Bidirectional Buffer With Input BufferDisable and On-die Input Termination Disable

BIDIR_BUFFER

IOBUFDS_DIFF_OUT プリミティブ : Differential Input/Output Buffer Primitive WithComplementary Outputs for the Input Buffer

BIDIR_BUFFER

IOBUFDS_DIFF_OUT _DCIEN プリミティブ : Differential Bidirectional Buffer with ComplementaryOutputs, Input Path Disable, and On-die Input TerminationDisable

BIDIR_BUFFER

IOBUFDS_DIFF_OUT_INTERMDISABLE

プリミティブ : Differential Bidirectional Buffer with ComplementaryOutputs, Input Buffer Disable and On-die Input TerminationDisable

BIDIR_BUFFER

IOBUFDS_INTERMDISABLE プリミティブ : Differential Bidirectional Buffer With Input BufferDisable and On-die Input

BIDIR_BUFFER

IOBUFDSE3 プリミティブ : Differential Bidirectional I/O Buffer with OffsetCalibration

BIDIR_BUFFER

IOBUFE3 プリミティブ : Bidirectional I/O Buffer with Offset Calibrationand VREF Tuning

BIDIR_BUFFER

ISERDESE3 プリミティブ : Input SERial/DESerializer SERDES

KEEPER プリミティブ : I/O Weak Keeper WEAK_DRIVER

OBUFT プリミティブ : 3-State Output Buffer OUTPUT_BUFFER

OBUFTDS プリミティブ : Differential 3-state Output Buffer OUTPUT_BUFFER

ODELAYE3 プリミティブ : Output Fixed or Variable Delay Element DELAY

OSERDESE3 プリミティブ : Output SERial/DESerializer SERDES

PULLDOWN プリミティブ : I/O Pulldown WEAK_DRIVER

PULLUP プリミティブ : I/O Pullup WEAK_DRIVER

RIU_OR プリミティブ : Register Interface Unit Selection Block BITSLICE

RX_BITSLICE プリミティブ : RX_BITSLICE for input using Native Mode BITSLICE

RXTX_BITSLICE プリミティブ : RXTX_BITSLICE for bidirectional I/O using NativeMode

BITSLICE

TX_BITSLICE_TRI プリミティブ : TX_BITSLICE_TRI for tristate using Native Mode BITSLICE

UltraScale ライブラリ ガイド http://japan.xilinx.com 8UG974 (v2015.2) 2015 月 6 月 24 日

Page 9: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第2章 : プリミティブ グループ

レジスタ

デザイン エレメント 説明プリミティブサブグループ

FDCE プリミティブ : D Flip-Flop with Clock Enable and AsynchronousClear

SDR

FDPE プリミティブ : D Flip-Flop with Clock Enable and AsynchronousPreset

SDR

FDRE プリミティブ : D Flip-Flop with Clock Enable and SynchronousReset

SDR

FDSE プリミティブ : D Flip-Flop with Clock Enable and Synchronous Set SDR

HARD_SYNC プリミティブ : Metastability Hardened Registers METASTABILITY

IDDRE1 プリミティブ : Dedicated Dual Data Rate (DDR) Input Register DDR

LDCE プリミティブ : Transparent Latch with Clock Enable andAsynchronous Clear

LATCH

LDPE プリミティブ : Transparent Latch with Clock Enable andAsynchronous Preset

LATCH

ODDRE1 プリミティブ : Dedicated Dual Data Rate (DDR) Output Register DDR

UltraScale ライブラリ ガイド http://japan.xilinx.com 9UG974 (v2015.2) 2015 月 6 月 24 日

Page 10: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第 3 章

デザイン エレメント

デザイン エレメントについて

このセクションでは、UltraScale™ アーキテクチャ ベースのデバイスで使用できるデザイン エレメントについて説

明します。デザイン エレメントは、アルファベット順に並べられています。

各ライブラリ エレメントについて、次の情報を示します。

• 名称

• 説明

• 回路図シンボル (該当するエレメントでのみ)

• 論理表 (該当するエレメントでのみ)

• ポートの説明

• デザインの入力方法

• 使用可能な属性 (該当するエレメントでのみ)

• インスタンシエーション コードの例

• その他のリソース

UltraScale ライブラリ ガイド http://japan.xilinx.com 10UG974 (v2015.2) 2015 月 6 月 24 日

Page 11: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

AND2B1L

プリミティブ : Two input AND gate implemented in place of a CLB Latch

プリミティブ グループ : CLBプリミティブ サブグループ : LATCH

概要

このエレメントは、コンフィギュレーション可能な CLB ラッチを 2 入力 AND ゲートとして機能するよう設定します。この

エレメントを使用すると、ロジックのレジスタ/ラッチ リソース数をトレードオフにすることで、ロジック レベルを削減して、

デバイスのロジック集積度を上げることができます。このエレメントは、CLB 内のレジスタのパックおよび集積度に影

響を与えるので注意して使用してください。

論理表

入力 出力

DI SRI O

0 0 0

0 1 0

1 0 1

1 1 0

ポートの説明

ポート名 方向 幅 機能

DI 入力 1 通常同じ CLB 内のソース LUT に接続されるアクティブ High の入力

O 出力 1 AND ゲートの出力

SRI 入力 1 通常 CLB 外から供給される入力。極性は IS_SRI_INVERTED 属性を使用して指定します。

注記 : 複数の AND2B1L または OR2L を CLB の半分にパックするには、この入力に共通の信号を接続する必要があります。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 11UG974 (v2015.2) 2015 月 6 月 24 日

Page 12: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

IS_SRI_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 SRI ピンにオプションの反転を使用するかどうかを指定します。High に設定すると、AND2B1L は真の ANDゲートとして機能します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- AND2B1L: Two input AND gate implemented in place of a CLB Latch-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

AND2B1L_inst : AND2B1Lgeneric map (

IS_SRI_INVERTED => ’0’ -- Optional inversion for SRI)port map (

O => O, -- 1-bit output: AND gate outputDI => DI, -- 1-bit input: Data input connected to LUT logicSRI => SRI -- 1-bit input: External CLB data

);

-- End of AND2B1L_inst instantiation

Verilog 記述 (インスタンシエーション)

// AND2B1L: Two input AND gate implemented in place of a CLB Latch// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

AND2B1L #(.IS_SRI_INVERTED(1’b0) // Optional inversion for SRI

)AND2B1L_inst (

.O(O), // 1-bit output: AND gate output

.DI(DI), // 1-bit input: Data input connected to LUT logic

.SRI(SRI) // 1-bit input: External CLB data);

// End of AND2B1L_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 12UG974 (v2015.2) 2015 月 6 月 24 日

Page 13: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BITSLICE_CONTROL

プリミティブ : BITSLICE_CONTROL for control using Native Mode

プリミティブ グループ : I/Oプリミティブ サブグループ : BITSLICE

UltraScale ライブラリ ガイド http://japan.xilinx.com 13UG974 (v2015.2) 2015 月 6 月 24 日

Page 14: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

概要

ネイティブ モードでは、BITSLICE_CONTROL はクロッキングとニブル内の 6 ~ 7 個の Bitslice の特性を制御します。

ポートの説明

ポート名 方向 幅 機能

CLK_FROM_EXT 入力 1 上下の BITSLICE_CONTROL から供給されるバイト間クロック

CLK_TO_EXT_NORTH 出力 1 上の BITSLICE_CONTROL に供給されるバイト間クロック

CLK_TO_EXT_SOUTH 出力 1 下の BITSLICE_CONTROL に供給されるバイト間クロック

DLY_RDY 出力 1 固定遅延のキャリブレーション完了

DYN_DCI<6:0> 出力 7 メモリ インターフェイスを使用している場合の IOB DCI の直接制御

EN_VTC 入力 1 High の場合、電圧および温度の補正がイネーブルになります。

NCLK_NIBBLE_IN 入力 1 ほかの制御ブロックからのバイト内 DQS ストローブ/クロック

NCLK_NIBBLE_OUT 出力 1 ほかの制御ブロックへのバイト内 DQS ストローブ/クロック

PCLK_NIBBLE_IN 入力 1 ほかの制御ブロックからのバイト内 DQS ストローブ/クロック

PCLK_NIBBLE_OUT 出力 1 ほかの制御ブロックへのバイト内 DQS ストローブ/クロック

PHY_RDCS0<3:0> 入力 4 ランク セレクト。メモリ インターフェイスを使用している場合に4 つのランクのいずれかを選択します。

PHY_RDCS1<3:0> 入力 4 ランク セレクト。メモリ インターフェイスを使用している場合に4 つのランクのいずれかを選択します。

PHY_RDEN<3:0> 入力 4 メモリ インターフェイスを使用している場合の読み出しバースト イネーブル

PHY_WRCS0<3:0> 入力 4 ランク セレクト。メモリ インターフェイスを使用している場合に4 つのランクのいずれかを選択します。

PHY_WRCS1<3:0> 入力 4 ランク セレクト。メモリ インターフェイスを使用している場合に4 つのランクのいずれかを選択します。

PLL_CLK 入力 1 PLL クロック入力

REFCLK 入力 1 遅延制御用の周波数基準クロック

RIU_ADDR<5:0> 入力 6 RIU のアドレス入力

RIU_CLK 入力 1 RIU アクセス用のファブリックからのシステム クロック

RIU_NIBBLE_SEL 入力 1 RIU 読み出し/書き込みをイネーブルにするニブル セレクト

RIU_RD_DATA<15:0> 出力 16 コントローラーへの RIU 出力読み出しデータ

RIU_VALID 出力 1 High の場合、書き込まれた最後のデータが受信されたことを示します。

RIU_WR_DATA<15:0> 入力 16 コントローラーからの RIU 入力書き込みデータ

RIU_WR_EN 入力 1 High の場合、RIU への書き込みがイネーブルになります。

RST 入力 1 非同期グローバル リセット

RX_BIT_CTRL_IN0<39:0> 入力 40 Bitslice 0 からの入力制御およびデータ バス

RX_BIT_CTRL_IN1<39:0> 入力 40 Bitslice 1 からの入力制御およびデータ バス

RX_BIT_CTRL_IN2<39:0> 入力 40 Bitslice 2 からの入力制御およびデータ バス

UltraScale ライブラリ ガイド http://japan.xilinx.com 14UG974 (v2015.2) 2015 月 6 月 24 日

Page 15: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

RX_BIT_CTRL_IN3<39:0> 入力 40 Bitslice 3 からの入力制御およびデータ バス

RX_BIT_CTRL_IN4<39:0> 入力 40 Bitslice 4 からの入力制御およびデータ バス

RX_BIT_CTRL_IN5<39:0> 入力 40 Bitslice 5 からの入力制御およびデータ バス

RX_BIT_CTRL_IN6<39:0> 入力 40 Bitslice 6 からの入力制御およびデータ バス

RX_BIT_CTRL_OUT0<39:0> 出力 40 Bitslice 0 への出力制御およびデータ バス

RX_BIT_CTRL_OUT1<39:0> 出力 40 Bitslice 1 への出力制御およびデータ バス

RX_BIT_CTRL_OUT2<39:0> 出力 40 Bitslice 2 への出力制御およびデータ バス

RX_BIT_CTRL_OUT3<39:0> 出力 40 Bitslice 3 への出力制御およびデータ バス

RX_BIT_CTRL_OUT4<39:0> 出力 40 Bitslice 4 への出力制御およびデータ バス

RX_BIT_CTRL_OUT5<39:0> 出力 40 Bitslice 5 への出力制御およびデータ バス

RX_BIT_CTRL_OUT6<39:0> 出力 40 Bitslice 6 への出力制御およびデータ バス

TBYTE_IN<3:0> 入力 4 メモリ インターフェイスを使用している場合のトライステート制御および WClkgen の出力イネーブル

TX_BIT_CTRL_IN_TRI<39:0> 入力 40 トライステート TX_BITSLICE_TRI からの入力制御およびデータ バス

TX_BIT_CTRL_IN0<39:0> 入力 40 Bitslice 0 からの入力制御およびデータ バス

TX_BIT_CTRL_IN1<39:0> 入力 40 Bitslice 1 からの入力制御およびデータ バス

TX_BIT_CTRL_IN2<39:0> 入力 40 Bitslice 2 からの入力制御およびデータ バス

TX_BIT_CTRL_IN3<39:0> 入力 40 Bitslice 3 からの入力制御およびデータ バス

TX_BIT_CTRL_IN4<39:0> 入力 40 Bitslice 4 からの入力制御およびデータ バス

TX_BIT_CTRL_IN5<39:0> 入力 40 Bitslice 5 からの入力制御およびデータ バス

TX_BIT_CTRL_IN6<39:0> 入力 40 Bitslice 6 からの入力制御およびデータ バス

TX_BIT_CTRL_OUT_TRI<39:0> 出力 40 トライステート TX_BITSLICE_TRI への出力制御およびデータ バス

TX_BIT_CTRL_OUT0<39:0> 出力 40 Bitslice 0 への出力制御およびデータ バス

TX_BIT_CTRL_OUT1<39:0> 出力 40 Bitslice 1 への出力制御およびデータ バス

TX_BIT_CTRL_OUT2<39:0> 出力 40 Bitslice 2 への出力制御およびデータ バス

TX_BIT_CTRL_OUT3<39:0> 出力 40 Bitslice 3 への出力制御およびデータ バス

TX_BIT_CTRL_OUT4<39:0> 出力 40 Bitslice 4 への出力制御およびデータ バス

TX_BIT_CTRL_OUT5<39:0> 出力 40 Bitslice 5 への出力制御およびデータ バス

TX_BIT_CTRL_OUT6<39:0> 出力 40 Bitslice 6 への出力制御およびデータ バス

VTC_RDY 出力 1 PHY キャリブレーションが完了し、EN_VTC がイネーブルになった後に VTC がイネーブルになったことを示します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 15UG974 (v2015.2) 2015 月 6 月 24 日

Page 16: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

DIV_MODE 文字列 "DIV2"、"DIV4" "DIV2" コントローラーのモードを DIV2 にするかDIV4 にするかを選択します。

EN_CLK_TO_EXT_NORTH

文字列 "DISABLE"、"ENABLE"

"DISABLE" バイト間クロッキング用に上へのクロック転送をイネーブルにします。

EN_CLK_TO_EXT_SOUTH

文字列 "DISABLE"、"ENABLE"

"DISABLE" バイト間クロッキング用に下へのクロック転送をイネーブルにします。

EN_DYN_ODLY_MODE 文字列 "FALSE"、"TRUE"

"FALSE" "TRUE" に設定すると、ダイナミック出力遅延モードがイネーブルになります。

EN_OTHER_NCLK 文字列 "FALSE"、"TRUE"

"FALSE" • "TRUE" : ニブル内のもう 1 つの

BITSLICE_CONTROL からの NCLK を

選択します。

• "FALSE" : もう 1 つの

BITSLICE_CONTROL NCLK を使

用しません。

EN_OTHER_PCLK 文字列 "FALSE"、"TRUE"

"FALSE" • "TRUE" : ニブル内のもう 1 つの

BITSLICE_CONTROL からの PCLK を

選択します。

• "FALSE" : もう 1 つの

BITSLICE_CONTROL PCLK を使

用しません。

IDLY_VT_TRACK 文字列 "TRUE"、"FALSE"

"TRUE" BITSLICE_CONTROL に関連する入力遅延の VT の監視をグローバルにイネーブルにします。

INV_RXCLK 文字列 "FALSE"、"TRUE"

"FALSE" IOB から上位 RX Bitslice へのクロック パスを反転します。

ODLY_VT_TRACK 文字列 "TRUE"、"FALSE"

"TRUE" BITSLICE_CONTROL に関連する出力遅延の VT の監視をグローバルにイネーブルにします。

QDLY_VT_TRACK 文字列 "TRUE"、"FALSE"

"TRUE" BITSLICE_CONTROL に関連するクロック遅延の VT の監視をグローバルにイネーブルにします。

READ_IDLE_COUNT 16 進数 6’h00 ~ 6’h3f 6’h00 ODT 制御カウンターの読み出しバースト間のギャップ カウントを指定します。

REFCLK_SRC 文字列 "PLLCLK"、"REFCLK"

"PLLCLK" 遅延制御の入力クロックとして PLLCLK または REFCLK を選択します。

ROUNDING_FACTOR 10 進数 16、2、4、8、32、64、128

16 BISC 仕様の丸め係数を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 16UG974 (v2015.2) 2015 月 6 月 24 日

Page 17: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

RX_CLK_PHASE_N 文字列 "SHIFT_0"、"SHIFT_90"

"SHIFT_0" • "SHIFT_0" : シフトなし

• "SHIFT_90" : キャリブレーション中、読

み出し CLK を読み出し DQ に対して

90 度シフトします。

RX_CLK_PHASE_P 文字列 "SHIFT_0"、"SHIFT_90"

"SHIFT_0" • "SHIFT_0" : シフトなし

• "SHIFT_90" : キャリブレーション中、読

み出し CLK を読み出し DQ に対して

90 度シフトします。

RX_GATING 文字列 "DISABLE"、"ENABLE"

"DISABLE" 読み出し DQS ゲーティングをイネーブル/ディスエーブルにします。

RXGATE_EXTEND 文字列 "FALSE"、"TRUE"

"FALSE" MIG メモリ コントローラー用に予約されています。変更しないでください。

SELF_CALIBRATE 文字列 "ENABLE"、"DISABLE"

"ENABLE" BITSLICE_CONTROL で制御されるニブルグループのビルトイン セルフ キャリブレーションをイネーブル/ディスエーブルにします。

SERIAL_MODE 文字列 "FALSE"、"TRUE"

"FALSE" BITSLICE 読み出しパスをシリアル モードにします。データ レシーバーからの入力クロックは、外部ソースから PLLE3 を介して供給されます。SGMII はその使用例の 1 つです。

TX_GATING 文字列 "DISABLE"、"ENABLE"

"DISABLE" WClkgen のクロック ゲーティングをイネーブル/ディスエーブルにします。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BITSLICE_CONTROL: BITSLICE_CONTROL for control using Native Mode-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BITSLICE_CONTROL_inst : BITSLICE_CONTROLgeneric map (

DIV_MODE => "DIV2", -- Controller DIV2/DIV4 mode (DIV2, DIV4)EN_CLK_TO_EXT_NORTH => "DISABLE", -- Enable clock forwarding to northEN_CLK_TO_EXT_SOUTH => "DISABLE", -- Enable clock forwarding to southEN_DYN_ODLY_MODE => "FALSE", -- Enable dynamic output delay modeEN_OTHER_NCLK => "FALSE", -- Select the NCLK from the other BITSLICE_CONTROL in the nibble

-- (FALSE, TRUE)EN_OTHER_PCLK => "FALSE", -- Select the PCLK from the other BITSLICE_CONTROL in the nibble

-- (FALSE, TRUE)IDLY_VT_TRACK => "TRUE", -- Enable VT tracking for input delaysINV_RXCLK => "FALSE", -- Invert clock path from IOB to upper RX bitsliceODLY_VT_TRACK => "TRUE", -- Enable VT tracking for output delaysQDLY_VT_TRACK => "TRUE", -- Enable VT tracking for clock delaysREAD_IDLE_COUNT => X"00", -- Gap count between read bursts for ODT control counter (0-3f)REFCLK_SRC => "PLLCLK", -- Select the input clock for the delay control (PLLCLK, REFCLK)ROUNDING_FACTOR => 16, -- Rounding factor in BISC spec (128-8)RXGATE_EXTEND => "FALSE", -- Reserved for use by MIG Memory Controller. Do Not Change.RX_CLK_PHASE_N => "SHIFT_0", -- Shift the Read CLK relative to read DQ during calibration (SHIFT_0,

-- SHIFT_90)RX_CLK_PHASE_P => "SHIFT_0", -- Shift the Read CLK relative to read DQ during calibration (SHIFT_0,

UltraScale ライブラリ ガイド http://japan.xilinx.com 17UG974 (v2015.2) 2015 月 6 月 24 日

Page 18: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

-- SHIFT_90)RX_GATING => "DISABLE", -- ENABLE/DISABLE read DQS gatingSELF_CALIBRATE => "ENABLE", -- Enable BISC of nibble controlled by BITSLICE_CONTROLSERIAL_MODE => "FALSE", -- Put BITSLICE read paths into serial mode (FALSE, TRUE)TX_GATING => "DISABLE" -- ENABLE/DISABLE clock gating in WClkgen

)port map (

CLK_TO_EXT_NORTH => CLK_TO_EXT_NORTH, -- 1-bit output: Inter-byte clock going to north-- BITSLICE_CONTROL

CLK_TO_EXT_SOUTH => CLK_TO_EXT_SOUTH, -- 1-bit output: Inter-byte clock going to south-- BITSLICE_CONTROL

DLY_RDY => DLY_RDY, -- 1-bit output: Fixed delay calibration completeDYN_DCI => DYN_DCI, -- 7-bit output: Direct control of IOB DCI when using a

-- memory interface

NCLK_NIBBLE_OUT => NCLK_NIBBLE_OUT, -- 1-bit output: Intra-byte DQS strobes/clock to other-- control block

PCLK_NIBBLE_OUT => PCLK_NIBBLE_OUT, -- 1-bit output: Intra-byte DQS strobes/clock to other-- control block

RIU_RD_DATA => RIU_RD_DATA, -- 16-bit output: RIU Output Read data to the controllerRIU_VALID => RIU_VALID, -- 1-bit output: Last data written has been accepted when HighRX_BIT_CTRL_OUT0 => RX_BIT_CTRL_OUT0, -- 40-bit output: Output bus to Bitslice 0RX_BIT_CTRL_OUT1 => RX_BIT_CTRL_OUT1, -- 40-bit output: Output bus to Bitslice 1RX_BIT_CTRL_OUT2 => RX_BIT_CTRL_OUT2, -- 40-bit output: Output bus to Bitslice 2RX_BIT_CTRL_OUT3 => RX_BIT_CTRL_OUT3, -- 40-bit output: Output bus to Bitslice 3RX_BIT_CTRL_OUT4 => RX_BIT_CTRL_OUT4, -- 40-bit output: Output bus to Bitslice 4RX_BIT_CTRL_OUT5 => RX_BIT_CTRL_OUT5, -- 40-bit output: Output bus to Bitslice 5RX_BIT_CTRL_OUT6 => RX_BIT_CTRL_OUT6, -- 40-bit output: Output bus to Bitslice 6TX_BIT_CTRL_OUT0 => TX_BIT_CTRL_OUT0, -- 40-bit output: Output bus to Bitslice 0TX_BIT_CTRL_OUT1 => TX_BIT_CTRL_OUT1, -- 40-bit output: Output bus to Bitslice 1TX_BIT_CTRL_OUT2 => TX_BIT_CTRL_OUT2, -- 40-bit output: Output bus to Bitslice 2TX_BIT_CTRL_OUT3 => TX_BIT_CTRL_OUT3, -- 40-bit output: Output bus to Bitslice 3TX_BIT_CTRL_OUT4 => TX_BIT_CTRL_OUT4, -- 40-bit output: Output bus to Bitslice 4TX_BIT_CTRL_OUT5 => TX_BIT_CTRL_OUT5, -- 40-bit output: Output bus to Bitslice 5TX_BIT_CTRL_OUT6 => TX_BIT_CTRL_OUT6, -- 40-bit output: Output bus to Bitslice 6TX_BIT_CTRL_OUT_TRI => TX_BIT_CTRL_OUT_TRI, -- 40-bit output: Output bus to 3-state TX_BITSLICE_TRIVTC_RDY => VTC_RDY, -- 1-bit output: PHY calibration is completeCLK_FROM_EXT => CLK_FROM_EXT, -- 1-bit input: Inter-byte clock coming from north or south

-- BITSLICE_CONTROL

EN_VTC => EN_VTC, -- 1-bit input: Enables voltage and temperature compensation-- when High

NCLK_NIBBLE_IN => NCLK_NIBBLE_IN, -- 1-bit input: Intra-byte DQS strobes from other/clock-- control block

PCLK_NIBBLE_IN => PCLK_NIBBLE_IN, -- 1-bit input: Intra-byte DQS strobes/clock from other-- control block

PHY_RDCS0 => PHY_RDCS0, -- 4-bit input: Rank selectPHY_RDCS1 => PHY_RDCS1, -- 4-bit input: Rank selectPHY_RDEN => PHY_RDEN, -- 4-bit input: Read burst enable when using a memory

-- interface

PHY_WRCS0 => PHY_WRCS0, -- 4-bit input: Rank selectPHY_WRCS1 => PHY_WRCS1, -- 4-bit input: Rank selectPLL_CLK => PLL_CLK, -- 1-bit input: PLL clock inputREFCLK => REFCLK, -- 1-bit input: Frequency reference clock for delay controlRIU_ADDR => RIU_ADDR, -- 6-bit input: Address input for RIURIU_CLK => RIU_CLK, -- 1-bit input: System clock from fabric for RIU accessRIU_NIBBLE_SEL => RIU_NIBBLE_SEL, -- 1-bit input: Nibble select to enable RIU read/writeRIU_WR_DATA => RIU_WR_DATA, -- 16-bit input: RIU Input Write data from the controllerRIU_WR_EN => RIU_WR_EN, -- 1-bit input: Enables write to RIU when HighRST => RST, -- 1-bit input: Asynchronous global resetRX_BIT_CTRL_IN0 => RX_BIT_CTRL_IN0, -- 40-bit input: Input bus from Bitslice 0RX_BIT_CTRL_IN1 => RX_BIT_CTRL_IN1, -- 40-bit input: Input bus from Bitslice 1RX_BIT_CTRL_IN2 => RX_BIT_CTRL_IN2, -- 40-bit input: Input bus from Bitslice 2RX_BIT_CTRL_IN3 => RX_BIT_CTRL_IN3, -- 40-bit input: Input bus from Bitslice 3

UltraScale ライブラリ ガイド http://japan.xilinx.com 18UG974 (v2015.2) 2015 月 6 月 24 日

Page 19: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RX_BIT_CTRL_IN4 => RX_BIT_CTRL_IN4, -- 40-bit input: Input bus from Bitslice 4RX_BIT_CTRL_IN5 => RX_BIT_CTRL_IN5, -- 40-bit input: Input bus from Bitslice 5RX_BIT_CTRL_IN6 => RX_BIT_CTRL_IN6, -- 40-bit input: Input bus from Bitslice 6TBYTE_IN => TBYTE_IN, -- 4-bit input: Output enable for 3-state controlTX_BIT_CTRL_IN0 => TX_BIT_CTRL_IN0, -- 40-bit input: Input bus from Bitslice 0TX_BIT_CTRL_IN1 => TX_BIT_CTRL_IN1, -- 40-bit input: Input bus from Bitslice 1TX_BIT_CTRL_IN2 => TX_BIT_CTRL_IN2, -- 40-bit input: Input bus from Bitslice 2TX_BIT_CTRL_IN3 => TX_BIT_CTRL_IN3, -- 40-bit input: Input bus from Bitslice 3TX_BIT_CTRL_IN4 => TX_BIT_CTRL_IN4, -- 40-bit input: Input bus from Bitslice 4TX_BIT_CTRL_IN5 => TX_BIT_CTRL_IN5, -- 40-bit input: Input bus from Bitslice 5TX_BIT_CTRL_IN6 => TX_BIT_CTRL_IN6, -- 40-bit input: Input bus from Bitslice 6TX_BIT_CTRL_IN_TRI => TX_BIT_CTRL_IN_TRI -- 40-bit input: Input bus from 3-state TX_BITSLICE_TRI

);

-- End of BITSLICE_CONTROL_inst instantiation

Verilog 記述 (インスタンシエーション)

// BITSLICE_CONTROL: BITSLICE_CONTROL for control using Native Mode// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BITSLICE_CONTROL #(.DIV_MODE("DIV2"), // Controller DIV2/DIV4 mode (DIV2, DIV4).EN_CLK_TO_EXT_NORTH("DISABLE"), // Enable clock forwarding to north.EN_CLK_TO_EXT_SOUTH("DISABLE"), // Enable clock forwarding to south.EN_DYN_ODLY_MODE("FALSE"), // Enable dynamic output delay mode.EN_OTHER_NCLK("FALSE"), // Select the NCLK from the other BITSLICE_CONTROL in the nibble (FALSE,

// TRUE).EN_OTHER_PCLK("FALSE"), // Select the PCLK from the other BITSLICE_CONTROL in the nibble (FALSE,

// TRUE).IDLY_VT_TRACK("TRUE"), // Enable VT tracking for input delays.INV_RXCLK("FALSE"), // Invert clock path from IOB to upper RX bitslice.ODLY_VT_TRACK("TRUE"), // Enable VT tracking for output delays.QDLY_VT_TRACK("TRUE"), // Enable VT tracking for clock delays.READ_IDLE_COUNT(6’h00), // Gap count between read bursts for ODT control counter (0-3f).REFCLK_SRC("PLLCLK"), // Select the input clock for the delay control (PLLCLK, REFCLK).ROUNDING_FACTOR(16), // Rounding factor in BISC spec (128-8).RXGATE_EXTEND("FALSE"), // Reserved for use by MIG Memory Controller. Do Not Change..RX_CLK_PHASE_N("SHIFT_0"), // Shift the Read CLK relative to read DQ during calibration (SHIFT_0,

// SHIFT_90).RX_CLK_PHASE_P("SHIFT_0"), // Shift the Read CLK relative to read DQ during calibration (SHIFT_0,

// SHIFT_90).RX_GATING("DISABLE"), // ENABLE/DISABLE read DQS gating.SELF_CALIBRATE("ENABLE"), // Enable BISC of nibble controlled by BITSLICE_CONTROL.SERIAL_MODE("FALSE"), // Put BITSLICE read paths into serial mode (FALSE, TRUE).TX_GATING("DISABLE") // ENABLE/DISABLE clock gating in WClkgen

)BITSLICE_CONTROL_inst (

.CLK_TO_EXT_NORTH(CLK_TO_EXT_NORTH), // 1-bit output: Inter-byte clock going to north// BITSLICE_CONTROL

.CLK_TO_EXT_SOUTH(CLK_TO_EXT_SOUTH), // 1-bit output: Inter-byte clock going to south// BITSLICE_CONTROL

.DLY_RDY(DLY_RDY), // 1-bit output: Fixed delay calibration complete

.DYN_DCI(DYN_DCI), // 7-bit output: Direct control of IOB DCI when using a memory// interface

.NCLK_NIBBLE_OUT(NCLK_NIBBLE_OUT), // 1-bit output: Intra-byte DQS strobes/clock to other control// block

.PCLK_NIBBLE_OUT(PCLK_NIBBLE_OUT), // 1-bit output: Intra-byte DQS strobes/clock to other control// block

.RIU_RD_DATA(RIU_RD_DATA), // 16-bit output: RIU Output Read data to the controller

.RIU_VALID(RIU_VALID), // 1-bit output: Last data written has been accepted when High

.RX_BIT_CTRL_OUT0(RX_BIT_CTRL_OUT0), // 40-bit output: Output bus to Bitslice 0

.RX_BIT_CTRL_OUT1(RX_BIT_CTRL_OUT1), // 40-bit output: Output bus to Bitslice 1

.RX_BIT_CTRL_OUT2(RX_BIT_CTRL_OUT2), // 40-bit output: Output bus to Bitslice 2

UltraScale ライブラリ ガイド http://japan.xilinx.com 19UG974 (v2015.2) 2015 月 6 月 24 日

Page 20: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.RX_BIT_CTRL_OUT3(RX_BIT_CTRL_OUT3), // 40-bit output: Output bus to Bitslice 3

.RX_BIT_CTRL_OUT4(RX_BIT_CTRL_OUT4), // 40-bit output: Output bus to Bitslice 4

.RX_BIT_CTRL_OUT5(RX_BIT_CTRL_OUT5), // 40-bit output: Output bus to Bitslice 5

.RX_BIT_CTRL_OUT6(RX_BIT_CTRL_OUT6), // 40-bit output: Output bus to Bitslice 6

.TX_BIT_CTRL_OUT0(TX_BIT_CTRL_OUT0), // 40-bit output: Output bus to Bitslice 0

.TX_BIT_CTRL_OUT1(TX_BIT_CTRL_OUT1), // 40-bit output: Output bus to Bitslice 1

.TX_BIT_CTRL_OUT2(TX_BIT_CTRL_OUT2), // 40-bit output: Output bus to Bitslice 2

.TX_BIT_CTRL_OUT3(TX_BIT_CTRL_OUT3), // 40-bit output: Output bus to Bitslice 3

.TX_BIT_CTRL_OUT4(TX_BIT_CTRL_OUT4), // 40-bit output: Output bus to Bitslice 4

.TX_BIT_CTRL_OUT5(TX_BIT_CTRL_OUT5), // 40-bit output: Output bus to Bitslice 5

.TX_BIT_CTRL_OUT6(TX_BIT_CTRL_OUT6), // 40-bit output: Output bus to Bitslice 6

.TX_BIT_CTRL_OUT_TRI(TX_BIT_CTRL_OUT_TRI), // 40-bit output: Output bus to 3-state TX_BITSLICE_TRI

.VTC_RDY(VTC_RDY), // 1-bit output: PHY calibration is complete

.CLK_FROM_EXT(CLK_FROM_EXT), // 1-bit input: Inter-byte clock coming from north or south// BITSLICE_CONTROL

.EN_VTC(EN_VTC), // 1-bit input: Enables voltage and temperature compensation// when High

.NCLK_NIBBLE_IN(NCLK_NIBBLE_IN), // 1-bit input: Intra-byte DQS strobes from other/clock// control block

.PCLK_NIBBLE_IN(PCLK_NIBBLE_IN), // 1-bit input: Intra-byte DQS strobes/clock from other// control block

.PHY_RDCS0(PHY_RDCS0), // 4-bit input: Rank select

.PHY_RDCS1(PHY_RDCS1), // 4-bit input: Rank select

.PHY_RDEN(PHY_RDEN), // 4-bit input: Read burst enable when using a memory interface

.PHY_WRCS0(PHY_WRCS0), // 4-bit input: Rank select

.PHY_WRCS1(PHY_WRCS1), // 4-bit input: Rank select

.PLL_CLK(PLL_CLK), // 1-bit input: PLL clock input

.REFCLK(REFCLK), // 1-bit input: Frequency reference clock for delay control

.RIU_ADDR(RIU_ADDR), // 6-bit input: Address input for RIU

.RIU_CLK(RIU_CLK), // 1-bit input: System clock from fabric for RIU access

.RIU_NIBBLE_SEL(RIU_NIBBLE_SEL), // 1-bit input: Nibble select to enable RIU read/write

.RIU_WR_DATA(RIU_WR_DATA), // 16-bit input: RIU Input Write data from the controller

.RIU_WR_EN(RIU_WR_EN), // 1-bit input: Enables write to RIU when High

.RST(RST), // 1-bit input: Asynchronous global reset

.RX_BIT_CTRL_IN0(RX_BIT_CTRL_IN0), // 40-bit input: Input bus from Bitslice 0

.RX_BIT_CTRL_IN1(RX_BIT_CTRL_IN1), // 40-bit input: Input bus from Bitslice 1

.RX_BIT_CTRL_IN2(RX_BIT_CTRL_IN2), // 40-bit input: Input bus from Bitslice 2

.RX_BIT_CTRL_IN3(RX_BIT_CTRL_IN3), // 40-bit input: Input bus from Bitslice 3

.RX_BIT_CTRL_IN4(RX_BIT_CTRL_IN4), // 40-bit input: Input bus from Bitslice 4

.RX_BIT_CTRL_IN5(RX_BIT_CTRL_IN5), // 40-bit input: Input bus from Bitslice 5

.RX_BIT_CTRL_IN6(RX_BIT_CTRL_IN6), // 40-bit input: Input bus from Bitslice 6

.TBYTE_IN(TBYTE_IN), // 4-bit input: Output enable for 3-state control

.TX_BIT_CTRL_IN0(TX_BIT_CTRL_IN0), // 40-bit input: Input bus from Bitslice 0

.TX_BIT_CTRL_IN1(TX_BIT_CTRL_IN1), // 40-bit input: Input bus from Bitslice 1

.TX_BIT_CTRL_IN2(TX_BIT_CTRL_IN2), // 40-bit input: Input bus from Bitslice 2

.TX_BIT_CTRL_IN3(TX_BIT_CTRL_IN3), // 40-bit input: Input bus from Bitslice 3

.TX_BIT_CTRL_IN4(TX_BIT_CTRL_IN4), // 40-bit input: Input bus from Bitslice 4

.TX_BIT_CTRL_IN5(TX_BIT_CTRL_IN5), // 40-bit input: Input bus from Bitslice 5

.TX_BIT_CTRL_IN6(TX_BIT_CTRL_IN6), // 40-bit input: Input bus from Bitslice 6

.TX_BIT_CTRL_IN_TRI(TX_BIT_CTRL_IN_TRI) // 40-bit input: Input bus from 3-state TX_BITSLICE_TRI);

// End of BITSLICE_CONTROL_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 20UG974 (v2015.2) 2015 月 6 月 24 日

Page 21: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BSCANE2

プリミティブ : Boundary-Scan User Instruction

プリミティブ グループ : CONFIGURATIONプリミティブ サブグループ : BSCAN

概要

このデザイン エレメントを使用すると、JTAG バウンダリ スキャン ロジック コントローラーを介して内部ロジックにアクセスでき

るようになり、内部実行デザインと FPGA の専用 JTAG ピン間の通信が可能になります。このデザイン エレメントの各インスタ

ンスで、JTAG_CHAIN 属性の設定に従い、JTAG USER 命令 (USER1 ~ USER4) の 1 つが処理されます。

4 つの USER 命令すべてを処理するには、エレメントを 4 つインスタンシエートし、JTAG_CHAIN 属性を適切に設定します。

バウンダリ スキャンの詳細は、コンフィギュレーション ユーザー ガイドを参照してください。

ポートの説明

ポート名 方向 幅 機能

CAPTURE 出力 1 TAP コントローラーの CAPTURE 出力

DRCK 出力 1 ゲート付き TCK 出力。SEL がアサートされているときに CAPTURE またはSHIFT がアサートされるとトグルします。

RESET 出力 1 TAP コントローラーのリセット出力

RUNTEST 出力 1 TAP コントローラーが Run Test/Idle ステートのときにアサートされます。

SEL 出力 1 USER 命令アクティブ出力

SHIFT 出力 1 TAP コントローラーの SHIFT 出力

TCK 出力 1 テスト クロック出力。TAP クロック ピンへのファブリック接続です。

TDI 出力 1 TAP コントローラーからのテスト データ入力 (TDI) 出力

TDO 入力 1 USER ファンクションのテスト データ出力 (TDO) 入力

TMS 出力 1 テスト モード セレクト出力。TAP へのファブリック接続です。

UPDATE 出力 1 TAP コントローラーの UPDATE 出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 21UG974 (v2015.2) 2015 月 6 月 24 日

Page 22: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

JTAG_CHAIN 10 進数 1、2、3、4 1 USER コマンドの値を指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BSCANE2: Boundary-Scan User Instruction-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BSCANE2_inst : BSCANE2generic map (

JTAG_CHAIN => 1 -- Value for USER command)port map (

CAPTURE => CAPTURE, -- 1-bit output: CAPTURE output from TAP controller.DRCK => DRCK, -- 1-bit output: Gated TCK output. When SEL is asserted, DRCK toggles when CAPTURE or

-- SHIFT are asserted.

RESET => RESET, -- 1-bit output: Reset output for TAP controller.RUNTEST => RUNTEST, -- 1-bit output: Output asserted when TAP controller is in Run Test/Idle state.SEL => SEL, -- 1-bit output: USER instruction active output.SHIFT => SHIFT, -- 1-bit output: SHIFT output from TAP controller.TCK => TCK, -- 1-bit output: Test Clock output. Fabric connection to TAP Clock pin.TDI => TDI, -- 1-bit output: Test Data Input (TDI) output from TAP controller.TMS => TMS, -- 1-bit output: Test Mode Select output. Fabric connection to TAP.UPDATE => UPDATE, -- 1-bit output: UPDATE output from TAP controllerTDO => TDO -- 1-bit input: Test Data Output (TDO) input for USER function.

);

-- End of BSCANE2_inst instantiation

Verilog 記述 (インスタンシエーション)

// BSCANE2: Boundary-Scan User Instruction// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BSCANE2 #(.JTAG_CHAIN(1) // Value for USER command

)BSCANE2_inst (

.CAPTURE(CAPTURE), // 1-bit output: CAPTURE output from TAP controller.

.DRCK(DRCK), // 1-bit output: Gated TCK output. When SEL is asserted, DRCK toggles when CAPTURE or// SHIFT are asserted.

.RESET(RESET), // 1-bit output: Reset output for TAP controller.

.RUNTEST(RUNTEST), // 1-bit output: Output asserted when TAP controller is in Run Test/Idle state.

.SEL(SEL), // 1-bit output: USER instruction active output.

UltraScale ライブラリ ガイド http://japan.xilinx.com 22UG974 (v2015.2) 2015 月 6 月 24 日

Page 23: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.SHIFT(SHIFT), // 1-bit output: SHIFT output from TAP controller.

.TCK(TCK), // 1-bit output: Test Clock output. Fabric connection to TAP Clock pin.

.TDI(TDI), // 1-bit output: Test Data Input (TDI) output from TAP controller.

.TMS(TMS), // 1-bit output: Test Mode Select output. Fabric connection to TAP.

.UPDATE(UPDATE), // 1-bit output: UPDATE output from TAP controller

.TDO(TDO) // 1-bit input: Test Data Output (TDO) input for USER function.);

// End of BSCANE2_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 23UG974 (v2015.2) 2015 月 6 月 24 日

Page 24: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BUFG_GT

プリミティブ : Clock Buffer Driven by Gigabit Transceiver

プリミティブ グループ : CLOCKプリミティブ サブグループ : BUFFER

概要

クロックを FPGA のほかの部分に分配するため、ギガビット トランシーバーにより駆動されるクロック バッファーです。

ポートの説明

ポート名 方向 幅 機能

CE 入力 1 バッファー イネーブル

CEMASK 入力 1 CE マスク

CLR 入力 1 出力を 0 にする非同期クリア

CLRMASK 入力 1 CLR マスク

DIV<2:0> 入力 3 クロックの分周値を指定します。適用される分周値は、指定した値に 1 を加えた値です。たとえば 3’b000 に設定すると分周値は 1 になり、3’b111に設定すると分周値は 8 になります。

I 入力 1 バッファーの入力

O 出力 1 バッファーの出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

UltraScale ライブラリ ガイド http://japan.xilinx.com 24UG974 (v2015.2) 2015 月 6 月 24 日

Page 25: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFG_GT: Clock Buffer Driven by Gigabit Transceiver-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BUFG_GT_inst : BUFG_GTport map (

O => O, -- 1-bit output: BufferCE => CE, -- 1-bit input: Buffer enableCEMASK => CEMASK, -- 1-bit input: CE MaskCLR => CLR, -- 1-bit input: Asynchronous clearCLRMASK => CLRMASK, -- 1-bit input: CLR MaskDIV => DIV, -- 3-bit input: Dymanic divide ValueI => I -- 1-bit input: Buffer

);

-- End of BUFG_GT_inst instantiation

Verilog 記述 (インスタンシエーション)

// BUFG_GT: Clock Buffer Driven by Gigabit Transceiver// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BUFG_GT BUFG_GT_inst (.O(O), // 1-bit output: Buffer.CE(CE), // 1-bit input: Buffer enable.CEMASK(CEMASK), // 1-bit input: CE Mask.CLR(CLR), // 1-bit input: Asynchronous clear.CLRMASK(CLRMASK), // 1-bit input: CLR Mask.DIV(DIV), // 3-bit input: Dymanic divide Value.I(I) // 1-bit input: Buffer

);

// End of BUFG_GT_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 25UG974 (v2015.2) 2015 月 6 月 24 日

Page 26: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BUFG_GT_SYNC

プリミティブ : Synchronizer for BUFG_GT Control Signals

プリミティブ グループ : CLOCKプリミティブ サブグループ : BUFFER

概要

BUFG_GT CE および CLR 機能を同期します。このコンポーネントの詳細は、UltraScale GT トランシーバー ユーザー ガ

イドを参照してください。

ポートの説明

ポート名 方向 幅 機能

CE 入力 1 非同期イネーブル

CESYNC 出力 1 CLK に同期した CE 信号

CLK 入力 1 クロック

CLR 入力 1 非同期クリア

CLRSYNC 出力 1 CLK に同期した CLR 信号

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

UltraScale ライブラリ ガイド http://japan.xilinx.com 26UG974 (v2015.2) 2015 月 6 月 24 日

Page 27: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFG_GT_SYNC: Synchronizer for BUFG_GT Control Signals-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BUFG_GT_SYNC_inst : BUFG_GT_SYNCport map (

CESYNC => CESYNC, -- 1-bit output: Synchronized CECLRSYNC => CLRSYNC, -- 1-bit output: Synchronized CLRCE => CE, -- 1-bit input: Asynchronous enableCLK => CLK, -- 1-bit input: ClockCLR => CLR -- 1-bit input: Asynchronous clear

);

-- End of BUFG_GT_SYNC_inst instantiation

Verilog 記述 (インスタンシエーション)

// BUFG_GT_SYNC: Synchronizer for BUFG_GT Control Signals// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BUFG_GT_SYNC BUFG_GT_SYNC_inst (.CESYNC(CESYNC), // 1-bit output: Synchronized CE.CLRSYNC(CLRSYNC), // 1-bit output: Synchronized CLR.CE(CE), // 1-bit input: Asynchronous enable.CLK(CLK), // 1-bit input: Clock.CLR(CLR) // 1-bit input: Asynchronous clear

);

// End of BUFG_GT_SYNC_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 27UG974 (v2015.2) 2015 月 6 月 24 日

Page 28: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BUFGCE

プリミティブ : General Clock Buffer with Clock Enable

プリミティブ グループ : CLOCKプリミティブ サブグループ : BUFFER

概要

このデザイン エレメントは、クロック イネーブル付き汎用クロック バッファーです。クロック イネーブル (CE) が Low (非アク

ティブ) になると、O 出力は 0 になります。CE が High になると、I 入力の値が O に出力されます。

論理表

入力 出力

I CE O

X 0 0

I 1 I

ポートの説明

ポート名 方向 幅 機能

CE 入力 1 クロック バッファー イネーブル (アクティブ High)

I 入力 1 バッファーの入力

O 出力 1 バッファーの出力

デザインの入力方法

インスタンシエーション 推奨

推論 可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 28UG974 (v2015.2) 2015 月 6 月 24 日

Page 29: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

CE_TYPE 文字列 "SYNC"、"ASYNC"

"SYNC" イネーブルを同期 (グリッチなし) にするか、または非同期 (入力クロックの切り替わり不要) にするかを指定します。

IS_CE_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CE ピンにプログラム可能な反転を使用するかどうかを指定します。

IS_I_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 I ピンにプログラム可能な反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGCE: General Clock Buffer with Clock Enable-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BUFGCE_inst : BUFGCEgeneric map (

CE_TYPE => "SYNC", -- ASYNC, SYNCIS_CE_INVERTED => ’0’, -- Programmable inversion on CEIS_I_INVERTED => ’0’ -- Programmable inversion on I

)port map (

O => O, -- 1-bit output: BufferCE => CE, -- 1-bit input: Buffer enableI => I -- 1-bit input: Buffer

);

-- End of BUFGCE_inst instantiation

Verilog 記述 (インスタンシエーション)

// BUFGCE: General Clock Buffer with Clock Enable// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BUFGCE #(.CE_TYPE("SYNC"), // ASYNC, SYNC.IS_CE_INVERTED(1’b0), // Programmable inversion on CE.IS_I_INVERTED(1’b0) // Programmable inversion on I

)BUFGCE_inst (

.O(O), // 1-bit output: Buffer

.CE(CE), // 1-bit input: Buffer enable

.I(I) // 1-bit input: Buffer);

// End of BUFGCE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 29UG974 (v2015.2) 2015 月 6 月 24 日

Page 30: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BUFGCE_1

プリミティブ : General Clock Buffer with Clock Enable and Output State 1

プリミティブ グループ : CLOCKプリミティブ サブグループ : BUFFER

概要

このデザイン エレメントは、クロック イネーブル付き汎用クロック バッファーです。クロック イネーブル (CE) が Low (非アク

ティブ) になると、O 出力は 1 になります。CE が High になると、I 入力の値が O に出力されます。

論理表

入力 出力

I CE O

X 0 1

I 1 I

ポートの説明

ポート名 方向 幅 機能

CE 入力 1 クロック バッファー イネーブル (アクティブ High)

I 入力 1 クロック入力

O 出力 1 クロック出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 30UG974 (v2015.2) 2015 月 6 月 24 日

Page 31: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGCE_1: General Clock Buffer with Clock Enable and Output State 1-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BUFGCE_1_inst : BUFGCE_1port map (

O => O, -- 1-bit output: Clock outputCE => CE, -- 1-bit input: Clock enable input for I0I => I -- 1-bit input: Primary clock

);

-- End of BUFGCE_1_inst instantiation

Verilog 記述 (インスタンシエーション)

// BUFGCE_1: General Clock Buffer with Clock Enable and Output State 1// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BUFGCE_1 BUFGCE_1_inst (.O(O), // 1-bit output: Clock output.CE(CE), // 1-bit input: Clock enable input for I0.I(I) // 1-bit input: Primary clock

);

// End of BUFGCE_1_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 31UG974 (v2015.2) 2015 月 6 月 24 日

Page 32: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BUFGCE_DIV

プリミティブ : General Clock Buffer with Divide Function

プリミティブ グループ : CLOCKプリミティブ サブグループ : BUFFER

概要

BUFGCE_DIV は、クロック イネーブルおよび分周機能付き汎用クロック バッファーです。

ポートの説明

ポート名 方向 幅 機能

CE 入力 1 バッファー イネーブル入力

CLR 入力 1 出力を 0 にする非同期クリア

I 入力 1 バッファーの入力

O 出力 1 バッファーの出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

BUFGCE_DIVIDE 10 進数 1、2、3、4、5、6、7、8

1 分周値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_CE_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CE ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 32UG974 (v2015.2) 2015 月 6 月 24 日

Page 33: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

IS_CLR_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLR ピンにオプションの反転を使用するかどうかを指定します。

IS_I_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 I ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGCE_DIV: General Clock Buffer with Divide Function-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BUFGCE_DIV_inst : BUFGCE_DIVgeneric map (

BUFGCE_DIVIDE => 1, -- 1-8-- Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pinsIS_CE_INVERTED => ’0’, -- Optional inversion for CEIS_CLR_INVERTED => ’0’, -- Optional inversion for CLRIS_I_INVERTED => ’0’ -- Optional inversion for I

)port map (

O => O, -- 1-bit output: BufferCE => CE, -- 1-bit input: Buffer enableCLR => CLR, -- 1-bit input: Asynchronous clearI => I -- 1-bit input: Buffer

);

-- End of BUFGCE_DIV_inst instantiation

Verilog 記述 (インスタンシエーション)

// BUFGCE_DIV: General Clock Buffer with Divide Function// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BUFGCE_DIV #(.BUFGCE_DIVIDE(1), // 1-8// Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pins.IS_CE_INVERTED(1’b0), // Optional inversion for CE.IS_CLR_INVERTED(1’b0), // Optional inversion for CLR.IS_I_INVERTED(1’b0) // Optional inversion for I

)BUFGCE_DIV_inst (

.O(O), // 1-bit output: Buffer

.CE(CE), // 1-bit input: Buffer enable

.CLR(CLR), // 1-bit input: Asynchronous clear

.I(I) // 1-bit input: Buffer);

// End of BUFGCE_DIV_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 33UG974 (v2015.2) 2015 月 6 月 24 日

Page 34: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BUFGCTRL

プリミティブ : General Clock Control Buffer

プリミティブ グループ : CLOCKプリミティブ サブグループ : MUX

概要

BUFGCTRL は、2 つのクロック入力を持ち、同期/非同期のグリッチのない 2:1 マルチプレクサーとして機能する汎用クロック

バッファーです。2 つのクロックから選択する必要がない場合は、BUFG または BUFGCE コンポーネントを使用してください。

ポートの説明

ポート名 方向 幅 機能

CE0 入力 1 I0 クロック入力のクロック イネーブル入力。CE0 ピンを使用してこの入力を有効

にする場合は、セットアップ/ホールド タイムを満たす必要があります。要件を満

たさない場合、クロックでグリッチが発生する可能性があります。

CE1 入力 1 I1 クロック入力のクロック イネーブル入力。CE1 ピンを使用してこの入力を有効

にする場合は、セットアップ/ホールド タイムを満たす必要があります。要件を満

たさない場合、クロックでグリッチが発生する可能性があります。

IGNORE0 入力 1 I0 入力のクロック IGNORE 入力。IGNORE ピンがアサートされると、BUFGCTRL

で 2 つのクロック入力間の切り替え条件は検出されません。つまり、IGNORE ピ

ンのアサート時は、セレクト ピンが変更されると直ちにクロック入力が切り替わり

ます。セレクト ピンが変更されると、IGNORE0 ピンでは出力が I0 入力から I1 入

力に切り替えられ、IGNORE1 ピンでは I1 入力から I0 入力に切り替えられます。

IGNORE1 入力 1 I1 入力のクロック IGNORE 入力。IGNORE ピンがアサートされると、BUFGCTRL

で 2 つのクロック入力間の切り替え条件は検出されません。つまり、IGNORE ピ

ンのアサート時は、セレクト ピンが変更されると直ちにクロック入力が切り替わり

ます。セレクト ピンが変更されると、IGNORE0 ピンでは出力が I0 入力から I1 入

力に切り替えられ、IGNORE1 ピンでは I1 入力から I0 入力に切り替えられます。

I0 入力 1 CE0 入力でイネーブルになり、S0 入力で選択される BUFGCTRL へのプ

ライマリ クロック入力

I1 入力 1 CE1 入力でイネーブルになり、S1 入力で選択される BUFGCTRL へのセ

カンダリ クロック入力

UltraScale ライブラリ ガイド http://japan.xilinx.com 34UG974 (v2015.2) 2015 月 6 月 24 日

Page 35: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

O 出力 1 クロック出力

S0 入力 1 I0 のクロック セレクト入力。S ピンは、各クロック入力ピンのクロック セレクト入力

です。入力を選択するために S ピンを使用する場合は、セットアップおよびホー

ルド タイム要件を満たす必要があります。CE ピンとは異なり、要件を満たさなく

てもクロック グリッチが発生することはありませんが、出力クロックがピンに現れ

るのが 1 クロック サイクル後になる場合があります。

S1 入力 1 I1 のクロック セレクト入力。S ピンは、各クロック入力ピンのクロック セレクト入力

です。入力を選択するために S ピンを使用する場合は、セットアップおよびホー

ルド タイム要件を満たす必要があります。CE ピンとは異なり、要件を満たさなく

てもクロック グリッチが発生することはありませんが、出力クロックがピンに現れ

るのが 1 クロック サイクル後になる場合があります。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT_OUT 10 進数 0、1 0 コンフィギュレーション後の BUFGCTRL 出力の初期値を指定します。

PRESELECT_I0 ブール代数 FALSE、TRUE

FALSE TRUE に設定すると、コンフィギュレーション後に I0 入力が出力されます。

PRESELECT_I1 ブール代数 FALSE、TRUE

FALSE TRUE に設定すると、コンフィギュレーション後に I1 入力が出力されます。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_CE0_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CE0 ピンにオプションの反転を使用するかどうかを指定します。

IS_CE1_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CE1 ピンにオプションの反転を使用するかどうかを指定します。

IS_IGNORE0_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 IGNORE0 ピンにオプションの反転を使用するかどうかを指定します。

IS_IGNORE1_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 IGNORE1 ピンにオプションの反転を使用するかどうかを指定します。

IS_I0_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 I0 ピンにオプションの反転を使用するかどうかを指定します。

IS_I1_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 I1 ピンにオプションの反転を使用するかどうかを指定します。

IS_S0_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 S0 ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 35UG974 (v2015.2) 2015 月 6 月 24 日

Page 36: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

IS_S1_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 S1 ピンにオプションの反転を使用するかどうかを指定します。

注記 : 2 つの PRESELECT 属性を同時に TRUE に設定することはできません。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGCTRL: General Clock Control Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BUFGCTRL_inst : BUFGCTRLgeneric map (

INIT_OUT => 0, -- Initial value of BUFGCTRL output, 0-1PRESELECT_I0 => FALSE, -- BUFGCTRL output uses I0 input, FALSE, TRUEPRESELECT_I1 => FALSE, -- BUFGCTRL output uses I1 input, FALSE, TRUE-- Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pinsIS_CE0_INVERTED => ’0’, -- Optional inversion for CE0IS_CE1_INVERTED => ’0’, -- Optional inversion for CE1IS_I0_INVERTED => ’0’, -- Optional inversion for I0IS_I1_INVERTED => ’0’, -- Optional inversion for I1IS_IGNORE0_INVERTED => ’0’, -- Optional inversion for IGNORE0IS_IGNORE1_INVERTED => ’0’, -- Optional inversion for IGNORE1IS_S0_INVERTED => ’0’, -- Optional inversion for S0IS_S1_INVERTED => ’0’ -- Optional inversion for S1

)port map (

O => O, -- 1-bit output: Clock outputCE0 => CE0, -- 1-bit input: Clock enable input for I0CE1 => CE1, -- 1-bit input: Clock enable input for I1I0 => I0, -- 1-bit input: Primary clockI1 => I1, -- 1-bit input: Secondary clockIGNORE0 => IGNORE0, -- 1-bit input: Clock ignore input for I0IGNORE1 => IGNORE1, -- 1-bit input: Clock ignore input for I1S0 => S0, -- 1-bit input: Clock select for I0S1 => S1 -- 1-bit input: Clock select for I1

);

-- End of BUFGCTRL_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 36UG974 (v2015.2) 2015 月 6 月 24 日

Page 37: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// BUFGCTRL: General Clock Control Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BUFGCTRL #(.INIT_OUT(0), // Initial value of BUFGCTRL output, 0-1.PRESELECT_I0("FALSE"), // BUFGCTRL output uses I0 input, FALSE, TRUE.PRESELECT_I1("FALSE"), // BUFGCTRL output uses I1 input, FALSE, TRUE// Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pins.IS_CE0_INVERTED(1’b0), // Optional inversion for CE0.IS_CE1_INVERTED(1’b0), // Optional inversion for CE1.IS_I0_INVERTED(1’b0), // Optional inversion for I0.IS_I1_INVERTED(1’b0), // Optional inversion for I1.IS_IGNORE0_INVERTED(1’b0), // Optional inversion for IGNORE0.IS_IGNORE1_INVERTED(1’b0), // Optional inversion for IGNORE1.IS_S0_INVERTED(1’b0), // Optional inversion for S0.IS_S1_INVERTED(1’b0) // Optional inversion for S1

)BUFGCTRL_inst (

.O(O), // 1-bit output: Clock output

.CE0(CE0), // 1-bit input: Clock enable input for I0

.CE1(CE1), // 1-bit input: Clock enable input for I1

.I0(I0), // 1-bit input: Primary clock

.I1(I1), // 1-bit input: Secondary clock

.IGNORE0(IGNORE0), // 1-bit input: Clock ignore input for I0

.IGNORE1(IGNORE1), // 1-bit input: Clock ignore input for I1

.S0(S0), // 1-bit input: Clock select for I0

.S1(S1) // 1-bit input: Clock select for I1);

// End of BUFGCTRL_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 37UG974 (v2015.2) 2015 月 6 月 24 日

Page 38: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BUFGMUX

プリミティブ : General Clock Mux Buffer

プリミティブ グループ : CLOCKプリミティブ サブグループ : MUX

概要

このデザイン エレメントは、BUFGCTRL に基づく汎用クロック バッファーで、2 つの入力クロック (I0 および I1) のいずかを選

択できます。セレクト入力 (S) が Low の場合、I0 の信号が出力 (O) に選択されます。S が High の場合は、I1 の信号が O に

選択されます。BUFGMUX と BUFGMUX_1 では、S の値が変化した後クロックが切り替わるまで保持される出力ステートが異

なります。BUFGMUX では出力ステートが 0 に、BUFGMUX_1 では出力ステートが 1 に保持されます。

論理表

入力 出力

I0 I1 S O

I0 X 0 I0

X I1 1 I1

X X ↑ 0

X X ↓ 0

ポートの説明

ポート名 方向 幅 機能

I0 入力 1 クロック バッファー入力。S 入力が 0 のときに O に出力されます。

I1 入力 1 クロック バッファー入力。S 入力が 1 のときに O に出力されます。

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

S 入力 1 クロック バッファー セレクト入力。Low の場合は I0 入力が選択され、High の場合は I1 入力が選択されます。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 38UG974 (v2015.2) 2015 月 6 月 24 日

Page 39: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

CLK_SEL_TYPE 文字列 "SYNC"、"ASYNC"

"SYNC" 同期 (グリッチなし) または非同期クロック切り替えを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGMUX: General Clock Mux Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BUFGMUX_inst : BUFGMUXgeneric map (

CLK_SEL_TYPE => "SYNC" -- ASYNC, SYNC)port map (

O => O, -- 1-bit output: Clock outputI0 => I0, -- 1-bit input: Clock input (S=0)I1 => I1, -- 1-bit input: Clock input (S=1)S => S -- 1-bit input: Clock select

);

-- End of BUFGMUX_inst instantiation

Verilog 記述 (インスタンシエーション)

// BUFGMUX: General Clock Mux Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BUFGMUX #(.CLK_SEL_TYPE("SYNC") // ASYNC, SYNC

)BUFGMUX_inst (

.O(O), // 1-bit output: Clock output

.I0(I0), // 1-bit input: Clock input (S=0)

.I1(I1), // 1-bit input: Clock input (S=1)

.S(S) // 1-bit input: Clock select);

// End of BUFGMUX_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 39UG974 (v2015.2) 2015 月 6 月 24 日

Page 40: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BUFGMUX_1

プリミティブ : General Clock Mux Buffer with Output State 1

プリミティブ グループ : CLOCKプリミティブ サブグループ : MUX

概要

このデザイン エレメントは、BUFGCTRL に基づく汎用クロック バッファーで、2 つの入力クロック (I0 および I1) のいずかを選

択できます。セレクト入力 (S) が Low の場合、I0 の信号が出力 (O) に選択されます。S が High の場合は、I1 の信号が O に

選択されます。BUFGMUX と BUFGMUX_1 では、S の値が変化した後クロックが切り替わるまで保持される出力ステートが異

なります。BUFGMUX では出力ステートが 0 に、BUFGMUX_1 では出力ステートが 1 に保持されます。

論理表

入力 出力

I0 I1 S O

I0 X 0 I0

X I1 1 I1

X X ↑ 1

X X ↓ 1

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

CLK_SEL_TYPE 文字列 "SYNC"、"ASYNC"

"SYNC" 同期 (グリッチなし) または非同期クロック切り替えを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 40UG974 (v2015.2) 2015 月 6 月 24 日

Page 41: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGMUX_1: General Clock Mux Buffer with Output State 1-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BUFGMUX_1_inst : BUFGMUX_1generic map (

CLK_SEL_TYPE => "SYNC" -- ASYNC, SYNC)port map (

O => O, -- 1-bit output: Clock outputI0 => I0, -- 1-bit input: Clock input (S=0)I1 => I1, -- 1-bit input: Clock input (S=1)S => S -- 1-bit input: Clock select

);

-- End of BUFGMUX_1_inst instantiation

Verilog 記述 (インスタンシエーション)

// BUFGMUX_1: General Clock Mux Buffer with Output State 1// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BUFGMUX_1 #(.CLK_SEL_TYPE("SYNC") // ASYNC, SYNC

)BUFGMUX_1_inst (

.O(O), // 1-bit output: Clock output

.I0(I0), // 1-bit input: Clock input (S=0)

.I1(I1), // 1-bit input: Clock input (S=1)

.S(S) // 1-bit input: Clock select);

// End of BUFGMUX_1_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 41UG974 (v2015.2) 2015 月 6 月 24 日

Page 42: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BUFGMUX_CTRL

プリミティブ : 2-to-1 General Clock MUX Buffer

プリミティブ グループ : CLOCKプリミティブ サブグループ : MUX

概要

このデザイン エレメントは、2 つのクロック入力、1 つのクロック出力、セレクト入力を持つ汎用クロック バッファーです。セ

レクト入力は、クロック リソースを駆動するクロックを 2 つのクロックから選択するのに使用します。このコンポーネントは

BUFGCTRL に基づいており、一部のピンが High または Low に接続されています。このエレメントは、S ピンを 2:1 マ

ルチプレクサーのセレクト ピンとして使用します。この S ピンは、バッファーの出力にグリッチを発生させることなく、い

つでも切り替えることができます。

ポートの説明

ポート名 方向 幅 機能

I0 入力 1 クロック バッファー入力。S 入力が 0 のときに O に出力されます。

I1 入力 1 クロック バッファー入力。S 入力が 1 のときに O に出力されます。

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

S 入力 1 クロック バッファー セレクト入力。Low の場合は I0 入力が選択され、Highの場合は I1 入力が選択されます。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 42UG974 (v2015.2) 2015 月 6 月 24 日

Page 43: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGMUX_CTRL: 2-to-1 General Clock MUX Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

BUFGMUX_CTRL_inst : BUFGMUX_CTRLport map (

O => O, -- 1-bit output: Clock outputI0 => I0, -- 1-bit input: Clock input (S=0)I1 => I1, -- 1-bit input: Clock input (S=1)S => S -- 1-bit input: Clock select

);

-- End of BUFGMUX_CTRL_inst instantiation

Verilog 記述 (インスタンシエーション)

// BUFGMUX_CTRL: 2-to-1 General Clock MUX Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

BUFGMUX_CTRL BUFGMUX_CTRL_inst (.O(O), // 1-bit output: Clock output.I0(I0), // 1-bit input: Clock input (S=0).I1(I1), // 1-bit input: Clock input (S=1).S(S) // 1-bit input: Clock select

);

// End of BUFGMUX_CTRL_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 43UG974 (v2015.2) 2015 月 6 月 24 日

Page 44: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CARRY8

プリミティブ : Fast Carry Logic with Look Ahead

プリミティブ グループ : CLBプリミティブ サブグループ : CARRY

概要

このデザイン エレメントは、CLB の高速キャリー ロジックです。キャリー チェーンには MUX および XOR がそれぞれ 8

個含まれています。これらの MUX および XOR は、さらに複雑なファンクションを形成するために、専用配線を介して

CLB 内のその他のロジック (LUT) に接続されます。高速キャリー ロジックは、加算、カウンター、減算、加減算などの演

算ファンクションの構築に加え、多入力コンパレータ、アドレス デコーダー、ロジック ゲートなどのその他のロジック

ファンクションに使用できます。このコンポーネントは、1 つの 8 ビット キャリー ロジックまたは 2 つの独立した 4 ビット

キャリー ロジックとしてコンフィギュレーションできます。

ポートの説明

ポート名 方向 幅 機能

CI 入力 1 8 ビット キャリーのキャリー入力または 4 ビット キャリーの下位部分

CI_TOP 入力 1 CARRY_TYPE=DUAL_CY4 の場合の上位キャリー入力。CARRY_TYPE=SINGLE_CY8 の場合はグランドに接続します。

CO<7:0> 出力 8 キャリー チェーンの各段のキャリー出力

DI<7:0> 入力 8 キャリー MUX のデータ入力

O<7:0> 出力 8 キャリー チェーン XOR の通常のデータ出力

S<7:0> 入力 8 キャリー MUX のセレクト入力

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

CARRY_TYPE 文字列 "SINGLE_CY8"、"DUAL_CY4"

"SINGLE_CY8" CLB キャリー ロジックを 1 つの 8 ビット キャリーとして機能させるか、または 2 つの独立した 4ビット キャリー チェーンとして機能させるかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 44UG974 (v2015.2) 2015 月 6 月 24 日

Page 45: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- CARRY8: Fast Carry Logic with Look Ahead-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

CARRY8_inst : CARRY8generic map (

CARRY_TYPE => "SINGLE_CY8" -- 8-bit or dual 4-bit carry (DUAL_CY4, SINGLE_CY8))port map (

CO => CO, -- 8-bit output: Carry-outO => O, -- 8-bit output: Carry chain XOR data outCI => CI, -- 1-bit input: Lower Carry-InCI_TOP => CI_TOP, -- 1-bit input: Upper Carry-InDI => DI, -- 8-bit input: Carry-MUX data inS => S -- 8-bit input: Carry-mux select

);

-- End of CARRY8_inst instantiation

Verilog 記述 (インスタンシエーション)

// CARRY8: Fast Carry Logic with Look Ahead// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

CARRY8 #(.CARRY_TYPE("SINGLE_CY8") // 8-bit or dual 4-bit carry (DUAL_CY4, SINGLE_CY8)

)CARRY8_inst (

.CO(CO), // 8-bit output: Carry-out

.O(O), // 8-bit output: Carry chain XOR data out

.CI(CI), // 1-bit input: Lower Carry-In

.CI_TOP(CI_TOP), // 1-bit input: Upper Carry-In

.DI(DI), // 8-bit input: Carry-MUX data in

.S(S) // 8-bit input: Carry-mux select);

// End of CARRY8_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 45UG974 (v2015.2) 2015 月 6 月 24 日

Page 46: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CFGLUT5

プリミティブ : 5-input Dynamically Reconfigurable Look-Up Table (LUT)

プリミティブ グループ : CLBプリミティブ サブグループ : LUT

概要

このデザイン エレメントは、ランタイムのダイナミック リコンフィギュレーションが可能な 5 入力ルックアップ テーブル (LUT)

で、回路の動作中に LUT のロジック ファンクションを変更できます。CDI ピンを使用すると、クロックに同期して新しい INIT

値がシリアルにシフトされ、ロジック ファンクションが変更されます。O6 出力ピンでは、LUT に読み込まれた現在の INIT 値と

現在選択されている入力ピン I0 ~ I4 に基づいてロジック ファンクションが生成されます。オプションで O5 出力と O6 出力

を使用して、同じ入力を共有する 4 入力ファンクションを 2 つ作成するか、または 5 入力ファンクション 1 つとその 5 入力

ロジックのサブセットを使用する 4 入力ファンクションを作成できます (下の表を参照)。このエレメントは、1 つの CLBM

に含まれる 8 個の LUT6 のうちの 1 つを使用します。

このエレメントをカスケード接続するには、CDO ピンを次のエレメントの CDI 入力に接続します。これにより、1 つのシリアル

チェーンのデータ (LUT につき 32 ビット) で複数の LUT をリコンフィギュレーションできます。

ポートの説明

ポート名 方向 幅 機能

CDI 入力 1 リコンフィギュレーション データ シリアル入力

CDO 出力 1 リコンフィギュレーション データのカスケード出力 (オプションで次の LUTの CDI 入力に接続)

CE 入力 1 アクティブ High リコンフィギュレーション クロック イネーブル

CLK 入力 1 リコンフィギュレーション クロック

O5 出力 1 4 入力 LUT 出力

O6 出力 1 5 入力 LUT 出力

LUTLUTLUT 入入入力力力 ::: プログラマブル ルックアップ テーブルへのロジック入力

I0 入力 1 プログラマブル ルックアップ テーブルへのロジック入力

I1 入力 1 プログラマブル ルックアップ テーブルへのロジック入力

UltraScale ライブラリ ガイド http://japan.xilinx.com 46UG974 (v2015.2) 2015 月 6 月 24 日

Page 47: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

I2 入力 1 プログラマブル ルックアップ テーブルへのロジック入力

I3 入力 1 プログラマブル ルックアップ テーブルへのロジック入力

I4 入力 1 プログラマブル ルックアップ テーブルへのロジック入力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 32 ビット値 すべて 0 このエレメントの初期値を指定します。

IS_CLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLK をアクティブ High にするかアクティブ Low にするかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- CFGLUT5: 5-input Dynamically Reconfigurable Look-Up Table (LUT)-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

CFGLUT5_inst : CFGLUT5generic map (

INIT => X"00000000", -- Initial logic functionIS_CLK_INVERTED => ’0’ -- Optional inversion for CLK

)port map (

CDO => CDO, -- 1-bit output: Reconfiguration cascadeO5 => O5, -- 1-bit output: 4-LUTO6 => O6, -- 1-bit output: 5-LUTCDI => CDI, -- 1-bit input: Reconfiguration dataCE => CE, -- 1-bit input: Reconfiguration enableCLK => CLK, -- 1-bit input: Clock-- LUT Inputs inputs: Logic inputsI0 => I0,I1 => I1,I2 => I2,I3 => I3,I4 => I4

);

-- End of CFGLUT5_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 47UG974 (v2015.2) 2015 月 6 月 24 日

Page 48: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// CFGLUT5: 5-input Dynamically Reconfigurable Look-Up Table (LUT)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

CFGLUT5 #(.INIT(32’h00000000), // Initial logic function.IS_CLK_INVERTED(1’b0) // Optional inversion for CLK

)CFGLUT5_inst (

.CDO(CDO), // 1-bit output: Reconfiguration cascade

.O5(O5), // 1-bit output: 4-LUT

.O6(O6), // 1-bit output: 5-LUT

.CDI(CDI), // 1-bit input: Reconfiguration data

.CE(CE), // 1-bit input: Reconfiguration enable

.CLK(CLK), // 1-bit input: Clock// LUT Inputs inputs: Logic inputs.I0(I0),.I1(I1),.I2(I2),.I3(I3),.I4(I4)

);

// End of CFGLUT5_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 48UG974 (v2015.2) 2015 月 6 月 24 日

Page 49: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CMAC

プリミティブ : 100G MAC Block

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : MAC

概要

100G MAC ブロックは、高性能でレイテンシの短い 100G イーサネット ポートを提供し、ユーザー カスタマイズおよび統計収

集を可能にします。1 ステップおよび 2 ステップで 1588 のタイム スタンプをサポートします。このエレメントは、ザイリンクスで

生成された IP 外でインスタンシエート、使用、または変更することはできません。ファブリック インターコネクトを使用する GT

および FPGA クロック リソースと統合して使用するよう設計されています。このコンポーネントの詳細は、『LogiCORE IP

UltraScale Architecture Integrated Block for 100G Ethernet 製品ガイド』 (PG165) を参照してください。

デザインの入力方法

インスタンシエーション 不可

推論 不可

IP および IP インテグレーター カタログ 推奨

詳細情報

• 『UltraScale Architecture Integrated Block for 100G Ethernet 製品ガイド』 (PG165 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 49UG974 (v2015.2) 2015 月 6 月 24 日

Page 50: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

DCIRESET

プリミティブ : Digitally Controlled Impedance Reset Component

プリミティブ グループ : I/Oプリミティブ サブグループ : DCI_RESET

概要

このデザイン エレメントは、コンフィギュレーション後にデジタル制御インピーダンス (DCI) ステート マシンをリセットするため

に使用します。デバイスの動作中に DCIRESET プリミティブへの RST 入力をトグルすることで、DCI ステート マシンがリ

セットされ、インピーダンス調整の両段階が順に実行されます。DCI を使用するすべての I/O は、DCIRESET ブロックの

LOCKED 出力がアサートされるまで使用できません。

ポートの説明

ポート名 方向 幅 機能

LOCKED 出力 1 DCI ステート マシン ロック ステータス出力。Low の場合は DCI I/I インピーダンスは調整中であり、DCI I/O は使用できません。Low から High に遷移すると、DCI I/O を使用できるようになります。

RST 入力 1 DCI ステート マシンへのアクティブ High の非同期リセット入力。RST をアサートすると、LOCKED がアサートされるまで DCI を使用している I/O を使用できなくなります。

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 50UG974 (v2015.2) 2015 月 6 月 24 日

Page 51: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- DCIRESET: Digitally Controlled Impedance Reset Component-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

DCIRESET_inst : DCIRESETport map (

LOCKED => LOCKED, -- 1-bit output: LOCK status outputRST => RST -- 1-bit input: Active-High asynchronous reset input

);

-- End of DCIRESET_inst instantiation

Verilog 記述 (インスタンシエーション)

// DCIRESET: Digitally Controlled Impedance Reset Component// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

DCIRESET DCIRESET_inst (.LOCKED(LOCKED), // 1-bit output: LOCK status output.RST(RST) // 1-bit input: Active-High asynchronous reset input

);

// End of DCIRESET_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 51UG974 (v2015.2) 2015 月 6 月 24 日

Page 52: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

DNA_PORTE2

プリミティブ : Device DNA Access Port

プリミティブ グループ : CONFIGURATIONプリミティブ サブグループ : DNA

概要

DNA_PORT を使用すると、UltraScale™ デバイスのデバイス DNA データ ビット (工場でプログラムされた読み取り専用の固有

ID) を読み込むことができる専用のシフト レジスタにアクセスできます。このコンポーネントを使用すると、DNA データ ビットを

シフトアウトできるだけでなく、補足ビットを含めたり、DNA データをロールオーバーする (初期データのシフトアウト後に DNA

データを繰り返す) こともできます。このコンポーネントは、主にほかの回路と組み合わせて FPGA ビットストリームの不正コ

ピー防止を構築するのに使用します。正しく動作するように、入力および出力をすべてデザインに接続してください。デバイ

ス DNA データにアクセスするにはまず、アクティブ High の READ 信号を 1 クロック サイクル間 High にして、シフト レジスタ

をロードする必要があります。シフト レジスタをロードした後、アクティブ High の SHIFT 入力をイネーブルにして、DOUT 出

力ポートのデータを取り込むことで、データをクロックに同期させてシフトアウトできます。追加のデータがある場合は、適切な

ロジックを DIN ポートに接続すると、96 ビットのシフト レジスタの最後に追加できます。DNA データをロールオーバーする場

合は、DOUT ポートを直接 DIN ポートに接続し、96 ビットのシフト操作の後で同じデータがシフトアウトされるようにします。

追加データが不要な場合は、DIN ポートを論理 0 に固定できます。SIM_DNA_VALUE 属性を設定すると、DNA データ シー

ケンスをシミュレーションできます。デフォルトでは、シミュレーション モデルのデバイス DNA データ ビットはすべて 0 です。

ポートの説明

ポート名 方向 幅 機能

CLK 入力 1 クロック入力

DIN 入力 1 ユーザー データ入力

DOUT 出力 1 DNA 出力データ

READ 入力 1 アクティブ High の DNA ロード入力、アクティブ Low の読み出し入力

SHIFT 入力 1 アクティブ High のシフト イネーブル入力

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 52UG974 (v2015.2) 2015 月 6 月 24 日

Page 53: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

SIM_DNA_VALUE 16 進数 96’h000000000000000000000000~ 96’hfffffffffffffffffffffffd

すべて 0 シミュレーションで使用する 96 ビットの DNA 値を指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- DNA_PORTE2: Device DNA Access Port-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

DNA_PORTE2_inst : DNA_PORTE2generic map (

SIM_DNA_VALUE => X"000000000000000000000000" -- Specifies a sample 96-bit DNA value for simulation)port map (

DOUT => DOUT, -- 1-bit output: DNA output dataCLK => CLK, -- 1-bit input: Clock inputDIN => DIN, -- 1-bit input: User data input pinREAD => READ, -- 1-bit input: Active-High load DNA, active-Low read inputSHIFT => SHIFT -- 1-bit input: Active-High shift enable input

);

-- End of DNA_PORTE2_inst instantiation

Verilog 記述 (インスタンシエーション)

// DNA_PORTE2: Device DNA Access Port// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

DNA_PORTE2 #(.SIM_DNA_VALUE(96’h000000000000000000000000) // Specifies a sample 96-bit DNA value for simulation

)DNA_PORTE2_inst (

.DOUT(DOUT), // 1-bit output: DNA output data

.CLK(CLK), // 1-bit input: Clock input

.DIN(DIN), // 1-bit input: User data input pin

.READ(READ), // 1-bit input: Active-High load DNA, active-Low read input

.SHIFT(SHIFT) // 1-bit input: Active-High shift enable input);

// End of DNA_PORTE2_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 53UG974 (v2015.2) 2015 月 6 月 24 日

Page 54: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

DSP48E2

プリミティブ : 48-bit Multi-Functional Arithmetic Block

プリミティブ グループ : ARITHMETICプリミティブ サブグループ : DSP

UltraScale ライブラリ ガイド http://japan.xilinx.com 54UG974 (v2015.2) 2015 月 6 月 24 日

Page 55: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

概要

このデザイン エレメントは、柔軟性が高く、拡張性のある統合ブロックで、多くの DSP アルゴリズムに使用される小型で高速

な演算処理を可能にします。乗算、加算、減算、累積、シフト、論理演算、パターン検出などを実行できます。

ポートの説明

ポート名 方向 幅 機能

XOROUT<7:0> 出力 8 多入力 XOR 論理ファンクションからのデータ出力

カカカスススケケケーーードドド接接接続続続 ::: カスケード ポート

ACIN<29:0> 入力 30 カスケード接続されている前の DSP48E2 の ACOUT からのデータ入力で、A 入力とマルチプレクサー処理されます。使用しない場合は、ポートをすべて 0 に接続します。

ACOUT<29:0> 出力 30 カスケード接続されている次の DSP48E2 の ACIN へのデータ出力。使用しない場合は未接続にします。

BCIN<17:0> 入力 18 カスケード接続されている前の DSP48E2 の BCOUT からのデータ入力で、B 入力とマルチプレクサー処理されます。使用しない場合は、ポートをすべて 0 に接続します。

BCOUT<17:0> 出力 18 カスケード接続されている次の DSP48E2 の BCIN へのデータ出力。使用しない場合は未接続にします。

CARRYCASCIN 入力 1 カスケード接続されている前の DSP48E2 の CARRYCASCOUT からのキャリー入力

CARRYCASCOUT 出力 1 カスケード接続されている次の DSP48E2 の CARRYCASCIN へのキャリー出力。この信号は、同じ DSP48E2 の CARRYINSEL マルチプレクサー入力に内部フィードバックされます。

MULTSIGNIN 入力 1 前の DSP48E2 から出力された乗算結果の符号。MACC 拡張用です。別の DSP ブロックの MULTSIGNOUT に接続するか、使用しない場合はグランドに接続します。

MULTSIGNOUT 出力 1 次の DSP48E2 に入力される乗算結果の符号。MACC 拡張用です。別の DSP ブロックの MULTSIGNIN に接続するか、使用しない場合はグランドに接続します。

PCIN<47:0> 入力 48 カスケード接続されている前の DSP48E2 の PCOUT から加算へのデータ入力。使用する場合は、カスケード接続されている前のDSP48E2 の PCOUT に接続します。使用しない場合は、ポートをすべて 0 に接続します。

PCOUT<47:0> 出力 48 カスケード接続されている次の DSP48E2 の PCIN へのデータ出力。使用する場合は、カスケード接続されている次の DSP48E2 のPCIN に接続します。使用しない場合は未接続にします。

制制制御御御 ::: 制御入力/ステータス ビット

ALUMODE<3:0> 入力 4 DSP48E2 の論理ファンクションを選択します。

CARRYINSEL<2:0> 入力 3 キャリーのソースを選択します。0 1 1 - PCIN[47] : PCIN の丸め (0 への丸め)1 0 0 - CARRYCASCOUT : 大型の加減算/アキュムレータ向け (内部フィードバックを介した連続操作)。PREG=1 も選択する必要があります。1 0 1 - ~P[47] : P の丸め (無限大への丸め)。PREG=1 も選択する必要があります。1 1 0 - A[24] : XNOR B[17] A x B の丸め1 1 1 - P[47] : P の丸め (ゼロへの丸め)。PREG=1 も選択する必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 55UG974 (v2015.2) 2015 月 6 月 24 日

Page 56: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

CLK 入力 1 DSP48E2 の入力クロックで、すべての内部レジスタおよびフリップフロップで使用されます。

INMODE<4:0> 入力 5 前置加算、A、B、D 入力、および入力レジスタの機能を選択します。使用しない場合は、すべてのビットを 0 に接続する必要があります。

OPMODE<8:0> 入力 9 DSP48E2 に含まれる X、Y、Z マルチプレクサーへの入力を制御して、コンポーネントのファンクションを指定します。

OVERFLOW 出力 1 適切に設定したパターン検出および PREG=1 を使用したときのアクティブ High のオーバーフロー出力

PATTERNBDETECT 出力 1 P[47:0] とパターン バーの一致を示すアクティブ High 出力

PATTERNDETECT 出力 1 P[47:0] と MASK でゲート処理されたパターンの一致を示すアクティブ High 出力。結果は P と同じクロック サイクルで出力されます。

UNDERFLOW 出力 1 適切に設定したパターン検出および PREG=1 を使用したときのアクティブ High のアンダーフロー出力

デデデーーータタタ ::: データ ポート

A<29:0> 入力 30 前置加算、乗算、加減算/アキュムレータ、ALU、連結などの演算用のデータ入力。乗算または前置加算で使用する場合は、データ(A[26:0]) の 27 ビットのみが使用され、上位ビット (A[29:27]) は使用されないのでグランドに接続する必要があります。内部加減算/アキュムレータまたは ALU 回路で使用する場合は、30 ビットすべてが使用されます (A[29:0])。連結モードで使用する場合は、30 ビットすべてが使用され、連結ベクターの MSB (上位) ビットを構成します。使用しない場合は、すべてのビットを High に接続します。

B<17:0> 入力 18 乗算の B 入力です。A と B の連結入力の下位ビット (LSB) でもあり、2 段目の加減算または論理ファンクションに入力されます。使用しない場合は、すべてのビットを High に接続します。

C<47:0> 入力 48 加減算、パターン検出、または論理ファンクションのデータ入力使用しない場合は、すべてのビットを High に接続します。

CARRYIN 入力 1 FPGA ロジックからのキャリー入力

CARRYOUT<3:0> 出力 4 各累積/加算/論理ユニットの 12 ビット フィールドから出力される 4ビット キャリー出力。通常の 48 ビット操作では CARRYOUT3 のみが使用されます。SIMD 操作では、4 つのキャリー アウト ビット(CARRYOUT[3:0]) を使用できます。

D<26:0> 入力 27 前置加算への 27 ビット データ入力、または乗算への代替入力。前置加算では、INMODE3 信号の指定に応じた D + A がインプリメントされます。使用しない場合は、すべてのビットを High に接続します。

P<47:0> 出力 48 2 段目の加減算または論理ファンクションからのデータ出力

リリリセセセッッットトト///クククロロロッッッククク イイイネネネーーーブブブルルル ::: リセット/クロック イネーブル入力

CEAD 入力 1 前置加算出力 AD パイプライン レジスタのアクティブ High のクロック イネーブル。使用しない場合および ADREG=1 の場合は、論理 1に接続します。ADREG=0 の場合は論理 0 に接続します。

CEALUMODE 入力 1 ALUMODE (制御入力) レジスタ (ALUMODEREG=1) のアクティブHigh のクロック イネーブル。使用しない場合は論理 1 に接続します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 56UG974 (v2015.2) 2015 月 6 月 24 日

Page 57: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

CEA1 入力 1 最初の A (入力) レジスタのアクティブ High のクロック イネーブル。AREG=2 または INMODE0 = 1 の場合にのみ使用します。2 つのレジスタが使用される場合は、このレジスタが 1 段目になります。ダイナミック AB アクセスが使用されている場合、このクロック イネーブルは INMODE[0]=1 に適用されます。A ポートを使用しない場合は、すべてのビットを Low に接続します。

CEA2 入力 1 2 番目の A (入力) レジスタのアクティブ High のクロック イネーブル。2 つのレジスタが使用される場合は、このレジスタが 2 段目になります。使用するレジスタが 1 つの場合 (AREG=1)、CEA2 はクロック イネーブルになります。A ポートを使用しない場合は、すべてのビットを Low に接続します。

CEB1 入力 1 最初の B (入力) レジスタのアクティブ High のクロック イネーブル。2 つのレジスタが使用される場合は、このレジスタが 1 段目になります。ダイナミック AB アクセスが使用されている場合、このクロック イネーブルは INMODE[4]=1 に適用されます。B ポートを使用しない場合は、すべてのビットを Low に接続します。

CEB2 入力 1 2 番目の B (入力) レジスタのアクティブ High のクロック イネーブル。BREG=1 または 2 の場合にのみ使用します。使用しない場合および BREG=1 または 2 の場合は論理 1 に、BREG=0 の場合は論理 0 に接続します。2 つのレジスタが使用される場合は、このレジスタが 2 段目になります。使用するレジスタが 1 つの場合(BREG=1)、CEB2 はクロック イネーブルになります。

CEC 入力 1 C (入力) レジスタ (CREG=1) のアクティブ High のクロック イネーブル。C ポートを使用しない場合は、すべてのビットを Low に接続します。

CECARRYIN 入力 1 CARRYIN (ファブリックからの入力) レジスタ (CARRYINREG=1) のアクティブ High のクロック イネーブル。使用しない場合は論理1 に接続します。

CECTRL 入力 1 OPMODE および CARRYINSEL (制御入力) レジスタ(OPMODEREG=1 または CARRYINSELREG=1) のアクティブ Highのクロック イネーブル。使用しない場合は論理 1 に接続します。

CED 入力 1 D (入力) レジスタ (DREG=1) のアクティブ High のクロック イネーブル。D ポートを使用しない場合は、すべてのビットを Low に接続します。

CEINMODE 入力 1 INMODE 制御入力レジスタ (INMODEREG=1) のアクティブ High のクロック イネーブル。使用しない場合は論理 1 に接続します。

CEM 入力 1 後置乗算 M (パイプライン) レジスタおよび内部乗算丸め CARRYINレジスタ (MREG=1) のアクティブ High のクロック イネーブル。使用しない場合は論理 1 に接続します。

CEP 入力 1 P (出力) レジスタ (PREG=1) のアクティブ High のクロック イネーブル。使用しない場合は論理 1 に接続します。

RSTA 入力 1 2 つの A (入力) レジスタ (AREG=1 または 2) の同期リセット。極性は IS_RSTA_INVERTED 属性で指定します。A ポートを使用しない場合は、論理 0 に接続します。

RSTALLCARRYIN 入力 1 キャリー (内部パス) および CARRYIN レジスタ (CARRYINREG=1)の同期リセット。極性は IS_RSTALLCARRYIN_INVERTED 属性で指定します。使用しない場合は論理 0 に接続します。

RSTALUMODE 入力 1 ALUMODE (制御入力) レジスタ (ALUMODEREG=1) の同期リセット。極性は IS_RSTALUMODE_INVERTED 属性で指定します。使用しない場合は論理 0 に接続します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 57UG974 (v2015.2) 2015 月 6 月 24 日

Page 58: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

RSTB 入力 1 2 つの B (入力) レジスタ (BREG=1 または 2) の同期リセット。極性は IS_RSTB_INVERTED 属性で指定します。B ポートを使用しない場合は、論理 0 に接続します。

RSTC 入力 1 C (入力) レジスタ (CREG=1) の同期リセット。極性はIS_RSTC_INVERTED 属性で指定します。C ポートを使用しない場合は、論理 0 に接続します。

RSTCTRL 入力 1 OPMODE および CARRYINSEL (制御入力) レジスタ(OPMODEREG=1 と CARRYINSELREG=1 の両方またはいずれか)の同期リセット。極性は IS_RSTCTRL_INVERTED 属性で指定します。使用しない場合は論理 0 に接続します。

RSTD 入力 1 D (入力) レジスタおよび前置加算 (出力) AD パイプライン レジスタ(DREG=1 と ADREG=1 の両方またはいずれか) の同期リセット。極性は IS_RSTD_INVERTED 属性で指定します。B ポートを使用しない場合は、論理 0 に接続します。

RSTINMODE 入力 1 INMODE (制御入力) レジスタ (INMODEREG=1) の同期リセット。極性は IS_RSTINMODE_INVERTED 属性で指定します。使用しない場合は論理 0 に接続します。

RSTM 入力 1 M (パイプライン) レジスタ (MREG=1) の同期リセット。極性はIS_RSTM_INVERTED 属性で指定します。使用しない場合は論理0 に接続します。

RSTP 入力 1 P (出力) レジスタ (PREG=1) の同期リセット。極性はIS_RSTP_INVERTED 属性で指定します。使用しない場合は論理0 に接続します。

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

機機機能能能制制制御御御属属属性性性 ::: 対応する入力ポートの使用方法を指定します (ファブリックからの入力を使用するか ("DIRECT")、別のDSP48E2 からの入力を使用するか ("CASCADE") など)。

A_INPUT 文字列 "DIRECT"、"CASCADE"

"DIRECT" A ポートへの入力として、パラレル入力 ("DIRECT") またはカスケード接続されている前の DSP48E2 からの入力("CASCADE") のいずれかを選択します。

AMULTSEL 文字列 "A"、"AD" "A" 乗算の 27 ビット A 入力への入力を選択します。

B_INPUT 文字列 "DIRECT"、"CASCADE"

"DIRECT" B ポートへの入力として、パラレル入力 ("DIRECT") またはカスケード接続されている前の DSP48E2 からの入力("CASCADE") のいずれかを選択します。

BMULTSEL 文字列 "B"、"AD" "B" 乗算の 18 ビット B 入力への入力を選択します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 58UG974 (v2015.2) 2015 月 6 月 24 日

Page 59: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

PREADDINSEL 文字列 "A"、"B" "A" 前置加算で D に加算する入力を選択します。

RND 16 進数 48 ビット値 すべて 0 WMUX への丸め定数を指定します。

USE_MULT 文字列 "MULTIPLY"、"DYNAMIC"、"NONE"

"MULTIPLY" 乗算機能の使用方法を選択します。

• "MULTIPLY" : 乗算を使用します。

• "NONE" : 加算/論理ユニットのみ

を使用する場合に消費電力を節約

します。

• "DYNAMIC" : A*B と A:B をダイナ

ミックに切り替え、この 2 つのパスの

ワーストケース タイミングを取得する

必要があることを示します。

USE_SIMD 文字列 "ONE48"、"TWO24"、"FOUR12"

"ONE48" 加減算の動作モードを選択します。1つの 48 ビット加算モードにするには"ONE48"、2 つの 24 ビット加算モードにするには "TWO24"、4 つの 12 ビット加算モードにするには "FOUR12" を指定します。通常の乗算/加算操作は、"ONE48" が設定されているときにサポートされています。"TWO24" または"FOUR12" モードを選択する場合は、乗算は使用せず、USE_MULT を "NONE"に設定する必要があります。

USE_WIDEXOR 文字列 "FALSE"、"TRUE" "FALSE" 多入力 XOR を使用するかどうかを指定します。

XORSIMD 文字列 "XOR24_48_96"、"XOR12"

"XOR24_48_96" 多入力 XOR の動作モードを選択します。1 つの 96 ビット加算、2 つの 48ビット、4 つの 24 ビット XOR モード("XOR24_48_96")、または 8 つの 12 ビット XOR モード ("XOR12") を選択できます。

パパパタタターーーンンン検検検出出出属属属性性性 ::: パターン検出に関する設定

AUTORESET_PATDET

文字列 "NO_RESET"、"RESET_MATCH"、"RESET_NOT_MATCH"

"NO_RESET" あるクロック サイクルでパターン検出イベントが発生した場合、その次のクロック サイクルで P レジスタ (累積値またはカウンター値) を自動的にリセットします。"RESET_MATCH" および"RESET_NOT_MATCH" は、次のサイクルで P レジスタを自動リセットする条件を指定します。

• "RESET_MATCH" : パターンが一

致した場合に自動リセット

• "RESET_NOT_MATCH" : 1 つ前の

サイクルでパターンが一致していた

が現在のサイクルでパターンが一致

しない場合に自動リセット

UltraScale ライブラリ ガイド http://japan.xilinx.com 59UG974 (v2015.2) 2015 月 6 月 24 日

Page 60: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

AUTORESET_PRIORITY

文字列 "RESET"、"CEP" "RESET" AUTORESET_PATDET 機能を使用する場合に、AUTORESET またはクロック イネーブル (CEP) のどちらを優先するかを指定します。

MASK 16 進数 48 ビット値 48’h3fffffffffff 48 ビット値を使用してパターン検出中に特定のビットをマスクし、パターン検出の対象外にします。MASK ビットを 1 に設定すると対応するパターン ビットが無視され、0 に設定するとパターン ビットが比較されます。

PATTERN 16 進数 48 ビット値 すべて 0 パターン検出で使用されます。

SEL_MASK 文字列 "MASK"、"C"、"ROUNDING_MODE1"、"ROUNDING_MODE2"

"MASK" パターン検出で使用されるマスクを指定します。"C" および "MASK" は、パターン検出を標準的に使用する際の設定です(カウンター、オーバーフロー検出など)。"ROUNDING_MODE1" (C バーを左に 1シフト) および "ROUNDING_MODE2" (Cバーを左に 2 シフト) に設定すると、オプションでレジスタを付けた C ポートに基づき、特別マスクが選択されます。これらの丸めモードは、パターン検出を使用して DSP48E2 に収束丸めをインプリメントするのに使用できます。

SEL_PATTERN 文字列 "PATTERN"、"C" "PATTERN" パターン フィールドの入力ソースを選択します。入力ソースには、48 ビットのダイナミック C 入力または 48 ビットのスタティック PATTERN 属性フィールドを指定できます。

USE_PATTERN_DETECT

文字列 "NO_PATDET"、"PATDET"

"NO_PATDET" パターン検出および関連機能を使用するか ("PATDET")、使用しないか("NO_PATDET") を選択します。この属性は、スピード仕様およびシミュレーション モデル用にのみ使用します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (CLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_ALUMODE_INVERTED

2 進数 4’b0000 ~ 4’b1111 4’b0000 各 ALUMODE ピンにオプションの反転を使用するかどうかを指定します。

IS_CARRYIN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CARRYIN ピンにオプションの反転を使用するかどうかを指定します。

IS_CLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLK ピンにオプションの反転を使用するかどうかを指定します。

IS_INMODE_INVERTED

2 進数 5’b00000 ~ 5’b11111 5’b00000 各 INMODE ピンにオプションの反転を使用するかどうかを指定します。

IS_OPMODE_INVERTED

2 進数 9’b000000000 ~9’b111111111

9’b000000000 各 OPMODE ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTA_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RSTA ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 60UG974 (v2015.2) 2015 月 6 月 24 日

Page 61: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

IS_RSTALLCARRYIN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RSTALLCARRYIN ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTALUMODE_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RSTALUMODE ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTB_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RSTB ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTC_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RSTC ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTCTRL_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RSTCTRL ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTD_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RSTD ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTINMODE_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RSTINMODE ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTM_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RSTM ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTP_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RSTP ピンにオプションの反転を使用するかどうかを指定します。

レレレジジジスススタタタ制制制御御御属属属性性性 ::: パイプライン レジスタに関する設定

ACASCREG 10 進数 1、0、2 1 AREG 属性と組み合わせて使用し、A カスケード パス ACOUT の A 入力レジスタの数を指定します。この値は、AREGの値以下にする必要があります。

• AREG=0 : ACASCREG を 0 にする

必要があります。

• AREG=1 : ACASCREG を 1 にする

必要があります。

• AREG=2 : ACASCREG を 1 または

2 に設定できます。

ADREG 10 進数 1、0 1 前置加算パイプライン レジスタの数を選択します。

ALUMODEREG 10 進数 1、0 1 ALUMODE 入力レジスタの数を選択します。

AREG 10 進数 1、0、2 1 A 入力パイプライン レジスタの数を選択します。A ポートを使用しない場合は、1に設定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 61UG974 (v2015.2) 2015 月 6 月 24 日

Page 62: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

BCASCREG 10 進数 1、0、2 1 BREG 属性と組み合わせて使用し、B カスケード パス BCOUT の B 入力レジスタの数を指定します。この値は、BREGの値以下にする必要があります。

• BREG=0 : BCASCREG を 0 にする

必要があります。

• BREG=1 : BCASCREG を 1 にする

必要があります。

• BREG=2 : BCASCREG を 1 または

2 に設定できます。

BREG 10 進数 1、0、2 1 B 入力レジスタの数を選択します。Bポートを使用しない場合は、1 に設定します。

CARRYINREG 10 進数 1、0 1 CARRYIN 入力レジスタの数を選択します。

CARRYINSELREG 10 進数 1、0 1 CARRYINSEL 入力レジスタの数を選択します。

CREG 10 進数 1、0 1 C 入力レジスタの数を選択します。Cポートを使用しない場合は、1 に設定します。

DREG 10 進数 1、0 1 D 入力レジスタの数を選択します。Dポートを使用しない場合は、1 に設定します。

INMODEREG 10 進数 1、0 1 INMODE 入力レジスタの数を選択します。

MREG 10 進数 1、0 1 乗算出力 (M) パイプライン レジスタの段数を選択します。

OPMODEREG 10 進数 1、0 1 OPMODE 入力レジスタの数を選択します。

PREG 10 進数 1、0 1 P 出力レジスタの数を選択します。レジスタが付いている出力には、CARRYOUT、CARRYCASCOUT、MULTSIGNOUT、PATTERNB_DETECT、PATTERN_DETECT、PCOUT が含まれます。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- DSP48E2: 48-bit Multi-Functional Arithmetic Block-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

DSP48E2_inst : DSP48E2generic map (

-- Feature Control Attributes: Data Path Selection

UltraScale ライブラリ ガイド http://japan.xilinx.com 62UG974 (v2015.2) 2015 月 6 月 24 日

Page 63: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

AMULTSEL => "A", -- Selects A input to multiplier (A, AD)A_INPUT => "DIRECT", -- Selects A input source, "DIRECT" (A port) or "CASCADE" (ACIN port)BMULTSEL => "B", -- Selects B input to multiplier (AD, B)B_INPUT => "DIRECT", -- Selects B input source, "DIRECT" (B port) or "CASCADE" (BCIN port)PREADDINSEL => "A", -- Selects input to preadder (A, B)RND => X"000000000000", -- Rounding ConstantUSE_MULT => "MULTIPLY", -- Select multiplier usage (DYNAMIC, MULTIPLY, NONE)USE_SIMD => "ONE48", -- SIMD selection (FOUR12, ONE48, TWO24)USE_WIDEXOR => "FALSE", -- Use the Wide XOR function (FALSE, TRUE)XORSIMD => "XOR24_48_96", -- Mode of operation for the Wide XOR (XOR12, XOR24_48_96)-- Pattern Detector Attributes: Pattern Detection ConfigurationAUTORESET_PATDET => "NO_RESET", -- NO_RESET, RESET_MATCH, RESET_NOT_MATCHAUTORESET_PRIORITY => "RESET", -- Priority of AUTORESET vs.CEP (CEP, RESET).MASK => X"3fffffffffff", -- 48-bit mask value for pattern detect (1=ignore)PATTERN => X"000000000000", -- 48-bit pattern match for pattern detectSEL_MASK => "MASK", -- C, MASK, ROUNDING_MODE1, ROUNDING_MODE2SEL_PATTERN => "PATTERN", -- Select pattern value (C, PATTERN)USE_PATTERN_DETECT => "NO_PATDET", -- Enable pattern detect (NO_PATDET, PATDET)-- Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pinsIS_ALUMODE_INVERTED => "0000", -- Optional inversion for ALUMODEIS_CARRYIN_INVERTED => ’0’, -- Optional inversion for CARRYINIS_CLK_INVERTED => ’0’, -- Optional inversion for CLKIS_INMODE_INVERTED => "00000", -- Optional inversion for INMODEIS_OPMODE_INVERTED => "000000000", -- Optional inversion for OPMODEIS_RSTALLCARRYIN_INVERTED => ’0’, -- Optional inversion for RSTALLCARRYINIS_RSTALUMODE_INVERTED => ’0’, -- Optional inversion for RSTALUMODEIS_RSTA_INVERTED => ’0’, -- Optional inversion for RSTAIS_RSTB_INVERTED => ’0’, -- Optional inversion for RSTBIS_RSTCTRL_INVERTED => ’0’, -- Optional inversion for RSTCTRLIS_RSTC_INVERTED => ’0’, -- Optional inversion for RSTCIS_RSTD_INVERTED => ’0’, -- Optional inversion for RSTDIS_RSTINMODE_INVERTED => ’0’, -- Optional inversion for RSTINMODEIS_RSTM_INVERTED => ’0’, -- Optional inversion for RSTMIS_RSTP_INVERTED => ’0’, -- Optional inversion for RSTP-- Register Control Attributes: Pipeline Register ConfigurationACASCREG => 1, -- Number of pipeline stages between A/ACIN and ACOUT (0-2)ADREG => 1, -- Pipeline stages for pre-adder (0-1)ALUMODEREG => 1, -- Pipeline stages for ALUMODE (0-1)AREG => 1, -- Pipeline stages for A (0-2)BCASCREG => 1, -- Number of pipeline stages between B/BCIN and BCOUT (0-2)BREG => 1, -- Pipeline stages for B (0-2)CARRYINREG => 1, -- Pipeline stages for CARRYIN (0-1)CARRYINSELREG => 1, -- Pipeline stages for CARRYINSEL (0-1)CREG => 1, -- Pipeline stages for C (0-1)DREG => 1, -- Pipeline stages for D (0-1)INMODEREG => 1, -- Pipeline stages for INMODE (0-1)MREG => 1, -- Multiplier pipeline stages (0-1)OPMODEREG => 1, -- Pipeline stages for OPMODE (0-1)PREG => 1 -- Number of pipeline stages for P (0-1)

)port map (

-- Cascade outputs: Cascade PortsACOUT => ACOUT, -- 30-bit output: A port cascadeBCOUT => BCOUT, -- 18-bit output: B cascadeCARRYCASCOUT => CARRYCASCOUT, -- 1-bit output: Cascade carryMULTSIGNOUT => MULTSIGNOUT, -- 1-bit output: Multiplier sign cascadePCOUT => PCOUT, -- 48-bit output: Cascade output-- Control outputs: Control Inputs/Status BitsOVERFLOW => OVERFLOW, -- 1-bit output: Overflow in add/accPATTERNBDETECT => PATTERNBDETECT, -- 1-bit output: Pattern bar detectPATTERNDETECT => PATTERNDETECT, -- 1-bit output: Pattern detectUNDERFLOW => UNDERFLOW, -- 1-bit output: Underflow in add/acc-- Data outputs: Data PortsCARRYOUT => CARRYOUT, -- 4-bit output: CarryP => P, -- 48-bit output: Primary dataXOROUT => XOROUT, -- 8-bit output: XOR data-- Cascade inputs: Cascade PortsACIN => ACIN, -- 30-bit input: A cascade dataBCIN => BCIN, -- 18-bit input: B cascadeCARRYCASCIN => CARRYCASCIN, -- 1-bit input: Cascade carryMULTSIGNIN => MULTSIGNIN, -- 1-bit input: Multiplier sign cascadePCIN => PCIN, -- 48-bit input: P cascade

UltraScale ライブラリ ガイド http://japan.xilinx.com 63UG974 (v2015.2) 2015 月 6 月 24 日

Page 64: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

-- Control inputs: Control Inputs/Status BitsALUMODE => ALUMODE, -- 4-bit input: ALU controlCARRYINSEL => CARRYINSEL, -- 3-bit input: Carry selectCLK => CLK, -- 1-bit input: ClockINMODE => INMODE, -- 5-bit input: INMODE controlOPMODE => OPMODE, -- 9-bit input: Operation mode-- Data inputs: Data PortsA => A, -- 30-bit input: A dataB => B, -- 18-bit input: B dataC => C, -- 48-bit input: C dataCARRYIN => CARRYIN, -- 1-bit input: Carry-inD => D, -- 27-bit input: D data-- Reset/Clock Enable inputs: Reset/Clock Enable InputsCEA1 => CEA1, -- 1-bit input: Clock enable for 1st stage AREGCEA2 => CEA2, -- 1-bit input: Clock enable for 2nd stage AREGCEAD => CEAD, -- 1-bit input: Clock enable for ADREGCEALUMODE => CEALUMODE, -- 1-bit input: Clock enable for ALUMODECEB1 => CEB1, -- 1-bit input: Clock enable for 1st stage BREGCEB2 => CEB2, -- 1-bit input: Clock enable for 2nd stage BREGCEC => CEC, -- 1-bit input: Clock enable for CREGCECARRYIN => CECARRYIN, -- 1-bit input: Clock enable for CARRYINREGCECTRL => CECTRL, -- 1-bit input: Clock enable for OPMODEREG and CARRYINSELREGCED => CED, -- 1-bit input: Clock enable for DREGCEINMODE => CEINMODE, -- 1-bit input: Clock enable for INMODEREGCEM => CEM, -- 1-bit input: Clock enable for MREGCEP => CEP, -- 1-bit input: Clock enable for PREGRSTA => RSTA, -- 1-bit input: Reset for AREGRSTALLCARRYIN => RSTALLCARRYIN, -- 1-bit input: Reset for CARRYINREGRSTALUMODE => RSTALUMODE, -- 1-bit input: Reset for ALUMODEREGRSTB => RSTB, -- 1-bit input: Reset for BREGRSTC => RSTC, -- 1-bit input: Reset for CREGRSTCTRL => RSTCTRL, -- 1-bit input: Reset for OPMODEREG and CARRYINSELREGRSTD => RSTD, -- 1-bit input: Reset for DREG and ADREGRSTINMODE => RSTINMODE, -- 1-bit input: Reset for INMODEREGRSTM => RSTM, -- 1-bit input: Reset for MREGRSTP => RSTP -- 1-bit input: Reset for PREG

);

-- End of DSP48E2_inst instantiation

Verilog 記述 (インスタンシエーション)

// DSP48E2: 48-bit Multi-Functional Arithmetic Block// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

DSP48E2 #(// Feature Control Attributes: Data Path Selection.AMULTSEL("A"), // Selects A input to multiplier (A, AD).A_INPUT("DIRECT"), // Selects A input source, "DIRECT" (A port) or "CASCADE" (ACIN port).BMULTSEL("B"), // Selects B input to multiplier (AD, B).B_INPUT("DIRECT"), // Selects B input source, "DIRECT" (B port) or "CASCADE" (BCIN port).PREADDINSEL("A"), // Selects input to preadder (A, B).RND(48’h000000000000), // Rounding Constant.USE_MULT("MULTIPLY"), // Select multiplier usage (DYNAMIC, MULTIPLY, NONE).USE_SIMD("ONE48"), // SIMD selection (FOUR12, ONE48, TWO24).USE_WIDEXOR("FALSE"), // Use the Wide XOR function (FALSE, TRUE).XORSIMD("XOR24_48_96"), // Mode of operation for the Wide XOR (XOR12, XOR24_48_96)// Pattern Detector Attributes: Pattern Detection Configuration.AUTORESET_PATDET("NO_RESET"), // NO_RESET, RESET_MATCH, RESET_NOT_MATCH.AUTORESET_PRIORITY("RESET"), // Priority of AUTORESET vs.CEP (CEP, RESET)..MASK(48’h3fffffffffff), // 48-bit mask value for pattern detect (1=ignore).PATTERN(48’h000000000000), // 48-bit pattern match for pattern detect.SEL_MASK("MASK"), // C, MASK, ROUNDING_MODE1, ROUNDING_MODE2.SEL_PATTERN("PATTERN"), // Select pattern value (C, PATTERN).USE_PATTERN_DETECT("NO_PATDET"), // Enable pattern detect (NO_PATDET, PATDET)// Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pins.IS_ALUMODE_INVERTED(4’b0000), // Optional inversion for ALUMODE.IS_CARRYIN_INVERTED(1’b0), // Optional inversion for CARRYIN.IS_CLK_INVERTED(1’b0), // Optional inversion for CLK

UltraScale ライブラリ ガイド http://japan.xilinx.com 64UG974 (v2015.2) 2015 月 6 月 24 日

Page 65: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.IS_INMODE_INVERTED(5’b00000), // Optional inversion for INMODE

.IS_OPMODE_INVERTED(9’b000000000), // Optional inversion for OPMODE

.IS_RSTALLCARRYIN_INVERTED(1’b0), // Optional inversion for RSTALLCARRYIN

.IS_RSTALUMODE_INVERTED(1’b0), // Optional inversion for RSTALUMODE

.IS_RSTA_INVERTED(1’b0), // Optional inversion for RSTA

.IS_RSTB_INVERTED(1’b0), // Optional inversion for RSTB

.IS_RSTCTRL_INVERTED(1’b0), // Optional inversion for RSTCTRL

.IS_RSTC_INVERTED(1’b0), // Optional inversion for RSTC

.IS_RSTD_INVERTED(1’b0), // Optional inversion for RSTD

.IS_RSTINMODE_INVERTED(1’b0), // Optional inversion for RSTINMODE

.IS_RSTM_INVERTED(1’b0), // Optional inversion for RSTM

.IS_RSTP_INVERTED(1’b0), // Optional inversion for RSTP// Register Control Attributes: Pipeline Register Configuration.ACASCREG(1), // Number of pipeline stages between A/ACIN and ACOUT (0-2).ADREG(1), // Pipeline stages for pre-adder (0-1).ALUMODEREG(1), // Pipeline stages for ALUMODE (0-1).AREG(1), // Pipeline stages for A (0-2).BCASCREG(1), // Number of pipeline stages between B/BCIN and BCOUT (0-2).BREG(1), // Pipeline stages for B (0-2).CARRYINREG(1), // Pipeline stages for CARRYIN (0-1).CARRYINSELREG(1), // Pipeline stages for CARRYINSEL (0-1).CREG(1), // Pipeline stages for C (0-1).DREG(1), // Pipeline stages for D (0-1).INMODEREG(1), // Pipeline stages for INMODE (0-1).MREG(1), // Multiplier pipeline stages (0-1).OPMODEREG(1), // Pipeline stages for OPMODE (0-1).PREG(1) // Number of pipeline stages for P (0-1)

)DSP48E2_inst (

// Cascade outputs: Cascade Ports.ACOUT(ACOUT), // 30-bit output: A port cascade.BCOUT(BCOUT), // 18-bit output: B cascade.CARRYCASCOUT(CARRYCASCOUT), // 1-bit output: Cascade carry.MULTSIGNOUT(MULTSIGNOUT), // 1-bit output: Multiplier sign cascade.PCOUT(PCOUT), // 48-bit output: Cascade output// Control outputs: Control Inputs/Status Bits.OVERFLOW(OVERFLOW), // 1-bit output: Overflow in add/acc.PATTERNBDETECT(PATTERNBDETECT), // 1-bit output: Pattern bar detect.PATTERNDETECT(PATTERNDETECT), // 1-bit output: Pattern detect.UNDERFLOW(UNDERFLOW), // 1-bit output: Underflow in add/acc// Data outputs: Data Ports.CARRYOUT(CARRYOUT), // 4-bit output: Carry.P(P), // 48-bit output: Primary data.XOROUT(XOROUT), // 8-bit output: XOR data// Cascade inputs: Cascade Ports.ACIN(ACIN), // 30-bit input: A cascade data.BCIN(BCIN), // 18-bit input: B cascade.CARRYCASCIN(CARRYCASCIN), // 1-bit input: Cascade carry.MULTSIGNIN(MULTSIGNIN), // 1-bit input: Multiplier sign cascade.PCIN(PCIN), // 48-bit input: P cascade// Control inputs: Control Inputs/Status Bits.ALUMODE(ALUMODE), // 4-bit input: ALU control.CARRYINSEL(CARRYINSEL), // 3-bit input: Carry select.CLK(CLK), // 1-bit input: Clock.INMODE(INMODE), // 5-bit input: INMODE control.OPMODE(OPMODE), // 9-bit input: Operation mode// Data inputs: Data Ports.A(A), // 30-bit input: A data.B(B), // 18-bit input: B data.C(C), // 48-bit input: C data.CARRYIN(CARRYIN), // 1-bit input: Carry-in.D(D), // 27-bit input: D data// Reset/Clock Enable inputs: Reset/Clock Enable Inputs.CEA1(CEA1), // 1-bit input: Clock enable for 1st stage AREG.CEA2(CEA2), // 1-bit input: Clock enable for 2nd stage AREG.CEAD(CEAD), // 1-bit input: Clock enable for ADREG.CEALUMODE(CEALUMODE), // 1-bit input: Clock enable for ALUMODE.CEB1(CEB1), // 1-bit input: Clock enable for 1st stage BREG.CEB2(CEB2), // 1-bit input: Clock enable for 2nd stage BREG.CEC(CEC), // 1-bit input: Clock enable for CREG.CECARRYIN(CECARRYIN), // 1-bit input: Clock enable for CARRYINREG.CECTRL(CECTRL), // 1-bit input: Clock enable for OPMODEREG and CARRYINSELREG

UltraScale ライブラリ ガイド http://japan.xilinx.com 65UG974 (v2015.2) 2015 月 6 月 24 日

Page 66: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.CED(CED), // 1-bit input: Clock enable for DREG

.CEINMODE(CEINMODE), // 1-bit input: Clock enable for INMODEREG

.CEM(CEM), // 1-bit input: Clock enable for MREG

.CEP(CEP), // 1-bit input: Clock enable for PREG

.RSTA(RSTA), // 1-bit input: Reset for AREG

.RSTALLCARRYIN(RSTALLCARRYIN), // 1-bit input: Reset for CARRYINREG

.RSTALUMODE(RSTALUMODE), // 1-bit input: Reset for ALUMODEREG

.RSTB(RSTB), // 1-bit input: Reset for BREG

.RSTC(RSTC), // 1-bit input: Reset for CREG

.RSTCTRL(RSTCTRL), // 1-bit input: Reset for OPMODEREG and CARRYINSELREG

.RSTD(RSTD), // 1-bit input: Reset for DREG and ADREG

.RSTINMODE(RSTINMODE), // 1-bit input: Reset for INMODEREG

.RSTM(RSTM), // 1-bit input: Reset for MREG

.RSTP(RSTP) // 1-bit input: Reset for PREG);

// End of DSP48E2_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 66UG974 (v2015.2) 2015 月 6 月 24 日

Page 67: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

EFUSE_USR

プリミティブ : 32-bit non-volatile design ID

プリミティブ グループ : CONFIGURATIONプリミティブ サブグループ : EFUSE

概要

このデザイン エレメントを使用すると、ユーザーがプログラム可能な不揮発性の eFUSE レジスタの 32 ビットにアクセ

スできます。

ポートの説明

ポート名 方向 幅 機能

EFUSEUSR<31:0> 出力 32 ユーザー eFUSE レジスタ値出力

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

SIM_EFUSE_VALUE 16 進数 32 ビット値 すべて 0 シミュレーションで使用される 32 ビットの不揮発性の値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 67UG974 (v2015.2) 2015 月 6 月 24 日

Page 68: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- EFUSE_USR: 32-bit non-volatile design ID-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

EFUSE_USR_inst : EFUSE_USRgeneric map (

SIM_EFUSE_VALUE => X"00000000" -- Value of the 32-bit non-volatile value used in simulation)port map (

EFUSEUSR => EFUSEUSR -- 32-bit output: User eFUSE register value output);

-- End of EFUSE_USR_inst instantiation

Verilog 記述 (インスタンシエーション)

// EFUSE_USR: 32-bit non-volatile design ID// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

EFUSE_USR #(.SIM_EFUSE_VALUE(32’h00000000) // Value of the 32-bit non-volatile value used in simulation

)EFUSE_USR_inst (

.EFUSEUSR(EFUSEUSR) // 32-bit output: User eFUSE register value output);

// End of EFUSE_USR_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 68UG974 (v2015.2) 2015 月 6 月 24 日

Page 69: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

FDCE

プリミティブ : D Flip-Flop with Clock Enable and Asynchronous Clear

プリミティブ グループ : REGISTERプリミティブ サブグループ : SDR

概要

このデザイン エレメントは、クロック イネーブルと非同期クリアがある単一の D タイプ フリップフロップです。クロック イネーブ

ル (CE) が High、非同期クリア (CLR) がアサートされていない場合、クロック (C) が遷移したときにデータ入力 (D) の値が

データ出力 (Q) に送られます。CLR がアクティブになると、ほかのすべての入力は無視され、出力 (Q) の値が Low にリセッ

トされます。CE が Low の場合、クロック遷移は無視されます。

電力を供給すると、フリップフロップは非同期に初期化されます。電源投入時または STARTUP ブロックがアサートされてグ

ローバル セット/リセット (GSR) がアクティブになると、レジスタの出力は INIT 属性で指定された値になります。

論理表

入力 出力

CLR CE D C Q

1 X X X 0

0 0 X X 変化なし

0 1 D ↑ D

ポートの説明

ポート名 方向 幅 機能

C 入力 1 クロック入力。極性は IS_C_INVERTED 属性で指定します。

CE 入力 1 アクティブ High のレジスタ クロック イネーブル

CLR 入力 1 非同期クリア。極性は IS_CLR_INVERTED 属性で指定します。

D 入力 1 データ入力

Q 出力 1 データ出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 69UG974 (v2015.2) 2015 月 6 月 24 日

Page 70: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 2 進数 1’b0、1’b1 1’b0 コンフィギュレーション後および STARTUP ブロックで GSR がアサートされた時の Q 出力の初期値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (C) に対して 1 に設定すると、クロックの立下りエッジで動作するレジスタが作成されます。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_CLR_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLR ピンにオプションの反転を使用するかどうかを指定します。

IS_CLR_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLR ピンにオプションの反転を使用するかどうかを指定します。

IS_CLR_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLR ピンにオプションの反転を使用するかどうかを指定します。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 70UG974 (v2015.2) 2015 月 6 月 24 日

Page 71: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- FDCE: D Flip-Flop with Clock Enable and Asynchronous Clear-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

FDCE_inst : FDCEgeneric map (

INIT => ’0’, -- Initial value of register, ’0’, ’1’-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversionIS_CLR_INVERTED => ’0’, -- Optional inversion for CLRIS_C_INVERTED => ’0’, -- Optional inversion for CIS_D_INVERTED => ’0’ -- Optional inversion for D

)port map (

Q => Q, -- 1-bit output: DataC => C, -- 1-bit input: ClockCE => CE, -- 1-bit input: Clock enableCLR => CLR, -- 1-bit input: Asynchronous clearD => D -- 1-bit input: Data

);

-- End of FDCE_inst instantiation

Verilog 記述 (インスタンシエーション)

// FDCE: D Flip-Flop with Clock Enable and Asynchronous Clear// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

FDCE #(.INIT(1’b0), // Initial value of register, 1’b0, 1’b1// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion.IS_CLR_INVERTED(1’b0), // Optional inversion for CLR.IS_C_INVERTED(1’b0), // Optional inversion for C.IS_D_INVERTED(1’b0) // Optional inversion for D

)FDCE_inst (

.Q(Q), // 1-bit output: Data

.C(C), // 1-bit input: Clock

.CE(CE), // 1-bit input: Clock enable

.CLR(CLR), // 1-bit input: Asynchronous clear

.D(D) // 1-bit input: Data);

// End of FDCE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 71UG974 (v2015.2) 2015 月 6 月 24 日

Page 72: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

FDPE

プリミティブ : D Flip-Flop with Clock Enable and Asynchronous Preset

プリミティブ グループ : REGISTERプリミティブ サブグループ : SDR

概要

このデザイン エレメントは、クロック イネーブルと非同期プリセットがある単一の D タイプ フリップフロップです。クロック

イネーブル (CE) が High、非同期プリセット (PRE) がアサートされていない場合、クロック (C) が遷移したときにデータ

入力 (D) の値がデータ出力 (Q) に送られます。PRE がアサートされると、ほかの入力は無視され、データ出力 (Q) が

High にプリセットされます。CE が Low の場合、クロック遷移は無視されます。

電力を供給すると、フリップフロップは非同期に初期化されます。電源投入時または STARTUP ブロックがアサートされてグ

ローバル セット/リセット (GSR) がアクティブになると、レジスタの出力は INIT 属性で指定された値になります。

論理表

入力 出力

PRE CE D C Q

1 X X X 1

0 0 X X 変化なし

0 1 D ↑ D

ポートの説明

ポート名 方向 幅 機能

C 入力 1 クロック入力。極性は IS_C_INVERTED 属性で指定します。

CE 入力 1 アクティブ High のレジスタ クロック イネーブル

D 入力 1 データ入力

PRE 入力 1 非同期プリセット。極性は IS_PRE_INVERTED 属性で指定します。

Q 出力 1 データ出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 72UG974 (v2015.2) 2015 月 6 月 24 日

Page 73: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 2 進数 1’b1、1’b0 1’b1 コンフィギュレーション後および STARTUP ブロックで GSR がアサートされた時の Q 出力の初期値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (C) に対して 1 に設定すると、クロックの立下りエッジで動作するレジスタが作成されます。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_PRE_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 PRE ピンにオプションの反転を使用するかどうかを指定します。

IS_PRE_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 PRE ピンにオプションの反転を使用するかどうかを指定します。

IS_PRE_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 PRE ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 73UG974 (v2015.2) 2015 月 6 月 24 日

Page 74: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- FDPE: D Flip-Flop with Clock Enable and Asynchronous Preset-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

FDPE_inst : FDPEgeneric map (

INIT => ’1’, -- Initial value of register, ’0’, ’1’-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversionIS_C_INVERTED => ’0’, -- Optional inversion for CIS_D_INVERTED => ’0’, -- Optional inversion for DIS_PRE_INVERTED => ’0’ -- Optional inversion for PRE

)port map (

Q => Q, -- 1-bit output: DataC => C, -- 1-bit input: ClockCE => CE, -- 1-bit input: Clock enableD => D, -- 1-bit input: DataPRE => PRE -- 1-bit input: Asynchronous preset

);

-- End of FDPE_inst instantiation

Verilog 記述 (インスタンシエーション)

// FDPE: D Flip-Flop with Clock Enable and Asynchronous Preset// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

FDPE #(.INIT(1’b1), // Initial value of register, 1’b0, 1’b1// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion.IS_C_INVERTED(1’b0), // Optional inversion for C.IS_D_INVERTED(1’b0), // Optional inversion for D.IS_PRE_INVERTED(1’b0) // Optional inversion for PRE

)FDPE_inst (

.Q(Q), // 1-bit output: Data

.C(C), // 1-bit input: Clock

.CE(CE), // 1-bit input: Clock enable

.D(D), // 1-bit input: Data

.PRE(PRE) // 1-bit input: Asynchronous preset);

// End of FDPE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 74UG974 (v2015.2) 2015 月 6 月 24 日

Page 75: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

FDRE

プリミティブ : D Flip-Flop with Clock Enable and Synchronous Reset

プリミティブ グループ : REGISTERプリミティブ サブグループ : SDR

概要

このデザイン エレメントは、クロック イネーブルと同期リセットがある単一の D タイプ フリップフロップです。クロック イネーブ

ル (CE) が High、同期リセット (R) がアサートされていない場合、クロック (C) が遷移したときにデータ入力 (D) の値がデータ

出力 (Q) に送られます。R がアクティブになると、ほかの入力はすべて無視され、次のクロック遷移でデータ出力 (Q) の値

が Low にリセットされます。CE が Low の場合、クロック遷移は無視されます。

電力を供給すると、フリップフロップは非同期に初期化されます。電源投入時または STARTUP ブロックがアサートされてグ

ローバル セット/リセット (GSR) がアクティブになると、レジスタの出力は INIT 属性で指定された値になります。

論理表

入力 出力

R CE D C Q

1 X X ↑ 0

0 0 X X 変化なし

0 1 D ↑ D

ポートの説明

ポート名 方向 幅 機能

C 入力 1 クロック入力。極性は IS_C_INVERTED 属性で指定します。

CE 入力 1 アクティブ High のレジスタ クロック イネーブル

D 入力 1 データ入力

Q 出力 1 データ出力

R 入力 1 同期リセット。極性は IS_R_INVERTED 属性で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 75UG974 (v2015.2) 2015 月 6 月 24 日

Page 76: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 2 進数 1’b0、1’b1 1’b0 コンフィギュレーション後および STARTUP ブロックでGSR がアサートされた時の Q 出力の初期値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (C) に対して 1 に設定すると、クロックの立下りエッジで動作するレジスタが作成されます。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_R_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 R ピンにオプションの反転を使用するかどうかを指定します。

IS_R_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 R ピンにオプションの反転を使用するかどうかを指定します。

IS_R_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 R ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 76UG974 (v2015.2) 2015 月 6 月 24 日

Page 77: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- FDRE: D Flip-Flop with Clock Enable and Synchronous Reset-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

FDRE_inst : FDREgeneric map (

INIT => ’0’, -- Initial value of register, ’0’, ’1’-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversionIS_C_INVERTED => ’0’, -- Optional inversion for CIS_D_INVERTED => ’0’, -- Optional inversion for DIS_R_INVERTED => ’0’ -- Optional inversion for R

)port map (

Q => Q, -- 1-bit output: DataC => C, -- 1-bit input: ClockCE => CE, -- 1-bit input: Clock enableD => D, -- 1-bit input: DataR => R -- 1-bit input: Synchronous reset

);

-- End of FDRE_inst instantiation

Verilog 記述 (インスタンシエーション)

// FDRE: D Flip-Flop with Clock Enable and Synchronous Reset// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

FDRE #(.INIT(1’b0), // Initial value of register, 1’b0, 1’b1// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion.IS_C_INVERTED(1’b0), // Optional inversion for C.IS_D_INVERTED(1’b0), // Optional inversion for D.IS_R_INVERTED(1’b0) // Optional inversion for R

)FDRE_inst (

.Q(Q), // 1-bit output: Data

.C(C), // 1-bit input: Clock

.CE(CE), // 1-bit input: Clock enable

.D(D), // 1-bit input: Data

.R(R) // 1-bit input: Synchronous reset);

// End of FDRE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 77UG974 (v2015.2) 2015 月 6 月 24 日

Page 78: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

FDSE

プリミティブ : D Flip-Flop with Clock Enable and Synchronous Set

プリミティブ グループ : REGISTERプリミティブ サブグループ : SDR

概要

このデザイン エレメントは、クロック イネーブルと同期セットがある単一の D タイプ フリップフロップです。クロック イネーブル

(CE) が High、同期セット (S) がアサートされていない場合、クロック (C) が遷移したときにデータ入力 (D) の値がデータ出力

(Q) に送られます。S がアクティブになると、ほかの入力はすべて無視され、次のクロック遷移でデータ出力 (Q) の値が

High にリセットされます。CE が Low の場合、クロック遷移は無視されます。

電力を供給すると、フリップフロップは非同期に初期化されます。電源投入時または STARTUP ブロックがアサートされてグ

ローバル セット/リセット (GSR) がアクティブになると、レジスタの出力は INIT 属性で指定された値になります。

論理表

入力 出力

S CE D C Q

1 X X ↑ 1

0 0 X X 変化なし

0 1 D ↑ D

ポートの説明

ポート名 方向 幅 機能

C 入力 1 クロック入力。極性は IS_C_INVERTED 属性で指定します。

CE 入力 1 アクティブ High のレジスタ クロック イネーブル

D 入力 1 データ入力

Q 出力 1 データ出力

S 入力 1 同期セット。極性は IS_S_INVERTED 属性で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 78UG974 (v2015.2) 2015 月 6 月 24 日

Page 79: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 2 進数 1’b1、1’b0 1’b1 コンフィギュレーション後および STARTUP ブロックで GSR がアサートされた時の Q 出力の初期値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (C) に対して 1 に設定すると、クロックの立下りエッジで動作するレジスタが作成されます。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 C ピンにオプションの反転を使用するかどうかを指定します。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_D_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D ピンにオプションの反転を使用するかどうかを指定します。I/O レジスタとして使用しない場合は、0 に設定する必要があります。

IS_S_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 S ピンにオプションの反転を使用するかどうかを指定します。

IS_S_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 S ピンにオプションの反転を使用するかどうかを指定します。

IS_S_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 S ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 79UG974 (v2015.2) 2015 月 6 月 24 日

Page 80: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- FDSE: D Flip-Flop with Clock Enable and Synchronous Set-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

FDSE_inst : FDSEgeneric map (

INIT => ’1’, -- Initial value of register, ’0’, ’1’-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversionIS_C_INVERTED => ’0’, -- Optional inversion for CIS_D_INVERTED => ’0’, -- Optional inversion for DIS_S_INVERTED => ’0’ -- Optional inversion for S

)port map (

Q => Q, -- 1-bit output: DataC => C, -- 1-bit input: ClockCE => CE, -- 1-bit input: Clock enableD => D, -- 1-bit input: DataS => S -- 1-bit input: Synchronous set

);

-- End of FDSE_inst instantiation

Verilog 記述 (インスタンシエーション)

// FDSE: D Flip-Flop with Clock Enable and Synchronous Set// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

FDSE #(.INIT(1’b1), // Initial value of register, 1’b0, 1’b1// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion.IS_C_INVERTED(1’b0), // Optional inversion for C.IS_D_INVERTED(1’b0), // Optional inversion for D.IS_S_INVERTED(1’b0) // Optional inversion for S

)FDSE_inst (

.Q(Q), // 1-bit output: Data

.C(C), // 1-bit input: Clock

.CE(CE), // 1-bit input: Clock enable

.D(D), // 1-bit input: Data

.S(S) // 1-bit input: Synchronous set);

// End of FDSE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 80UG974 (v2015.2) 2015 月 6 月 24 日

Page 81: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

FIFO18E2

プリミティブ : 18Kb FIFO (First-In-First-Out) Block RAM Memory

プリミティブ グループ : BLOCKRAMプリミティブ サブグループ : FIFO

概要

FIFO18E2 は、専用制御ロジックおよび 18Kb ブロック RAM を使用して、コンフィギュレーション可能な FIFO 機能を作成しま

す。このプリミティブは、4 ビット X 4K、9 ビット X 2K、18 ビット X 1K、または 36 ビット X 512 コンフィギュレーションで使用で

きます。また、関連するすべての FIFO フラグおよびステータス信号を持つ、同期モードまたはデュアル クロック (非同期)

モードにコンフィギュレーションできます。カスケード機能もあり、複数の FIFO18E2 コンポーネントをチェーン接続して

より深い FIFO コンフィギュレーションを作成できます。

デュアル クロック モードで独立したクロックを使用する場合、読み出しクロック エッジと書き込みクロック エッジ間のオフ

セットによっては、Empty、Almost Empty、Full、および Almost Full フラグが 1 クロック サイクル後にディアサートされる

ことがあります。クロックが非同期のため、シミュレーション モデルにはユーザー ガイドに示されているディアサート

レイテンシ サイクルのみが反映されます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 81UG974 (v2015.2) 2015 月 6 月 24 日

Page 82: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

カカカスススケケケーーードドド信信信号号号 ::: 複数の FIFO をカスケード接続する際に使用する信号

CASDIN<31:0> 入力 32 FIFO を直列または並列にカスケード接続した場合に、前の FIFO のCASDOUT バスを接続するデータ入力バス。CASCADE_ORDER が"MIDDLE"、"LAST"、または "PARALLEL" の場合にのみ使用します。

CASDINP<3:0> 入力 4 FIFO を直列または並列にカスケード接続した場合に、前の FIFO のCASDOUTP バスを接続するパリティ データ入力バス。CASCADE_ORDERが "MIDDLE"、"LAST"、または "PARALLEL" の場合にのみ使用します。

CASDOMUX 入力 1 ブロック RAM 出力のカスケード マルチプレクサーへのセレクト ラインを駆動するフリップフロップへの D 入力。CASCADE_ORDER が "PARALLEL"の場合にのみ使用します。

CASDOMUXEN 入力 1 ブロック RAM 出力のカスケード マルチプレクサーへのセレクト ラインを駆動するフリップフロップへの EN 入力。CASCADE_ORDER が "PARALLEL"の場合にのみ使用します。

CASDOUT<31:0> 出力 32 FIFO を直列または並列にカスケード接続した場合に、次の FIFO CASDIN入力に接続するデータ出力バス。CASCADE_ORDER が "FIRST"、"MIDDLE"、または "PARALLEL" の場合にのみ使用します。

CASDOUTP<3:0> 出力 4 FIFO を直列または並列にカスケード接続した場合に、次の FIFO CASDINP入力に接続するパリティ データ出力バス。CASCADE_ORDER が "FIRST"、"MIDDLE"、または "PARALLEL" の場合にのみ使用します。

CASNXTEMPTY 出力 1 FIFO を直列または並列にカスケード接続した場合に使用される、前のFIFO からの EMPTY 入力。前の FIFO の CASNXTEMPTY に接続します。CASCADE_ORDER が "MIDDLE" または "LAST" の場合にのみ使用します。

CASNXTRDEN 入力 1 FIFO を直列または並列にカスケード接続した場合に使用される、次のFIFO からの RDEN 入力。次の FIFO の CASPRVRDEN に接続します。CASCADE_ORDER が "FIRST" または "MIDDLE" の場合にのみ使用します。

CASOREGIMUX 入力 1 出力レジスタの前にあるカスケード マルチプレクサーへのセレクト ラインを駆動するフリップフロップへの D 入力。CASCADE_ORDER="PARALLEL"および REGISTER_MODE="DO_PIPELINED" の場合にのみ使用します。

CASOREGIMUXEN 入力 1 出力レジスタの前にあるカスケード マルチプレクサーへのセレクト ラインを駆動するフリップフロップへの EN 入力。CASCADE_ORDER="PARALLEL"および REGISTER_MODE="DO_PIPELINED" の場合にのみ使用します。

CASPRVEMPTY 入力 1 FIFO を直列または並列にカスケード接続した場合に使用される、前のFIFO からの EMPTY 入力。前の FIFO の CASNXTEMPTY に接続します。CASCADE_ORDER が "MIDDLE" または "LAST" の場合にのみ使用します。

CASPRVRDEN 出力 1 FIFO を直列または並列にカスケード接続した場合に使用される、前の (PRV) FIFO の RDEN 入力を駆動する制御出力。前の FIFO のCASNXTRDEN に接続します。CASCADE_ORDER が "MIDDLE" または"LAST" の場合にのみ使用します。

読読読みみみ出出出ししし制制制御御御信信信号号号 ::: 読み出し用のクロック、イネーブル、およびリセット入力信号

RDCLK 入力 1 読み出しクロック

RDEN 入力 1 アクティブ High の読み出しイネーブル

REGCE 入力 1 出力レジスタ段のアクティブ High のイネーブル

RSTREG 入力 1 出力レジスタ リセットのアクティブ High のイネーブル

UltraScale ライブラリ ガイド http://japan.xilinx.com 82UG974 (v2015.2) 2015 月 6 月 24 日

Page 83: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

SLEEP 入力 1 消費電力を削減するためのダイナミック シャットダウン。High の場合、ブロックは消費電力削減モードです。SLEEP_ASYNC=FALSE の場合は RDCLKに同期し、それ以外は非同期です。

読読読みみみ出出出しししデデデーーータタタ ::: 読み出し出力データ

DOUT<31:0> 出力 32 FIFO データ出力バス。RDCLK に同期しています。

DOUTP<3:0> 出力 4 FIFO パリティ出力バス。RDCLK に同期しています。

ススステテテーーータタタススス ::: 書き込みエラーが発生したことを示します。FIFO がフルのときに書き込みを行うと、アサートされます。WRCLK に同期しています。

EMPTY 出力 1 FIFO が空であることを示すアクティブ High のフラグ。RDCLK に同期しています。

FULL 出力 1 FIFO がフルであることを示すアクティブ High のフラグ。WRCLK に同期しています。

PROGEMPTY 出力 1 FIFO がほぼ空 (PROG_EMPTY_THRESH で指定された数以下のワードを含む) であることを示すプログラマブル フラグ。RDCLK に同期しています。

PROGFULL 出力 1 FIFO がほぼフル (PROG_FULL_THRESH で指定された数以上のワードを含む) であることを示すプログラマブル フラグ

RDCOUNT<12:0> 出力 13 内部 FIFO 読み出しポインターまたは FIFO 内のワード数のカウントを示す出力。RDCLK に同期しています。出力値は RDCOUNT_TYPE で指定されます。

RDERR 出力 1 FIFO が空であるかリセット状態であるために、読み出し操作が実行されなかったことを示します。RDCLK に同期しています。

RDRSTBUSY 出力 1 FIFO が現在リセット状態であることを示すアクティブ High の信号。RDCLKに同期しています。

WRCOUNT<12:0> 出力 13 内部 FIFO 書き込みポインターまたは FIFO 内のワード数のカウントを示す出力。WRCLK に同期しています。出力値は WRCOUNT_TYPE で指定されます。

WRERR 出力 1 FIFO がフルであるかリセット状態であるために、書き込み操作が実行されなかったことを示します。WRCLK に同期しています。

WRRSTBUSY 出力 1 FIFO が現在リセット状態であることを示すアクティブ High の信号。WRCLKに同期しています。

書書書ききき込込込みみみ制制制御御御信信信号号号 ::: 書き込み用のクロックおよびイネーブル入力信号

RST 入力 1 アクティブ High の同期リセット。WRCLK に同期しています。

WRCLK 入力 1 書き込みクロック

WREN 入力 1 アクティブ High のライト イネーブル

書書書ききき込込込みみみデデデーーータタタ ::: 書き込み入力データ

DIN<31:0> 入力 32 FIFO データ入力バス。WRCLK に同期しています。

DINP<3:0> 入力 4 FIFO パリティ入力バス。WRCLK に同期しています。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

UltraScale ライブラリ ガイド http://japan.xilinx.com 83UG974 (v2015.2) 2015 月 6 月 24 日

Page 84: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

CASCADE_ORDER 文字列 "NONE"、"FIRST"、"LAST"、"MIDDLE"、"PARALLEL"

"NONE" より深い FIFO を作成するために複数の FIFO18E2 を接続するカスケード機能の使用、コンフィギュレーション、および位置を指定します。

CLOCK_DOMAINS 文字列 "INDEPENDENT"、"COMMON"

"INDEPENDENT" 共通クロック (同期操作) と独立クロック (非同期) のどちらを使用するかを指定します。

FIRST_WORD_FALLTHROUGH

文字列 "FALSE"、"TRUE" "FALSE" TRUE に設定すると、RDEN がアサートされずに FIFO に最初に書き込まれた値が DO に出力されます。

INIT 16 進数 36 ビット値 すべて 0 コンフィギュレーション後の DO出力の初期値を指定します。

PROG_EMPTY_THRESH

10 進数 1 ~ 8191 256 PROGEMPTY 出力をトリガーする書き込みポインター(WRCOUNT) と読み出しポインター (RDCOUNT) の差を指定します。

PROG_FULL_THRESH 10 進数 1 ~ 8191 256 PROGFULL 出力をトリガーする書き込みポインター(WRCOUNT) と読み出しポインター (RDCOUNT) の差を指定します。

RDCOUNT_TYPE 文字列 "RAW_PNTR"、"EXTENDED_DATACOUNT"、"SIMPLE_DATACOUNT"、"SYNC_PNTR"

"RAW_PNTR" RDCOUNT データのタイプとフォーマットを指定します。

READ_WIDTH 10 進数 4、9、18、36 4 FIFO の読み出し側のデータ幅を指定します。

REGISTER_MODE 文字列 "UNREGISTERED"、"DO_PIPELINED"、"REGISTERED"

"UNREGISTERED" 出力レジスタのモードを指定します。

RSTREG_PRIORITY 文字列 "RSTREG"、"REGCE" "RSTREG" リセットとイネーブルの優先順位を指定します。

SLEEP_ASYNC 文字列 "FALSE"、"TRUE" "FALSE" BRAM スリープ モードを非同期動作にするか同期動作にするかを指定します。

SRVAL 16 進数 36 ビット値 すべて 0 RST/RSTREG がアサートされた後の FIFO のビットごとの極性を指定します。

WRCOUNT_TYPE 文字列 "RAW_PNTR"、"EXTENDED_DATACOUNT"、"SIMPLE_DATACOUNT"、"SYNC_PNTR"

"RAW_PNTR" WRCOUNT データのタイプとフォーマットを指定します。

WRITE_WIDTH 10 進数 4、9、18、36 4 FIFO の書き込み側のデータ幅を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 84UG974 (v2015.2) 2015 月 6 月 24 日

Page 85: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLK または RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_RDCLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RDCLK ピンにオプションの反転を使用するかどうかを指定します。

IS_RDEN_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RDEN ピンにオプションの反転を使用するかどうかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTREG_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RSTREG ピンにオプションの反転を使用するかどうかを指定します。

IS_WRCLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 WRCLK ピンにオプションの反転を使用するかどうかを指定します。

IS_WREN_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WREN ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- FIFO18E2: 18Kb FIFO (First-In-First-Out) Block RAM Memory-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

FIFO18E2_inst : FIFO18E2generic map (

CASCADE_ORDER => "NONE", -- FIRST, LAST, MIDDLE, NONE, PARALLELCLOCK_DOMAINS => "INDEPENDENT", -- COMMON, INDEPENDENTFIRST_WORD_FALL_THROUGH => "FALSE", -- FALSE, TRUEINIT => X"000000000", -- Initial values on output portPROG_EMPTY_THRESH => 256, -- Programmable Empty ThresholdPROG_FULL_THRESH => 256, -- Programmable Full Threshold-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversionIS_RDCLK_INVERTED => ’0’, -- Optional inversion for RDCLKIS_RDEN_INVERTED => ’0’, -- Optional inversion for RDENIS_RSTREG_INVERTED => ’0’, -- Optional inversion for RSTREGIS_RST_INVERTED => ’0’, -- Optional inversion for RSTIS_WRCLK_INVERTED => ’0’, -- Optional inversion for WRCLKIS_WREN_INVERTED => ’0’, -- Optional inversion for WRENRDCOUNT_TYPE => "RAW_PNTR", -- EXTENDED_DATACOUNT, RAW_PNTR, SIMPLE_DATACOUNT, SYNC_PNTRREAD_WIDTH => 4, -- 18-9REGISTER_MODE => "UNREGISTERED", -- DO_PIPELINED, REGISTERED, UNREGISTEREDRSTREG_PRIORITY => "RSTREG", -- REGCE, RSTREGSLEEP_ASYNC => "FALSE", -- FALSE, TRUESRVAL => X"000000000", -- SET/reset value of the FIFO outputs

UltraScale ライブラリ ガイド http://japan.xilinx.com 85UG974 (v2015.2) 2015 月 6 月 24 日

Page 86: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

WRCOUNT_TYPE => "RAW_PNTR", -- EXTENDED_DATACOUNT, RAW_PNTR, SIMPLE_DATACOUNT, SYNC_PNTRWRITE_WIDTH => 4 -- 18-9

)port map (

-- Cascade Signals outputs: Multi-FIFO cascade signalsCASDOUT => CASDOUT, -- 32-bit output: Data cascade output busCASDOUTP => CASDOUTP, -- 4-bit output: Parity data cascade output busCASNXTEMPTY => CASNXTEMPTY, -- 1-bit output: Cascade next emptyCASPRVRDEN => CASPRVRDEN, -- 1-bit output: Cascade previous read enable-- Read Data outputs: Read output dataDOUT => DOUT, -- 32-bit output: FIFO data output busDOUTP => DOUTP, -- 4-bit output: FIFO parity output bus.-- Status outputs: Flags and other FIFO status outputsEMPTY => EMPTY, -- 1-bit output: EmptyFULL => FULL, -- 1-bit output: FullPROGEMPTY => PROGEMPTY, -- 1-bit output: Programmable emptyPROGFULL => PROGFULL, -- 1-bit output: Programmable fullRDCOUNT => RDCOUNT, -- 13-bit output: Read countRDERR => RDERR, -- 1-bit output: Read errorRDRSTBUSY => RDRSTBUSY, -- 1-bit output: Reset busy (sync to RDCLK)WRCOUNT => WRCOUNT, -- 13-bit output: Write countWRERR => WRERR, -- 1-bit output: Write ErrorWRRSTBUSY => WRRSTBUSY, -- 1-bit output: Reset busy (sync to WRCLK)-- Cascade Signals inputs: Multi-FIFO cascade signalsCASDIN => CASDIN, -- 32-bit input: Data cascade input busCASDINP => CASDINP, -- 4-bit input: Parity data cascade input busCASDOMUX => CASDOMUX, -- 1-bit input: Cascade MUX selectCASDOMUXEN => CASDOMUXEN, -- 1-bit input: Enable for cascade MUX selectCASNXTRDEN => CASNXTRDEN, -- 1-bit input: Cascade next read enableCASOREGIMUX => CASOREGIMUX, -- 1-bit input: Cascade output MUX selectCASOREGIMUXEN => CASOREGIMUXEN, -- 1-bit input: Cascade output MUX seelct enableCASPRVEMPTY => CASPRVEMPTY, -- 1-bit input: Cascade previous empty-- Read Control Signals inputs: Read clock, enable and reset input signalsRDCLK => RDCLK, -- 1-bit input: Read clockRDEN => RDEN, -- 1-bit input: Read enableREGCE => REGCE, -- 1-bit input: Output register clock enableRSTREG => RSTREG, -- 1-bit input: Output register resetSLEEP => SLEEP, -- 1-bit input: Sleep Mode-- Write Control Signals inputs: Write clock and enable input signalsRST => RST, -- 1-bit input: ResetWRCLK => WRCLK, -- 1-bit input: Write clockWREN => WREN, -- 1-bit input: Write enable-- Write Data inputs: Write input dataDIN => DIN, -- 32-bit input: FIFO data input busDINP => DINP -- 4-bit input: FIFO parity input bus

);

-- End of FIFO18E2_inst instantiation

Verilog 記述 (インスタンシエーション)

// FIFO18E2: 18Kb FIFO (First-In-First-Out) Block RAM Memory// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

FIFO18E2 #(.CASCADE_ORDER("NONE"), // FIRST, LAST, MIDDLE, NONE, PARALLEL.CLOCK_DOMAINS("INDEPENDENT"), // COMMON, INDEPENDENT.FIRST_WORD_FALL_THROUGH("FALSE"), // FALSE, TRUE.INIT(36’h000000000), // Initial values on output port.PROG_EMPTY_THRESH(256), // Programmable Empty Threshold.PROG_FULL_THRESH(256), // Programmable Full Threshold// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion.IS_RDCLK_INVERTED(1’b0), // Optional inversion for RDCLK.IS_RDEN_INVERTED(1’b0), // Optional inversion for RDEN.IS_RSTREG_INVERTED(1’b0), // Optional inversion for RSTREG.IS_RST_INVERTED(1’b0), // Optional inversion for RST.IS_WRCLK_INVERTED(1’b0), // Optional inversion for WRCLK.IS_WREN_INVERTED(1’b0), // Optional inversion for WREN.RDCOUNT_TYPE("RAW_PNTR"), // EXTENDED_DATACOUNT, RAW_PNTR, SIMPLE_DATACOUNT, SYNC_PNTR

UltraScale ライブラリ ガイド http://japan.xilinx.com 86UG974 (v2015.2) 2015 月 6 月 24 日

Page 87: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.READ_WIDTH(4), // 18-9

.REGISTER_MODE("UNREGISTERED"), // DO_PIPELINED, REGISTERED, UNREGISTERED

.RSTREG_PRIORITY("RSTREG"), // REGCE, RSTREG

.SLEEP_ASYNC("FALSE"), // FALSE, TRUE

.SRVAL(36’h000000000), // SET/reset value of the FIFO outputs

.WRCOUNT_TYPE("RAW_PNTR"), // EXTENDED_DATACOUNT, RAW_PNTR, SIMPLE_DATACOUNT, SYNC_PNTR

.WRITE_WIDTH(4) // 18-9)FIFO18E2_inst (

// Cascade Signals outputs: Multi-FIFO cascade signals.CASDOUT(CASDOUT), // 32-bit output: Data cascade output bus.CASDOUTP(CASDOUTP), // 4-bit output: Parity data cascade output bus.CASNXTEMPTY(CASNXTEMPTY), // 1-bit output: Cascade next empty.CASPRVRDEN(CASPRVRDEN), // 1-bit output: Cascade previous read enable// Read Data outputs: Read output data.DOUT(DOUT), // 32-bit output: FIFO data output bus.DOUTP(DOUTP), // 4-bit output: FIFO parity output bus.// Status outputs: Flags and other FIFO status outputs.EMPTY(EMPTY), // 1-bit output: Empty.FULL(FULL), // 1-bit output: Full.PROGEMPTY(PROGEMPTY), // 1-bit output: Programmable empty.PROGFULL(PROGFULL), // 1-bit output: Programmable full.RDCOUNT(RDCOUNT), // 13-bit output: Read count.RDERR(RDERR), // 1-bit output: Read error.RDRSTBUSY(RDRSTBUSY), // 1-bit output: Reset busy (sync to RDCLK).WRCOUNT(WRCOUNT), // 13-bit output: Write count.WRERR(WRERR), // 1-bit output: Write Error.WRRSTBUSY(WRRSTBUSY), // 1-bit output: Reset busy (sync to WRCLK)// Cascade Signals inputs: Multi-FIFO cascade signals.CASDIN(CASDIN), // 32-bit input: Data cascade input bus.CASDINP(CASDINP), // 4-bit input: Parity data cascade input bus.CASDOMUX(CASDOMUX), // 1-bit input: Cascade MUX select.CASDOMUXEN(CASDOMUXEN), // 1-bit input: Enable for cascade MUX select.CASNXTRDEN(CASNXTRDEN), // 1-bit input: Cascade next read enable.CASOREGIMUX(CASOREGIMUX), // 1-bit input: Cascade output MUX select.CASOREGIMUXEN(CASOREGIMUXEN), // 1-bit input: Cascade output MUX seelct enable.CASPRVEMPTY(CASPRVEMPTY), // 1-bit input: Cascade previous empty// Read Control Signals inputs: Read clock, enable and reset input signals.RDCLK(RDCLK), // 1-bit input: Read clock.RDEN(RDEN), // 1-bit input: Read enable.REGCE(REGCE), // 1-bit input: Output register clock enable.RSTREG(RSTREG), // 1-bit input: Output register reset.SLEEP(SLEEP), // 1-bit input: Sleep Mode// Write Control Signals inputs: Write clock and enable input signals.RST(RST), // 1-bit input: Reset.WRCLK(WRCLK), // 1-bit input: Write clock.WREN(WREN), // 1-bit input: Write enable// Write Data inputs: Write input data.DIN(DIN), // 32-bit input: FIFO data input bus.DINP(DINP) // 4-bit input: FIFO parity input bus

);

// End of FIFO18E2_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 87UG974 (v2015.2) 2015 月 6 月 24 日

Page 88: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

FIFO36E2

プリミティブ : 36Kb FIFO (First-In-First-Out) Block RAM Memory

プリミティブ グループ : BLOCKRAMプリミティブ サブグループ : FIFO

概要

FIFO36E2 は、専用制御ロジックおよび 36Kb ブロック RAM を使用して、コンフィギュレーション可能な FIFO 機能を作成しま

す。このプリミティブは、4 ビット X 8K、9 ビット X 4K、18 ビット X 2K、36 ビット X 1K、または 72 ビット X 512 コンフィギュ

レーションで使用できます。また、関連するすべての FIFO フラグおよびステータス信号を持つ、同期モードまたはデュア

ル クロック (非同期) モードにコンフィギュレーションできます。カスケード機能もあり、複数の FIFO36E2 コンポーネン

トをチェーン接続してより深い FIFO コンフィギュレーションを作成できます。

デュアル クロック モードで独立したクロックを使用する場合、読み出しクロック エッジと書き込みクロック エッジ間のオフ

セットによっては、Empty、Almost Empty、Full、および Almost Full フラグが 1 クロック サイクル後にディアサートされる

ことがあります。クロックが非同期のため、シミュレーション モデルにはユーザー ガイドに示されているディアサート

レイテンシ サイクルのみが反映されます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 88UG974 (v2015.2) 2015 月 6 月 24 日

Page 89: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

カカカスススケケケーーードドド信信信号号号 ::: 複数の FIFO をカスケード接続する際に使用する信号

CASDIN<63:0> 入力 64 FIFO を直列または並列にカスケード接続した場合に、前の FIFO のCASDOUT バスを接続するデータ入力バス。CASCADE_ORDER が"MIDDLE"、"LAST"、または "PARALLEL" の場合にのみ使用します。

CASDINP<7:0> 入力 8 FIFO を直列または並列にカスケード接続した場合に、前の FIFO のCASDOUTP バスを接続するパリティ データ入力バス。CASCADE_ORDER が"MIDDLE"、"LAST"、または "PARALLEL" の場合にのみ使用します。

CASDOMUX 入力 1 ブロック RAM 出力のカスケード マルチプレクサーへのセレクト ラインを駆動するフリップフロップへの D 入力。CASCADE_ORDER が "PARALLEL"の場合にのみ使用します。

CASDOMUXEN 入力 1 ブロック RAM 出力のカスケード マルチプレクサーへのセレクト ラインを駆動するフリップフロップへの EN 入力。CASCADE_ORDER が "PARALLEL"の場合にのみ使用します。

CASDOUT<63:0> 出力 64 FIFO を直列または並列にカスケード接続した場合に、次の FIFO CASDIN 入力に接続するデータ出力バス。CASCADE_ORDER が "FIRST"、"MIDDLE"、または "PARALLEL" の場合にのみ使用します。

CASDOUTP<7:0> 出力 8 FIFO を直列または並列にカスケード接続した場合に、次の FIFO CASDINP入力に接続するパリティ データ出力バス。CASCADE_ORDER が "FIRST"、"MIDDLE"、または "PARALLEL" の場合にのみ使用します。

CASNXTEMPTY 出力 1 FIFO を直列または並列にカスケード接続した場合に使用される、前のFIFO からの EMPTY 入力。前の FIFO の CASNXTEMPTY に接続します。CASCADE_ORDER が "MIDDLE" または "LAST" の場合にのみ使用します。

CASNXTRDEN 入力 1 FIFO を直列または並列にカスケード接続した場合に使用される、次のFIFO からの RDEN 入力。次の FIFO の CASPRVRDEN に接続します。CASCADE_ORDER が "FIRST" または "MIDDLE" の場合にのみ使用します。

CASOREGIMUX 入力 1 出力レジスタの前にあるカスケード マルチプレクサーへのセレクト ラインを駆動するフリップフロップへの D 入力。CASCADE_ORDER="PARALLEL" および REGISTER_MODE="DO_PIPELINED" の場合にのみ使用します。

CASOREGIMUXEN 入力 1 出力レジスタの前にあるカスケード マルチプレクサーへのセレクト ラインを駆動するフリップフロップへの EN 入力。CASCADE_ORDER="PARALLEL" および REGISTER_MODE="DO_PIPELINED" の場合にのみ使用します。

CASPRVEMPTY 入力 1 FIFO を直列または並列にカスケード接続した場合に使用される、前のFIFO からの EMPTY 入力。前の FIFO の CASNXTEMPTY に接続します。CASCADE_ORDER が "MIDDLE" または "LAST" の場合にのみ使用します。

CASPRVRDEN 出力 1 FIFO を直列または並列にカスケード接続した場合に使用される、前の (PRV)FIFO の RDEN 入力を駆動する制御出力。前の FIFO の CASNXTRDENに接続します。CASCADE_ORDER が "MIDDLE" または "LAST" の場合にのみ使用します。

ECCECCECC 信信信号号号 ::: 誤り訂正回路のポート

DBITERR 出力 1 読み出し中にダブル ビット エラーが検出されたことを示す ECC ファンクションからのステータス出力。ECC 機能を使用する場合は、EN_ECC_READ をTRUE に設定する必要があります。RDCLK に同期しています。

ECCPARITY<7:0> 出力 8 ECC デコーダーでメモリの誤りを検出および訂正するために使用される、ECC エンコーダーで生成された 8 ビット データ。EN_ECC_WRITE=1 の場合に適用されます。WRCLK に同期しています。

INJECTDBITERR 入力 1 EN_ECC_WRITE=1 の場合に適用されます。書き込み中に DI のビット 30 と62 にダブル ビット エラーを挿入します。WRCLK に同期しています。

UltraScale ライブラリ ガイド http://japan.xilinx.com 89UG974 (v2015.2) 2015 月 6 月 24 日

Page 90: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

INJECTSBITERR 入力 1 EN_ECC_WRITE=1 の場合に適用されます。書き込み中に DI のビット 30 にシングル ビット エラーを挿入します。

SBITERR 出力 1 読み出し中にシングル ビット エラーが検出されたことを示す ECC 出力。RDCLK に同期しています。

読読読みみみ出出出ししし制制制御御御信信信号号号 ::: 読み出し用のクロック、イネーブル、およびリセット入力信号

RDCLK 入力 1 読み出しクロック

RDEN 入力 1 アクティブ High の読み出しイネーブル

REGCE 入力 1 出力レジスタ段のアクティブ High のイネーブル

RSTREG 入力 1 出力レジスタ リセットのアクティブ High のイネーブル

SLEEP 入力 1 消費電力を削減するためのダイナミック シャットダウン。High の場合、ブロックは消費電力削減モードです。SLEEP_ASYNC=FALSE の場合は RDCLK に同期し、それ以外は非同期です。

読読読みみみ出出出しししデデデーーータタタ ::: 読み出し出力データ

DOUT<63:0> 出力 64 FIFO データ出力バス。RDCLK に同期しています。

DOUTP<7:0> 出力 8 FIFO パリティ出力バス。RDCLK に同期しています。

ススステテテーーータタタススス ::: 書き込みエラーが発生したことを示します。FIFO がフルのときに書き込みを行うと、アサートされます。WRCLK に同期しています。

EMPTY 出力 1 FIFO が空であることを示すアクティブ High のフラグ。RDCLK に同期しています。

FULL 出力 1 FIFO がフルであることを示すアクティブ High のフラグ。WRCLK に同期しています。

PROGEMPTY 出力 1 FIFO がほぼ空 (PROG_EMPTY_THRESH で指定された数以下のワードを含む) であることを示すプログラマブル フラグ。RDCLK に同期しています。

PROGFULL 出力 1 FIFO がほぼフル (PROG_FULL_THRESH で指定された数以上のワードを含む) であることを示すプログラマブル フラグ

RDCOUNT<13:0> 出力 14 内部 FIFO 読み出しポインターまたは FIFO 内のワード数のカウントを示す出力。RDCLK に同期しています。出力値は RDCOUNT_TYPE で指定されます。

RDERR 出力 1 FIFO が空であるかリセット状態であるために、読み出し操作が実行されなかったことを示します。RDCLK に同期しています。

RDRSTBUSY 出力 1 FIFO が現在リセット状態であることを示すアクティブ High の信号。RDCLKに同期しています。

WRCOUNT<13:0> 出力 14 内部 FIFO 書き込みポインターまたは FIFO 内のワード数のカウントを示す出力。WRCLK に同期しています。出力値は WRCOUNT_TYPE で指定されます。

WRERR 出力 1 FIFO がフルであるかリセット状態であるために、書き込み操作が実行されなかったことを示します。WRCLK に同期しています。

WRRSTBUSY 出力 1 FIFO が現在リセット状態であることを示すアクティブ High の信号。WRCLKに同期しています。

書書書ききき込込込みみみ制制制御御御信信信号号号 ::: 書き込み用のクロックおよびイネーブル入力信号

RST 入力 1 アクティブ High の同期リセット。WRCLK に同期しています。

WRCLK 入力 1 書き込みクロック

WREN 入力 1 アクティブ High のライト イネーブル

UltraScale ライブラリ ガイド http://japan.xilinx.com 90UG974 (v2015.2) 2015 月 6 月 24 日

Page 91: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

書書書ききき込込込みみみデデデーーータタタ ::: 書き込み入力データ

DIN<63:0> 入力 64 FIFO データ入力バス。WRCLK に同期しています。

DINP<7:0> 入力 8 FIFO パリティ入力バス。WRCLK に同期しています。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

CASCADE_ORDER 文字列 "NONE"、"FIRST"、"LAST"、"MIDDLE"、"PARALLEL"

"NONE" より深い FIFO を作成するために複数の FIFO36E2 を接続するカスケード機能の使用、コンフィギュレーション、および位置を指定します。

CLOCK_DOMAINS 文字列 "INDEPENDENT"、"COMMON"

"INDEPENDENT" 共通クロック (同期操作) と独立クロック (非同期) のどちらを使用するかを指定します。

EN_ECC_PIPE 文字列 "FALSE"、"TRUE" "FALSE" ECC パイプライン出力レジスタ段をイネーブルにします。

EN_ECC_READ 文字列 "FALSE"、"TRUE" "FALSE" ECC 読み出しデコーダー回路をイネーブルにします。READ_WIDTH が 72 に設定されている場合にのみ有効です。

EN_ECC_WRITE 文字列 "FALSE"、"TRUE" "FALSE" ECC 書き込みエンコーダー回路をイネーブルにします。WRITE_WIDTH が 72 に設定されている場合にのみ有効です。

FIRST_WORD_FALLTHROUGH

文字列 "FALSE"、"TRUE" "FALSE" TRUE に設定すると、RDEN がアサートされずに FIFO に最初に書き込まれた値が DO に出力されます。

INIT 16 進数 72 ビット値 すべて 0 コンフィギュレーション後の DO出力の初期値を指定します。

PROG_EMPTY_THRESH

10 進数 1 ~ 8191 256 PROGEMPTY 出力をトリガーする書き込みポインター(WRCOUNT) と読み出しポインター (RDCOUNT) の差を指定します。

PROG_FULL_THRESH 10 進数 1 ~ 8191 256 PROGFULL 出力をトリガーする書き込みポインター(WRCOUNT) と読み出しポインター (RDCOUNT) の差を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 91UG974 (v2015.2) 2015 月 6 月 24 日

Page 92: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

RDCOUNT_TYPE 文字列 "RAW_PNTR"、"EXTENDED_DATACOUNT"、"SIMPLE_DATACOUNT"、"SYNC_PNTR"

"RAW_PNTR" RDCOUNT データのタイプとフォーマットを指定します。

READ_WIDTH 10 進数 4、9、18、36、72 4 FIFO の読み出し側のデータ幅を指定します。

REGISTER_MODE 文字列 "UNREGISTERED"、"DO_PIPELINED"、"REGISTERED"

"UNREGISTERED" 出力レジスタのモードを指定します。

RSTREG_PRIORITY 文字列 "RSTREG"、"REGCE" "RSTREG" リセットとイネーブルの優先順位を指定します。

SLEEP_ASYNC 文字列 "FALSE"、"TRUE" "FALSE" BRAM スリープ モードを非同期動作にするか同期動作にするかを指定します。

SRVAL 16 進数 72 ビット値 すべて 0 RST/RSTREG がアサートされた後の FIFO のビットごとの極性を指定します。

WRCOUNT_TYPE 文字列 "RAW_PNTR"、"EXTENDED_DATACOUNT"、"SIMPLE_DATACOUNT"、"SYNC_PNTR"

"RAW_PNTR" WRCOUNT データのタイプとフォーマットを指定します。

WRITE_WIDTH 10 進数 4、9、18、36、72 4 FIFO の書き込み側のデータ幅を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLK または RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_RDCLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RDCLK ピンにオプションの反転を使用するかどうかを指定します。

IS_RDEN_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RDEN ピンにオプションの反転を使用するかどうかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTREG_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RSTREG ピンにオプションの反転を使用するかどうかを指定します。

IS_WRCLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 WRCLK ピンにオプションの反転を使用するかどうかを指定します。

IS_WREN_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WREN ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 92UG974 (v2015.2) 2015 月 6 月 24 日

Page 93: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- FIFO36E2: 36Kb FIFO (First-In-First-Out) Block RAM Memory-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

FIFO36E2_inst : FIFO36E2generic map (

CASCADE_ORDER => "NONE", -- FIRST, LAST, MIDDLE, NONE, PARALLELCLOCK_DOMAINS => "INDEPENDENT", -- COMMON, INDEPENDENTEN_ECC_PIPE => "FALSE", -- ECC pipeline register, (FALSE, TRUE)EN_ECC_READ => "FALSE", -- Enable ECC decoder, (FALSE, TRUE)EN_ECC_WRITE => "FALSE", -- Enable ECC encoder, (FALSE, TRUE)FIRST_WORD_FALL_THROUGH => "FALSE", -- FALSE, TRUEINIT => X"000000000000000000", -- Initial values on output portPROG_EMPTY_THRESH => 256, -- Programmable Empty ThresholdPROG_FULL_THRESH => 256, -- Programmable Full Threshold-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversionIS_RDCLK_INVERTED => ’0’, -- Optional inversion for RDCLKIS_RDEN_INVERTED => ’0’, -- Optional inversion for RDENIS_RSTREG_INVERTED => ’0’, -- Optional inversion for RSTREGIS_RST_INVERTED => ’0’, -- Optional inversion for RSTIS_WRCLK_INVERTED => ’0’, -- Optional inversion for WRCLKIS_WREN_INVERTED => ’0’, -- Optional inversion for WRENRDCOUNT_TYPE => "RAW_PNTR", -- EXTENDED_DATACOUNT, RAW_PNTR, SIMPLE_DATACOUNT, SYNC_PNTRREAD_WIDTH => 4, -- 18-9REGISTER_MODE => "UNREGISTERED", -- DO_PIPELINED, REGISTERED, UNREGISTEREDRSTREG_PRIORITY => "RSTREG", -- REGCE, RSTREGSLEEP_ASYNC => "FALSE", -- FALSE, TRUESRVAL => X"000000000000000000", -- SET/reset value of the FIFO outputsWRCOUNT_TYPE => "RAW_PNTR", -- EXTENDED_DATACOUNT, RAW_PNTR, SIMPLE_DATACOUNT, SYNC_PNTRWRITE_WIDTH => 4 -- 18-9

)port map (

-- Cascade Signals outputs: Multi-FIFO cascade signalsCASDOUT => CASDOUT, -- 64-bit output: Data cascade output busCASDOUTP => CASDOUTP, -- 8-bit output: Parity data cascade output busCASNXTEMPTY => CASNXTEMPTY, -- 1-bit output: Cascade next emptyCASPRVRDEN => CASPRVRDEN, -- 1-bit output: Cascade previous read enable-- ECC Signals outputs: Error Correction Circuitry portsDBITERR => DBITERR, -- 1-bit output: Double bit error statusECCPARITY => ECCPARITY, -- 8-bit output: Generated error correction paritySBITERR => SBITERR, -- 1-bit output: Single bit error status-- Read Data outputs: Read output dataDOUT => DOUT, -- 64-bit output: FIFO data output busDOUTP => DOUTP, -- 8-bit output: FIFO parity output bus.-- Status outputs: Flags and other FIFO status outputsEMPTY => EMPTY, -- 1-bit output: EmptyFULL => FULL, -- 1-bit output: FullPROGEMPTY => PROGEMPTY, -- 1-bit output: Programmable emptyPROGFULL => PROGFULL, -- 1-bit output: Programmable fullRDCOUNT => RDCOUNT, -- 14-bit output: Read countRDERR => RDERR, -- 1-bit output: Read errorRDRSTBUSY => RDRSTBUSY, -- 1-bit output: Reset busy (sync to RDCLK)WRCOUNT => WRCOUNT, -- 14-bit output: Write countWRERR => WRERR, -- 1-bit output: Write ErrorWRRSTBUSY => WRRSTBUSY, -- 1-bit output: Reset busy (sync to WRCLK)-- Cascade Signals inputs: Multi-FIFO cascade signalsCASDIN => CASDIN, -- 64-bit input: Data cascade input busCASDINP => CASDINP, -- 8-bit input: Parity data cascade input busCASDOMUX => CASDOMUX, -- 1-bit input: Cascade MUX select inputCASDOMUXEN => CASDOMUXEN, -- 1-bit input: Enable for cascade MUX selectCASNXTRDEN => CASNXTRDEN, -- 1-bit input: Cascade next read enableCASOREGIMUX => CASOREGIMUX, -- 1-bit input: Cascade output MUX selectCASOREGIMUXEN => CASOREGIMUXEN, -- 1-bit input: Cascade output MUX seelct enable

UltraScale ライブラリ ガイド http://japan.xilinx.com 93UG974 (v2015.2) 2015 月 6 月 24 日

Page 94: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CASPRVEMPTY => CASPRVEMPTY, -- 1-bit input: Cascade previous empty-- ECC Signals inputs: Error Correction Circuitry portsINJECTDBITERR => INJECTDBITERR, -- 1-bit input: Inject a double bit errorINJECTSBITERR => INJECTSBITERR, -- 1-bit input: Inject a single bit error-- Read Control Signals inputs: Read clock, enable and reset input signalsRDCLK => RDCLK, -- 1-bit input: Read clockRDEN => RDEN, -- 1-bit input: Read enableREGCE => REGCE, -- 1-bit input: Output register clock enableRSTREG => RSTREG, -- 1-bit input: Output register resetSLEEP => SLEEP, -- 1-bit input: Sleep Mode-- Write Control Signals inputs: Write clock and enable input signalsRST => RST, -- 1-bit input: ResetWRCLK => WRCLK, -- 1-bit input: Write clockWREN => WREN, -- 1-bit input: Write enable-- Write Data inputs: Write input dataDIN => DIN, -- 64-bit input: FIFO data input busDINP => DINP -- 8-bit input: FIFO parity input bus

);

-- End of FIFO36E2_inst instantiation

Verilog 記述 (インスタンシエーション)

// FIFO36E2: 36Kb FIFO (First-In-First-Out) Block RAM Memory// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

FIFO36E2 #(.CASCADE_ORDER("NONE"), // FIRST, LAST, MIDDLE, NONE, PARALLEL.CLOCK_DOMAINS("INDEPENDENT"), // COMMON, INDEPENDENT.EN_ECC_PIPE("FALSE"), // ECC pipeline register, (FALSE, TRUE).EN_ECC_READ("FALSE"), // Enable ECC decoder, (FALSE, TRUE).EN_ECC_WRITE("FALSE"), // Enable ECC encoder, (FALSE, TRUE).FIRST_WORD_FALL_THROUGH("FALSE"), // FALSE, TRUE.INIT(72’h000000000000000000), // Initial values on output port.PROG_EMPTY_THRESH(256), // Programmable Empty Threshold.PROG_FULL_THRESH(256), // Programmable Full Threshold// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion.IS_RDCLK_INVERTED(1’b0), // Optional inversion for RDCLK.IS_RDEN_INVERTED(1’b0), // Optional inversion for RDEN.IS_RSTREG_INVERTED(1’b0), // Optional inversion for RSTREG.IS_RST_INVERTED(1’b0), // Optional inversion for RST.IS_WRCLK_INVERTED(1’b0), // Optional inversion for WRCLK.IS_WREN_INVERTED(1’b0), // Optional inversion for WREN.RDCOUNT_TYPE("RAW_PNTR"), // EXTENDED_DATACOUNT, RAW_PNTR, SIMPLE_DATACOUNT, SYNC_PNTR.READ_WIDTH(4), // 18-9.REGISTER_MODE("UNREGISTERED"), // DO_PIPELINED, REGISTERED, UNREGISTERED.RSTREG_PRIORITY("RSTREG"), // REGCE, RSTREG.SLEEP_ASYNC("FALSE"), // FALSE, TRUE.SRVAL(72’h000000000000000000), // SET/reset value of the FIFO outputs.WRCOUNT_TYPE("RAW_PNTR"), // EXTENDED_DATACOUNT, RAW_PNTR, SIMPLE_DATACOUNT, SYNC_PNTR.WRITE_WIDTH(4) // 18-9

)FIFO36E2_inst (

// Cascade Signals outputs: Multi-FIFO cascade signals.CASDOUT(CASDOUT), // 64-bit output: Data cascade output bus.CASDOUTP(CASDOUTP), // 8-bit output: Parity data cascade output bus.CASNXTEMPTY(CASNXTEMPTY), // 1-bit output: Cascade next empty.CASPRVRDEN(CASPRVRDEN), // 1-bit output: Cascade previous read enable// ECC Signals outputs: Error Correction Circuitry ports.DBITERR(DBITERR), // 1-bit output: Double bit error status.ECCPARITY(ECCPARITY), // 8-bit output: Generated error correction parity.SBITERR(SBITERR), // 1-bit output: Single bit error status// Read Data outputs: Read output data.DOUT(DOUT), // 64-bit output: FIFO data output bus.DOUTP(DOUTP), // 8-bit output: FIFO parity output bus.// Status outputs: Flags and other FIFO status outputs.EMPTY(EMPTY), // 1-bit output: Empty.FULL(FULL), // 1-bit output: Full.PROGEMPTY(PROGEMPTY), // 1-bit output: Programmable empty

UltraScale ライブラリ ガイド http://japan.xilinx.com 94UG974 (v2015.2) 2015 月 6 月 24 日

Page 95: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.PROGFULL(PROGFULL), // 1-bit output: Programmable full

.RDCOUNT(RDCOUNT), // 14-bit output: Read count

.RDERR(RDERR), // 1-bit output: Read error

.RDRSTBUSY(RDRSTBUSY), // 1-bit output: Reset busy (sync to RDCLK)

.WRCOUNT(WRCOUNT), // 14-bit output: Write count

.WRERR(WRERR), // 1-bit output: Write Error

.WRRSTBUSY(WRRSTBUSY), // 1-bit output: Reset busy (sync to WRCLK)// Cascade Signals inputs: Multi-FIFO cascade signals.CASDIN(CASDIN), // 64-bit input: Data cascade input bus.CASDINP(CASDINP), // 8-bit input: Parity data cascade input bus.CASDOMUX(CASDOMUX), // 1-bit input: Cascade MUX select input.CASDOMUXEN(CASDOMUXEN), // 1-bit input: Enable for cascade MUX select.CASNXTRDEN(CASNXTRDEN), // 1-bit input: Cascade next read enable.CASOREGIMUX(CASOREGIMUX), // 1-bit input: Cascade output MUX select.CASOREGIMUXEN(CASOREGIMUXEN), // 1-bit input: Cascade output MUX seelct enable.CASPRVEMPTY(CASPRVEMPTY), // 1-bit input: Cascade previous empty// ECC Signals inputs: Error Correction Circuitry ports.INJECTDBITERR(INJECTDBITERR), // 1-bit input: Inject a double bit error.INJECTSBITERR(INJECTSBITERR), // 1-bit input: Inject a single bit error// Read Control Signals inputs: Read clock, enable and reset input signals.RDCLK(RDCLK), // 1-bit input: Read clock.RDEN(RDEN), // 1-bit input: Read enable.REGCE(REGCE), // 1-bit input: Output register clock enable.RSTREG(RSTREG), // 1-bit input: Output register reset.SLEEP(SLEEP), // 1-bit input: Sleep Mode// Write Control Signals inputs: Write clock and enable input signals.RST(RST), // 1-bit input: Reset.WRCLK(WRCLK), // 1-bit input: Write clock.WREN(WREN), // 1-bit input: Write enable// Write Data inputs: Write input data.DIN(DIN), // 64-bit input: FIFO data input bus.DINP(DINP) // 8-bit input: FIFO parity input bus

);

// End of FIFO36E2_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 95UG974 (v2015.2) 2015 月 6 月 24 日

Page 96: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

FRAME_ECCE3

プリミティブ : Configuration Frame Error Correction

プリミティブ グループ : CONFIGURATIONプリミティブ サブグループ : ECC

概要

このデザイン エレメントは、FPGA のコンフィギュレーション メモリ用に専用ビルトイン誤り訂正符号 (ECC) をイネーブルにし

ます。このエレメントには、ECC 回路のステータスおよびリードバック CRC 回路のステータスを監視する出力が含まれていま

す。このエレメントは、ザイリンクスで生成された SEM IP 外でインスタンシエート、使用、または変更することはできません。

デザインの入力方法

インスタンシエーション 不可

推論 不可

IP および IP インテグレーター カタログ 推奨

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 96UG974 (v2015.2) 2015 月 6 月 24 日

Page 97: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

GTHE3_CHANNEL

プリミティブ : Gigabit Transceiver for UltraScale devices

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

GTHE3 は、UltraScale デバイスのギガビット トランシーバー コンポーネントです。このエレメントは、ザイリンクスで生成さ

れた IP 外でインスタンシエート、使用、または変更することはできません。このコンポーネントの詳細は、トランシー

バー ユーザー ガイドを参照してください。

デザインの入力方法

インスタンシエーション 不可

推論 不可

IP および IP インテグレーター カタログ 推奨

詳細情報

『UltraScale アーキテクチャ GTH トランシーバー Advance 仕様ユーザー ガイド』 (UG576 : 英語版、日本語版)

UltraScale ライブラリ ガイド http://japan.xilinx.com 97UG974 (v2015.2) 2015 月 6 月 24 日

Page 98: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

GTHE3_COMMON

プリミティブ : Gigabit Transceiver for UltraScale devices

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

GTHE3 は、UltraScale デバイスのギガビット トランシーバー コンポーネントです。このエレメントは、ザイリンクスで生成さ

れた IP 外でインスタンシエート、使用、または変更することはできません。このコンポーネントの詳細は、トランシー

バー ユーザー ガイドを参照してください。

デザインの入力方法

インスタンシエーション 不可

推論 不可

IP および IP インテグレーター カタログ 推奨

詳細情報

『UltraScale アーキテクチャ GTH トランシーバー Advance 仕様ユーザー ガイド』 (UG576 : 英語版、日本語版)

UltraScale ライブラリ ガイド http://japan.xilinx.com 98UG974 (v2015.2) 2015 月 6 月 24 日

Page 99: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

GTYE3_CHANNEL

プリミティブ : Gigabit Transceiver for UltraScale devices

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

GTYE3 は、UltraScale デバイスのギガビット トランシーバー コンポーネントです。このエレメントは、ザイリンクスで生成さ

れた IP 外でインスタンシエート、使用、または変更することはできません。このコンポーネントの詳細は、トランシー

バー ユーザー ガイドを参照してください。

デザインの入力方法

インスタンシエーション 不可

推論 不可

IP および IP インテグレーター カタログ 推奨

詳細情報

『UltraScale アーキテクチャ GTY トランシーバー Advance 仕様ユーザー ガイド』 (UG578 : 英語版、日本語版)

UltraScale ライブラリ ガイド http://japan.xilinx.com 99UG974 (v2015.2) 2015 月 6 月 24 日

Page 100: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

GTYE3_COMMON

プリミティブ : Gigabit Transceiver for UltraScale devices

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

GTYE3 は、UltraScale デバイスのギガビット トランシーバー コンポーネントです。このエレメントは、ザイリンクスで生成さ

れた IP 外でインスタンシエート、使用、または変更することはできません。このコンポーネントの詳細は、トランシー

バー ユーザー ガイドを参照してください。

デザインの入力方法

インスタンシエーション 不可

推論 不可

IP および IP インテグレーター カタログ 推奨

詳細情報

『UltraScale アーキテクチャ GTY トランシーバー Advance 仕様ユーザー ガイド』 (UG578 : 英語版、日本語版)

UltraScale ライブラリ ガイド http://japan.xilinx.com 100UG974 (v2015.2) 2015 月 6 月 24 日

Page 101: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

HARD_SYNC

プリミティブ : Metastability Hardened Registers

プリミティブ グループ : REGISTERプリミティブ サブグループ : METASTABILITY

概要

メタステーブル状態を回避するレジスタで、非同期ドメインのクロック乗せ換えでセットアップまたはホールド タイム違反の原

因となる可能性のある信号を同期化するために通常使用されます。LATENCY 属性を使用して、デュアルまたはトリプル レ

ジスタ シンクロナイザーをコンフィギュレーションできます。

ポートの説明

ポート名 方向 幅 機能

CLK 入力 1 クロック入力

DIN 入力 1 データ入力

DOUT 出力 1 データ出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 2 進数 1’b0、1’b1 1’b0 コンフィギュレーション後および GSR 適用後ののHARD_SYNC 出力の初期値を指定します。

IS_CLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLK 入力にプログラム可能な反転を使用してクロックをアクティブ High からアクティブ Low に変更するかどうかを指定します。

LATENCY 10 進数 2、3 2 2 段または 3 段のシンクロナイザーを使用するかどうかを指定します。3 段のシンクロナイザーを使用すると、平均故障間隔 (MTBF) が向上しますが、レイテンシが 1 クロック サイクル増加します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 101UG974 (v2015.2) 2015 月 6 月 24 日

Page 102: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- HARD_SYNC: Metastability Hardened Registers-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

HARD_SYNC_inst : HARD_SYNCgeneric map (

INIT => ’0’, -- Initial values, ’0’, ’1’IS_CLK_INVERTED => ’0’, -- Programmable inversion on CLK inputLATENCY => 2 -- 2-3

)port map (

DOUT => DOUT, -- 1-bit output: DataCLK => CLK, -- 1-bit input: ClockDIN => DIN -- 1-bit input: Data

);

-- End of HARD_SYNC_inst instantiation

Verilog 記述 (インスタンシエーション)

// HARD_SYNC: Metastability Hardened Registers// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

HARD_SYNC #(.INIT(1’b0), // Initial values, 1’b0, 1’b1.IS_CLK_INVERTED(1’b0), // Programmable inversion on CLK input.LATENCY(2) // 2-3

)HARD_SYNC_inst (

.DOUT(DOUT), // 1-bit output: Data

.CLK(CLK), // 1-bit input: Clock

.DIN(DIN) // 1-bit input: Data);

// End of HARD_SYNC_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 102UG974 (v2015.2) 2015 月 6 月 24 日

Page 103: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

HPIO_VREF

プリミティブ : VREF Scan

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

VREF_HPIO コンポーネントと IBUFE3 または IOBUFE3 バッファーを共に使用すると、HPIO バンクの VREF スキャン

機能にアクセスできます。

ポートの説明

ポート名 方向 幅 機能

FABRIC_VREF_TUNE<6:0> 入力 7 Vref を調整する VREF 調整入力値

VREF 出力 1 HPIO バンク内の関連の IBUFE3 または IOBUFE3 コンポーネントすべてに接続される調整済み出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

VREF_CNTR 文字列 "OFF" 、"FABRIC_RANGE1"、"FABRIC_RANGE2"

"OFF" VREF のカウンター範囲を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 103UG974 (v2015.2) 2015 月 6 月 24 日

Page 104: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- HPIO_VREF: VREF Scan-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

HPIO_VREF_inst : HPIO_VREFgeneric map (

VREF_CNTR => "OFF" -- FABRIC_RANGE1, FABRIC_RANGE2, OFF)port map (

VREF => VREF, -- 1-bit output: Tuned output (connect to associated IBUFE3-- component)

FABRIC_VREF_TUNE => FABRIC_VREF_TUNE -- 7-bit input: VREF tuning value);

-- End of HPIO_VREF_inst instantiation

Verilog 記述 (インスタンシエーション)

// HPIO_VREF: VREF Scan// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

HPIO_VREF #(.VREF_CNTR("OFF") // FABRIC_RANGE1, FABRIC_RANGE2, OFF

)HPIO_VREF_inst (

.VREF(VREF), // 1-bit output: Tuned output (connect to associated IBUFE3// component)

.FABRIC_VREF_TUNE(FABRIC_VREF_TUNE) // 7-bit input: VREF tuning value);

// End of HPIO_VREF_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 104UG974 (v2015.2) 2015 月 6 月 24 日

Page 105: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUF

プリミティブ : Input Buffer

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

単純な入力として使用するシングルエンド信号には、入力バッファー (IBUF) が必要です。

IOSTANDARD や IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロ

パティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design

Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。

ポートの説明

ポート名 方向 幅 機能

I 入力 1 バッファー入力 (最上位ポートに直接接続)

O 出力 1 バッファー出力 (内部 FPGA 回路に接続)

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUF: Input Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUF_inst : IBUFport map (

O => O, -- 1-bit output: Buffer outputI => I -- 1-bit input: Buffer input

);

-- End of IBUF_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 105UG974 (v2015.2) 2015 月 6 月 24 日

Page 106: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// IBUF: Input Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUF IBUF_inst (.O(O), // 1-bit output: Buffer output.I(I) // 1-bit input: Buffer input

);

// End of IBUF_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 106UG974 (v2015.2) 2015 月 6 月 24 日

Page 107: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUF_ANALOG

プリミティブ : Analog Auxiliary SYSMON Input Buffer

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

このデザイン エレメントは、SYSMONE1 コンポーネントに補助アナログ入力を接続するために使用される入力バッファー

です。SYSMONE1 コンポーネントの VAUXP/VAUXN ピンを使用する場合、このバッファーによりデザインの最上位

ポートに適切に接続できるようになります。

ポートの説明

ポート名 方向 幅 機能

I 入力 1 デザインの最上位ポートに接続します。

O 出力 1 SYSMONE1 コンポーネントの VAUXP または VAUXN に接続します。

デザインの入力方法

インスタンシエーション 可

推論 可

IP および IP インテグレーター カタログ 推奨

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUF_ANALOG: Analog Auxiliary SYSMON Input Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUF_ANALOG_inst : IBUF_ANALOGport map (

O => O, -- 1-bit output: Connect to a VAUXP/VAUXN port of the SYSMONE1I => I -- 1-bit input: Connect to a top-level design port

);

-- End of IBUF_ANALOG_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 107UG974 (v2015.2) 2015 月 6 月 24 日

Page 108: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// IBUF_ANALOG: Analog Auxiliary SYSMON Input Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUF_ANALOG IBUF_ANALOG_inst (.O(O), // 1-bit output: Connect to a VAUXP/VAUXN port of the SYSMONE1.I(I) // 1-bit input: Connect to a top-level design port

);

// End of IBUF_ANALOG_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 108UG974 (v2015.2) 2015 月 6 月 24 日

Page 109: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUF_IBUFDISABLE

プリミティブ : Input Buffer With Input Buffer Disable

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

IBUF_IBUFDISABLE プリミティブは、ディスエーブル ポートを持つ入力バッファーで、入力が使用されないときに消費電力を

削減するために使用できます。

IBUFDISABLE 信号が High のときに、入力バッファーをディスエーブルにし、内部ロジックへの O 出力を Low にします。

UltraScale アーキテクチャで予測される動作を得るには、USE_IBUFDISABLE 属性を TRUE に、SIM_DEVICE 属性を

ULTRASCALE に設定する必要があります。この機能は、I/O がアイドル状態になったときに消費電力を削減するために使

用できます。SSTL や HSTL などの VREF 電源レールを使用する入力バッファーは、LVCMOS や LVTTL などの VREF を使

用しない規格よりもスタティック消費電力が大きいので、IBUFDISABLE を TRUE に設定すると有益です。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属性

は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、

『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。

ポートの説明

ポート名 方向 幅 機能

I 入力 1 入力ポート接続。デザインの最上位ポートに直接接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

O 出力 1 デバイスへの入力パスを表すバッファー出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 109UG974 (v2015.2) 2015 月 6 月 24 日

Page 110: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう"ULTRASCALE" に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE" "TRUE" この属性は設定しないでおくか、指定する場合は "TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUF_IBUFDISABLE: Input Buffer With Input Buffer Disable-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUF_IBUFDISABLE_inst : IBUF_IBUFDISABLEgeneric map (

SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE")port map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Buffer input (connect directly to top-level port)IBUFDISABLE => IBUFDISABLE -- 1-bit input: Buffer disable input, high=disable

);

-- End of IBUF_IBUFDISABLE_inst instantiation

Verilog 記述 (インスタンシエーション)

// IBUF_IBUFDISABLE: Input Buffer With Input Buffer Disable// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUF_IBUFDISABLE #(.SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IBUF_IBUFDISABLE_inst (

.O(O), // 1-bit output: Buffer output

.I(I), // 1-bit input: Buffer input (connect directly to top-level port)

.IBUFDISABLE(IBUFDISABLE) // 1-bit input: Buffer disable input, high=disable);

// End of IBUF_IBUFDISABLE_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 110UG974 (v2015.2) 2015 月 6 月 24 日

Page 111: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUF_INTERMDISABLE

プリミティブ : Input Buffer With Input Buffer Disable and On-die Input Termination Disable

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

IBUF_INTERMDISABLE プリミティブは HR I/O バンクで使用でき、IBUF_IBUFDISABLE プリミティブと同様に、バッファー

が使用されていないときに入力バッファーをディスエーブルにするために使用できる IBUFDISABLE ポートがあります。

UltraScale アーキテクチャで予測される動作を得るには、USE_IBUFDISABLE 属性を TRUE に、SIM_DEVICE 属性を

ULTRASCALE に設定する必要があります。IBUF_INTERMDISABLE プリミティブには INTERMDISABLE ポートもあり、オプ

ションのオンダイ レシーバー終端機能をディスエーブルにするために使用できます。詳細は、『UltraScale アーキテクチャ

SelectIO リソース ユーザー ガイド』 (UG571) の「I/O におけるキャリブレーションなしの終端」を参照してください。

IBUF_INTERMDISABLE プリミティブは、IBUFDISABLE 信号が High のときに、入力バッファーをディスエーブルにし、内部ロ

ジックへの O 出力を Low にします。また、INTERMDISABLE 信号が High にアサートされると、終端レッグがディスエーブル

になります。これらの機能を組み合わせて、入力がアイドル状態になったときに消費電力を削減するために使用できます。

SSTL や HSTL などの VREF 電源レールを使用する入力バッファーは、LVCMOS や LVTTL などの VREF を使用しない規

格よりもスタティック消費電力が大きいので、IBUFDISABLE 信号を TRUE に設定すると有益です。

IOSTANDARD や IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロ

パティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design

Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。

ポートの説明

ポート名 方向 幅 機能

I 入力 1 入力ポート接続。デザインの最上位ポートに直接接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

INTERMDISABLE 入力 1 オンチップ入力終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

O 出力 1 デバイスへの入力パスを表すバッファー出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 111UG974 (v2015.2) 2015 月 6 月 24 日

Page 112: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう"ULTRASCALE" に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE" "TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUF_INTERMDISABLE: Input Buffer With Input Buffer Disable and On-die Input Termination Disable-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUF_INTERMDISABLE_inst : IBUF_INTERMDISABLEgeneric map (

SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE")port map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Buffer input (connect directly to top-level port)IBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, high=disableINTERMDISABLE => INTERMDISABLE -- 1-bit input: Input Termination Disable

);

-- End of IBUF_INTERMDISABLE_inst instantiation

Verilog 記述 (インスタンシエーション)

// IBUF_INTERMDISABLE: Input Buffer With Input Buffer Disable and On-die Input Termination Disable// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUF_INTERMDISABLE #(.SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IBUF_INTERMDISABLE_inst (

.O(O), // 1-bit output: Buffer output

.I(I), // 1-bit input: Buffer input (connect directly to top-level port)

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Buffer disable input, high=disable

.INTERMDISABLE(INTERMDISABLE) // 1-bit input: Input Termination Disable);

// End of IBUF_INTERMDISABLE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 112UG974 (v2015.2) 2015 月 6 月 24 日

Page 114: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFDS

プリミティブ : Differential Input Buffer

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

差動プリミティブの使用法および規則は、対応するシングルエンド SelectIO プリミティブと同様です。差動 SelectIO プ

リミティブには、デバイス パッドとの間に差動ペアの P および N チャネル ピンである 2 つのピンがあります。N チャ

ネル ピンには接尾辞 B が付いています。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

論理表

入力 出力

I IB O

0 0 変化なし

0 1 0

1 0 1

1 1 変化なし

ポートの説明

ポート名 方向 幅 機能

I 入力 1 Diff_p バッファー入力。最上位の P 側の入力ポートに接続します。

IB 入力 1 Diff_n バッファー入力。最上位の N 側の入力ポートに接続します。

O 出力 1 バッファー出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 114UG974 (v2015.2) 2015 月 6 月 24 日

Page 115: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDS アプリケーションに DC バイアスを提供します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUFDS: Differential Input Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_inst : IBUFDSgeneric map (

DQS_BIAS => "FALSE" -- (FALSE, TRUE))port map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Diff_p buffer input (connect directly to top-level port)IB => IB -- 1-bit input: Diff_n buffer input (connect directly to top-level port)

);

-- End of IBUFDS_inst instantiation

Verilog 記述 (インスタンシエーション)

// IBUFDS: Differential Input Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUFDS #(.DQS_BIAS("FALSE") // (FALSE, TRUE)

)IBUFDS_inst (

.O(O), // 1-bit output: Buffer output

.I(I), // 1-bit input: Diff_p buffer input (connect directly to top-level port)

.IB(IB) // 1-bit input: Diff_n buffer input (connect directly to top-level port));

// End of IBUFDS_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 115UG974 (v2015.2) 2015 月 6 月 24 日

Page 116: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFDS_DIFF_OUT

プリミティブ : Differential Input Buffer With Complementary Outputs

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

IBUFDS_DIFF_OUT は、相補出力 (O および OB) を持つ差動入力バッファーです。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

論理表

入力 出力

I IB O OB

0 0 変化なし 変化なし

0 1 0 1

1 0 1 0

1 1 変化なし 変化なし

ポートの説明

ポート名 方向 幅 機能

I 入力 1 Diff_p バッファー入力。最上位の P 側の入力ポートに接続します。

IB 入力 1 Diff_n バッファー入力。最上位の N 側の入力ポートに接続します。

O 出力 1 バッファーの diff_p 出力

OB 出力 1 バッファーの diff_n 出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 116UG974 (v2015.2) 2015 月 6 月 24 日

Page 117: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDS アプリケーションにDC バイアスを提供します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUFDS_DIFF_OUT: Differential Input Buffer With Complementary Outputs-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_DIFF_OUT_inst : IBUFDS_DIFF_OUTgeneric map (

DQS_BIAS => "FALSE" -- (FALSE, TRUE))port map (

O => O, -- 1-bit output: Buffer diff_p outputOB => OB, -- 1-bit output: Buffer diff_n outputI => I, -- 1-bit input: Diff_p buffer input (connect directly to top-level port)IB => IB -- 1-bit input: Diff_n buffer input (connect directly to top-level port)

);

-- End of IBUFDS_DIFF_OUT_inst instantiation

Verilog 記述 (インスタンシエーション)

// IBUFDS_DIFF_OUT: Differential Input Buffer With Complementary Outputs// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_DIFF_OUT #(.DQS_BIAS("FALSE") // (FALSE, TRUE)

)IBUFDS_DIFF_OUT_inst (

.O(O), // 1-bit output: Buffer diff_p output

.OB(OB), // 1-bit output: Buffer diff_n output

.I(I), // 1-bit input: Diff_p buffer input (connect directly to top-level port)

.IB(IB) // 1-bit input: Diff_n buffer input (connect directly to top-level port));

// End of IBUFDS_DIFF_OUT_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 117UG974 (v2015.2) 2015 月 6 月 24 日

Page 118: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFDS_DIFF_OUT_IBUFDISABLE

プリミティブ : Differential Input Buffer With Complementary Outputs and Input BufferDisable

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

IBUFDS_DIFF_OUT_IBUFDISABLE は、相補差動出力を持つ差動入力バッファーです。UltraScale アーキテクチャで予測され

る動作を得るには、USE_IBUFDISABLE 属性を TRUE に、SIM_DEVICE 属性を ULTRASCALE に設定する必要があります。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

ポートの説明

ポート名 方向 幅 機能

I 入力 1 Diff_p バッファー入力。最上位の P 側の入力ポートに接続します。

IB 入力 1 Diff_n バッファー入力。最上位の N 側の入力ポートに接続します。

IBUFDISABLE 入力 1 IBUFDISABLE 機能は、UltraScale アーキテクチャのこのプリミティブではサポートされていません。このポートは 0 に接続する必要があります。

O 出力 1 バッファーの diff_p 出力

OB 出力 1 バッファーの diff_n 出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 118UG974 (v2015.2) 2015 月 6 月 24 日

Page 119: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDSアプリケーションに DC バイアスを提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう "ULTRASCALE"に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUFDS_DIFF_OUT_IBUFDISABLE: Differential Input Buffer With Complementary Outputs and Input Buffer Disable-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_DIFF_OUT_IBUFDISABLE_inst : IBUFDS_DIFF_OUT_IBUFDISABLEgeneric map (

DQS_BIAS => "FALSE", -- (FALSE, TRUE)SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE"

)port map (

O => O, -- 1-bit output: Buffer diff_p outputOB => OB, -- 1-bit output: Buffer diff_n outputI => I, -- 1-bit input: Diff_p buffer input (connect directly to top-level port)IB => IB, -- 1-bit input: Diff_n buffer input (connect directly to top-level port)IBUFDISABLE => IBUFDISABLE -- 1-bit input: Must be tied to a logic ’0’

);

-- End of IBUFDS_DIFF_OUT_IBUFDISABLE_inst instantiation

Verilog 記述 (インスタンシエーション)

// IBUFDS_DIFF_OUT_IBUFDISABLE: Differential Input Buffer With Complementary Outputs and Input Buffer Disable// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_DIFF_OUT_IBUFDISABLE #(.DQS_BIAS("FALSE"), // (FALSE, TRUE).SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IBUFDS_DIFF_OUT_IBUFDISABLE_inst (

.O(O), // 1-bit output: Buffer diff_p output

.OB(OB), // 1-bit output: Buffer diff_n output

.I(I), // 1-bit input: Diff_p buffer input (connect directly to top-level port)

.IB(IB), // 1-bit input: Diff_n buffer input (connect directly to top-level port)

.IBUFDISABLE(IBUFDISABLE) // 1-bit input: Must be tied to a logic ’0’);

// End of IBUFDS_DIFF_OUT_IBUFDISABLE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 119UG974 (v2015.2) 2015 月 6 月 24 日

Page 121: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFDS_DIFF_OUT_INTERMDISABLE

プリミティブ : Differential Input Buffer with Complementary Outputs, Input Path Disableand On-die Input Termination Disable

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

IBUFDS_DIFF_OUT_INTERMDISABLE プリミティブは、HR I/O バンクで使用できます。相補差動出力と、オプションのオ

ンダイ レシーバー終端機能 (キャリブレーションなし) をディスエーブルにするための INTERMDISABLE ポートがありま

す。詳細は、『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571) の「I/O におけるキャリブレーション

なしの終端」を参照してください。UltraScale アーキテクチャで予測される動作を得るには、USE_IBUFDISABLE 属性を

TRUE に、SIM_DEVICE 属性を ULTRASCALE に設定する必要があります。

I/O でオンダイ レシーバー終端機能を使用する場合は (キャリブレーションなし)、INTERMDISABLE 信号が High にア

サートされると終端レッグがディスエーブルになります。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

ポートの説明

ポート名 方向 幅 機能

I 入力 1 Diff_p バッファー入力。最上位の P 側の入力ポートに接続します。

IB 入力 1 Diff_n バッファー入力。最上位の N 側の入力ポートに接続します。

IBUFDISABLE 入力 1 IBUFDISABLE 機能は、UltraScale アーキテクチャのこのプリミティブではサポートされていません。このポートは 0 に接続する必要があります。

INTERMDISABLE 入力 1 入力終端をディスエーブルにして、バッファー内での電流散逸を削減します。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

O 出力 1 バッファーの diff_p 出力

OB 出力 1 バッファーの diff_n 出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 121UG974 (v2015.2) 2015 月 6 月 24 日

Page 122: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDSアプリケーションに DC バイアスを提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう"ULTRASCALE" に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUFDS_DIFF_OUT_INTERMDISABLE: Differential Input Buffer with Complementary Outputs, Input Path Disable and On-die Input Termination Disable

-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_DIFF_OUT_INTERMDISABLE_inst : IBUFDS_DIFF_OUT_INTERMDISABLEgeneric map (

DQS_BIAS => "FALSE", -- (FALSE, TRUE)SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE"

)port map (

O => O, -- 1-bit output: Buffer diff_p outputOB => OB, -- 1-bit output: Buffer diff_n outputI => I, -- 1-bit input: Diff_p buffer input (connect directly to top-level port)IB => IB, -- 1-bit input: Diff_n buffer input (connect directly to top-level port)IBUFDISABLE => IBUFDISABLE, -- 1-bit input: Must be tied to a logic ’0’INTERMDISABLE => INTERMDISABLE -- 1-bit input: Buffer termination disable, high=disable

);

-- End of IBUFDS_DIFF_OUT_INTERMDISABLE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 122UG974 (v2015.2) 2015 月 6 月 24 日

Page 123: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// IBUFDS_DIFF_OUT_INTERMDISABLE: Differential Input Buffer with Complementary Outputs, Input Path Disable and On-die Input Termination Disable

// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_DIFF_OUT_INTERMDISABLE #(.DQS_BIAS("FALSE"), // (FALSE, TRUE).SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IBUFDS_DIFF_OUT_INTERMDISABLE_inst (

.O(O), // 1-bit output: Buffer diff_p output

.OB(OB), // 1-bit output: Buffer diff_n output

.I(I), // 1-bit input: Diff_p buffer input (connect directly to top-level port)

.IB(IB), // 1-bit input: Diff_n buffer input (connect directly to top-level port)

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Must be tied to a logic ’0’

.INTERMDISABLE(INTERMDISABLE) // 1-bit input: Buffer termination disable, high=disable);

// End of IBUFDS_DIFF_OUT_INTERMDISABLE_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 123UG974 (v2015.2) 2015 月 6 月 24 日

Page 124: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFDS_GTE3

プリミティブ : Gigabit Transceiver Buffer

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

IBUFDS_GTE3 は、ギガビット トランシーバーの入力パッド バッファー コンポーネントです。REFCLK 信号をシリアル トラン

シーバーの専用基準クロック入力ピンに配線し、ユーザー デザインに IBUFDS_GTE3 プリミティブをインスタンシエートする

必要があります。基準クロックの要件を含む PCB レイアウトの要件は、トランシーバー ユーザー ガイドを参照してください。

ポートの説明

ポート名 方向 幅 機能

CEB 入力 1 トランシーバー ユーザー ガイドを参照してください。

I 入力 1 トランシーバー ユーザー ガイドを参照してください。

IB 入力 1 トランシーバー ユーザー ガイドを参照してください。

O 出力 1 トランシーバー ユーザー ガイドを参照してください。

ODIV2 出力 1 トランシーバー ユーザー ガイドを参照してください。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

UltraScale ライブラリ ガイド http://japan.xilinx.com 124UG974 (v2015.2) 2015 月 6 月 24 日

Page 125: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

REFCLK_EN_FABRIC_CK

2 進数 1’b0 ~ 1’b1 1’b0 トランシーバー ユーザー ガイドを参照してください。

REFCLK_EN_TX_PATH 2 進数 1’b0 ~ 1’b1 1’b0 トランシーバー ユーザー ガイドを参照してください。

REFCLK_HROW_CK_SEL

2 進数 2’b00 ~ 2’b11 2’b00 トランシーバー ユーザー ガイドを参照してください。

REFCLK_ICNTL_RX 2 進数 2’b00 ~ 2’b11 2’b00 トランシーバー ユーザー ガイドを参照してください。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUFDS_GTE3: Gigabit Transceiver Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_GTE3_inst : IBUFDS_GTE3generic map (

REFCLK_EN_TX_PATH => ’0’, -- Refer to Transceiver User GuideREFCLK_HROW_CK_SEL => "00", -- Refer to Transceiver User GuideREFCLK_ICNTL_RX => "00" -- Refer to Transceiver User Guide

)port map (

O => O, -- 1-bit output: Refer to Transceiver User GuideODIV2 => ODIV2, -- 1-bit output: Refer to Transceiver User GuideCEB => CEB, -- 1-bit input: Refer to Transceiver User GuideI => I, -- 1-bit input: Refer to Transceiver User GuideIB => IB -- 1-bit input: Refer to Transceiver User Guide

);

-- End of IBUFDS_GTE3_inst instantiation

Verilog 記述 (インスタンシエーション)

// IBUFDS_GTE3: Gigabit Transceiver Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_GTE3 #(.REFCLK_EN_TX_PATH(1’b0), // Refer to Transceiver User Guide.REFCLK_HROW_CK_SEL(2’b00), // Refer to Transceiver User Guide.REFCLK_ICNTL_RX(2’b00) // Refer to Transceiver User Guide

)IBUFDS_GTE3_inst (

.O(O), // 1-bit output: Refer to Transceiver User Guide

.ODIV2(ODIV2), // 1-bit output: Refer to Transceiver User Guide

.CEB(CEB), // 1-bit input: Refer to Transceiver User Guide

.I(I), // 1-bit input: Refer to Transceiver User Guide

.IB(IB) // 1-bit input: Refer to Transceiver User Guide);

// End of IBUFDS_GTE3_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 125UG974 (v2015.2) 2015 月 6 月 24 日

Page 127: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFDS_IBUFDISABLE

プリミティブ : Differential Input Buffer With Input Buffer Disable

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

このプリミティブは、入力データが不要なときに消費電力を削減するための入力ディスエーブルを持つ差動入力バッファー

です。UltraScale アーキテクチャで予測される動作を得るには、USE_IBUFDISABLE 属性を TRUE に、SIM_DEVICE 属性を

ULTRASCALE に設定する必要があります。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

ポートの説明

ポート名 方向 幅 機能

I 入力 1 Diff_p バッファー入力。最上位の P 側の入力ポートに接続します。

IB 入力 1 Diff_n バッファー入力。最上位の N 側の入力ポートに接続します。

IBUFDISABLE 入力 1 IBUFDISABLE 機能は、UltraScale アーキテクチャのこのプリミティブではサポートされていません。このポートは 0 に接続する必要があります。

O 出力 1 バッファー出力

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 127UG974 (v2015.2) 2015 月 6 月 24 日

Page 128: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDSアプリケーションに DC バイアスを提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう "ULTRASCALE"に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUFDS_IBUFDISABLE: Differential Input Buffer With Input Buffer Disable-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_IBUFDISABLE_inst : IBUFDS_IBUFDISABLEgeneric map (

DQS_BIAS => "FALSE", -- (FALSE, TRUE)SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE"

)port map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Diff_p buffer input (connect directly to top-level port)IB => IB, -- 1-bit input: Diff_n buffer input (connect directly to top-level port)IBUFDISABLE => IBUFDISABLE -- 1-bit input: Must be tied to a logic ’0’

);

-- End of IBUFDS_IBUFDISABLE_inst instantiation

Verilog 記述 (インスタンシエーション)

// IBUFDS_IBUFDISABLE: Differential Input Buffer With Input Buffer Disable// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_IBUFDISABLE #(.DQS_BIAS("FALSE"), // (FALSE, TRUE).SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IBUFDS_IBUFDISABLE_inst (

.O(O), // 1-bit output: Buffer output

.I(I), // 1-bit input: Diff_p buffer input (connect directly to top-level port)

.IB(IB), // 1-bit input: Diff_n buffer input (connect directly to top-level port)

.IBUFDISABLE(IBUFDISABLE) // 1-bit input: Must be tied to a logic ’0’);

// End of IBUFDS_IBUFDISABLE_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 128UG974 (v2015.2) 2015 月 6 月 24 日

Page 129: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFDS_INTERMDISABLE

プリミティブ : Differential Input Buffer With Input Buffer Disable and On-die InputTermination Disable

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

IBUFDS_INTERMDISABLE プリミティブは HR I/O バンクで使用でき、IBUFDS_IBUFDISABLE プリミティブと同様に、バッ

ファーが使用されていないときに入力バッファーをディスエーブルにするために使用できる IBUFDISABLE ポートがありま

す。IBUFDS_INTERMDISABLE プリミティブには INTERMDISABLE ポートもあり、オプションのオンダイ レシーバー終端機能

をディスエーブルにするために使用できます。詳細は、『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』

(UG571) の「I/O におけるキャリブレーションなしの終端」を参照してください。

IBUFDS_INTERMDISABLE プリミティブは、IBUFDISABLE 信号が High のときに、入力バッファーをディスエーブルにし、O

出力を Low にします。UltraScale アーキテクチャで予測される動作を得るには、USE_IBUFDISABLE 属性を TRUE に、

SIM_DEVICE 属性を ULTRASCALE に設定する必要があります。I/O でオンダイ レシーバー終端機能を使用する場合は、

INTERMDISABLE 信号が High にアサートされると終端レッグがディスエーブルになります。これらの機能を組み合わせて、

入力がアイドル状態になったときに消費電力を削減するために使用できます。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

ポートの説明

ポート名 方向 幅 機能

I 入力 1 Diff_p バッファー入力。最上位の P 側の入力ポートに接続します。

IB 入力 1 Diff_n バッファー入力。最上位の N 側の入力ポートに接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

INTERMDISABLE 入力 1 入力終端をディスエーブルにして、バッファー内での電流散逸を削減します。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

O 出力 1 バッファー出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 129UG974 (v2015.2) 2015 月 6 月 24 日

Page 130: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDSアプリケーションに DC バイアスを提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう "ULTRASCALE"に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUFDS_INTERMDISABLE: Differential Input Buffer With Input Buffer Disable and On-die Input Termination Disable-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_INTERMDISABLE_inst : IBUFDS_INTERMDISABLEgeneric map (

DQS_BIAS => "FALSE", -- (FALSE, TRUE)SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE"

)port map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Diff_p buffer input (connect directly to top-level port)IB => IB, -- 1-bit input: Diff_n buffer input (connect directly to top-level port)IBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer input disable, high=disableINTERMDISABLE => INTERMDISABLE -- 1-bit input: Buffer termination disable, high=disable

);

-- End of IBUFDS_INTERMDISABLE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 130UG974 (v2015.2) 2015 月 6 月 24 日

Page 131: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// IBUFDS_INTERMDISABLE: Differential Input Buffer With Input Buffer Disable and On-die Input Termination Disable// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUFDS_INTERMDISABLE #(.DQS_BIAS("FALSE"), // (FALSE, TRUE).SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IBUFDS_INTERMDISABLE_inst (

.O(O), // 1-bit output: Buffer output

.I(I), // 1-bit input: Diff_p buffer input (connect directly to top-level port)

.IB(IB), // 1-bit input: Diff_n buffer input (connect directly to top-level port)

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Buffer input disable, high=disable

.INTERMDISABLE(INTERMDISABLE) // 1-bit input: Buffer termination disable, high=disable);

// End of IBUFDS_INTERMDISABLE_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 131UG974 (v2015.2) 2015 月 6 月 24 日

Page 132: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFDSE3

プリミティブ : Differential Input Buffer with Offset Calibration

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

差動入力バッファー (IBUFDSE3) プリミティブは、HP I/O バンクでのみサポートされます。この UltraScale アーキテクチャ特

定のプリミティブは、IBUFDS と同様の機能と、入力バッファー ディスエーブル (IBUFDISABLE) によりオフセット キャリブレー

ションを制御する機能を持ちます。オフセット キャリブレーション機能には、OSC_EN および OSC[3:0] ポートを使用してアク

セスします。このプリミティブでは、VREF スキャン機能はサポートされていません。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

ポートの説明

ポート名 方向 幅 機能

I 入力 1 Diff_p バッファー入力。最上位の P 側の入力ポートに接続します。

IB 入力 1 Diff_n バッファー入力。最上位の N 側の入力ポートに接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

O 出力 1 バッファーの出力

OSC<3:0> 入力 4 オフセット キャンセル値

OSC_EN<1:0> 入力 2 オフセット キャンセル イネーブル

UltraScale ライブラリ ガイド http://japan.xilinx.com 132UG974 (v2015.2) 2015 月 6 月 24 日

Page 133: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE" "FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDS アプリケーションに DC バイアスを提供します。

SIM_INPUT_BUFFER_OFFSET

10 進数 -50 ~ 50 0 シミュレーション用のオフセット値を指定します。

USE _IBUFDISABLE 文字列 "FALSE"、"TRUE" "FALSE" この属性は設定しないでおくか、指定する場合は "TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUFDSE3: Differential Input Buffer with Offset Calibration-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUFDSE3_inst : IBUFDSE3generic map (

DQS_BIAS => "FALSE", -- (FALSE, TRUE)SIM_INPUT_BUFFER_OFFSET => 0 -- Offset value for simulation (-50-50)

)port map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Diff_p buffer input (connect directly to top-level port)IB => IB, -- 1-bit input: Diff_n buffer input (connect directly to top-level port)IBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, high=disableOSC => OSC, -- 4-bit input: Offset cancellation valueOSC_EN => OSC_EN -- 2-bit input: Offset cancellation enable

);

-- End of IBUFDSE3_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 133UG974 (v2015.2) 2015 月 6 月 24 日

Page 134: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// IBUFDSE3: Differential Input Buffer with Offset Calibration// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUFDSE3 #(.DQS_BIAS("FALSE"), // (FALSE, TRUE).SIM_INPUT_BUFFER_OFFSET(0) // Offset value for simulation (-50-50)

)IBUFDSE3_inst (

.O(O), // 1-bit output: Buffer output

.I(I), // 1-bit input: Diff_p buffer input (connect directly to top-level port)

.IB(IB), // 1-bit input: Diff_n buffer input (connect directly to top-level port)

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Buffer disable input, high=disable

.OSC(OSC), // 4-bit input: Offset cancellation value

.OSC_EN(OSC_EN) // 2-bit input: Offset cancellation enable);

// End of IBUFDSE3_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 134UG974 (v2015.2) 2015 月 6 月 24 日

Page 135: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFE3

プリミティブ : Input Buffer with Offset Calibration and VREF Tuning

プリミティブ グループ : I/Oプリミティブ サブグループ : INPUT_BUFFER

概要

入力バッファー (IBUFE3) プリミティブは、HP I/O バンクでのみサポートされます。この UltraScale アーキテクチャ特定のプリ

ミティブは、IBUF と同様の機能と、入力バッファー ディスエーブル (IBUFDISABLE) によりオフセット キャリブレーションと

VREF 調整を制御する機能を持ちます。オフセット キャリブレーション機能には、OSC_EN および OSC[3:0] ポートを使用して

アクセスします。VREF スキャン機能は、IBUFE3 を HPIO_VREF プリミティブと共に使用することによりアクセスします。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。SIM_INPUT_BUFFER_OFFSET な

どのファンクションに影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter

(Verilog) を使用してコンポーネントに設定します。

ポートの説明

ポート名 方向 幅 機能

I 入力 1 Diff_p バッファー入力。最上位の P 側の入力ポートに接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

O 出力 1 バッファーの出力

OSC<3:0> 入力 4 オフセット キャンセル値

OSC_EN 入力 1 オフセット キャンセル イネーブル

VREF 入力 1 HPIO_VREF からの Vref 入力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 135UG974 (v2015.2) 2015 月 6 月 24 日

Page 136: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

SIM_INPUT_BUFFER_OFFSET

10 進数 -50 ~ 50 0 シミュレーション用のオフセット値を指定します。

USE_IBUFDISABLE 文字列 "FALSE"、"TRUE"

"FALSE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IBUFE3: Input Buffer with Offset Calibration and VREF Tuning-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IBUFE3_inst : IBUFE3generic map (

SIM_INPUT_BUFFER_OFFSET => 0 -- Offset value for simulation (-50-50))port map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Buffer input (connect directly to top-level port)IBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, high=disableOSC => OSC, -- 4-bit input: Offset cancellation valueOSC_EN => OSC_EN, -- 1-bit input: Offset cancellation enableVREF => VREF -- 1-bit input: Vref input from HPIO_VREF

);

-- End of IBUFE3_inst instantiation

Verilog 記述 (インスタンシエーション)

// IBUFE3: Input Buffer with Offset Calibration and VREF Tuning// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IBUFE3 #(.SIM_INPUT_BUFFER_OFFSET(0) // Offset value for simulation (-50-50)

)IBUFE3_inst (

.O(O), // 1-bit output: Buffer output

.I(I), // 1-bit input: Buffer input (connect directly to top-level port)

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Buffer disable input, high=disable

.OSC(OSC), // 4-bit input: Offset cancellation value

.OSC_EN(OSC_EN), // 1-bit input: Offset cancellation enable

.VREF(VREF) // 1-bit input: Vref input from HPIO_VREF);

// End of IBUFE3_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 136UG974 (v2015.2) 2015 月 6 月 24 日

Page 137: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ICAPE3

プリミティブ : Internal Configuration Access Port

プリミティブ グループ : CONFIGURATIONプリミティブ サブグループ : ICAP

概要

このデザイン エレメントを使用すると、FPGA ファブリックから FPGA のコンフィギュレーション機能にアクセスできます。

FPGA アレイのコンフィギュレーション ロジックにコマンドおよびデータを書き込んだり、コンフィギュレーション ロジックから

データを読み出したりすることができます。この機能を不正に使用すると FPGA の機能および信頼性に悪影響を与えるた

め、この機能に精通していない場合はこのエレメントを使用しないでください。

ポートの説明

ポート名 方向 幅 機能

AVAIL 出力 1 ICAP が使用可能であるかどうかを示します。

CLK 入力 1 クロック入力

CSIB 入力 1 アクティブ Low の ICAP イネーブル

I<31:0> 入力 32 コンフィギュレーション データ入力バス

O<31:0> 出力 32 コンフィギュレーション データ出力バス

PRDONE 出力 1 パーシャル リコンフィギュレーションが完了したことを示します。

PRERROR 出力 1 パーシャル リコンフィギュレーション中のエラーを示します。

RDWRB 入力 1 読み出し/書き込みのセレクト入力

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 137UG974 (v2015.2) 2015 月 6 月 24 日

Page 138: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

DEVICE_ID 16 進数 32’h03628093、32’h03627093

32’h03628093 シミュレーションで使用するあらかじめプログラムされているデバイス ID 値を指定します。

ICAP_AUTO_SWITCH 文字列 "DISABLE"、"ENABLE"

"DISABLE" 同期ワードを使用したスイッチ ICAP をイネーブルにします。

SIM_CFG_FILE_NAME 文字列 文字列 "NONE" シミュレーション モデルで解析するロービット ファイル (RBT) を指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- ICAPE3: Internal Configuration Access Port-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

ICAPE3_inst : ICAPE3generic map (

DEVICE_ID => X"03628093", -- Specifies the pre-programmed Device ID value to be used for simulation-- purposes.

ICAP_AUTO_SWITCH => "DISABLE", -- Enable switch ICAP using sync wordSIM_CFG_FILE_NAME => "NONE" -- Specifies the Raw Bitstream (RBT) file to be parsed by the simulation

-- model)port map (

AVAIL => AVAIL, -- 1-bit output: Availability status of ICAPO => O, -- 32-bit output: Configuration data output busPRDONE => PRDONE, -- 1-bit output: Indicates completion of Partial ReconfigurationPRERROR => PRERROR, -- 1-bit output: Indicates Error during Partial ReconfigurationCLK => CLK, -- 1-bit input: Clock inputCSIB => CSIB, -- 1-bit input: Active-Low ICAP enableI => I, -- 32-bit input: Configuration data input busRDWRB => RDWRB -- 1-bit input: Read/Write Select input

);

-- End of ICAPE3_inst instantiation

Verilog 記述 (インスタンシエーション)

// ICAPE3: Internal Configuration Access Port// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

ICAPE3 #(.DEVICE_ID(32’h03628093), // Specifies the pre-programmed Device ID value to be used for simulation

// purposes..ICAP_AUTO_SWITCH("DISABLE"), // Enable switch ICAP using sync word.SIM_CFG_FILE_NAME("NONE") // Specifies the Raw Bitstream (RBT) file to be parsed by the simulation

// model)ICAPE3_inst (

.AVAIL(AVAIL), // 1-bit output: Availability status of ICAP

.O(O), // 32-bit output: Configuration data output bus

.PRDONE(PRDONE), // 1-bit output: Indicates completion of Partial Reconfiguration

.PRERROR(PRERROR), // 1-bit output: Indicates Error during Partial Reconfiguration

.CLK(CLK), // 1-bit input: Clock input

UltraScale ライブラリ ガイド http://japan.xilinx.com 138UG974 (v2015.2) 2015 月 6 月 24 日

Page 139: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.CSIB(CSIB), // 1-bit input: Active-Low ICAP enable

.I(I), // 32-bit input: Configuration data input bus

.RDWRB(RDWRB) // 1-bit input: Read/Write Select input);

// End of ICAPE3_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 139UG974 (v2015.2) 2015 月 6 月 24 日

Page 140: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IDDRE1

プリミティブ : Dedicated Dual Data Rate (DDR) Input Register

プリミティブ グループ : REGISTERプリミティブ サブグループ : DDR

概要

コンポーネント モードでは、UltraScale FPGA の IDDRE1 はザイリンクス FPGA への外部デュアル データ レート (DDR)

信号を受信するために使用される専用入力レジスタです。データが取り込まれるクロック エッジごとにデータを FPGA

ファブリックに入力するモードと、同じクロック エッジで同時にデータを入力するモードがあります。これにより、タイミン

グが複雑にならず、追加のリソースも必要ありません。

ポートの説明

ポート名 方向 幅 機能

C 入力 1 入力シリアル データ ストリームを入力するのに使用される高速クロック入力

CB 入力 1 反転された高速クロック入力

D 入力 1 ISERDESE3 のシリアル (高速) データ入力ポート。IOB または FPGA ファブリックからのデータを受信します。

Q1 出力 1 レジスタ付きパラレル出力 1

Q2 出力 1 レジスタ付きパラレル出力 2

R 入力 1 アクティブ High の非同期リセット

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

UltraScale ライブラリ ガイド http://japan.xilinx.com 140UG974 (v2015.2) 2015 月 6 月 24 日

Page 141: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

DDR_CLK_EDGE 文字列 "OPPOSITE_EDGE"、"SAME_EDGE"、"SAME_EDGE_PIPELINED"

"OPPOSITE_EDGE" クロック エッジに対する IDDRE1 の操作モードを指定します。

• "OPPOSITE_EDGE" : 従来の入

力 DDR ソリューション。データは

立ち上がりエッジで Q1 に現れ、

立下りエッジで Q2 に現れます。

• "SAME_EDGE" : データは同じ

クロック エッジでデバイス ロジッ

クに示されます。分離が発生し

ます。

• "SAME_EDGE_PIPELINED" :

データは同じクロック エッジでデ

バイス ロジックに示されます。分

離は回避されますが、クロック レ

イテンシが発生します。

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 クロック C ピンをアクティブ High にするかアクティブ Low にするかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IDDRE1: Dedicated Dual Data Rate (DDR) Input Register-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IDDRE1_inst : IDDRE1generic map (

DDR_CLK_EDGE => "OPPOSITE_EDGE", -- IDDRE1 mode (OPPOSITE_EDGE, SAME_EDGE, SAME_EDGE_PIPELINED)IS_C_INVERTED => ’0’ -- Optional inversion for C

)port map (

Q1 => Q1, -- 1-bit output: Registered parallel output 1Q2 => Q2, -- 1-bit output: Registered parallel output 2C => C, -- 1-bit input: High-speed clockCB => CB, -- 1-bit input: Inversion of High-speed clock CD => D, -- 1-bit input: Serial Data InputR => R -- 1-bit input: Active High Async Reset

);

-- End of IDDRE1_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 141UG974 (v2015.2) 2015 月 6 月 24 日

Page 142: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// IDDRE1: Dedicated Dual Data Rate (DDR) Input Register// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IDDRE1 #(.DDR_CLK_EDGE("OPPOSITE_EDGE"), // IDDRE1 mode (OPPOSITE_EDGE, SAME_EDGE, SAME_EDGE_PIPELINED).IS_C_INVERTED(1’b0) // Optional inversion for C

)IDDRE1_inst (

.Q1(Q1), // 1-bit output: Registered parallel output 1

.Q2(Q2), // 1-bit output: Registered parallel output 2

.C(C), // 1-bit input: High-speed clock

.CB(CB), // 1-bit input: Inversion of High-speed clock C

.D(D), // 1-bit input: Serial Data Input

.R(R) // 1-bit input: Active High Async Reset);

// End of IDDRE1_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 142UG974 (v2015.2) 2015 月 6 月 24 日

Page 143: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IDELAYCTRL

プリミティブ : IDELAYE3/ODELAYE3 Tap Delay Value Control

プリミティブ グループ : I/Oプリミティブ サブグループ : DELAY

概要

IDELAYE3 または ODELAYE3 を使用する場合は、これらのデザイン エレメントの少なくとも 1 つをインスタンシエートする

必要があります。IDELAYCTRL モジュールは、PVT (プロセス、電圧、および温度) の変動にかかわらず、内部回路で

IDELAYE3 および ODELAYE3 コンポーネント用に正確な遅延タップ値を定義するための基準クロック入力を供給します。

ポートの説明

ポート名 方向 幅 機能

RDY 出力 1 特定の領域の IDELAYE3 および ODELAYE3 モジュールがキャリブレーションされたことを示します。REFCLK が High または Low に1 クロック周期以上保持されると、RDY 信号はディアサートされます。RDY が Low にディアサートされた場合は、IDELAYCTRL モジュールをリセットする必要があります。RDY を使用しない場合は、未接続にするか無視します。

REFCLK 入力 1 同じ領域にあるすべての IDELAYE3 および ODELAYE3 モジュールをキャリブレーションするための IDELAYCTRL に対する時間の基準です。ユーザー ソースまたは MMCME2/PLLE2 から直接供給でき、グローバル クロック バッファーに配線する必要があります。

RST 入力 1 アクティブ High の非同期リセット。IDELAYE3 および ODELAYE3 を正しく動作させるため、コンフィギュレーション後 REFCLK 信号が安定した後に IDELAYCTRL をリセットする必要があります。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

UltraScale ライブラリ ガイド http://japan.xilinx.com 143UG974 (v2015.2) 2015 月 6 月 24 日

Page 144: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IDELAYCTRL: IDELAYE3/ODELAYE3 Tap Delay Value Control-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IDELAYCTRL_inst : IDELAYCTRLport map (

RDY => RDY, -- 1-bit output: Ready outputREFCLK => REFCLK, -- 1-bit input: Reference clock inputRST => RST -- 1-bit input: Active high reset input

);

-- End of IDELAYCTRL_inst instantiation

Verilog 記述 (インスタンシエーション)

// IDELAYCTRL: IDELAYE3/ODELAYE3 Tap Delay Value Control// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

(* IODELAY_GROUP = (MISSING VALUE) *) // (MISSING DESCRIPTION)

IDELAYCTRL IDELAYCTRL_inst (.RDY(RDY), // 1-bit output: Ready output.REFCLK(REFCLK), // 1-bit input: Reference clock input.RST(RST) // 1-bit input: Active high reset input

);

// End of IDELAYCTRL_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 144UG974 (v2015.2) 2015 月 6 月 24 日

Page 145: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IDELAYE3

プリミティブ : Input Fixed or Variable Delay Element

プリミティブ グループ : I/Oプリミティブ サブグループ : DELAY

概要

コンポーネント モードでは、I/O ブロックに IDELAYE3 と呼ばれるプログラム可能な遅延エレメントが含まれています。この遅

延エレメントは、入力レジスタ/ISERDESE3 に接続するか、または FPGA ロジックを直接駆動できます。IDELAYE3 は、

キャリブレーションされたタップ精度を使用する 512 タップの遅延エレメントです。遅延値は、FPGA データシートを参

照してください。IDELAYE3 を使用すると、入力信号を個別に遅延できます。

ポートの説明

ポート名 方向 幅 機能

CASC_IN 入力 1 スレーブ ODELAY の CASCADE_OUT からのカスケード遅延入力

CASC_OUT 出力 1 ODELAY のカスケード入力に接続するカスケード遅延出力

CASC_RETURN 入力 1 スレーブ ODELAY の DATAOUT から戻されるカスケード遅延

CE 入力 1 インクリメント/デクリメントをイネーブル/ディスエーブルにするアクティブ High の信号

CLK 入力 1 クロック入力

CNTVALUEIN<8:0> 入力 9 動的に読み込まれるタップ値用の FPGA ロジックからのカウンター値

CNTVALUEOUT<8:0> 出力 9 遅延エレメントの値の動的な変更をレポートします。IDELAYE3 が"VARIABLE" または "VAR_LOAD" モードの場合にのみ有効です。

DATAIN 入力 1 FPGA ロジックで直接駆動され、ロジックでアクセス可能な遅延ラインとなります。データは、DATAOUT ポートを介して DELAY_VALUE で設定された遅延で FPGA ロジックにフィードバックされます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 145UG974 (v2015.2) 2015 月 6 月 24 日

Page 146: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

DATAOUT 出力 1 2 つのデータ入力ポート (IDATAIN または DATAIN) のいずれかからの遅延データ出力

EN_VTC 入力 1 VT の変動に対して遅延を一定に保持します。

IDATAIN 入力 1 IBUF からの IDELAY のデータ入力

INC 入力 1 インクリメント/デクリメント タップ遅延入力

LOAD 入力 1 VARIABLE モードでは、あらかじめプログラムされた値を読み込みます。VAR_LOAD モードでは、CNTVALUEIN の値を読み込みます。

RST 入力 1 DELAY_VALUE への非同期リセット。極性は IS_RST_INVERTED で指定します。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

CASCADE 文字列 "NONE"、"MASTER"、"SLAVE_END"、"SLAVE_MIDDLE"

"NONE" IDELAYE3 がカスケード コンフィギュレーションで使用されている場合にその位置を設定します。

• "NONE" : 遅延ラインはカスケード接

続されません。

• "MASTER" : 遅延ラインは別の遅延ラ

インとカスケード接続されます。

• "SLAVE_MIDDLE" : 遅延ラインは隣

接する遅延ラインからカスケード接続

され、別の遅延ラインにもカスケード

接続されます。

• "SLAVE_END" : 遅延ラインはカス

ケード接続の最後の遅延ラインです。

DELAY_FORMAT 文字列 "TIME"、"COUNT" "TIME" DELAY_VALUE の単位を設定します。DELAY_TYPE が "FIXED" の場合は"TIME" に設定し、"VARIABLE" または"VAR_LOAD" の場合は "COUNT" に設定します。

• "TIME" : DELAY_VALUE の値は ps

で指定します。

• "COUNT" : DELAY_VALUE の値は

タップ数で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 146UG974 (v2015.2) 2015 月 6 月 24 日

Page 147: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

DELAY_SRC 文字列 "IDATAIN"、"DATAIN"

"IDATAIN" IDELAYE3 に入力する遅延ソースを指定します。

• "DATAIN" : IDELAYE3 チェーンの入

力を DATAIN にします。

• "IDATAIN" : IDELAYE3 チェーンの

入力を IDATAIN にします。

DELAY_TYPE 文字列 "FIXED"、"VAR_LOAD"、"VARIABLE"

"FIXED" タップ遅延ラインのタイプを設定します。

• "FIXED" : スタティック遅延値に設定

します。

• "VARIABLE" : 遅延値を動的に調整

(インクリメントまたはディクリメント) し

ます。

• "VAR_LOAD" : タップ値を動的に読

み込みます。

DELAY_VALUE 10 進数 0 ~ 1250 0 "FIXED" モードでは遅延タップ数、"VARIABLE" または "VAR_LOAD" モードでは遅延タップ数の初期値を指定します (入力パス)。

IS_CLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLK ピンをアクティブ High にするかアクティブ Low にするかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST ピンをアクティブ High にするかアクティブ Low にするかを指定します。

REFCLK_FREQUENCY

1 上位ビット浮動小数点

200.0 ~ 2400.0 300.0 スタティック タイミング解析、論理シミュレーション、タイミング シミュレーションに使用するタップ値 (MHz) を設定します。適切なパフォーマンスを達成するには、REFCLK の周波数をデータシートに記載された範囲内にする必要があります。

UPDATE_MODE 文字列 "ASYNC"、"MANUAL"、"SYNC"

"ASYNC" 遅延の変更をいつ適用するかを指定します。

• "ASYNC" : 受信されるデータとは独

立して遅延値がインクリメントまたは

ディクリメントされます。

• "SYNC" : 遅延は DATAIN (または

IDATAIN) のエッジに同期してアップ

デートされます。

• "MANUAL" : LD および

CNTVALUEIN 信号を使用して

新しい CNTVALUE を読み込んだ後、

LD および CE の両方をアサートしたと

きに、遅延値がアップデートされます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 147UG974 (v2015.2) 2015 月 6 月 24 日

Page 148: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IDELAYE3: Input Fixed or Variable Delay Element-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IDELAYE3_inst : IDELAYE3generic map (

CASCADE => "NONE", -- Cascade setting (MASTER, NONE, SLAVE_END, SLAVE_MIDDLE)DELAY_FORMAT => "TIME", -- Units of the DELAY_VALUE (COUNT, TIME)DELAY_SRC => "IDATAIN", -- Delay input (DATAIN, IDATAIN)DELAY_TYPE => "FIXED", -- Set the type of tap delay line (FIXED, VARIABLE, VAR_LOAD)DELAY_VALUE => 0, -- Input delay value settingIS_CLK_INVERTED => ’0’, -- Optional inversion for CLKIS_RST_INVERTED => ’0’, -- Optional inversion for RSTREFCLK_FREQUENCY => 300.0, -- IDELAYCTRL clock input frequency in MHz (200.0-2400.0)UPDATE_MODE => "ASYNC" -- Determines when updates to the delay will take effect (ASYNC, MANUAL, SYNC)

)port map (

CASC_OUT => CASC_OUT, -- 1-bit output: Cascade delay output to ODELAY input cascadeCNTVALUEOUT => CNTVALUEOUT, -- 9-bit output: Counter value outputDATAOUT => DATAOUT, -- 1-bit output: Delayed data outputCASC_IN => CASC_IN, -- 1-bit input: Cascade delay input from slave ODELAY CASCADE_OUTCASC_RETURN => CASC_RETURN, -- 1-bit input: Cascade delay returning from slave ODELAY DATAOUTCE => CE, -- 1-bit input: Active high enable increment/decrement inputCLK => CLK, -- 1-bit input: Clock inputCNTVALUEIN => CNTVALUEIN, -- 9-bit input: Counter value inputDATAIN => DATAIN, -- 1-bit input: Data input from the logicEN_VTC => EN_VTC, -- 1-bit input: Keep delay constant over VTIDATAIN => IDATAIN, -- 1-bit input: Data input from the IOBUFINC => INC, -- 1-bit input: Increment / Decrement tap delay inputLOAD => LOAD, -- 1-bit input: Load DELAY_VALUE inputRST => RST -- 1-bit input: Asynchronous Reset to the DELAY_VALUE

);

-- End of IDELAYE3_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 148UG974 (v2015.2) 2015 月 6 月 24 日

Page 149: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// IDELAYE3: Input Fixed or Variable Delay Element// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IDELAYE3 #(.CASCADE("NONE"), // Cascade setting (MASTER, NONE, SLAVE_END, SLAVE_MIDDLE).DELAY_FORMAT("TIME"), // Units of the DELAY_VALUE (COUNT, TIME).DELAY_SRC("IDATAIN"), // Delay input (DATAIN, IDATAIN).DELAY_TYPE("FIXED"), // Set the type of tap delay line (FIXED, VARIABLE, VAR_LOAD).DELAY_VALUE(0), // Input delay value setting.IS_CLK_INVERTED(1’b0), // Optional inversion for CLK.IS_RST_INVERTED(1’b0), // Optional inversion for RST.REFCLK_FREQUENCY(300.0), // IDELAYCTRL clock input frequency in MHz (200.0-2400.0).UPDATE_MODE("ASYNC") // Determines when updates to the delay will take effect (ASYNC, MANUAL, SYNC)

)IDELAYE3_inst (

.CASC_OUT(CASC_OUT), // 1-bit output: Cascade delay output to ODELAY input cascade

.CNTVALUEOUT(CNTVALUEOUT), // 9-bit output: Counter value output

.DATAOUT(DATAOUT), // 1-bit output: Delayed data output

.CASC_IN(CASC_IN), // 1-bit input: Cascade delay input from slave ODELAY CASCADE_OUT

.CASC_RETURN(CASC_RETURN), // 1-bit input: Cascade delay returning from slave ODELAY DATAOUT

.CE(CE), // 1-bit input: Active high enable increment/decrement input

.CLK(CLK), // 1-bit input: Clock input

.CNTVALUEIN(CNTVALUEIN), // 9-bit input: Counter value input

.DATAIN(DATAIN), // 1-bit input: Data input from the logic

.EN_VTC(EN_VTC), // 1-bit input: Keep delay constant over VT

.IDATAIN(IDATAIN), // 1-bit input: Data input from the IOBUF

.INC(INC), // 1-bit input: Increment / Decrement tap delay input

.LOAD(LOAD), // 1-bit input: Load DELAY_VALUE input

.RST(RST) // 1-bit input: Asynchronous Reset to the DELAY_VALUE);

// End of IDELAYE3_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 149UG974 (v2015.2) 2015 月 6 月 24 日

Page 150: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ILKN

プリミティブ : Interlaken MAC

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : INTERLAKEN

概要

Interlaken プロトコル ブロックは、高パフォーマンス、低消費電力のインプリメンテーションを提供し、Interlaken をチップ間

のインターコネクト プロトコルとして低リスクですばやく採用できます。ファブリック インターコネクトを使用する GT およ

び FPGA クロック リソースと統合して使用するよう設計されています。このコンポーネントの詳細は、Integrated Block for

ILKN のユーザー ガイドを参照してください。

デザインの入力方法

インスタンシエーション 不可

推論 不可

IP および IP インテグレーター カタログ 推奨

詳細情報

『Integrated Interlaken up to 150G LogiCORE IP 製品ガイド』 (PG169 : 英語版、日本語版)

UltraScale ライブラリ ガイド http://japan.xilinx.com 150UG974 (v2015.2) 2015 月 6 月 24 日

Page 151: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUF

プリミティブ : Input/Output Buffer

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

IOBUF プリミティブは、双方向信号に入力バッファーとアクティブ High のトライステート T ピンを持つトライステート出力バッ

ファーの両方が必要な場合に使用します。IOBUF は汎用 IOBUF です。T ピンが High の場合、出力バッファーがディス

エーブルになります。出力バッファーがトライステートの場合 (T = High)、入力バッファーおよびオンダイ レシーバー終端

(キャリブレーションなしまたは DCI) がオンになります。出力バッファーがトライステートでないの場合 (T = Low)、オンダイ レ

シーバー終端 (キャリブレーションなしまたは DCI) がディスエーブルになります。

IOSTANDARD、DRIVE、SLEW などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロパティを

使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design Suite プロパ

ティ リファレンス ガイド』 (UG912) を参照してください。

論理表

入力 双方向 出力

T I IO O

1 X Z IO

0 1 1 1

0 0 0 0

ポートの説明

ポート名 方向 幅 機能

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IO 入出力 1 最上位入力ポートに直接接続される双方向ポート

O 出力 1 バッファーの出力パス

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

UltraScale ライブラリ ガイド http://japan.xilinx.com 151UG974 (v2015.2) 2015 月 6 月 24 日

Page 152: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUF: Input/Output Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUF_inst : IOBUFport map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Buffer inputIO => IO, -- 1-bit inout: Buffer inout (connect directly to top-level port)T => T -- 1-bit input: 3-state enable input

);

-- End of IOBUF_inst instantiation

Verilog 記述 (インスタンシエーション)

// IOBUF: Input/Output Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUF IOBUF_inst (.O(O), // 1-bit output: Buffer output.I(I), // 1-bit input: Buffer input.IO(IO), // 1-bit inout: Buffer inout (connect directly to top-level port).T(T) // 1-bit input: 3-state enable input

);

// End of IOBUF_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 152UG974 (v2015.2) 2015 月 6 月 24 日

Page 153: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUF_DCIEN

プリミティブ : Input/Output Buffer DCI Enable

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

IOBUF_DCIEN プリミティブは、HP I/O バンクで使用できます。バッファーが使用されていないときに入力バッファーをディス

エーブルにするために使用できる IBUFDISABLE ポートがあります。IOBUF_DCIEN プリミティブには DCITERMDISABLE

ポートもあり、オプションのオンダイ レシーバー終端機能 (キャリブレーションなしおよび DCI) をディスエーブルにするために

使用できます。詳細は、『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571) の「HP I/O バンクでのみ使

用可能な DCI」および「I/O におけるキャリブレーションなしの終端」を参照してください。

IOBUF_DCIEN プリミティブは、IBUFDISABLE 信号が High で出力バッファーがトライステート (T = High) のときに、入力バッ

ファーをディスエーブルにし、内部ロジックへの O 出力を Low にします。I/O でオンダイ レシーバー終端機能を使用する場

合は (キャリブレーションなしおよび DCI)、DCITERMDISABLE 信号が High にアサートされ、出力バッファーがトライス

テート (T = High) になると、終端レッグがディスエーブルになります。出力バッファーがトライステートの場合 (T = High)、

入力バッファーおよびオンダイ レシーバー終端 (キャリブレーションなしまたは DCI) がそれぞれ IBUFDISABLE および

DCITERMDISABLE により制御されます。UltraScale アーキテクチャで予測される動作を得るには、USE_IBUFDISABLE

属性を TRUE に、SIM_DEVICE 属性を ULTRASCALE に設定する必要があります。出力バッファーがトライステートで

ない場合 (T = Low)、入力バッファーおよびオンダイ レシーバー終端 (キャリブレーションなしまたは DCI) がディス

エーブルになり、内部ロジックへの O 出力が Low になります。これらの機能を組み合わせて、入力がアイドル状態に

なったときに消費電力を削減するために使用できます。

IOSTANDARD、DRIVE、SLEW などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロパティを

使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design Suite プロパ

ティ リファレンス ガイド』 (UG912) を参照してください。

UltraScale ライブラリ ガイド http://japan.xilinx.com 153UG974 (v2015.2) 2015 月 6 月 24 日

Page 154: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

DCITERMDISABLE 入力 1 DCI 終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

IO 入出力 1 最上位入力ポートに直接接続される双方向ポート

O 出力 1 バッファーの出力パス

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう"ULTRASCALE" に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUF_DCIEN: Input/Output Buffer DCI Enable-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUF_DCIEN_inst : IOBUF_DCIENgeneric map (

SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE")port map (

O => O, -- 1-bit output: Buffer outputDCITERMDISABLE => DCITERMDISABLE, -- 1-bit input: DCI Termination DisableI => I, -- 1-bit input: Buffer inputIBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, high=disableIO => IO, -- 1-bit inout: Buffer inout (connect directly to top-level port)T => T -- 1-bit input: 3-state enable input

);

-- End of IOBUF_DCIEN_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 154UG974 (v2015.2) 2015 月 6 月 24 日

Page 155: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// IOBUF_DCIEN: Input/Output Buffer DCI Enable// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUF_DCIEN #(.SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IOBUF_DCIEN_inst (

.O(O), // 1-bit output: Buffer output

.DCITERMDISABLE(DCITERMDISABLE), // 1-bit input: DCI Termination Disable

.I(I), // 1-bit input: Buffer input

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Buffer disable input, high=disable

.IO(IO), // 1-bit inout: Buffer inout (connect directly to top-level port)

.T(T) // 1-bit input: 3-state enable input);

// End of IOBUF_DCIEN_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 155UG974 (v2015.2) 2015 月 6 月 24 日

Page 156: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUF_INTERMDISABLE

プリミティブ : Bidirectional Buffer with Input Path Disable and On-die Input TerminationDisable

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

IOBUF_INTERMDISABLE プリミティブは、HR I/O バンクで使用できます。バッファーが使用されていないときに入力

バッファーをディスエーブルにするために使用できる IBUFDISABLE ポートがあります。IOBUF_INTERMDISABLE プリ

ミティブには INTERMDISABLE ポートもあり、オプションのオンダイ レシーバー終端機能をディスエーブルにするため

に使用できます。詳細は、『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571) の「I/O におけ

るキャリブレーションなしの終端」を参照してください。

IOBUF_INTERMDISABLE プリミティブは、IBUFDISABLE 信号が High で出力バッファーがトライステート (T = High) のとき

に、入力バッファーをディスエーブルにし、内部ロジックへの O 出力を Low にします。I/O でオンダイ レシーバー終端機能

(キャリブレーションなし) を使用する場合は、INTERMDISABLE 信号が High にアサートされ、出力バッファーがトライステート

(T = High) になると、終端レッグがディスエーブルになります。出力バッファーがトライステートの場合 (T = High)、入力バッ

ファーおよびオンダイ レシーバー終端がそれぞれ IBUFDISABLE および INTERMDISABLE により制御されます。UltraScale

アーキテクチャで予測される動作を得るには、USE_IBUFDISABLE 属性を TRUE に、SIM_DEVICE 属性を ULTRASCALE

に設定する必要があります。出力バッファーがトライステートでない場合 (T = Low)、入力バッファーおよびオンダイ レ

シーバー終端がディスエーブルになり、内部ロジックへの O 出力が Low になります。これらの機能を組み合わせて、入

力がアイドル状態になったときに消費電力を削減するために使用できます。

IOSTANDARD や IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロ

パティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design

Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。

UltraScale ライブラリ ガイド http://japan.xilinx.com 156UG974 (v2015.2) 2015 月 6 月 24 日

Page 157: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

I 入力 1 デバイスからの出力パスを表すバッファー入力

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

INTERMDISABLE 入力 1 オンチップ入力終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

IO 入出力 1 双方向 I/O ポート接続。デザインの最上位ポートに直接接続します。

O 出力 1 デバイスへの入力パスを表すバッファー出力

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう "ULTRASCALE"に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUF_INTERMDISABLE: Bidirectional Buffer with Input Path Disable and On-die Input Termination Disable-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUF_INTERMDISABLE_inst : IOBUF_INTERMDISABLEgeneric map (

SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE")port map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Buffer inputIBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, high=disableINTERMDISABLE => INTERMDISABLE, -- 1-bit input: Input Termination DisableIO => IO, -- 1-bit inout: Buffer inout (connect directly to top-level port)T => T -- 1-bit input: 3-state enable input

);

UltraScale ライブラリ ガイド http://japan.xilinx.com 157UG974 (v2015.2) 2015 月 6 月 24 日

Page 158: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

-- End of IOBUF_INTERMDISABLE_inst instantiation

Verilog 記述 (インスタンシエーション)

// IOBUF_INTERMDISABLE: Bidirectional Buffer with Input Path Disable and On-die Input Termination Disable// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUF_INTERMDISABLE #(.SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IOBUF_INTERMDISABLE_inst (

.O(O), // 1-bit output: Buffer output

.I(I), // 1-bit input: Buffer input

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Buffer disable input, high=disable

.INTERMDISABLE(INTERMDISABLE), // 1-bit input: Input Termination Disable

.IO(IO), // 1-bit inout: Buffer inout (connect directly to top-level port)

.T(T) // 1-bit input: 3-state enable input);

// End of IOBUF_INTERMDISABLE_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 158UG974 (v2015.2) 2015 月 6 月 24 日

Page 159: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUFDS

プリミティブ : Differential Input/Output Buffer

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

IOBUFDS は差動入力/出力バッファー プリミティブです。T ピンが High の場合、出力バッファーがディスエーブルに

なります。出力バッファーがトライステートの場合 (T = High)、入力バッファーおよびオンダイ レシーバー終端 (キャリブ

レーションなしまたは DCI) がオンになります。出力バッファーがトライステートでないの場合 (T = Low)、オンダイ レシー

バー終端 (キャリブレーションなしまたは DCI) がディスエーブルになります。

IOSTANDARD、DRIVE、SLEW などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロパティを

使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design Suite プロパ

ティ リファレンス ガイド』 (UG912) を参照してください。

論理表

入力 双方向 出力

I T IO IOB O

X 1 Z Z 変化なし

0 0 0 1 0

I 0 1 0 1

UltraScale ライブラリ ガイド http://japan.xilinx.com 159UG974 (v2015.2) 2015 月 6 月 24 日

Page 160: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IO 入出力 1 最上位入力ポートに直接接続される diff_p 双方向ポート

IOB 入出力 1 最上位入力ポートに直接接続される diff_n 双方向ポート

O 出力 1 バッファーの出力パス

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUFDS: Differential Input/Output Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_inst : IOBUFDSgeneric map (

DQS_BIAS => "FALSE" -- (FALSE, TRUE))port map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Buffer inputIO => IO, -- 1-bit inout: Diff_p inout (connect directly to top-level port)IOB => IOB, -- 1-bit inout: Diff_n inout (connect directly to top-level port)T => T -- 1-bit input: 3-state enable input

);

-- End of IOBUFDS_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 160UG974 (v2015.2) 2015 月 6 月 24 日

Page 161: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// IOBUFDS: Differential Input/Output Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS #(.DQS_BIAS("FALSE") // (FALSE, TRUE)

)IOBUFDS_inst (

.O(O), // 1-bit output: Buffer output

.I(I), // 1-bit input: Buffer input

.IO(IO), // 1-bit inout: Diff_p inout (connect directly to top-level port)

.IOB(IOB), // 1-bit inout: Diff_n inout (connect directly to top-level port)

.T(T) // 1-bit input: 3-state enable input);

// End of IOBUFDS_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 161UG974 (v2015.2) 2015 月 6 月 24 日

Page 162: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUFDS_DCIEN

プリミティブ : Differential Bidirectional Buffer With Input Buffer Disable and On-die InputTermination Disable

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

IOBUFDS_DCIEN プリミティブは、HP I/O バンクで使用できます。バッファーが使用されていないときに入力バッファーをディ

スエーブルにするために使用できる IBUFDISABLE ポートがあります。UltraScale アーキテクチャで予測される動作を得るに

は、USE_IBUFDISABLE 属性を TRUE に、SIM_DEVICE 属性を ULTRASCALE に設定する必要があります。IOBUFDS_DCIEN

プリミティブには DCITERMDISABLE ポートもあり、オプションのオンダイ レシーバー終端機能 (キャリブレーションなしまたは

DCI) をディスエーブルにするために使用できます。詳細は、『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』

(UG571) の「HP I/O バンクでのみ使用可能な DCI」および「I/O におけるキャリブレーションなしの終端」を参照してください。

IOBUFDS_DCIEN プリミティブは、IBUFDISABLE 信号が High で出力バッファーがトライステート (T = High) のときに、入力

バッファーをディスエーブルにし、内部ロジックへの O 出力を Low にします。I/O でオンダイ レシーバー終端機能 (キャリ

ブレーションなしまたは DCI) を使用する場合は、DCITERMDISABLE 信号が High にアサートされ、出力バッファーが

トライステート (T = High) になると、終端レッグがディスエーブルになります。

出力バッファーがトライステートの場合 (T = High)、入力バッファーおよびオンダイ レシーバー終端 (キャリブレーションなしま

たは DCI) がそれぞれ IBUFDISABLE および DCITERMDISABLE により制御されます。出力バッファーがトライステートでな

い場合 (T = Low)、入力バッファーおよびオンダイ レシーバー終端 (キャリブレーションなしまたは DCI) がディスエーブル

になり、内部ロジックへの O 出力が強制的に Low になります。これらの機能を組み合わせて、入力がアイドル状態に

なったときに消費電力を削減するために使用できます。

IOSTANDARD、DRIVE、SLEW などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロパティを

使用して最上位ポートに設定する必要があります。DQS_BIAS などのファンクションに影響する属性は、シミュレーションで正

しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用してコンポーネントに設定します。ポートに関連

するプロパティの設定方法は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。

UltraScale ライブラリ ガイド http://japan.xilinx.com 162UG974 (v2015.2) 2015 月 6 月 24 日

Page 163: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

DCITERMDISABLE 入力 1 DCI 終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

IO 入出力 1 最上位入力ポートに直接接続される diff_p 双方向ポート

IOB 入出力 1 最上位入力ポートに直接接続される diff_n 双方向ポート

O 出力 1 バッファーの出力パス

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう "ULTRASCALE"に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUFDS_DCIEN: Differential Bidirectional Buffer With Input Buffer Disable and On-die Input Termination Disable-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_DCIEN_inst : IOBUFDS_DCIENgeneric map (

DQS_BIAS => "FALSE", -- (FALSE, TRUE)SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE"

)port map (

O => O, -- 1-bit output: Buffer outputDCITERMDISABLE => DCITERMDISABLE, -- 1-bit input: DCI Termination DisableI => I, -- 1-bit input: Buffer input

UltraScale ライブラリ ガイド http://japan.xilinx.com 163UG974 (v2015.2) 2015 月 6 月 24 日

Page 164: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, high=disableIO => IO, -- 1-bit inout: Diff_p inout (connect directly to top-level port)IOB => IOB, -- 1-bit inout: Diff_n inout (connect directly to top-level port)T => T -- 1-bit input: 3-state enable input

);

-- End of IOBUFDS_DCIEN_inst instantiation

Verilog 記述 (インスタンシエーション)

// IOBUFDS_DCIEN: Differential Bidirectional Buffer With Input Buffer Disable and On-die Input Termination Disable// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_DCIEN #(.DQS_BIAS("FALSE"), // (FALSE, TRUE).SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IOBUFDS_DCIEN_inst (

.O(O), // 1-bit output: Buffer output

.DCITERMDISABLE(DCITERMDISABLE), // 1-bit input: DCI Termination Disable

.I(I), // 1-bit input: Buffer input

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Buffer disable input, high=disable

.IO(IO), // 1-bit inout: Diff_p inout (connect directly to top-level port)

.IOB(IOB), // 1-bit inout: Diff_n inout (connect directly to top-level port)

.T(T) // 1-bit input: 3-state enable input);

// End of IOBUFDS_DCIEN_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 164UG974 (v2015.2) 2015 月 6 月 24 日

Page 165: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUFDS_DIFF_OUT

プリミティブ : Differential Input/Output Buffer Primitive With Complementary Outputsfor the Input Buffer

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

IOBUFDS_DIFF_OUT は、相補出力 (O および OB) を持つ差動入力/出力バッファー プリミティブです。T ピンが High の場

合、出力バッファーがディスエーブルになります。出力バッファーがトライステートの場合 (T = High)、入力バッファーお

よびオンダイ レシーバー終端 (キャリブレーションなしまたは DCI) がオンになります。出力バッファーがトライステート

でないの場合 (T = Low)、オンダイ レシーバー終端 (キャリブレーションなしまたは DCI) がディスエーブルになります。

UltraScale アーキテクチャで予測される動作を得るには、TM および TS をこのプリミティブのインターコネクト ロジックか

らの同じ入力に接続する必要があります。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 165UG974 (v2015.2) 2015 月 6 月 24 日

Page 166: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IO 入出力 1 最上位入力ポートに直接接続される diff_p 双方向ポート

IOB 入出力 1 最上位入力ポートに直接接続される diff_n 双方向ポート

O 出力 1 バッファーの出力パス

OB 出力 1 バッファーの出力パス

TM 入力 1 バッファーを入力として使用するか出力として使用するかを示す、P 側 (マスター側) のトライステート。イネーブル入力このピンは、TS 入力と同じ信号に接続する必要があります。

TS 入力 1 バッファーを入力として使用するか出力として使用するかを示す、N 側 (スレーブ側) のトライステート。イネーブル入力このピンは、TM 入力と同じ信号に接続する必要があります。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUFDS_DIFF_OUT: Differential Input/Output Buffer Primitive With Complementary Outputs for the Input Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_DIFF_OUT_inst : IOBUFDS_DIFF_OUTgeneric map (

DQS_BIAS => "FALSE" -- (FALSE, TRUE))port map (

O => O, -- 1-bit output: Buffer diff_p outputOB => OB, -- 1-bit output: Buffer diff_n outputI => I, -- 1-bit input: Buffer inputIO => IO, -- 1-bit inout: Diff_p inout (connect directly to top-level port)IOB => IOB, -- 1-bit inout: Diff_n inout (connect directly to top-level port)TM => TM, -- 1-bit input: 3-state master enable inputTS => TS -- 1-bit input: 3-state slave enable input

);

-- End of IOBUFDS_DIFF_OUT_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 166UG974 (v2015.2) 2015 月 6 月 24 日

Page 167: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// IOBUFDS_DIFF_OUT: Differential Input/Output Buffer Primitive With Complementary Outputs for the Input Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_DIFF_OUT #(.DQS_BIAS("FALSE") // (FALSE, TRUE)

)IOBUFDS_DIFF_OUT_inst (

.O(O), // 1-bit output: Buffer diff_p output

.OB(OB), // 1-bit output: Buffer diff_n output

.I(I), // 1-bit input: Buffer input

.IO(IO), // 1-bit inout: Diff_p inout (connect directly to top-level port)

.IOB(IOB), // 1-bit inout: Diff_n inout (connect directly to top-level port)

.TM(TM), // 1-bit input: 3-state master enable input

.TS(TS) // 1-bit input: 3-state slave enable input);

// End of IOBUFDS_DIFF_OUT_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 167UG974 (v2015.2) 2015 月 6 月 24 日

Page 168: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUFDS_DIFF_OUT_DCIEN

プリミティブ : Differential Bidirectional Buffer with Complementary Outputs, Input PathDisable, and On-die Input Termination Disable

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

IOBUFDS_DIFF_OUT_DCIEN プリミティブは、HP I/O バンクで使用できます。相補差動出力、IBUFDISABLE ポート、お

よびオプションのオンダイ レシーバー終端機能 (キャリブレーションなしまたは DCI) をディスエーブルにするための

DCITERMDISABLE ポートがあります。詳細は、『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571) の

「HP I/O バンクでのみ使用可能な DCI」および「I/O におけるキャリブレーションなしの終端」を参照してください。UltraScale

アーキテクチャで予測される動作を得るには、USE_IBUFDISABLE 属性を TRUE に、SIM_DEVICE 属性を ULTRASCALE に

設定する必要があります。UltraScale アーキテクチャで予測される動作を得るには、TM および TS をこのプリミティブのイン

ターコネクト ロジックからの同じ入力に接続する必要があります。

I/O でオンダイ レシーバー終端機能 (キャリブレーションなしまたは DCI) を使用する場合は、DCITERMDISABLE 信号が

High にアサートされ、出力バッファーがトライステートになると、終端レッグがディスエーブルになります。出力バッファーがト

ライステートの場合 (T = High)、オンダイ レシーバー終端 (キャリブレーションなしまたは DCI) は DCITERMDISABLE により

制御されます。出力バッファーがトライステートでない場合 (T = Low)、入力バッファーおよびオンダイ レシーバー終端 (キャ

リブレーションなしまたは DCI) がディスエーブルになり、内部ロジックへの O 出力が Low になります。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 168UG974 (v2015.2) 2015 月 6 月 24 日

Page 169: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

DCITERMDISABLE 入力 1 DCI 終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IBUFDISABLE 入力 1 IBUFDISABLE 機能は、UltraScale アーキテクチャのこのプリミティブではサポートされていません。このポートは 0 に接続する必要があります。

IO 入出力 1 最上位入力ポートに直接接続される diff_p 双方向ポート

IOB 入出力 1 最上位入力ポートに直接接続される diff_n 双方向ポート

O 出力 1 バッファーの出力パス

OB 出力 1 バッファーの出力パス

TM 入力 1 バッファーを入力として使用するか出力として使用するかを示す、P 側(マスター側) のトライステート イネーブル入力。このピンは、TS 入力と同じ信号に接続する必要があります。

TS 入力 1 バッファーを入力として使用するか出力として使用するかを示す、N 側(スレーブ側) のトライステート イネーブル入力。このピンは、TM 入力と同じ信号に接続する必要があります。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう "ULTRASCALE"に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUFDS_DIFF_OUT_DCIEN: Differential Bidirectional Buffer with Complementary Outputs, Input Path Disable, and On-die Input Termination Disable

-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_DIFF_OUT_DCIEN_inst : IOBUFDS_DIFF_OUT_DCIENgeneric map (

DQS_BIAS => "FALSE", -- (FALSE, TRUE)

UltraScale ライブラリ ガイド http://japan.xilinx.com 169UG974 (v2015.2) 2015 月 6 月 24 日

Page 170: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE")port map (

O => O, -- 1-bit output: Buffer diff_p outputOB => OB, -- 1-bit output: Buffer diff_n outputDCITERMDISABLE => DCITERMDISABLE, -- 1-bit input: DCI Termination DisableI => I, -- 1-bit input: Buffer inputIBUFDISABLE => IBUFDISABLE, -- 1-bit input: Must be tied to a logic ’0’IO => IO, -- 1-bit inout: Diff_p inout (connect directly to top-level port)IOB => IOB, -- 1-bit inout: Diff_n inout (connect directly to top-level port)TM => TM, -- 1-bit input: 3-state master enable inputTS => TS -- 1-bit input: 3-state slave enable input

);

-- End of IOBUFDS_DIFF_OUT_DCIEN_inst instantiation

Verilog 記述 (インスタンシエーション)

// IOBUFDS_DIFF_OUT_DCIEN: Differential Bidirectional Buffer with Complementary Outputs, Input Path Disable, and On-die Input Termination Disable

// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_DIFF_OUT_DCIEN #(.DQS_BIAS("FALSE"), // (FALSE, TRUE).SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IOBUFDS_DIFF_OUT_DCIEN_inst (

.O(O), // 1-bit output: Buffer diff_p output

.OB(OB), // 1-bit output: Buffer diff_n output

.DCITERMDISABLE(DCITERMDISABLE), // 1-bit input: DCI Termination Disable

.I(I), // 1-bit input: Buffer input

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Must be tied to a logic ’0’

.IO(IO), // 1-bit inout: Diff_p inout (connect directly to top-level port)

.IOB(IOB), // 1-bit inout: Diff_n inout (connect directly to top-level port)

.TM(TM), // 1-bit input: 3-state master enable input

.TS(TS) // 1-bit input: 3-state slave enable input);

// End of IOBUFDS_DIFF_OUT_DCIEN_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 170UG974 (v2015.2) 2015 月 6 月 24 日

Page 171: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUFDS_DIFF_OUT_INTERMDISABLE

プリミティブ : Differential Bidirectional Buffer with Complementary Outputs, Input BufferDisable and On-die Input Termination Disable

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

IOBUFDS_DIFF_OUT_INTERMDISABLE プリミティブは、HR I/O バンクで使用できます。このプリミティブには

INTERMDISABLE ポートもあり、オプションのオンダイ レシーバー終端機能をディスエーブルにするために使用できます。こ

の機能の詳細は、『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571) の「I/O におけるキャリブレーショ

ンなしの終端」を参照してください。UltraScale アーキテクチャで予測される動作を得るには、TM および TS をこのプリミティ

ブのインターコネクト ロジックからの同じ入力 (T) に接続する必要があります。

UltraScale アーキテクチャで予測される動作を得るには、USE_IBUFDISABLE 属性を TRUE に、SIM_DEVICE 属性を

ULTRASCALE に設定する必要があります。I/O でオンダイ レシーバー終端機能を使用する場合は、INTERMDISABLE

信号が High にアサートされ、出力バッファーがトライステートになると、終端レッグがディスエーブルになります。出力

バッファーがトライステートの場合 (T = High)、オンダイ レシーバー終端は INTERMDISABLE により制御されます。

出力バッファーがトライステートでない場合 (T = Low)、入力バッファーおよびオンダイ レシーバー終端がディスエーブ

ルになり、内部ロジックへの O 出力が Low になります。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 171UG974 (v2015.2) 2015 月 6 月 24 日

Page 172: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IBUFDISABLE 入力 1 IBUFDISABLE 機能は、UltraScale アーキテクチャのこのプリミティブではサポートされていません。このポートは 0 に接続する必要があります。

INTERMDISABLE 入力 1 オンチップ入力終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

IO 入出力 1 最上位入力ポートに直接接続される diff_p 双方向ポート

IOB 入出力 1 最上位入力ポートに直接接続される diff_n 双方向ポート

O 出力 1 バッファーの出力パス

OB 出力 1 バッファーの出力パス

TM 入力 1 バッファーを入力として使用するか出力として使用するかを示す、P 側(マスター側) のトライステート イネーブル入力。このピンは、TS 入力と同じ信号に接続する必要があります。

TS 入力 1 バッファーを入力として使用するか出力として使用するかを示す、N 側(スレーブ側) のトライステート イネーブル入力。このピンは、TM 入力と同じ信号に接続する必要があります。

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう "ULTRASCALE"に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 172UG974 (v2015.2) 2015 月 6 月 24 日

Page 173: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUFDS_DIFF_OUT_INTERMDISABLE: Differential Bidirectional Buffer with Complementary Outputs, Input Buffer Disable and On-die Input Termination Disable

-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_DIFF_OUT_INTERMDISABLE_inst : IOBUFDS_DIFF_OUT_INTERMDISABLEgeneric map (

DQS_BIAS => "FALSE", -- (FALSE, TRUE)SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE"

)port map (

O => O, -- 1-bit output: Buffer diff_p outputOB => OB, -- 1-bit output: Buffer diff_n outputI => I, -- 1-bit input: Buffer inputIBUFDISABLE => IBUFDISABLE, -- 1-bit input: Must be tied to a logic ’0’INTERMDISABLE => INTERMDISABLE, -- 1-bit input: Input Termination DisableIO => IO, -- 1-bit inout: Diff_p inout (connect directly to top-level port)IOB => IOB, -- 1-bit inout: Diff_n inout (connect directly to top-level port)TM => TM, -- 1-bit input: 3-state master enable inputTS => TS -- 1-bit input: 3-state slave enable input

);

-- End of IOBUFDS_DIFF_OUT_INTERMDISABLE_inst instantiation

Verilog 記述 (インスタンシエーション)

// IOBUFDS_DIFF_OUT_INTERMDISABLE: Differential Bidirectional Buffer with Complementary Outputs, Input Buffer Disable and On-die Input Termination Disable

// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_DIFF_OUT_INTERMDISABLE #(.DQS_BIAS("FALSE"), // (FALSE, TRUE).SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IOBUFDS_DIFF_OUT_INTERMDISABLE_inst (

.O(O), // 1-bit output: Buffer diff_p output

.OB(OB), // 1-bit output: Buffer diff_n output

.I(I), // 1-bit input: Buffer input

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Must be tied to a logic ’0’

.INTERMDISABLE(INTERMDISABLE), // 1-bit input: Input Termination Disable

.IO(IO), // 1-bit inout: Diff_p inout (connect directly to top-level port)

.IOB(IOB), // 1-bit inout: Diff_n inout (connect directly to top-level port)

.TM(TM), // 1-bit input: 3-state master enable input

.TS(TS) // 1-bit input: 3-state slave enable input);

// End of IOBUFDS_DIFF_OUT_INTERMDISABLE_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 173UG974 (v2015.2) 2015 月 6 月 24 日

Page 174: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUFDS_INTERMDISABLE

プリミティブ : Differential Bidirectional Buffer With Input Buffer Disable and On-die Input

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

IOBUFDS_INTERMDISABLE プリミティブは、HR I/O バンクで使用できます。バッファーが使用されていないときに入力バッ

ファーをディスエーブルにするために使用できる IBUFDISABLE ポートがあります。このプリミティブには INTERMDISABLE

ポートもあり、オプションのオンダイ レシーバー終端機能をディスエーブルにするために使用できます。この機能の詳細

は、『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571) の「I/O におけるキャリブレーションな

しの終端」を参照してください。

IOBUFDS_INTERMDISABLE プリミティブは、IBUFDISABLE 信号が High で出力バッファーがトライステート (T = High) のとき

に、入力バッファーをディスエーブルにし、内部ロジックへの O 出力を Low にします。UltraScale アーキテクチャで予測さ

れる動作を得るには、USE_IBUFDISABLE 属性を TRUE に、SIM_DEVICE 属性を ULTRASCALE に設定する必要があ

ります。I/O でオンダイ レシーバー終端機能を使用する場合は、INTERMDISABLE 信号が High にアサートされ、出力

バッファーがトライステートになると、終端レッグがディスエーブルになります。出力バッファーがトライステートの場合 (T =

High)、入力バッファーおよびオンダイ レシーバー終端がそれぞれ IBUFDISABLE および INTERMDISABLE により制御され

ます。出力バッファーがトライステートでない場合 (T = Low)、入力バッファーおよびオンダイ レシーバー終端がディス

エーブルになり、内部ロジックへの O 出力が Low になります。これらの機能を組み合わせて、入力がアイドル状態に

なったときに消費電力を削減するために使用できます。

IOSTANDARD、DIFF_TERM、IBUF_LOW_POWER などのコンポーネントのロジック ファンクションに影響しない I/O 属

性は、適切なプロパティを使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法

は、『Vivado Design Suite プロパティ リファレンス ガイド』 (UG912) を参照してください。DQS_BIAS などのファンクション

に影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用し

てコンポーネントに設定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 174UG974 (v2015.2) 2015 月 6 月 24 日

Page 175: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

INTERMDISABLE 入力 1 オンチップ入力終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

IO 入出力 1 最上位入力ポートに直接接続される diff_p 双方向ポート

IOB 入出力 1 最上位入力ポートに直接接続される diff_n 双方向ポート

O 出力 1 バッファーの出力パス

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"7SERIES" シミュレーションが正しく動作するよう"ULTRASCALE" に設定する必要があります。

USE_IBUFDISABLE 文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUFDS_INTERMDISABLE: Differential Bidirectional Buffer With Input Buffer Disable and On-die Input-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_INTERMDISABLE_inst : IOBUFDS_INTERMDISABLEgeneric map (

DQS_BIAS => "FALSE", -- (FALSE, TRUE)SIM_DEVICE => "ULTRASCALE" -- Must be set to "ULTRASCALE"

)port map (

O => O, -- 1-bit output: Buffer outputI => I, -- 1-bit input: Buffer input

UltraScale ライブラリ ガイド http://japan.xilinx.com 175UG974 (v2015.2) 2015 月 6 月 24 日

Page 176: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, high=disableINTERMDISABLE => INTERMDISABLE, -- 1-bit input: Input Termination DisableIO => IO, -- 1-bit inout: Diff_p inout (connect directly to top-level port)IOB => IOB, -- 1-bit inout: Diff_n inout (connect directly to top-level port)T => T -- 1-bit input: 3-state enable input

);

-- End of IOBUFDS_INTERMDISABLE_inst instantiation

Verilog 記述 (インスタンシエーション)

// IOBUFDS_INTERMDISABLE: Differential Bidirectional Buffer With Input Buffer Disable and On-die Input// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUFDS_INTERMDISABLE #(.DQS_BIAS("FALSE"), // (FALSE, TRUE).SIM_DEVICE("ULTRASCALE") // Must be set to "ULTRASCALE"

)IOBUFDS_INTERMDISABLE_inst (

.O(O), // 1-bit output: Buffer output

.I(I), // 1-bit input: Buffer input

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Buffer disable input, high=disable

.INTERMDISABLE(INTERMDISABLE), // 1-bit input: Input Termination Disable

.IO(IO), // 1-bit inout: Diff_p inout (connect directly to top-level port)

.IOB(IOB), // 1-bit inout: Diff_n inout (connect directly to top-level port)

.T(T) // 1-bit input: 3-state enable input);

// End of IOBUFDS_INTERMDISABLE_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 176UG974 (v2015.2) 2015 月 6 月 24 日

Page 177: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUFDSE3

プリミティブ : Differential Bidirectional I/O Buffer with Offset Calibration

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

差動双方向入力/出力バッファー プリミティブ (IOBUFDSE3) は、HP I/O バンクでのみサポートされます。この UltraScale

アーキテクチャ特定のプリミティブは、IOBUFDS と同様の機能と、入力バッファー ディスエーブル (IBUFDISABLE)

によりオフセット キャリブレーションを制御する機能および入力バッファーのオンダイ入力終端ディスエーブル制御

(DCITERMDISABLE) を持ちます。オフセット キャリブレーション機能には、OSC_EN および OSC[3:0] ポートを使用してアク

セスします。このプリミティブでは、VREF スキャン機能はサポートされていません。

IOSTANDARD、DRIVE、SLEW などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロパ

ティを使用して最上位ポートに設定する必要があります。DQS_BIAS や SIM_INPUT_BUFFER_OFFSET などのファンクショ

ンに影響する属性は、シミュレーションで正しく動作させるため、generic_map (VHDL) または parameter (Verilog) を使用

してコンポーネントに設定します。ポートに関連するプロパティの設定方法は、『Vivado Design Suite プロパティ リファレ

ンス ガイド』 (UG912) を参照してください。

論理表

入力 双方向 出力

I T IO IOB O

X 1 Z Z 変化なし

0 0 0 1 0

I 0 1 0 1

UltraScale ライブラリ ガイド http://japan.xilinx.com 177UG974 (v2015.2) 2015 月 6 月 24 日

Page 178: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

DCITERMDISABLE 入力 1 DCI 終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

IO 入出力 1 最上位入力ポートに直接接続される diff_p 双方向ポート

IOB 入出力 1 最上位入力ポートに直接接続される diff_n 双方向ポート

O 出力 1 バッファーの出力パス

OSC<3:0> 入力 4 オフセット キャンセル値

OSC_EN<1:0> 入力 2 オフセット キャンセル イネーブル

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供します。

SIM_INPUT_BUFFER_OFFSET

10 進数 -50 ~ 50 0 シミュレーション用のオフセット値を指定します。

USE_IBUFDISABLE 文字列 "FALSE"、"TRUE"

"FALSE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUFDSE3: Differential Bidirectional I/O Buffer with Offset Calibration-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUFDSE3_inst : IOBUFDSE3generic map (

DQS_BIAS => "FALSE", -- (FALSE, TRUE)SIM_INPUT_BUFFER_OFFSET => 0 -- Offset value for simulation (-50-50)

)

UltraScale ライブラリ ガイド http://japan.xilinx.com 178UG974 (v2015.2) 2015 月 6 月 24 日

Page 179: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

port map (O => O, -- 1-bit output: Buffer outputDCITERMDISABLE => DCITERMDISABLE, -- 1-bit input: DCI Termination DisableI => I, -- 1-bit input: Buffer inputIBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, high=disableIO => IO, -- 1-bit inout: Diff_p inout (connect directly to top-level port)IOB => IOB, -- 1-bit inout: Diff_n inout (connect directly to top-level port)OSC => OSC, -- 4-bit input: Offset cancellation valueOSC_EN => OSC_EN, -- 2-bit input: Offset cancellation enableT => T -- 1-bit input: 3-state enable input

);

-- End of IOBUFDSE3_inst instantiation

Verilog 記述 (インスタンシエーション)

// IOBUFDSE3: Differential Bidirectional I/O Buffer with Offset Calibration// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUFDSE3 #(.DQS_BIAS("FALSE"), // (FALSE, TRUE).SIM_INPUT_BUFFER_OFFSET(0) // Offset value for simulation (-50-50)

)IOBUFDSE3_inst (

.O(O), // 1-bit output: Buffer output

.DCITERMDISABLE(DCITERMDISABLE), // 1-bit input: DCI Termination Disable

.I(I), // 1-bit input: Buffer input

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Buffer disable input, high=disable

.IO(IO), // 1-bit inout: Diff_p inout (connect directly to top-level port)

.IOB(IOB), // 1-bit inout: Diff_n inout (connect directly to top-level port)

.OSC(OSC), // 4-bit input: Offset cancellation value

.OSC_EN(OSC_EN), // 2-bit input: Offset cancellation enable

.T(T) // 1-bit input: 3-state enable input);

// End of IOBUFDSE3_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 179UG974 (v2015.2) 2015 月 6 月 24 日

Page 180: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IOBUFE3

プリミティブ : Bidirectional I/O Buffer with Offset Calibration and VREF Tuning

プリミティブ グループ : I/Oプリミティブ サブグループ : BIDIR_BUFFER

概要

双方向入力/出力バッファー プリミティブ (IOBUFE3) は、HP I/O バンクでのみサポートされます。この UltraScale アーキテク

チャ特定のプリミティブは、IOBUF と同様の機能と、入力バッファー ディスエーブル (IBUFDISABLE) によりオフセット キャリ

ブレーションおよび VREF 調整を制御する機能および入力バッファーのオンダイ入力終端制御 (DCITERMDISABLE) を持

ちます。オフセット キャリブレーション機能には、OSC_EN および OSC[3:0] ポートを使用してアクセスします。VREF スキャン

機能は、IOBUFE3 を HPIO_VREF プリミティブと共に使用することによりアクセスします。

IOSTANDARD、DRIVE、SLEW などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロパティを

使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design Suite プロパ

ティ リファレンス ガイド』 (UG912) を参照してください。

UltraScale ライブラリ ガイド http://japan.xilinx.com 180UG974 (v2015.2) 2015 月 6 月 24 日

Page 181: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

DCITERMDISABLE 入力 1 DCI 終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

IO 入出力 1 最上位入力ポートに直接接続される双方向ポート

O 出力 1 バッファーの出力パス

OSC<3:0> 入力 4 オフセット キャンセル値

OSC_EN 入力 1 オフセット キャンセル イネーブル

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

VREF 入力 1 HPIO_VREF からの Vref 入力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

SIM_INPUT_BUFFER_OFFSET

10 進数 -50 ~ 50 0 シミュレーション用のオフセット値を指定します。

USE_IBUFDISABLE 文字列 "FALSE"、"TRUE" "FALSE" この属性は設定しないでおくか、指定する場合は "TRUE" に設定する必要があります。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUFE3: Bidirectional I/O Buffer with Offset Calibration and VREF Tuning-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

IOBUFE3_inst : IOBUFE3generic map (

SIM_INPUT_BUFFER_OFFSET => 0 -- Offset value for simulation (-50-50))port map (

O => O, -- 1-bit output: Buffer outputDCITERMDISABLE => DCITERMDISABLE, -- 1-bit input: DCI Termination Disable

UltraScale ライブラリ ガイド http://japan.xilinx.com 181UG974 (v2015.2) 2015 月 6 月 24 日

Page 182: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

I => I, -- 1-bit input: Buffer inputIBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, high=disableIO => IO, -- 1-bit inout: Buffer inout (connect directly to top-level port)OSC => OSC, -- 4-bit input: Offset cancellation valueOSC_EN => OSC_EN, -- 1-bit input: Offset cancellation enableT => T, -- 1-bit input: 3-state enable inputVREF => VREF -- 1-bit input: Vref input from HPIO_VREF

);

-- End of IOBUFE3_inst instantiation

Verilog 記述 (インスタンシエーション)

// IOBUFE3: Bidirectional I/O Buffer with Offset Calibration and VREF Tuning// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

IOBUFE3 #(.SIM_INPUT_BUFFER_OFFSET(0) // Offset value for simulation (-50-50)

)IOBUFE3_inst (

.O(O), // 1-bit output: Buffer output

.DCITERMDISABLE(DCITERMDISABLE), // 1-bit input: DCI Termination Disable

.I(I), // 1-bit input: Buffer input

.IBUFDISABLE(IBUFDISABLE), // 1-bit input: Buffer disable input, high=disable

.IO(IO), // 1-bit inout: Buffer inout (connect directly to top-level port)

.OSC(OSC), // 4-bit input: Offset cancellation value

.OSC_EN(OSC_EN), // 1-bit input: Offset cancellation enable

.T(T), // 1-bit input: 3-state enable input

.VREF(VREF) // 1-bit input: Vref input from HPIO_VREF);

// End of IOBUFE3_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 182UG974 (v2015.2) 2015 月 6 月 24 日

Page 183: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ISERDESE3

プリミティブ : Input SERial/DESerializer

プリミティブ グループ : I/Oプリミティブ サブグループ : SERDES

概要

UltraScale FPGA に含まれる ISERDESE3 は、高速ソース同期アプリケーションのインプリメンテーションに特化したクロック

およびロジック機能を持つ、専用シリアル/パラレル コンバーターです。FPGA でデシリアライザーを設計する際にタイ

ミングが複雑になるのを回避するために使用します。ISERDESE3 には、次の機能があります。専用デシリアライザー、

シリアル/パラレル コンバーターは、FPGA ファブリックが入力データ周波数に一致していなくても、高速データ転送を

可能にします。このコンバーターでは、シングル データ レート (SDR) モードとダブル データ レート (DDR) モードがサ

ポートされます。SDR モードでは 1 つおきの Q ピンからデータを取得して 4 ビット幅のパラレル ワードが作成され、DDR

モードでは 8 ビット幅のパラレル ワードが作成されます。

ポートの説明

ポート名 方向 幅 機能

CLK 入力 1 入力シリアル データ ストリームを入力するのに使用される高速クロック入力

CLK_B 入力 1 反転された高速クロック入力

CLKDIV 入力 1 分周クロック入力。通常は CLK を分周したクロックです (インプリメントされたデシリアライザーの幅による)。シリアル/パラレル コンバーターの出力および CE モジュールを駆動します。

D 入力 1 ISERDESE3 のシリアル (高速) データ入力ポート。IOB または FPGA ファブリックからのデータを受信します。

FIFO_EMPTY 出力 1 FIFO が空であることを示します。

FIFO_RD_CLK 入力 1 FIFO 読み出しクロック

FIFO_RD_EN 入力 1 FIFO の読み出しをイネーブルにします。

INTERNAL_DIVCLK 出力 1 FIFO がディスエーブル (接続されない) のときに ISERDES からのデータを送信するために使用する内部分周されたクロック

Q<7:0> 出力 8 8 ビットのレジスタ付き出力

RST 入力 1 非同期リセット。極性は IS_RST_INVERTED で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 183UG974 (v2015.2) 2015 月 6 月 24 日

Page 184: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

DATA_WIDTH 10 進数 8、4 8 シリアル/パラレル コンバーターの幅を指定します。SDR モードでは、1 つおきの Q ピンからデータが取得されます。

FIFO_ENABLE 文字列 "FALSE"、"TRUE" "FALSE" "TRUE" に設定すると FIFO が使用され、"FALSE" に設定すると FIFO がバイパスされます。

FIFO_SYNC_MODE 文字列 "FALSE"、"TRUE" "FALSE" 内部書き込みクロックと FIFO_RD_CLK が共通ソースから供給され、書き込みから読み込みへのクロック タイミングがすべて満たされる必要がある場合は "TRUE" に設定します。"FALSE"に設定すると内部 2 段フリップフロップ シンクロナイザーが使用され、データが最初に FIFO に書き込まれて FIFO_EMPTY がディアサートされるときにレイテンシが追加されます。

IS_CLK_B_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLK_B ピンをアクティブ High にするかアクティブ Low にするかを指定します。

IS_CLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLK ピンをアクティブ High にするかアクティブLow にするかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST ピンをアクティブ High にするかアクティブLow にするかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- ISERDESE3: Input SERial/DESerializer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

ISERDESE3_inst : ISERDESE3generic map (

DATA_WIDTH => 8, -- Parallel data width (4,8)FIFO_ENABLE => "FALSE", -- Enables the use of the FIFOFIFO_SYNC_MODE => "FALSE", -- Enables the use of internal 2-stage synchronizers on the FIFOIS_CLK_B_INVERTED => ’0’, -- Optional inversion for CLK_BIS_CLK_INVERTED => ’0’, -- Optional inversion for CLKIS_RST_INVERTED => ’0’ -- Optional inversion for RST

)port map (

FIFO_EMPTY => FIFO_EMPTY, -- 1-bit output: FIFO empty flagINTERNAL_DIVCLK => INTERNAL_DIVCLK, -- 1-bit output: Internally divided down clock used when FIFO is

-- disabled (do not connect)

Q => Q, -- 8-bit registered output

UltraScale ライブラリ ガイド http://japan.xilinx.com 184UG974 (v2015.2) 2015 月 6 月 24 日

Page 185: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CLK => CLK, -- 1-bit input: High-speed clockCLKDIV => CLKDIV, -- 1-bit input: Divided ClockCLK_B => CLK_B, -- 1-bit input: Inversion of High-speed clock CLKD => D, -- 1-bit input: Serial Data InputFIFO_RD_CLK => FIFO_RD_CLK, -- 1-bit input: FIFO read clockFIFO_RD_EN => FIFO_RD_EN, -- 1-bit input: Enables reading the FIFO when assertedRST => RST -- 1-bit input: Asynchronous Reset

);

-- End of ISERDESE3_inst instantiation

Verilog 記述 (インスタンシエーション)

// ISERDESE3: Input SERial/DESerializer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

ISERDESE3 #(.DATA_WIDTH(8), // Parallel data width (4,8).FIFO_ENABLE("FALSE"), // Enables the use of the FIFO.FIFO_SYNC_MODE("FALSE"), // Enables the use of internal 2-stage synchronizers on the FIFO.IS_CLK_B_INVERTED(1’b0), // Optional inversion for CLK_B.IS_CLK_INVERTED(1’b0), // Optional inversion for CLK.IS_RST_INVERTED(1’b0) // Optional inversion for RST

)ISERDESE3_inst (

.FIFO_EMPTY(FIFO_EMPTY), // 1-bit output: FIFO empty flag

.INTERNAL_DIVCLK(INTERNAL_DIVCLK), // 1-bit output: Internally divided down clock used when FIFO is// disabled (do not connect)

.Q(Q), // 8-bit registered output

.CLK(CLK), // 1-bit input: High-speed clock

.CLKDIV(CLKDIV), // 1-bit input: Divided Clock

.CLK_B(CLK_B), // 1-bit input: Inversion of High-speed clock CLK

.D(D), // 1-bit input: Serial Data Input

.FIFO_RD_CLK(FIFO_RD_CLK), // 1-bit input: FIFO read clock

.FIFO_RD_EN(FIFO_RD_EN), // 1-bit input: Enables reading the FIFO when asserted

.RST(RST) // 1-bit input: Asynchronous Reset);

// End of ISERDESE3_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 185UG974 (v2015.2) 2015 月 6 月 24 日

Page 186: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

KEEPER

プリミティブ : I/O Weak Keeper

プリミティブ グループ : I/Oプリミティブ サブグループ : WEAK_DRIVER

概要

このデザイン エレメントは、I/O が駆動されないときに値を保持するウィーク キーパー エレメントです。たとえば、I/O に論理

1 を駆動すると、KEEPER はそのピン/ポートにウィーク/抵抗値 1 を駆動します。その後、ネット ドライバーがトライステート

になっても、KEEPER はピン/ポートにウィーク/抵抗値 1 を駆動し続けます。

ポートの説明

ポート名 方向 幅 機能

O 入出力 1 キーパー出力最上位ポートに直接接続します。

デザインの入力方法

インスタンシエーション 可

推論 可 (プロパティを使用)

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 186UG974 (v2015.2) 2015 月 6 月 24 日

Page 187: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- KEEPER: I/O Weak Keeper-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

KEEPER_inst : KEEPERport map (

O => O -- 1-bit inout: Keeper output (connect directly to top-level port));

-- End of KEEPER_inst instantiation

Verilog 記述 (インスタンシエーション)

// KEEPER: I/O Weak Keeper// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

KEEPER KEEPER_inst (.O(O) // 1-bit inout: Keeper output (connect directly to top-level port)

);

// End of KEEPER_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 187UG974 (v2015.2) 2015 月 6 月 24 日

Page 188: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

LDCE

プリミティブ : Transparent Latch with Clock Enable and Asynchronous Clear

プリミティブ グループ : REGISTERプリミティブ サブグループ : LATCH

概要

このデザイン エレメントは、非同期クリア (CLR) およびゲート イネーブル (GE) 付き透過データ ラッチです。非同期クリア

入力 (CLR) がアクティブになると、ほかの入力は無視され、データ出力 (Q) が Low にリセットされます。ゲート入力 (G)

およびゲート イネーブル (GE) がアクティブで、CLR が非アクティブの場合、Q にはデータ入力 (D) の値が出力されま

す。GE が Low の場合、D の値は不定値になります。D 入力の値は、G が遷移するときにラッチ内に格納されます。Q 出

力の値は、G または GE が Low の間は変化しません。

電力を供給すると、ラッチは非同期に初期化されます。電源投入時または STARTUP ブロックがアサートされてグローバル

セット/リセット (GSR) がアクティブになると、ラッチの出力は INIT 属性で指定された値になります。

論理表

入力 出力

CLR GE G D Q

1 X X X 0

0 0 X X 変化なし

0 1 1 D D

0 1 0 X 変化なし

0 1 ↓ D D

ポートの説明

ポート名 方向 幅 機能

CLR 入力 1 非同期クリア。極性は IS_CLR_INVERTED 属性で指定します。

D 入力 1 データ入力

G 入力 1 ゲート入力。極性は IS_G_INVERTED 属性で指定します。

GE 入力 1 アクティブ High のタッチ クロック イネーブル

Q 出力 1 データ出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 188UG974 (v2015.2) 2015 月 6 月 24 日

Page 189: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 2 進数 1’b0、1’b1 1’b0 コンフィギュレーション後および STARTUP ブロックで GSR がアサートされた時の Q 出力の初期値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。ゲート ピン (G) に対して 1 に設定すると、アクティブ Low のラッチが作成されます。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールでopt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_CLR_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLR ピンにオプションの反転を使用するかどうかを指定します。

IS_G_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 G ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- LDCE: Transparent Latch with Clock Enable and Asynchronous Clear-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

LDCE_inst : LDCEgeneric map (

INIT => ’0’, -- Initial value of latch, ’0’, ’1’-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversionIS_CLR_INVERTED => ’0’, -- Optional inversion for CLRIS_G_INVERTED => ’0’ -- Optional inversion for G

)port map (

Q => Q, -- 1-bit output: DataCLR => CLR, -- 1-bit input: Asynchronous clearD => D, -- 1-bit input: DataG => G, -- 1-bit input: GateGE => GE -- 1-bit input: Gate enable

);

-- End of LDCE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 189UG974 (v2015.2) 2015 月 6 月 24 日

Page 190: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// LDCE: Transparent Latch with Clock Enable and Asynchronous Clear// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

LDCE #(.INIT(1’b0), // Initial value of latch, 1’b0, 1’b1// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion.IS_CLR_INVERTED(1’b0), // Optional inversion for CLR.IS_G_INVERTED(1’b0) // Optional inversion for G

)LDCE_inst (

.Q(Q), // 1-bit output: Data

.CLR(CLR), // 1-bit input: Asynchronous clear

.D(D), // 1-bit input: Data

.G(G), // 1-bit input: Gate

.GE(GE) // 1-bit input: Gate enable);

// End of LDCE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 190UG974 (v2015.2) 2015 月 6 月 24 日

Page 191: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

LDPE

プリミティブ : Transparent Latch with Clock Enable and Asynchronous Preset

プリミティブ グループ : REGISTERプリミティブ サブグループ : LATCH

概要

このデザイン エレメントは、非同期プリセット (PRE) およびゲート イネーブル (GE) 付き透過データ ラッチです。プリセット入

力 (PRE) がアクティブになると、ほかの入力は無視され、データ出力 (Q) が High にプリセットされます。ゲート入力 (G)

およびゲート イネーブル (GE) がアクティブで、PRE が非アクティブの場合、Q にはデータ入力 (D) の値が出力されま

す。GE が Low の場合、D の値は不定値になります。D 入力の値は、G が遷移するときにラッチ内に格納されます。Q 出

力の値は、G または GE が Low の間は変化しません。

電力を供給すると、ラッチは非同期に初期化されます。電源投入時または STARTUP ブロックがアサートされてグローバル

セット/リセット (GSR) がアクティブになると、ラッチの出力は INIT 属性で指定された値になります。

論理表

入力 出力

PRE GE G D Q

1 X X X 1

0 0 X X 変化なし

0 1 1 D D

0 1 0 X 変化なし

0 1 ↓ D D

ポートの説明

ポート名 方向 幅 機能

D 入力 1 データ入力

G 入力 1 ゲート入力。極性は IS_G_INVERTED 属性で指定します。

GE 入力 1 アクティブ High のタッチ クロック イネーブル

PRE 入力 1 非同期プリセット。極性は IS_PRE_INVERTED 属性で指定します。

Q 出力 1 データ出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 191UG974 (v2015.2) 2015 月 6 月 24 日

Page 192: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 2 進数 1’b1 ~ 1’b0 1’b1 コンフィギュレーション後および STARTUP ブロックで GSR がアサートされた時の Q 出力の初期値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。ゲート ピン (G) に対して 1 に設定すると、アクティブ Low のラッチが作成されます。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールでopt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_G_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 G ピンにオプションの反転を使用するかどうかを指定します。

IS_PRE_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 PRE ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- LDPE: Transparent Latch with Clock Enable and Asynchronous Preset-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

LDPE_inst : LDPEgeneric map (

INIT => ’1’, -- Initial value of latch, ’0’, ’1’-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversionIS_G_INVERTED => ’0’, -- Optional inversion for GIS_PRE_INVERTED => ’0’ -- Optional inversion for PRE

)port map (

Q => Q, -- 1-bit output: DataD => D, -- 1-bit input: DataG => G, -- 1-bit input: GateGE => GE, -- 1-bit input: Gate enablePRE => PRE -- 1-bit input: Asynchronous preset

);

-- End of LDPE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 192UG974 (v2015.2) 2015 月 6 月 24 日

Page 193: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// LDPE: Transparent Latch with Clock Enable and Asynchronous Preset// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

LDPE #(.INIT(1’b1), // Initial value of latch, 1’b0, 1’b1// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion.IS_G_INVERTED(1’b0), // Optional inversion for G.IS_PRE_INVERTED(1’b0) // Optional inversion for PRE

)LDPE_inst (

.Q(Q), // 1-bit output: Data

.D(D), // 1-bit input: Data

.G(G), // 1-bit input: Gate

.GE(GE), // 1-bit input: Gate enable

.PRE(PRE) // 1-bit input: Asynchronous preset);

// End of LDPE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 193UG974 (v2015.2) 2015 月 6 月 24 日

Page 194: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

LUT1

プリミティブ : 1-Bit Look-Up Table

プリミティブ グループ : CLBプリミティブ サブグループ : LUT

概要

このデザイン エレメントは、1 ビット ルックアップ テーブル (LUT) です。このエレメントは、バッファーまたはインバー

ターの機能を果たします。

LUT プリミティブでは、INIT パラメーターで論理値が設定されます。デフォルトは 0 で、入力値にかかわらず出力が 0 に駆

動されます (グランドとして機能)。ただし多くの場合、LUT プリミティブのロジック ファンクションを指定するため、INIT の値を

設定する必要があります。LUT の値を指定する方法には、次の 2 つがあります。

論論論理理理表表表ををを使使使用用用すすするるる方方方法法法 ::: LUT の INIT 値を決定する一般的な方法。すべての入力をリストした 2 進数の論理表を作成し、

出力の論理値を指定して、これらの出力値から INIT 文字列を作成します。

論論論理理理式式式ををを使使使用用用すすするるる方方方法法法 ::: リストされた論理表の値に対応する LUT の各入力にパラメーターまたはジェネリックを定義し、パ

ラメーターを基にロジックの論理式を生成します。概念を理解してしまえばこの方法の方が簡単ですが、コードで最初に適切

なパラメーターまたはジェネリックを指定する必要があります。

LUT1 をほかの LUT1、LUT2、LUT3、または LUT4 と組み合わせて、1 つの LUT6 リソースに配置できます。LUT5 と組み合

わせて配置することも可能ですが、入力信号を共有する必要があります。Vivado ツールでは、必要な場合または有益な場

合、LUT が自動的に組み合わせられますが、LUT コンポーネントに LUTNM または HLUTNM を指定することにより、1 つの

LUT リソースへの組み合わせを手動で制御できます。

論理表

入力 出力

I0 O

0 INIT[0]

1 INIT[1]

INIT = INIT 属性に割り当てられた 2 進数値

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 194UG974 (v2015.2) 2015 月 6 月 24 日

Page 195: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 2’h0~ 2’h3 2’h0 このエレメントの論理値を指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- LUT1: 1-Bit Look-Up Table-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

LUT1_inst : LUT1generic map (

INIT => X"0" -- Logic function)port map (

O => O, -- 1-bit output: LUTI0 => I0 -- 1-bit input: LUT

);

-- End of LUT1_inst instantiation

Verilog 記述 (インスタンシエーション)

// LUT1: 1-Bit Look-Up Table// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

LUT1 #(.INIT(2’h0) // Logic function

)LUT1_inst (

.O(O), // 1-bit output: LUT

.I0(I0) // 1-bit input: LUT);

// End of LUT1_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 195UG974 (v2015.2) 2015 月 6 月 24 日

Page 196: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

LUT2

プリミティブ : 2-Bit Look-Up Table

プリミティブ グループ : CLBプリミティブ サブグループ : LUT

概要

このデザイン エレメントは、2 ビット ルックアップ テーブル (LUT) です。任意の 2 入力ロジック ファンクションを作成できます。

LUT プリミティブでは、INIT パラメーターで論理値が設定されます。デフォルトは 0 で、入力値にかかわらず出力が 0 に駆

動されます (グランドとして機能)。ただし多くの場合、LUT プリミティブのロジック ファンクションを指定するため、INIT の値を

設定する必要があります。LUT の値を指定する方法には、次の 2 つがあります。

論論論理理理表表表ををを使使使用用用すすするるる方方方法法法 ::: LUT の INIT 値を決定する一般的な方法。すべての入力をリストした 2 進数の論理表を作成し、

出力の論理値を指定して、これらの出力値から INIT 文字列を作成します。

論論論理理理式式式ををを使使使用用用すすするるる方方方法法法 ::: リストされた論理表の値に対応する LUT の各入力にパラメーターまたはジェネリックを定義し、パ

ラメーターを基にロジックの論理式を生成します。概念を理解してしまえばこの方法の方が簡単ですが、コードで最初に適切

なパラメーターまたはジェネリックを指定する必要があります。

LUT2 をほかの LUT1、LUT2、LUT3、LUT4、LUT5 と組み合わせて、1 つの LUT6 リソースに配置できます。ただし、

組み合わせた後の固有の入力信号数が 5 つ以下になるようにする必要があります。Vivado ツールでは、必要な場合ま

たは有益な場合、LUT が自動的に組み合わせられますが、LUT コンポーネントに LUTNM または HLUTNM を指定す

ることにより、1 つの LUT リソースへの組み合わせを手動で制御できます。

論理表

入力 出力

I1 I0 O

0 0 INIT[0]

0 1 INIT[1]

1 0 INIT[2]

1 1 INIT[3]

INIT = INIT 属性で指定された 16 進数値を 2 進数で表した値

UltraScale ライブラリ ガイド http://japan.xilinx.com 196UG974 (v2015.2) 2015 月 6 月 24 日

Page 197: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 4’h0 ~ 4’hf 4’h0 このエレメントの論理値を指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- LUT2: 2-Bit Look-Up Table-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

LUT2_inst : LUT2generic map (

INIT => X"0" -- Logic function)port map (

O => O, -- 1-bit output: LUTI0 => I0, -- 1-bit input: LUTI1 => I1 -- 1-bit input: LUT

);

-- End of LUT2_inst instantiation

Verilog 記述 (インスタンシエーション)

// LUT2: 2-Bit Look-Up Table// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

LUT2 #(.INIT(4’h0) // Logic function

)LUT2_inst (

.O(O), // 1-bit output: LUT

.I0(I0), // 1-bit input: LUT

.I1(I1) // 1-bit input: LUT);

// End of LUT2_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 197UG974 (v2015.2) 2015 月 6 月 24 日

Page 198: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

LUT3

プリミティブ : 3-Bit Look-Up Table

プリミティブ グループ : CLBプリミティブ サブグループ : LUT

概要

このデザイン エレメントは、3 ビット ルックアップ テーブル (LUT) です。任意の 3 入力ロジック ファンクションを作成できます。

LUT プリミティブでは、INIT パラメーターで論理値が設定されます。デフォルトは 0 で、入力値にかかわらず出力が 0 に駆

動されます (グランドとして機能)。ただし多くの場合、LUT プリミティブのロジック ファンクションを指定するため、INIT の値を

設定する必要があります。LUT の値を指定する方法には、次の 2 つがあります。

論論論理理理表表表ををを使使使用用用すすするるる方方方法法法 ::: LUT の INIT 値を決定する一般的な方法。すべての入力をリストした 2 進数の論理表を作成し、

出力の論理値を指定して、これらの出力値から INIT 文字列を作成します。

論論論理理理式式式ををを使使使用用用すすするるる方方方法法法 ::: リストされた論理表の値に対応する LUT の各入力にパラメーターまたはジェネリックを定義し、パ

ラメーターを基にロジックの論理式を生成します。概念を理解してしまえばこの方法の方が簡単ですが、コードで最初に適切

なパラメーターまたはジェネリックを指定する必要があります。

LUT3 をほかの LUT1、LUT2、LUT3、LUT4、LUT5 と組み合わせて、1 つの LUT6 リソースに配置できます。ただし、

組み合わせた後の固有の入力信号数が 5 つ以下になるようにする必要があります。Vivado ツールでは、必要な場合ま

たは有益な場合、LUT が自動的に組み合わせられますが、LUT コンポーネントに LUTNM または HLUTNM を指定す

ることにより、1 つの LUT リソースへの組み合わせを手動で制御できます。

論理表

入力 出力

I2 I1 I0 O

0 0 0 INIT[0]

0 0 1 INIT[1]

0 1 0 INIT[2]

0 1 1 INIT[3]

1 0 0 INIT[4]

1 0 1 INIT[5]

1 1 0 INIT[6]

1 1 1 INIT[7]

INIT = INIT 属性で指定された 16 進数値を 2 進数で表した値

UltraScale ライブラリ ガイド http://japan.xilinx.com 198UG974 (v2015.2) 2015 月 6 月 24 日

Page 199: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 8’h00 ~ 8’hff 8’h00 このエレメントの論理値を指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- LUT3: 3-Bit Look-Up Table-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

LUT3_inst : LUT3generic map (

INIT => X"00" -- Logic function)port map (

O => O, -- 1-bit output: LUTI0 => I0, -- 1-bit input: LUTI1 => I1, -- 1-bit input: LUTI2 => I2 -- 1-bit input: LUT

);

-- End of LUT3_inst instantiation

Verilog 記述 (インスタンシエーション)

// LUT3: 3-Bit Look-Up Table// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

LUT3 #(.INIT(8’h00) // Logic function

)LUT3_inst (

.O(O), // 1-bit output: LUT

.I0(I0), // 1-bit input: LUT

.I1(I1), // 1-bit input: LUT

.I2(I2) // 1-bit input: LUT);

// End of LUT3_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 199UG974 (v2015.2) 2015 月 6 月 24 日

Page 200: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

LUT4

プリミティブ : 4-Bit Look-Up Table

プリミティブ グループ : CLBプリミティブ サブグループ : LUT

概要

このデザイン エレメントは、4 ビット ルックアップ テーブル (LUT) です。任意の 4 入力ロジック ファンクションを作成できます。

LUT プリミティブでは、INIT パラメーターで論理値が設定されます。デフォルトは 0 で、入力値にかかわらず出力が 0 に駆

動されます (グランドとして機能)。ただし多くの場合、LUT プリミティブのロジック ファンクションを指定するため、INIT の値を

設定する必要があります。LUT の値を指定する方法には、次の 2 つがあります。

論論論理理理表表表ををを使使使用用用すすするるる方方方法法法 ::: LUT の INIT 値を決定する一般的な方法。すべての入力をリストした 2 進数の論理表を作成し、

出力の論理値を指定して、これらの出力値から INIT 文字列を作成します。

論論論理理理式式式ををを使使使用用用すすするるる方方方法法法 ::: リストされた論理表の値に対応する LUT の各入力にパラメーターまたはジェネリックを定義し、パ

ラメーターを基にロジックの論理式を生成します。概念を理解してしまえばこの方法の方が簡単ですが、コードで最初に適切

なパラメーターまたはジェネリックを指定する必要があります。

LUT4 をほかの LUT1、LUT2、LUT3、LUT4、LUT5 と組み合わせて、1 つの LUT6 リソースに配置できます。ただし、

組み合わせた後の固有の入力信号数が 5 つ以下になるようにする必要があります。Vivado ツールでは、必要な場合ま

たは有益な場合、LUT が自動的に組み合わせられますが、LUT コンポーネントに LUTNM または HLUTNM を指定す

ることにより、1 つの LUT リソースへの組み合わせを手動で制御できます。

論理表

入力 出力

I3 I2 I1 I0 O

0 0 0 0 INIT[0]

0 0 0 1 INIT[1]

0 0 1 0 INIT[2]

0 0 1 1 INIT[3]

0 1 0 0 INIT[4]

0 1 0 1 INIT[5]

0 1 1 0 INIT[6]

UltraScale ライブラリ ガイド http://japan.xilinx.com 200UG974 (v2015.2) 2015 月 6 月 24 日

Page 201: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

入力 出力

I3 I2 I1 I0 O

0 1 1 1 INIT[7]

1 0 0 0 INIT[8]

1 0 0 1 INIT[9]

1 0 1 0 INIT[10]

1 0 1 1 INIT[11]

1 1 0 0 INIT[12]

1 1 0 1 INIT[13]

1 1 1 0 INIT[14]

1 1 1 1 INIT[15]

INIT = INIT 属性で指定された 16 進数値を 2 進数で表した値

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 16’h0000 ~ 16’hffff 16’h0000 このエレメントの論理値を指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- LUT4: 4-Bit Look-Up Table-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

LUT4_inst : LUT4generic map (

INIT => X"0000" -- Logic function)port map (

O => O, -- 1-bit output: LUTI0 => I0, -- 1-bit input: LUTI1 => I1, -- 1-bit input: LUTI2 => I2, -- 1-bit input: LUTI3 => I3 -- 1-bit input: LUT

);

-- End of LUT4_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 201UG974 (v2015.2) 2015 月 6 月 24 日

Page 202: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// LUT4: 4-Bit Look-Up Table// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

LUT4 #(.INIT(16’h0000) // Logic function

)LUT4_inst (

.O(O), // 1-bit output: LUT

.I0(I0), // 1-bit input: LUT

.I1(I1), // 1-bit input: LUT

.I2(I2), // 1-bit input: LUT

.I3(I3) // 1-bit input: LUT);

// End of LUT4_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 202UG974 (v2015.2) 2015 月 6 月 24 日

Page 203: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

LUT6_2

プリミティブ : Six-input, 2-output, Look-Up Table

プリミティブ グループ : CLBプリミティブ サブグループ : LUT

概要

このデザイン エレメントは、入力 6 個、出力 2 個を持つルックアップ テーブル (LUT) で、非同期 32 ビット デュアル ROM

(5 ビットのアドレス指定)、入力を共有する 5 入力のロジック ファンクション 2 つ、または入力と論理値を共有する 6 入

力および 5 入力のロジック ファンクションをインプリメントできます。LUT は基本的なロジック構築ブロックで、デザイン

に含まれる多くのロジック ファンクションのインプリメントに使用されます。LUT6_2 は、CLB に含まれる 8 個のルック

アップ テーブル (LUT) のいずれかにマップされます。

LUT のロジック ファンクションを指定するため、INIT 属性に 64 ビットの 16 進数を設定する必要があります。入力が適用され

たときに出力される値を、その入力に対応する INIT ビットに設定します。たとえば、Verilog で INIT 値を 64’hfffffffffffffffe

(VHDL では X"FFFFFFFFFFFFFFFE") に設定すると、入力がすべて 0 の場合以外は O6 出力は 1 になり、I[4:0] が

すべて 0 の場合以外は O5 出力は 1 になります (5 または 6 入力の OR ゲート)。INIT 値の下位半分 (ビット 31:0)

は O5 出力のロジック ファンクションに適用されます。

FPGA LUT プリミティブでは、INIT パラメーターで論理値が設定されます。デフォルトは 0 で、入力値にかかわらず出力が 0

に駆動されます (グランドとして機能)。ただし多くの場合、LUT プリミティブのロジック ファンクションを指定するため、INIT の

値を設定する必要があります。LUT の値を指定する方法には、次の 2 つがあります。

論論論理理理表表表ををを使使使用用用すすするるる方方方法法法 ::: LUT の INIT 値を決定する一般的な方法。すべての入力をリストした 2 進数の論理表を作成し、

出力の論理値を指定して、これらの出力値から INIT 文字列を作成します。

論論論理理理式式式ををを使使使用用用すすするるる方方方法法法 ::: リストされた論理表の値に対応する LUT の各入力にパラメーターを定義し、パラメーターを基に

ロジックの論理式を生成します。概念を理解してしまえばこの方法の方が簡単ですが、コードで最初に適切なパラメー

ターを指定する必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 203UG974 (v2015.2) 2015 月 6 月 24 日

Page 204: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

論理表

入力 出力

I5 I4 I3 I2 I1 I0 O5 O6

0 0 0 0 0 0 INIT[0] INIT[0]

0 0 0 0 0 1 INIT[1] INIT[1]

0 0 0 0 1 0 INIT[2] INIT[2]

0 0 0 0 1 1 INIT[3] INIT[3]

0 0 0 1 0 0 INIT[4] INIT[4]

0 0 0 1 0 1 INIT[5] INIT[5]

0 0 0 1 1 0 INIT[6] INIT[6]

0 0 0 1 1 1 INIT[7] INIT[7]

0 0 1 0 0 0 INIT[8] INIT[8]

0 0 1 0 0 1 INIT[9] INIT[9]

0 0 1 0 1 0 INIT[10] INIT[10]

0 0 1 0 1 1 INIT[11] INIT[11]

0 0 1 1 0 0 INIT[12] INIT[12]

0 0 1 1 0 1 INIT[13] INIT[13]

0 0 1 1 1 0 INIT[14] INIT[14]

0 0 1 1 1 1 INIT[15] INIT[15]

0 1 0 0 0 0 INIT[16] INIT[16]

0 1 0 0 0 1 INIT[17] INIT[17]

0 1 0 0 1 0 INIT[18] INIT[18]

0 1 0 0 1 1 INIT[19] INIT[19]

0 1 0 1 0 0 INIT[20] INIT[20]

0 1 0 1 0 1 INIT[21] INIT[21]

0 1 0 1 1 0 INIT[22] INIT[22]

0 1 0 1 1 1 INIT[23] INIT[23]

0 1 1 0 0 0 INIT[24] INIT[24]

0 1 1 0 0 1 INIT[25] INIT[25]

0 1 1 0 1 0 INIT[26] INIT[26]

0 1 1 0 1 1 INIT[27] INIT[27]

0 1 1 1 0 0 INIT[28] INIT[28]

0 1 1 1 0 1 INIT[29] INIT[29]

0 1 1 1 1 0 INIT[30] INIT[30]

0 1 1 1 1 1 INIT[31] INIT[31]

1 0 0 0 0 0 INIT[0] INIT[32]

1 0 0 0 0 1 INIT[1] INIT[33]

UltraScale ライブラリ ガイド http://japan.xilinx.com 204UG974 (v2015.2) 2015 月 6 月 24 日

Page 205: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

入力 出力

I5 I4 I3 I2 I1 I0 O5 O6

1 0 0 0 1 0 INIT[2] INIT[34]

1 0 0 0 1 1 INIT[3] INIT[35]

1 0 0 1 0 0 INIT[4] INIT[36]

1 0 0 1 0 1 INIT[5] INIT[37]

1 0 0 1 1 0 INIT[6] INIT[38]

1 0 0 1 1 1 INIT[7] INIT[39]

1 0 1 0 0 0 INIT[8] INIT[40]

1 0 1 0 0 1 INIT[9] INIT[41]

1 0 1 0 1 0 INIT[10] INIT[42]

1 0 1 0 1 1 INIT[11] INIT[43]

1 0 1 1 0 0 INIT[12] INIT[44]

1 0 1 1 0 1 INIT[13] INIT[45]

1 0 1 1 1 0 INIT[14] INIT[46]

1 0 1 1 1 1 INIT[15] INIT[47]

1 1 0 0 0 0 INIT[16] INIT[48]

1 1 0 0 0 1 INIT[17] INIT[49]

1 1 0 0 1 0 INIT[18] INIT[50]

1 1 0 0 1 1 INIT[19] INIT[51]

1 1 0 1 0 0 INIT[20] INIT[52]

1 1 0 1 0 1 INIT[21] INIT[53]

1 1 0 1 1 0 INIT[22] INIT[54]

1 1 0 1 1 1 INIT[23] INIT[55]

1 1 1 0 0 0 INIT[24] INIT[56]

1 1 1 0 0 1 INIT[25] INIT[57]

1 1 1 0 1 0 INIT[26] INIT[58]

1 1 1 0 1 1 INIT[27] INIT[59]

1 1 1 1 0 0 INIT[28] INIT[60]

1 1 1 1 0 1 INIT[29] INIT[61]

1 1 1 1 1 0 INIT[30] INIT[62]

1 1 1 1 1 1 INIT[31] INIT[63]

INIT = INIT 属性で指定された 16 進数値を 2 進数で表した値

UltraScale ライブラリ ガイド http://japan.xilinx.com 205UG974 (v2015.2) 2015 月 6 月 24 日

Page 206: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

I0 入力 1 LUT 入力

I1 入力 1 LUT 入力

I2 入力 1 LUT 入力

I3 入力 1 LUT 入力

I4 入力 1 LUT 入力

I5 入力 1 LUT 入力

O5 出力 1 6/5 LUT 出力

O6 出力 1 5 LUT 出力

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 64 ビット値 すべて 0 LUT5/6 の出力ファンクションを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- LUT6_2: 6-input 2 output Look-Up Table-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

LUT6_2_inst : LUT6_2generic map (

INIT => X"0000000000000000") -- Specify LUT Contentsport map (

O6 => O6, -- 6/5-LUT output (1-bit)O5 => O5, -- 5-LUT output (1-bit)I0 => I0, -- LUT input (1-bit)I1 => I1, -- LUT input (1-bit)I2 => I2, -- LUT input (1-bit)I3 => I3, -- LUT input (1-bit)I4 => I4, -- LUT input (1-bit)I5 => I5 -- LUT input (1-bit)

);

-- End of LUT6_2_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 206UG974 (v2015.2) 2015 月 6 月 24 日

Page 207: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// LUT6_2: 6-input, 2 output Look-Up Table// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

LUT6_2 #(.INIT(64’h0000000000000000) // Specify LUT Contents

) LUT6_2_inst (.O6(O6), // 1-bit LUT6 output.O5(O5), // 1-bit lower LUT5 output.I0(I0), // 1-bit LUT input.I1(I1), // 1-bit LUT input.I2(I2), // 1-bit LUT input.I3(I3), // 1-bit LUT input.I4(I4), // 1-bit LUT input.I5(I5) // 1-bit LUT input (fast MUX select only available to O6 output)

);

// End of LUT6_2_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 207UG974 (v2015.2) 2015 月 6 月 24 日

Page 208: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

MASTER_JTAG

プリミティブ : JTAG Port Access

プリミティブ グループ : CONFIGURATIONプリミティブ サブグループ : MASTER_JTAG

概要

このコンポーネントは、FPGA の外部 JTAG ピンを無効にし、デバイス内の JTAG ポートに完全にアクセスできるようにします。

ポートの説明

ポート名 方向 幅 機能

TCK 入力 1 JTAG TCK 入力ピン

TDI 入力 1 JTAG TDI 入力ピン

TDO 出力 1 JTAG TDO 出力ピン

TMS 入力 1 JTAG TMS 入力ピン

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- MASTER_JTAG: JTAG Port Access-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

MASTER_JTAG_inst : MASTER_JTAGport map (

TDO => TDO, -- 1-bit output: JTAG TDO output pinTCK => TCK, -- 1-bit input: JTAG TCK input pinTDI => TDI, -- 1-bit input: JTAG TDI input pinTMS => TMS -- 1-bit input: JTAG TMS input pin

);

UltraScale ライブラリ ガイド http://japan.xilinx.com 208UG974 (v2015.2) 2015 月 6 月 24 日

Page 209: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

-- End of MASTER_JTAG_inst instantiation

Verilog 記述 (インスタンシエーション)

// MASTER_JTAG: JTAG Port Access// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

MASTER_JTAG MASTER_JTAG_inst (.TDO(TDO), // 1-bit output: JTAG TDO output pin.TCK(TCK), // 1-bit input: JTAG TCK input pin.TDI(TDI), // 1-bit input: JTAG TDI input pin.TMS(TMS) // 1-bit input: JTAG TMS input pin

);

// End of MASTER_JTAG_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 209UG974 (v2015.2) 2015 月 6 月 24 日

Page 210: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

MMCME3_ADV

プリミティブ : Advanced Mixed Mode Clock Manager (MMCM)

プリミティブ グループ : CLOCKプリミティブ サブグループ : PLL

概要

MMCME3 は、周波数合成、クロック ネットワークのスキュー調整、ジッター低減をサポートする混合信号ブロックです。各

クロック出力に対して、同じ VCO 周波数を基準に分周、位相シフト、デューティ サイクルを個別に設定できます。ダイ

ナミック位相シフトおよび分数分周もサポートされます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 210UG974 (v2015.2) 2015 月 6 月 24 日

Page 211: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

CDDCREQ 入力 1 出力クロックの分周値をダイナミックに変更することを要求するアクティブ High の信号

クククロロロッッッククク入入入力力力 ::: MMCM 入力クロック。クロック マルチプレクサーの機能を使用する場合は CLKIN2 を接続します。

CLKIN1 入力 1 プライマリ クロック入力

CLKIN2 入力 1 MMCM 基準クロックを動的に切り替えるためのセカンダリ クロック入力

クククロロロッッッククク出出出力力力 ::: コンフィギュレーション可能なクロック出力で、VCO 位相出力 (ユーザー制御可能) を 1 (バイパス) から 128までの値で分周したものに設定できます。出力クロックは、位相シフトされていない場合はお互いに位相が揃っており、適切なフィードバック コンフィギュレーションにより入力クロックに揃えられます。CLKOUT#B 出力は、CLKOUT#出力の位相を 180 度ずらしたものです。

CLKOUT0 出力 1 CLKOUT0 出力

CLKOUT0B 出力 1 コンフィギュレーション可能なクロック出力で、VCO 位相出力 (ユーザー制御可能) を 1 (バイパス) から 128 までの値で分周したものに設定できます。出力クロックは、位相シフトされていない場合はお互いに位相が揃っており、適切なフィードバック コンフィギュレーションにより入力クロックに揃えられます。CLKOUT#B 出力は、CLKOUT# 出力の位相を 180 度ずらしたものです。

CLKOUT1 出力 1 CLKOUT1 出力

CLKOUT1B 出力 1 CLKOUT2 の反転出力

CLKOUT2 出力 1 コンフィギュレーション可能なクロック出力で、VCO 位相出力 (ユーザー制御可能) を 1 (バイパス) から 128 までの値で分周したものに設定できます。出力クロックは、位相シフトされていない場合はお互いに位相が揃っており、適切なフィードバック コンフィギュレーションにより入力クロックに揃えられます。CLKOUT#B 出力は、CLKOUT# 出力の位相を 180 度ずらしたものです。

CLKOUT2B 出力 1 CLKOUT2 の反転出力

CLKOUT3 出力 1 CLKOUT3 出力

CLKOUT3B 出力 1 CLKOUT3 の反転出力

CLKOUT4 出力 1 CLKOUT4 出力

CLKOUT5 出力 1 CLKOUT5 出力

CLKOUT6 出力 1 CLKOUT6 出力

制制制御御御ポポポーーートトト ::: MMCM 制御ポート

CLKINSEL 入力 1 入力マルチプレクサーのステートを制御する信号で、High の場合はCLKIN1、Low の場合は CLKIN2 です。

PWRDWN 入力 1 生成されたクロックが長時間使用されない場合に、MMCM コンポーネントをオフにして消費電力を削減します。PWRDWN が解放された後は、MMCMを使用する前にロック状態にする必要があります。

RST 入力 1 非同期リセット信号。この信号が解放されると、MMCM はクロックに同期して再びイネーブルになります。入力クロックの条件 (周波数など) を変更する場合、リセットが必要です。

DRPDRPDRP ポポポーーートトト ::: MMCM のコンフィギュレーションを読み出しおよび書き込みするためにダイナミック リコンフィギャラブルポートを使用する場合に使用されるポート

DADDR<6:0> 入力 7 ダイナミック リコンフィギュレーション用のリコンフィギュレーション アドレスを供給する入力バス。このバスを使用しない場合は、すべてのビットを0 にする必要があります。

DCLK 入力 1 ダイナミック リコンフィギュレーション ポートの基準クロック

UltraScale ライブラリ ガイド http://japan.xilinx.com 211UG974 (v2015.2) 2015 月 6 月 24 日

Page 212: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

DEN 入力 1 ダイナミック リコンフィギュレーション機能にアクセスするためのイネーブル制御信号。ダイナミック リコンフィギュレーションを使用しない場合は、Low に接続する必要があります。

DI<15:0> 入力 16 リコンフィギュレーション データを供給するデータ入力バス。このバスを使用しない場合は、すべてのビットを 0 にする必要があります。

DO<15:0> 出力 16 ダイナミック リコンフィギュレーションを使用する場合の MMCM データ出力バス

DRDY 出力 1 MMCM のダイナミック リコンフィギュレーション機能の DEN 信号への応答を供給する READY 出力です。

DWE 入力 1 DADDR アドレスへの DI データの書き込みを制御するライト イネーブル信号。使用しない場合は、Low に接続する必要があります。

ダダダイイイナナナミミミッッッククク位位位相相相シシシフフフトトト ポポポーーートトト ::: MMCM のダイナミック位相シフト機能を使用する場合に使用されるポート

PSCLK 入力 1 位相シフト クロック

PSDONE 出力 1 位相シフト終了

PSEN 入力 1 位相シフト イネーブル

PSINCDEC 入力 1 位相シフト インクリメント/デクリメント制御

フフフィィィーーードドドバババッッッククク ::: MMCM 位相アライメント機能を使用する場合に必要なポート

CLKFBIN 入力 1 MMCM へのフィードバック クロック ピン

CLKFBOUT 出力 1 専用 MMCM フィードバック クロック出力

CLKFBOUTB 出力 1 CLKFBOUT を反転したクロック出力

ススステテテーーータタタススス ポポポーーートトト ::: MMCM ステータス ポート

CDDCDONE 出力 1 出力クロックの分周値の変更が完了し、出力が有効になったことを示す信号

CLKFBSTOPPED 出力 1 フィードバック クロックが停止したことを示すステータス ピン

CLKINSTOPPED 出力 1 入力クロックが停止したことを示すステータス ピン

LOCKED 出力 1 位相アライメントが定義されている時間内で完了し、周波数が定義されている PPM 範囲内で一致したことを示します。MMCM は電源投入時に自動的にロックされるので、リセットは必要ありません。入力クロックが停止した場合、または位相アライメントに違反が発生した場合 (入力クロックの位相シフトなど) は、LOCKED がディアサートされます。LOCKED がディアサートされると、自動的にロックが達成されます。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

UltraScale ライブラリ ガイド http://japan.xilinx.com 212UG974 (v2015.2) 2015 月 6 月 24 日

Page 213: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

BANDWIDTH 文字列 "OPTIMIZED"、"HIGH"、"LOW"

"OPTIMIZED" ジッター、位相マージンなどの MMCM特性に影響する MMCM プログラム アルゴリズムを指定します。

CLKFBOUT_MULT_F 3 上位ビット浮動小数点

2.000 ~ 64.000 5.000 すべての CLKOUT クロック出力を逓倍する値を指定します。この値と、CLKOUT#_DIVIDE 値およびDIVCLK_DIVIDE 値により出力周波数が決まります。

CLKFBOUT_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKOUT0_DIVIDE_F 3 上位ビット浮動小数点

1.000 ~ 128.000 1.000 CLKOUT クロック出力を分数分周する値を指定します。この値と、CLKFBOUT_MULT_F 値およびDIVCLK_DIVIDE 値により出力周波数が決まります。

COMPENSATION 文字列 "AUTO"、"BUF_IN"、"EXTERNAL"、"INTERNAL"、"ZHOLD"

"AUTO" クロック入力の補正を指定します。"ZHOLD" に設定する必要があります。MMCM フィードバックのコンフィギュレーション方法を定義します。

• "ZHOLD" : I/O レジスタでのホール

ド タイムが負になるように MMCM を

コンフィギュレーションします。

• "INTERNAL" : MMCM の内部フィー

ドバック パスを使用します。遅延は

補正されません。

• "EXTERNAL" : FPGA の外部ネット

ワークが補正されます。

• "BUF_IN" : いずれの補正モードに

も一致していないことを示し、遅延

は補正されません。クロック入力が

BUFG で駆動される場合などです。

DIVCLK_DIVIDE 10 進数 1 ~ 106 1 すべての出力クロックの入力クロックに対する分周比を指定し、PFD に入力される CLKIN を分周します。

STARTUP_WAIT 文字列 "FALSE"、"TRUE"

"FALSE" コンフィギュレーション DONE 信号がアサートされるのを、MMCM がロックされるまで遅延します。

CLKIN_PERIODCLKIN_PERIODCLKIN_PERIOD ::: CLKIN の入力周期を ns で指定します。精度は ps です。たとえば、値 33.333 は 30MHz の入力クロックを示します。この値は必ず設定する必要があります。CLKIN1_PERIOD は CLKIN1 入力の入力クロック周期、CLKIN2_PERIOD は CLKIN2 入力の入力クロック周期を指定します。

CLKIN1_PERIOD 浮動小数点(nS)

0.000 ~ 100.000 0.000 CLKIN1 の入力周期を ns で指定します。

CLKIN2_PERIOD 浮動小数点(nS)

0.000 ~ 100.000 0.000 CLKIN2 の入力周期を ns で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 213UG974 (v2015.2) 2015 月 6 月 24 日

Page 214: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

CLKOUT0_DUTY_CYCLECLKOUT0_DUTY_CYCLECLKOUT0_DUTY_CYCLE ~~~ CLKOUT6_DUTY_CYCLECLKOUT6_DUTY_CYCLECLKOUT6_DUTY_CYCLE ::: CLKOUT 出力のデューティ サイクルのパーセントを小数で指定します。0.50 に設定すると、デューティ サイクルは 50% になります。

CLKOUT0_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT0 のデューティ サイクルを指定します。

CLKOUT1_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT1 のデューティ サイクルを指定します。

CLKOUT2_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT2 のデューティ サイクルを指定します。

CLKOUT3_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT3 のデューティ サイクルを指定します。

CLKOUT4_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT4 のデューティ サイクルを指定します。

CLKOUT5_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT5 のデューティ サイクルを指定します。

CLKOUT6_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT6 のデューティ サイクルを指定します。

CLKOUT0_PHASECLKOUT0_PHASECLKOUT0_PHASE ~~~ CLKOUT6_PHASECLKOUT6_PHASECLKOUT6_PHASE ::: クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKOUT0_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT0 の位相シフトを指定します。

CLKOUT1_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT1 の位相シフトを指定します。

CLKOUT2_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT2 の位相シフトを指定します。

CLKOUT3_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT3 の位相シフトを指定します。

CLKOUT4_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT4 の位相シフトを指定します。

CLKOUT5_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT5 の位相シフトを指定します。

CLKOUT6 _PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT6 の位相シフトを指定します。

CLKOUT1_DIVIDECLKOUT1_DIVIDECLKOUT1_DIVIDE ~~~ CLKOUT6_DIVIDECLKOUT6_DIVIDECLKOUT6_DIVIDE ::: CLKOUT クロック出力を分周する値を指定します。この値と、CLKFBOUT_MULT_F 値および DIVCLK_DIVIDE 値により出力周波数が決まります。

CLKOUT1_DIVIDE 10 進数 1 ~ 128 1 CLKOUT1 クロック出力を分周する値を指定します。

CLKOUT2_DIVIDE 10 進数 1 ~ 128 1 CLKOUT2 クロック出力を分周する値を指定します。

CLKOUT3_DIVIDE 10 進数 1 ~ 128 1 CLKOUT3 クロック出力を分周する値を指定します。

CLKOUT4_CASCADE 文字列 "FALSE"、"TRUE"

"FALSE" 出力クロック分周が 128 よりも大きい場合に、出力分周 (カウンター) CLKOUT6を CLKOUT4 分周の入力にカスケード接続し、最大 16,384 までの分周値を指定できるようにします。

UltraScale ライブラリ ガイド http://japan.xilinx.com 214UG974 (v2015.2) 2015 月 6 月 24 日

Page 215: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

CLKOUT4_DIVIDE 10 進数 1 ~ 128 1 CLKOUT4 クロック出力を分周する値を指定します。

CLKOUT5_DIVIDE 10 進数 1 ~ 128 1 CLKOUT5 クロック出力を分周する値を指定します。

CLKOUT6_DIVIDE 10 進数 1 ~ 128 1 CLKOUT6 クロック出力を分周する値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック入力ピン (CLKIN# または CLKFBIN) に対して 1 に設定すると、位相が 180 度シフトされます。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_CLKFBIN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKFBIN ピンにオプションの反転を使用するかどうかを指定します。

IS_CLKINSEL_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKINSEL ピンにオプションの反転を使用するかどうかを指定します。

IS_CLKIN1_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKIN1 ピンにオプションの反転を使用するかどうかを指定します。

IS_CLKIN2_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKIN2 ピンにオプションの反転を使用するかどうかを指定します。

IS_PSEN_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 PSEN ピンにオプションの反転を使用するかどうかを指定します。

IS_PSINCDEC_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 PSINCDEC ピンにオプションの反転を使用するかどうかを指定します。

IS_PWRDWN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 PWRDWN ピンにオプションの反転を使用するかどうかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST ピンにオプションの反転を使用するかどうかを指定します。

REF_JITTERREF_JITTERREF_JITTER ::: MMCM のパフォーマンスを最適化するため、CLKIN 入力に予測されるジッター値を指定します。BANDWIDTH が "OPTIMIZED" に設定されている場合、値が既知でないときに入力クロックに最適なパラメーターが選択されます。値が既知である場合は、値を入力クロックに予測されるジッターの UI パーセント (最大ピーク トゥ ピーク値) で指定する必要があります。

REF_JITTER1 3 上位ビット浮動小数点

0.000 ~ 0.999 0.010 CLKIN1 に予測されるジッターをで指定します。

REF_JITTER2 3 上位ビット浮動小数点

0.000 ~ 0.999 0.010 CLKIN2 に予測されるジッターをで指定します。

スススペペペクククトトトラララムムム拡拡拡散散散 ::: スペクトラム拡散の属性

SS_EN 文字列 "FALSE"、"TRUE"

"FALSE" MMCM のスペクトラム拡散機能をイネーブルにします。SS_MODE およびSS_MOD_PERIOD 属性と共に使用します。

SS_MOD_PERIOD 10 進数 (nS) 4000 ~ 40000 10000 スペクトラム拡散の変調周期 (ns) を指定します。

SS_MODE 文字列 "CENTER_HIGH"、"CENTER_LOW"、"DOWN_HIGH"、"DOWN_LOW"

"CENTER_HIGH" スペクトラム拡散の周波数偏差および拡散タイプを指定します。

USE_FINE_PSUSE_FINE_PSUSE_FINE_PS ::: カウンター可変ファイン位相シフト イネーブル

UltraScale ライブラリ ガイド http://japan.xilinx.com 215UG974 (v2015.2) 2015 月 6 月 24 日

Page 216: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

CLKFBOUT_USE_FINE_PS

文字列 "FALSE"、"TRUE"

"FALSE" カウンター可変ファイン位相シフト イネーブル

CLKOUT0_USE_FINE_PS

文字列 "FALSE"、"TRUE"

"FALSE" カウンター可変ファイン位相シフト イネーブル

CLKOUT1_USE_FINE_PS

文字列 "FALSE"、"TRUE"

"FALSE" カウンター可変ファイン位相シフト イネーブル

CLKOUT2_USE_FINE_PS

文字列 "FALSE"、"TRUE"

"FALSE" カウンター可変ファイン位相シフト イネーブル

CLKOUT3_USE_FINE_PS

文字列 "FALSE"、"TRUE"

"FALSE" カウンター可変ファイン位相シフト イネーブル

CLKOUT4_USE_FINE_PS

文字列 "FALSE"、"TRUE"

"FALSE" カウンター可変ファイン位相シフト イネーブル

CLKOUT5_USE_FINE_PS

文字列 "FALSE"、"TRUE"

"FALSE" カウンター可変ファイン位相シフト イネーブル

CLKOUT6_USE_FINE_PS

文字列 "FALSE"、"TRUE"

"FALSE" カウンター可変ファイン位相シフト イネーブル

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- MMCME3_ADV: Advanced Mixed Mode Clock Manager (MMCM)-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

MMCME3_ADV_inst : MMCME3_ADVgeneric map (

BANDWIDTH => "OPTIMIZED", -- Jitter programming (HIGH, LOW, OPTIMIZED)CLKFBOUT_MULT_F => 5.0, -- Multiply value for all CLKOUT (2.000-64.000)CLKFBOUT_PHASE => 0.0, -- Phase offset in degrees of CLKFB (-360.000-360.000)-- CLKIN_PERIOD: Input clock period in ns units, ps resolution (i.e. 33.333 is 30 MHz).CLKIN1_PERIOD => 0.0,CLKIN2_PERIOD => 0.0,CLKOUT0_DIVIDE_F => 1.0, -- Divide amount for CLKOUT0 (1.000-128.000)-- CLKOUT0_DUTY_CYCLE - CLKOUT6_DUTY_CYCLE: Duty cycle for CLKOUT outputs (0.001-0.999).CLKOUT0_DUTY_CYCLE => 0.5,CLKOUT1_DUTY_CYCLE => 0.5,CLKOUT2_DUTY_CYCLE => 0.5,CLKOUT3_DUTY_CYCLE => 0.5,CLKOUT4_DUTY_CYCLE => 0.5,CLKOUT5_DUTY_CYCLE => 0.5,CLKOUT6_DUTY_CYCLE => 0.5,-- CLKOUT0_PHASE - CLKOUT6_PHASE: Phase offset for CLKOUT outputs (-360.000-360.000).CLKOUT0_PHASE => 0.0,CLKOUT1_PHASE => 0.0,CLKOUT2_PHASE => 0.0,CLKOUT3_PHASE => 0.0,CLKOUT4_PHASE => 0.0,CLKOUT5_PHASE => 0.0,CLKOUT6_PHASE => 0.0,-- CLKOUT1_DIVIDE - CLKOUT6_DIVIDE: Divide amount for CLKOUT (1-128)CLKOUT1_DIVIDE => 1,CLKOUT2_DIVIDE => 1,CLKOUT3_DIVIDE => 1,CLKOUT4_CASCADE => "FALSE",

UltraScale ライブラリ ガイド http://japan.xilinx.com 216UG974 (v2015.2) 2015 月 6 月 24 日

Page 217: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CLKOUT4_DIVIDE => 1,CLKOUT5_DIVIDE => 1,CLKOUT6_DIVIDE => 1,COMPENSATION => "AUTO", -- AUTO, BUF_IN, EXTERNAL, INTERNAL, ZHOLDDIVCLK_DIVIDE => 1, -- Master division value (1-106)-- Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pinsIS_CLKFBIN_INVERTED => ’0’, -- Optional inversion for CLKFBINIS_CLKIN1_INVERTED => ’0’, -- Optional inversion for CLKIN1IS_CLKIN2_INVERTED => ’0’, -- Optional inversion for CLKIN2IS_CLKINSEL_INVERTED => ’0’, -- Optional inversion for CLKINSELIS_PSEN_INVERTED => ’0’, -- Optional inversion for PSENIS_PSINCDEC_INVERTED => ’0’, -- Optional inversion for PSINCDECIS_PWRDWN_INVERTED => ’0’, -- Optional inversion for PWRDWNIS_RST_INVERTED => ’0’, -- Optional inversion for RST-- REF_JITTER: Reference input jitter in UI (0.000-0.999).REF_JITTER1 => 0.0,REF_JITTER2 => 0.0,STARTUP_WAIT => "FALSE", -- Delays DONE until MMCM is locked (FALSE, TRUE)-- Spread Spectrum: Spread Spectrum AttributesSS_EN => "FALSE", -- Enables spread spectrum (FALSE, TRUE)SS_MODE => "CENTER_HIGH", -- CENTER_HIGH, CENTER_LOW, DOWN_HIGH, DOWN_LOWSS_MOD_PERIOD => 10000, -- Spread spectrum modulation period (ns) (4000-40000)-- USE_FINE_PS: Fine phase shift enable (TRUE/FALSE)CLKFBOUT_USE_FINE_PS => "FALSE",CLKOUT0_USE_FINE_PS => "FALSE",CLKOUT1_USE_FINE_PS => "FALSE",CLKOUT2_USE_FINE_PS => "FALSE",CLKOUT3_USE_FINE_PS => "FALSE",CLKOUT4_USE_FINE_PS => "FALSE",CLKOUT5_USE_FINE_PS => "FALSE",CLKOUT6_USE_FINE_PS => "FALSE"

)port map (

-- Clock Outputs outputs: User configurable clock outputsCLKOUT0 => CLKOUT0, -- 1-bit output: CLKOUT0CLKOUT0B => CLKOUT0B, -- 1-bit output: Inverted CLKOUT0CLKOUT1 => CLKOUT1, -- 1-bit output: Primary clockCLKOUT1B => CLKOUT1B, -- 1-bit output: Inverted CLKOUT1CLKOUT2 => CLKOUT2, -- 1-bit output: CLKOUT2CLKOUT2B => CLKOUT2B, -- 1-bit output: Inverted CLKOUT2CLKOUT3 => CLKOUT3, -- 1-bit output: CLKOUT3CLKOUT3B => CLKOUT3B, -- 1-bit output: Inverted CLKOUT3CLKOUT4 => CLKOUT4, -- 1-bit output: CLKOUT4CLKOUT5 => CLKOUT5, -- 1-bit output: CLKOUT5CLKOUT6 => CLKOUT6, -- 1-bit output: CLKOUT6-- DRP Ports outputs: Dynamic reconfiguration portsDO => DO, -- 16-bit output: DRP dataDRDY => DRDY, -- 1-bit output: DRP ready-- Dynamic Phase Shift Ports outputs: Ports used for dynamic phase shifting of the outputsPSDONE => PSDONE, -- 1-bit output: Phase shift done-- Feedback outputs: Clock feedback portsCLKFBOUT => CLKFBOUT, -- 1-bit output: Feedback clockCLKFBOUTB => CLKFBOUTB, -- 1-bit output: Inverted CLKFBOUT-- Status Ports outputs: MMCM status portsCDDCDONE => CDDCDONE, -- 1-bit output: Clock dynamic divide doneCLKFBSTOPPED => CLKFBSTOPPED, -- 1-bit output: Feedback clock stoppedCLKINSTOPPED => CLKINSTOPPED, -- 1-bit output: Input clock stoppedLOCKED => LOCKED, -- 1-bit output: LOCKCDDCREQ => CDDCREQ, -- 1-bit input: Request to dymanic divide clock-- Clock Inputs inputs: Clock inputsCLKIN1 => CLKIN1, -- 1-bit input: Primary clockCLKIN2 => CLKIN2, -- 1-bit input: Secondary clock-- Control Ports inputs: MMCM control portsCLKINSEL => CLKINSEL, -- 1-bit input: Clock select, High=CLKIN1 Low=CLKIN2PWRDWN => PWRDWN, -- 1-bit input: Power-downRST => RST, -- 1-bit input: Reset-- DRP Ports inputs: Dynamic reconfiguration portsDADDR => DADDR, -- 7-bit input: DRP addressDCLK => DCLK, -- 1-bit input: DRP clockDEN => DEN, -- 1-bit input: DRP enableDI => DI, -- 16-bit input: DRP dataDWE => DWE, -- 1-bit input: DRP write enable

UltraScale ライブラリ ガイド http://japan.xilinx.com 217UG974 (v2015.2) 2015 月 6 月 24 日

Page 218: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

-- Dynamic Phase Shift Ports inputs: Ports used for dynamic phase shifting of the outputsPSCLK => PSCLK, -- 1-bit input: Phase shift clockPSEN => PSEN, -- 1-bit input: Phase shift enablePSINCDEC => PSINCDEC, -- 1-bit input: Phase shift increment/decrement-- Feedback inputs: Clock feedback portsCLKFBIN => CLKFBIN -- 1-bit input: Feedback clock

);

-- End of MMCME3_ADV_inst instantiation

Verilog 記述 (インスタンシエーション)

// MMCME3_ADV: Advanced Mixed Mode Clock Manager (MMCM)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

MMCME3_ADV #(.BANDWIDTH("OPTIMIZED"), // Jitter programming (HIGH, LOW, OPTIMIZED).CLKFBOUT_MULT_F(5.0), // Multiply value for all CLKOUT (2.000-64.000).CLKFBOUT_PHASE(0.0), // Phase offset in degrees of CLKFB (-360.000-360.000)// CLKIN_PERIOD: Input clock period in ns units, ps resolution (i.e. 33.333 is 30 MHz)..CLKIN1_PERIOD(0.0),.CLKIN2_PERIOD(0.0),.CLKOUT0_DIVIDE_F(1.0), // Divide amount for CLKOUT0 (1.000-128.000)// CLKOUT0_DUTY_CYCLE - CLKOUT6_DUTY_CYCLE: Duty cycle for CLKOUT outputs (0.001-0.999)..CLKOUT0_DUTY_CYCLE(0.5),.CLKOUT1_DUTY_CYCLE(0.5),.CLKOUT2_DUTY_CYCLE(0.5),.CLKOUT3_DUTY_CYCLE(0.5),.CLKOUT4_DUTY_CYCLE(0.5),.CLKOUT5_DUTY_CYCLE(0.5),.CLKOUT6_DUTY_CYCLE(0.5),// CLKOUT0_PHASE - CLKOUT6_PHASE: Phase offset for CLKOUT outputs (-360.000-360.000)..CLKOUT0_PHASE(0.0),.CLKOUT1_PHASE(0.0),.CLKOUT2_PHASE(0.0),.CLKOUT3_PHASE(0.0),.CLKOUT4_PHASE(0.0),.CLKOUT5_PHASE(0.0),.CLKOUT6_PHASE(0.0),// CLKOUT1_DIVIDE - CLKOUT6_DIVIDE: Divide amount for CLKOUT (1-128).CLKOUT1_DIVIDE(1),.CLKOUT2_DIVIDE(1),.CLKOUT3_DIVIDE(1),.CLKOUT4_CASCADE("FALSE"),.CLKOUT4_DIVIDE(1),.CLKOUT5_DIVIDE(1),.CLKOUT6_DIVIDE(1),.COMPENSATION("AUTO"), // AUTO, BUF_IN, EXTERNAL, INTERNAL, ZHOLD.DIVCLK_DIVIDE(1), // Master division value (1-106)// Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pins.IS_CLKFBIN_INVERTED(1’b0), // Optional inversion for CLKFBIN.IS_CLKIN1_INVERTED(1’b0), // Optional inversion for CLKIN1.IS_CLKIN2_INVERTED(1’b0), // Optional inversion for CLKIN2.IS_CLKINSEL_INVERTED(1’b0), // Optional inversion for CLKINSEL.IS_PSEN_INVERTED(1’b0), // Optional inversion for PSEN.IS_PSINCDEC_INVERTED(1’b0), // Optional inversion for PSINCDEC.IS_PWRDWN_INVERTED(1’b0), // Optional inversion for PWRDWN.IS_RST_INVERTED(1’b0), // Optional inversion for RST// REF_JITTER: Reference input jitter in UI (0.000-0.999)..REF_JITTER1(0.0),.REF_JITTER2(0.0),.STARTUP_WAIT("FALSE"), // Delays DONE until MMCM is locked (FALSE, TRUE)// Spread Spectrum: Spread Spectrum Attributes.SS_EN("FALSE"), // Enables spread spectrum (FALSE, TRUE).SS_MODE("CENTER_HIGH"), // CENTER_HIGH, CENTER_LOW, DOWN_HIGH, DOWN_LOW.SS_MOD_PERIOD(10000), // Spread spectrum modulation period (ns) (4000-40000)// USE_FINE_PS: Fine phase shift enable (TRUE/FALSE).CLKFBOUT_USE_FINE_PS("FALSE"),.CLKOUT0_USE_FINE_PS("FALSE"),

UltraScale ライブラリ ガイド http://japan.xilinx.com 218UG974 (v2015.2) 2015 月 6 月 24 日

Page 219: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.CLKOUT1_USE_FINE_PS("FALSE"),

.CLKOUT2_USE_FINE_PS("FALSE"),

.CLKOUT3_USE_FINE_PS("FALSE"),

.CLKOUT4_USE_FINE_PS("FALSE"),

.CLKOUT5_USE_FINE_PS("FALSE"),

.CLKOUT6_USE_FINE_PS("FALSE"))MMCME3_ADV_inst (

// Clock Outputs outputs: User configurable clock outputs.CLKOUT0(CLKOUT0), // 1-bit output: CLKOUT0.CLKOUT0B(CLKOUT0B), // 1-bit output: Inverted CLKOUT0.CLKOUT1(CLKOUT1), // 1-bit output: Primary clock.CLKOUT1B(CLKOUT1B), // 1-bit output: Inverted CLKOUT1.CLKOUT2(CLKOUT2), // 1-bit output: CLKOUT2.CLKOUT2B(CLKOUT2B), // 1-bit output: Inverted CLKOUT2.CLKOUT3(CLKOUT3), // 1-bit output: CLKOUT3.CLKOUT3B(CLKOUT3B), // 1-bit output: Inverted CLKOUT3.CLKOUT4(CLKOUT4), // 1-bit output: CLKOUT4.CLKOUT5(CLKOUT5), // 1-bit output: CLKOUT5.CLKOUT6(CLKOUT6), // 1-bit output: CLKOUT6// DRP Ports outputs: Dynamic reconfiguration ports.DO(DO), // 16-bit output: DRP data.DRDY(DRDY), // 1-bit output: DRP ready// Dynamic Phase Shift Ports outputs: Ports used for dynamic phase shifting of the outputs.PSDONE(PSDONE), // 1-bit output: Phase shift done// Feedback outputs: Clock feedback ports.CLKFBOUT(CLKFBOUT), // 1-bit output: Feedback clock.CLKFBOUTB(CLKFBOUTB), // 1-bit output: Inverted CLKFBOUT// Status Ports outputs: MMCM status ports.CDDCDONE(CDDCDONE), // 1-bit output: Clock dynamic divide done.CLKFBSTOPPED(CLKFBSTOPPED), // 1-bit output: Feedback clock stopped.CLKINSTOPPED(CLKINSTOPPED), // 1-bit output: Input clock stopped.LOCKED(LOCKED), // 1-bit output: LOCK.CDDCREQ(CDDCREQ), // 1-bit input: Request to dymanic divide clock// Clock Inputs inputs: Clock inputs.CLKIN1(CLKIN1), // 1-bit input: Primary clock.CLKIN2(CLKIN2), // 1-bit input: Secondary clock// Control Ports inputs: MMCM control ports.CLKINSEL(CLKINSEL), // 1-bit input: Clock select, High=CLKIN1 Low=CLKIN2.PWRDWN(PWRDWN), // 1-bit input: Power-down.RST(RST), // 1-bit input: Reset// DRP Ports inputs: Dynamic reconfiguration ports.DADDR(DADDR), // 7-bit input: DRP address.DCLK(DCLK), // 1-bit input: DRP clock.DEN(DEN), // 1-bit input: DRP enable.DI(DI), // 16-bit input: DRP data.DWE(DWE), // 1-bit input: DRP write enable// Dynamic Phase Shift Ports inputs: Ports used for dynamic phase shifting of the outputs.PSCLK(PSCLK), // 1-bit input: Phase shift clock.PSEN(PSEN), // 1-bit input: Phase shift enable.PSINCDEC(PSINCDEC), // 1-bit input: Phase shift increment/decrement// Feedback inputs: Clock feedback ports.CLKFBIN(CLKFBIN) // 1-bit input: Feedback clock

);

// End of MMCME3_ADV_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 219UG974 (v2015.2) 2015 月 6 月 24 日

Page 220: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

MMCME3_BASE

プリミティブ : Base Mixed Mode Clock Manager (MMCM)

プリミティブ グループ : CLOCKプリミティブ サブグループ : PLL

概要

MMCME3 は、周波数合成、クロック ネットワークのスキュー調整、位相調整、およびジッター低減をサポートする混合信

号ブロックです。MMCME3_BASE では MMCME3_ADV の機能のうちより一般的な一部の機能がサポートされるので、イ

ンスタンシエーションおよび使用が比較的簡単です。

ポートの説明

ポート名 方向 幅 機能

クククロロロッッッククク入入入力力力 ::: MMCM 入力クロック。

CLKIN1 入力 1 汎用クロック入力

クククロロロッッッククク出出出力力力 ::: コンフィギュレーション可能なクロック出力で、VCO 位相出力 (ユーザー制御可能) を 1 (バイパス) から 128までの値で分周したものに設定できます。出力クロックは、位相シフトされていない場合はお互いに位相が揃っており、適切なフィードバック コンフィギュレーションにより入力クロックに揃えられます。CLKOUT#B 出力は、CLKOUT#出力の位相を 180 度ずらしたものです。

CLKOUT0 出力 1 CLKOUT0 出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 220UG974 (v2015.2) 2015 月 6 月 24 日

Page 221: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

CLKOUT0B 出力 1 CLKOUT0 の反転出力

CLKOUT1 出力 1 CLKOUT1 出力

CLKOUT1B 出力 1 CLKOUT1 の反転出力

CLKOUT2 出力 1 CLKOUT2 出力

CLKOUT2B 出力 1 CLKOUT2 の反転出力

CLKOUT3 出力 1 CLKOUT3 出力

CLKOUT3B 出力 1 CLKOUT3 の反転出力

CLKOUT4 出力 1 CLKOUT4 出力

CLKOUT5 出力 1 CLKOUT5 出力

CLKOUT6 出力 1 CLKOUT6 出力

制制制御御御ポポポーーートトト ::: MMCM 制御ポート

PWRDWN 入力 1 インスタンシエートされているが未使用の MMCM をパワー ダウンします。

RST 入力 1 非同期リセット信号。この信号が解放されると、MMCM はクロックに同期して再びイネーブルになります。入力クロックの条件 (周波数など) を変更する場合、リセットが必要です。

フフフィィィーーードドドバババッッッククク ::: MMCM 位相アライメント機能を使用する場合に必要なポート

CLKFBIN 入力 1 MMCM へのフィードバック クロック ピン

CLKFBOUT 出力 1 専用 MMCM フィードバック クロック出力

CLKFBOUTB 出力 1 CLKFBOUT の反転出力

ススステテテーーータタタススス ポポポーーートトト ::: MMCM ステータス ポート

LOCKED 出力 1 位相アライメントが定義されている時間内で完了し、周波数が定義されている PPM 範囲内で一致したことを示します。MMCM は電源投入時に自動的にロックされるので、リセットは必要ありません。入力クロックが停止した場合、または位相アライメントに違反が発生した場合 (入力クロックの位相シフトなど) は、LOCKEDがディアサートされます。LOCKED がディアサートされると、自動的にロックが達成されます。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

UltraScale ライブラリ ガイド http://japan.xilinx.com 221UG974 (v2015.2) 2015 月 6 月 24 日

Page 222: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

BANDWIDTH 文字列 "OPTIMIZED"、"HIGH"、"LOW"

"OPTIMIZED" ジッター、位相マージンなどの MMCM 特性に影響する MMCM プログラム アルゴリズムを指定します。

CLKFBOUT_MULT_F 3 上位ビット浮動小数点

2.000 ~ 64.000 5.000 すべての CLKOUT クロック出力を逓倍する値を指定します。この値と、CLKOUT#_DIVIDE 値およびDIVCLK_DIVIDE 値により出力周波数が決まります。

CLKFBOUT_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKIN1_PERIOD 浮動小数点(nS)

0.000 ~ 100.000 0.000 CLKIN1 入力の周期を ns で指定します。精度は ps です (小数点以下 3 桁)。たとえば、値 33.333 は 30MHz の入力クロックを示します。この値は必ず設定する必要があります。

CLKOUT0_DIVIDE_F 3 上位ビット浮動小数点

1.000 ~ 128.000 1.000 CLKOUT0 クロック出力を分周する値を指定します。この値と、CLKFBOUT_MULT_F値および DIVCLK_DIVIDE 値により出力周波数が決まります。

CLKOUT4_CASCADE 文字列 "FALSE"、"TRUE"

"FALSE" 出力クロック分周が 128 よりも大きい場合、出力分周 (カウンター) CLKOUT6 をCLKOUT4 分周の入力にカスケード接続します。

DIVCLK_DIVIDE 10 進数 1 ~ 106 1 すべての出力クロックの入力クロックに対する分周比を指定し、PFD に入力されるCLKIN を分周します。

REF_JITTER1 3 上位ビット浮動小数点

0.000 ~ 0.999 0.010 MMCM のパフォーマンスを最適化するため、CLKIN1 入力に予測されるジッター値を指定します。BANDWIDTH が"OPTIMIZED" に設定されている場合、値が既知でないときに入力クロックに最適なパラメーターが選択されます。値が既知である場合は、値を入力クロックに予測されるジッターの UI パーセント (最大ピーク トゥピーク値) で指定する必要があります。

STARTUP_WAIT 文字列 "FALSE"、"TRUE"

"FALSE" コンフィギュレーション DONE 信号がアサートされるのを、MMCM がロックされるまで遅延します。

CLKOUT0_DUTY_CYCLECLKOUT0_DUTY_CYCLECLKOUT0_DUTY_CYCLE ~~~ CLKOUT6_DUTY_CYCLECLKOUT6_DUTY_CYCLECLKOUT6_DUTY_CYCLE ::: CLKOUT 出力のデューティ サイクルのパーセントを小数で指定します。0.50 に設定すると、デューティ サイクルは 50% になります。

CLKOUT0_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT0 のデューティ サイクルを指定します。

CLKOUT1_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT1 のデューティ サイクルを指定します。

CLKOUT2_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT2 のデューティ サイクルを指定します。

CLKOUT3_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT3 のデューティ サイクルを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 222UG974 (v2015.2) 2015 月 6 月 24 日

Page 223: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

CLKOUT4_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT4 のデューティ サイクルを指定します。

CLKOUT5_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT5 のデューティ サイクルを指定します。

CLKOUT6_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT6 のデューティ サイクルを指定します。

CLKOUT0_PHASECLKOUT0_PHASECLKOUT0_PHASE ~~~ CLKOUT6_PHASECLKOUT6_PHASECLKOUT6_PHASE ::: クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKOUT0_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT0 の位相シフトを指定します。

CLKOUT1_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT1 の位相シフトを指定します。

CLKOUT2_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT2 の位相シフトを指定します。

CLKOUT3_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT3 の位相シフトを指定します。

CLKOUT4_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT4 の位相シフトを指定します。

CLKOUT5_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT5 の位相シフトを指定します。

CLKOUT6_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT6 の位相シフトを指定します。

CLKOUT1_DIVIDECLKOUT1_DIVIDECLKOUT1_DIVIDE ~~~ CLKOUT6_DIVIDECLKOUT6_DIVIDECLKOUT6_DIVIDE ::: CLKOUT クロック出力を分周する値を指定します。この値と、CLKFBOUT_MULT_F 値および DIVCLK_DIVIDE 値により出力周波数が決まります。

CLKOUT1_DIVIDE 10 進数 1 ~ 128 1 CLKOUT1 クロック出力を分周する値を指定します。

CLKOUT2_DIVIDE 10 進数 1 ~ 128 1 CLKOUT2 クロック出力を分周する値を指定します。

CLKOUT3_DIVIDE 10 進数 1 ~ 128 1 CLKOUT3 クロック出力を分周する値を指定します。

CLKOUT4_DIVIDE 10 進数 1 ~ 128 1 CLKOUT4 クロック出力を分周する値を指定します。

CLKOUT5_DIVIDE 10 進数 1 ~ 128 1 CLKOUT5 クロック出力を分周する値を指定します。

CLKOUT6_DIVIDE 10 進数 1 ~ 128 1 CLKOUT6 クロック出力を分周する値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック入力ピン (CLKIN1 または CLKFBIN) に対して 1 に設定すると、位相が 180 度シフトされます。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_CLKFBIN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKFBIN ピンにオプションの反転を使用するかどうかを指定します。

IS_CLKIN1_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKIN1 ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 223UG974 (v2015.2) 2015 月 6 月 24 日

Page 224: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

IS_PWRDWN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 PWRDWN ピンにオプションの反転を使用するかどうかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- MMCME3_BASE: Base Mixed Mode Clock Manager (MMCM)-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

MMCME3_BASE_inst : MMCME3_BASEgeneric map (

BANDWIDTH => "OPTIMIZED", -- Jitter programming (HIGH, LOW, OPTIMIZED)CLKFBOUT_MULT_F => 5.0, -- Multiply value for all CLKOUT (2.000-64.000)CLKFBOUT_PHASE => 0.0, -- Phase offset in degrees of CLKFB (-360.000-360.000)CLKIN1_PERIOD => 0.0, -- Input clock period in ns units, ps resolution (i.e. 33.333 is 30 MHz).CLKOUT0_DIVIDE_F => 1.0, -- Divide amount for CLKOUT0 (1.000-128.000)-- CLKOUT0_DUTY_CYCLE - CLKOUT6_DUTY_CYCLE: Duty cycle for each CLKOUT (0.001-0.999).CLKOUT0_DUTY_CYCLE => 0.5,CLKOUT1_DUTY_CYCLE => 0.5,CLKOUT2_DUTY_CYCLE => 0.5,CLKOUT3_DUTY_CYCLE => 0.5,CLKOUT4_DUTY_CYCLE => 0.5,CLKOUT5_DUTY_CYCLE => 0.5,CLKOUT6_DUTY_CYCLE => 0.5,-- CLKOUT0_PHASE - CLKOUT6_PHASE: Phase offset for each CLKOUT (-360.000-360.000).CLKOUT0_PHASE => 0.0,CLKOUT1_PHASE => 0.0,CLKOUT2_PHASE => 0.0,CLKOUT3_PHASE => 0.0,CLKOUT4_PHASE => 0.0,CLKOUT5_PHASE => 0.0,CLKOUT6_PHASE => 0.0,-- CLKOUT1_DIVIDE - CLKOUT6_DIVIDE: Divide amount for each CLKOUT (1-128)CLKOUT1_DIVIDE => 1,CLKOUT2_DIVIDE => 1,CLKOUT3_DIVIDE => 1,CLKOUT4_DIVIDE => 1,CLKOUT5_DIVIDE => 1,CLKOUT6_DIVIDE => 1,CLKOUT4_CASCADE => "FALSE", -- Cascade CLKOUT4 counter with CLKOUT6 (FALSE, TRUE)DIVCLK_DIVIDE => 1, -- Master division value (1-106)-- Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pinsIS_CLKFBIN_INVERTED => ’0’, -- Optional inversion for CLKFBINIS_CLKIN1_INVERTED => ’0’, -- Optional inversion for CLKIN1IS_PWRDWN_INVERTED => ’0’, -- Optional inversion for PWRDWNIS_RST_INVERTED => ’0’, -- Optional inversion for RSTREF_JITTER1 => 0.0, -- Reference input jitter in UI (0.000-0.999)STARTUP_WAIT => "FALSE" -- Delays DONE until MMCM is locked (FALSE, TRUE)

)port map (

-- Clock Outputs outputs: User configurable clock outputsCLKOUT0 => CLKOUT0, -- 1-bit output: CLKOUT0CLKOUT0B => CLKOUT0B, -- 1-bit output: Inverted CLKOUT0CLKOUT1 => CLKOUT1, -- 1-bit output: CLKOUT1CLKOUT1B => CLKOUT1B, -- 1-bit output: Inverted CLKOUT1CLKOUT2 => CLKOUT2, -- 1-bit output: CLKOUT2CLKOUT2B => CLKOUT2B, -- 1-bit output: Inverted CLKOUT2CLKOUT3 => CLKOUT3, -- 1-bit output: CLKOUT3

UltraScale ライブラリ ガイド http://japan.xilinx.com 224UG974 (v2015.2) 2015 月 6 月 24 日

Page 225: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CLKOUT3B => CLKOUT3B, -- 1-bit output: Inverted CLKOUT3CLKOUT4 => CLKOUT4, -- 1-bit output: CLKOUT4CLKOUT5 => CLKOUT5, -- 1-bit output: CLKOUT5CLKOUT6 => CLKOUT6, -- 1-bit output: CLKOUT6-- Feedback outputs: Clock feedback portsCLKFBOUT => CLKFBOUT, -- 1-bit output: Feedback clockCLKFBOUTB => CLKFBOUTB, -- 1-bit output: Inverted CLKFBOUT-- Status Ports outputs: MMCM status portsLOCKED => LOCKED, -- 1-bit output: LOCK-- Clock Inputs inputs: Clock inputCLKIN1 => CLKIN1, -- 1-bit input: Clock-- Control Ports inputs: MMCM control portsPWRDWN => PWRDWN, -- 1-bit input: Power-downRST => RST, -- 1-bit input: Reset-- Feedback inputs: Clock feedback portsCLKFBIN => CLKFBIN -- 1-bit input: Feedback clock

);

-- End of MMCME3_BASE_inst instantiation

Verilog 記述 (インスタンシエーション)

// MMCME3_BASE: Base Mixed Mode Clock Manager (MMCM)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

MMCME3_BASE #(.BANDWIDTH("OPTIMIZED"), // Jitter programming (HIGH, LOW, OPTIMIZED).CLKFBOUT_MULT_F(5.0), // Multiply value for all CLKOUT (2.000-64.000).CLKFBOUT_PHASE(0.0), // Phase offset in degrees of CLKFB (-360.000-360.000).CLKIN1_PERIOD(0.0), // Input clock period in ns units, ps resolution (i.e. 33.333 is 30 MHz)..CLKOUT0_DIVIDE_F(1.0), // Divide amount for CLKOUT0 (1.000-128.000)// CLKOUT0_DUTY_CYCLE - CLKOUT6_DUTY_CYCLE: Duty cycle for each CLKOUT (0.001-0.999)..CLKOUT0_DUTY_CYCLE(0.5),.CLKOUT1_DUTY_CYCLE(0.5),.CLKOUT2_DUTY_CYCLE(0.5),.CLKOUT3_DUTY_CYCLE(0.5),.CLKOUT4_DUTY_CYCLE(0.5),.CLKOUT5_DUTY_CYCLE(0.5),.CLKOUT6_DUTY_CYCLE(0.5),// CLKOUT0_PHASE - CLKOUT6_PHASE: Phase offset for each CLKOUT (-360.000-360.000)..CLKOUT0_PHASE(0.0),.CLKOUT1_PHASE(0.0),.CLKOUT2_PHASE(0.0),.CLKOUT3_PHASE(0.0),.CLKOUT4_PHASE(0.0),.CLKOUT5_PHASE(0.0),.CLKOUT6_PHASE(0.0),// CLKOUT1_DIVIDE - CLKOUT6_DIVIDE: Divide amount for each CLKOUT (1-128).CLKOUT1_DIVIDE(1),.CLKOUT2_DIVIDE(1),.CLKOUT3_DIVIDE(1),.CLKOUT4_DIVIDE(1),.CLKOUT5_DIVIDE(1),.CLKOUT6_DIVIDE(1),.CLKOUT4_CASCADE("FALSE"), // Cascade CLKOUT4 counter with CLKOUT6 (FALSE, TRUE).DIVCLK_DIVIDE(1), // Master division value (1-106)// Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pins.IS_CLKFBIN_INVERTED(1’b0), // Optional inversion for CLKFBIN.IS_CLKIN1_INVERTED(1’b0), // Optional inversion for CLKIN1.IS_PWRDWN_INVERTED(1’b0), // Optional inversion for PWRDWN.IS_RST_INVERTED(1’b0), // Optional inversion for RST.REF_JITTER1(0.0), // Reference input jitter in UI (0.000-0.999).STARTUP_WAIT("FALSE") // Delays DONE until MMCM is locked (FALSE, TRUE)

)MMCME3_BASE_inst (

// Clock Outputs outputs: User configurable clock outputs.CLKOUT0(CLKOUT0), // 1-bit output: CLKOUT0.CLKOUT0B(CLKOUT0B), // 1-bit output: Inverted CLKOUT0.CLKOUT1(CLKOUT1), // 1-bit output: CLKOUT1

UltraScale ライブラリ ガイド http://japan.xilinx.com 225UG974 (v2015.2) 2015 月 6 月 24 日

Page 226: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.CLKOUT1B(CLKOUT1B), // 1-bit output: Inverted CLKOUT1

.CLKOUT2(CLKOUT2), // 1-bit output: CLKOUT2

.CLKOUT2B(CLKOUT2B), // 1-bit output: Inverted CLKOUT2

.CLKOUT3(CLKOUT3), // 1-bit output: CLKOUT3

.CLKOUT3B(CLKOUT3B), // 1-bit output: Inverted CLKOUT3

.CLKOUT4(CLKOUT4), // 1-bit output: CLKOUT4

.CLKOUT5(CLKOUT5), // 1-bit output: CLKOUT5

.CLKOUT6(CLKOUT6), // 1-bit output: CLKOUT6// Feedback outputs: Clock feedback ports.CLKFBOUT(CLKFBOUT), // 1-bit output: Feedback clock.CLKFBOUTB(CLKFBOUTB), // 1-bit output: Inverted CLKFBOUT// Status Ports outputs: MMCM status ports.LOCKED(LOCKED), // 1-bit output: LOCK// Clock Inputs inputs: Clock input.CLKIN1(CLKIN1), // 1-bit input: Clock// Control Ports inputs: MMCM control ports.PWRDWN(PWRDWN), // 1-bit input: Power-down.RST(RST), // 1-bit input: Reset// Feedback inputs: Clock feedback ports.CLKFBIN(CLKFBIN) // 1-bit input: Feedback clock

);

// End of MMCME3_BASE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 226UG974 (v2015.2) 2015 月 6 月 24 日

Page 227: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

MUXF7

プリミティブ : CLB MUX to connect two LUT6’s Together

プリミティブ グループ : CLBプリミティブ サブグループ : MUXF

概要

このデザイン エレメントは、2 つの LUT6 エレメントと組み合わせて、7 入力ロジック ファンクション、8:1 マルチプレクサー、ま

たは 13 ビット幅までのロジック ファンクションを 1 つの CLB 内に作成するための 2 入力マルチプレクサーです。I0 および

I1 入力は、LUT6 エレメントの出力に接続します。セレクト入力 (S) は、どのネットでも駆動できます。S が Low の場合

は I0 が選択され、High の場合は I1 が選択されます。

論理表

入力 出力

S I0 I1 O

0 I0 X I0

1 X I1 I1

X 0 0 0

X 1 1 1

ポートの説明

ポート名 方向 幅 機能

I0 入力 1 マルチプレクサーのデータ入力。同じ CLB 内にある LUT6 の出力に接続されます。

I1 入力 1 マルチプレクサーのデータ入力。同じ CLB 内にある LUT6 の出力に接続されます。

O 出力 1 CLB マルチプレクサーからのデータ出力

S 入力 1 I0 (S=0) または I1 (S=1) 入力を選択します。

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 227UG974 (v2015.2) 2015 月 6 月 24 日

Page 228: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- MUXF7: CLB MUX to connect two LUT6’s Together-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

MUXF7_inst : MUXF7port map (

O => O, -- 1-bit output: Output of MUXI0 => I0, -- 1-bit input: Connect to LUT6 outputI1 => I1, -- 1-bit input: Connect to LUT6 outputS => S -- 1-bit input: Input select to MUX

);

-- End of MUXF7_inst instantiation

Verilog 記述 (インスタンシエーション)

// MUXF7: CLB MUX to connect two LUT6’s Together// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

MUXF7 MUXF7_inst (.O(O), // 1-bit output: Output of MUX.I0(I0), // 1-bit input: Connect to LUT6 output.I1(I1), // 1-bit input: Connect to LUT6 output.S(S) // 1-bit input: Input select to MUX

);

// End of MUXF7_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 228UG974 (v2015.2) 2015 月 6 月 24 日

Page 229: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

MUXF8

プリミティブ : CLB MUX to connect two MUXF7’s Together

プリミティブ グループ : CLBプリミティブ サブグループ : MUXF

概要

このデザイン エレメントは、2 つの MUXF7 および 4 つの LUT6 エレメントと組み合わせて、8 入力ロジック ファンクション、

16:1 マルチプレクサー、または 27 ビット幅までのロジック ファンクションを 1 つの CLB 内に作成するための 2 入力マルチプ

レクサーです。I0 および I1 入力は、MUXF7 エレメントの出力に接続します。セレクト入力 (S) は、どのネットでも駆動できま

す。S が Low の場合は I0 が選択され、High の場合は I1 が選択されます。

論理表

入力 出力

S I0 I1 O

0 I0 X I0

1 X I1 I1

X 0 0 0

X 1 1 1

ポートの説明

ポート名 方向 幅 機能

I0 入力 1 マルチプレクサーのデータ入力。同じ CLB 内にある MUXF7 の出力に接続されます。

I1 入力 1 マルチプレクサーのデータ入力。同じ CLB 内にある MUXF7 の出力に接続されます。

O 出力 1 CLB マルチプレクサーからのデータ出力

S 入力 1 I0 (S=0) または I1 (S=1) 入力を選択します。

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 229UG974 (v2015.2) 2015 月 6 月 24 日

Page 230: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- MUXF8: CLB MUX to connect two MUXF7’s Together-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

MUXF8_inst : MUXF8port map (

O => O, -- 1-bit output: Output of MUXI0 => I0, -- 1-bit input: Connect to MUXF7 outputI1 => I1, -- 1-bit input: Connect to MUXF7 outputS => S -- 1-bit input: Input select to MUX

);

-- End of MUXF8_inst instantiation

Verilog 記述 (インスタンシエーション)

// MUXF8: CLB MUX to connect two MUXF7’s Together// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

MUXF8 MUXF8_inst (.O(O), // 1-bit output: Output of MUX.I0(I0), // 1-bit input: Connect to MUXF7 output.I1(I1), // 1-bit input: Connect to MUXF7 output.S(S) // 1-bit input: Input select to MUX

);

// End of MUXF8_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 230UG974 (v2015.2) 2015 月 6 月 24 日

Page 231: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

MUXF9

プリミティブ : CLB MUX to connect two MUXF8’s Together

プリミティブ グループ : CLBプリミティブ サブグループ : MUXF

概要

このデザイン エレメントは、2 つの MUXF8、4 つの MUXF7、および 8 つの LUT6 エレメントと組み合わせて、9 入力ロジック

ファンクション、32:1 マルチプレクサー、または 55 ビット幅までのロジック ファンクションを 1 つの CLB 内に作成するための

2 入力マルチプレクサーです。I0 および I1 入力は、MUXF8 エレメントの出力に接続します。セレクト入力 (S) は、どのネット

でも駆動できます。S が Low の場合は I0 が選択され、High の場合は I1 が選択されます。

論理表

入力 出力

S I0 I1 O

0 I0 X I0

1 X I1 I1

X 0 0 0

X 1 1 1

ポートの説明

ポート名 方向 幅 機能

I0 入力 1 マルチプレクサーのデータ入力。同じ CLB 内にある MUXF8 の出力に接続されます。

I1 入力 1 マルチプレクサーのデータ入力。同じ CLB 内にある MUXF8 の出力に接続されます。

O 出力 1 CLB マルチプレクサーからのデータ出力

S 入力 1 I0 (S=0) または I1 (S=1) 入力を選択します。

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 231UG974 (v2015.2) 2015 月 6 月 24 日

Page 232: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- MUXF9: CLB MUX to connect two MUXF8’s Together-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

MUXF9_inst : MUXF9port map (

O => O, -- 1-bit output: Output of MUXI0 => I0, -- 1-bit input: Connect to MUXF8 outputI1 => I1, -- 1-bit input: Connect to MUXF8 outputS => S -- 1-bit input: Input select to MUX

);

-- End of MUXF9_inst instantiation

Verilog 記述 (インスタンシエーション)

// MUXF9: CLB MUX to connect two MUXF8’s Together// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

MUXF9 MUXF9_inst (.O(O), // 1-bit output: Output of MUX.I0(I0), // 1-bit input: Connect to MUXF8 output.I1(I1), // 1-bit input: Connect to MUXF8 output.S(S) // 1-bit input: Input select to MUX

);

// End of MUXF9_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 232UG974 (v2015.2) 2015 月 6 月 24 日

Page 233: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

OBUFDS_GTE3

プリミティブ : Gigabit Transceiver Buffer

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

OBUFDS_GTE3 は、UltraScale デバイスのギガビット トランシーバーの出力パッド バッファー コンポーネントです。REFCLK

信号をシリアル トランシーバーの専用基準クロック出力ピンに配線し、ユーザー デザインに OBUFDS_GTE3 プリミティ

ブをインスタンシエートする必要があります。基準クロックの要件を含む PCB レイアウトの要件は、トランシーバー ユー

ザー ガイドを参照してください。

ポートの説明

ポート名 方向 幅 機能

CEB 入力 1 トランシーバー ユーザー ガイドを参照してください。

I 入力 1 トランシーバー ユーザー ガイドを参照してください。

O 出力 1 トランシーバー ユーザー ガイドを参照してください。

OB 出力 1 トランシーバー ユーザー ガイドを参照してください。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

使用可能な属性

属性 データ型 値 デフォルト 説明

REFCLK_EN_TX_PATH 2 進数 1’b0 ~ 1’b1 1’b0 トランシーバー ユーザー ガイドを参照してください。

REFCLK_ICNTL_TX 2 進数 5’b00000 ~5’b11111

5’b00000 トランシーバー ユーザー ガイドを参照してください。

UltraScale ライブラリ ガイド http://japan.xilinx.com 233UG974 (v2015.2) 2015 月 6 月 24 日

Page 234: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- OBUFDS_GTE3: Gigabit Transceiver Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

OBUFDS_GTE3_inst : OBUFDS_GTE3generic map (

REFCLK_EN_TX_PATH => ’0’, -- Refer to Transceiver User GuideREFCLK_ICNTL_TX => "00000" -- Refer to Transceiver User Guide

)port map (

O => O, -- 1-bit output: Refer to Transceiver User GuideOB => OB, -- 1-bit output: Refer to Transceiver User GuideCEB => CEB, -- 1-bit input: Refer to Transceiver User GuideI => I -- 1-bit input: Refer to Transceiver User Guide

);

-- End of OBUFDS_GTE3_inst instantiation

Verilog 記述 (インスタンシエーション)

// OBUFDS_GTE3: Gigabit Transceiver Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

OBUFDS_GTE3 #(.REFCLK_EN_TX_PATH(1’b0), // Refer to Transceiver User Guide.REFCLK_ICNTL_TX(5’b00000) // Refer to Transceiver User Guide

)OBUFDS_GTE3_inst (

.O(O), // 1-bit output: Refer to Transceiver User Guide

.OB(OB), // 1-bit output: Refer to Transceiver User Guide

.CEB(CEB), // 1-bit input: Refer to Transceiver User Guide

.I(I) // 1-bit input: Refer to Transceiver User Guide);

// End of OBUFDS_GTE3_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 234UG974 (v2015.2) 2015 月 6 月 24 日

Page 235: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

OBUFDS_GTE3_ADV

プリミティブ : Gigabit Transceiver Buffer

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

OBUFDS_GTE3_ADV は、UltraScale デバイスのギガビット トランシーバーの出力パッド バッファー コンポーネントです。

REFCLK 信号をシリアル トランシーバーの専用基準クロック出力ピンに配線し、ユーザー デザインに OBUFDS_GTE3

プリミティブをインスタンシエートする必要があります。基準クロックの要件を含む PCB レイアウトの要件は、トランシー

バー ユーザー ガイドを参照してください。

ポートの説明

ポート名 方向 幅 機能

CEB 入力 1 トランシーバー ユーザー ガイドを参照してください。

I<3:0> 入力 4 トランシーバー ユーザー ガイドを参照してください。

O 出力 1 トランシーバー ユーザー ガイドを参照してください。

OB 出力 1 トランシーバー ユーザー ガイドを参照してください。

RXRECCLK_SEL<1:0> 入力 2 トランシーバー ユーザー ガイドを参照してください。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

使用可能な属性

属性 データ型 値 デフォルト 説明

REFCLK_EN_TX_PATH 2 進数 1’b0~ 1’b1 1’b0 トランシーバー ユーザー ガイドを参照してください。

REFCLK_ICNTL_TX 2 進数 5’b00000 ~5’b11111

5’b00000 トランシーバー ユーザー ガイドを参照してください。

UltraScale ライブラリ ガイド http://japan.xilinx.com 235UG974 (v2015.2) 2015 月 6 月 24 日

Page 236: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- OBUFDS_GTE3_ADV: Gigabit Transceiver Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

OBUFDS_GTE3_ADV_inst : OBUFDS_GTE3_ADVgeneric map (

REFCLK_EN_TX_PATH => ’0’, -- Refer to Transceiver User GuideREFCLK_ICNTL_TX => "00000" -- Refer to Transceiver User Guide

)port map (

O => O, -- 1-bit output: Refer to Transceiver User GuideOB => OB, -- 1-bit output: Refer to Transceiver User GuideCEB => CEB, -- 1-bit input: Refer to Transceiver User GuideI => I, -- 4-bit input: Refer to Transceiver User GuideRXRECCLK_SEL => RXRECCLK_SEL -- 2-bit input: Refer to Transceiver User Guide

);

-- End of OBUFDS_GTE3_ADV_inst instantiation

Verilog 記述 (インスタンシエーション)

// OBUFDS_GTE3_ADV: Gigabit Transceiver Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

OBUFDS_GTE3_ADV #(.REFCLK_EN_TX_PATH(1’b0), // Refer to Transceiver User Guide.REFCLK_ICNTL_TX(5’b00000) // Refer to Transceiver User Guide

)OBUFDS_GTE3_ADV_inst (

.O(O), // 1-bit output: Refer to Transceiver User Guide

.OB(OB), // 1-bit output: Refer to Transceiver User Guide

.CEB(CEB), // 1-bit input: Refer to Transceiver User Guide

.I(I), // 4-bit input: Refer to Transceiver User Guide

.RXRECCLK_SEL(RXRECCLK_SEL) // 2-bit input: Refer to Transceiver User Guide);

// End of OBUFDS_GTE3_ADV_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ GTH トランシーバー Advance 仕様ユーザー ガイド』 (UG576 : 英語版、日本語版)

• 『UltraScale アーキテクチャ GTY トランシーバー Advance 仕様ユーザー ガイド』 (UG578 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 236UG974 (v2015.2) 2015 月 6 月 24 日

Page 237: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

OBUFT

プリミティブ : 3-State Output Buffer

プリミティブ グループ : I/Oプリミティブ サブグループ : OUTPUT_BUFFER

概要

汎用トライステート出力バッファー OBUFT は通常、トライステート出力または双方向 I/O をインプリメントします。

IOSTANDARD、DRIVE、SLEW などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロパティを

使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design Suite プロパ

ティ リファレンス ガイド』 (UG912) を参照してください。

論理表

入力 出力

T I O

1 X Z

0 1 1

0 0 0

ポートの説明

ポート名 方向 幅 機能

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

O 出力 1 最上位出力ポートに直接接続される OBUF の出力

T 入力 1 トライステート イネーブル入力

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 237UG974 (v2015.2) 2015 月 6 月 24 日

Page 238: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- OBUFT: 3-State Output Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

OBUFT_inst : OBUFTport map (

O => O, -- 1-bit output: Buffer output (connect directly to top-level port)I => I, -- 1-bit input: Buffer inputT => T -- 1-bit input: 3-state enable input

);

-- End of OBUFT_inst instantiation

Verilog 記述 (インスタンシエーション)

// OBUFT: 3-State Output Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

OBUFT OBUFT_inst (.O(O), // 1-bit output: Buffer output (connect directly to top-level port).I(I), // 1-bit input: Buffer input.T(T) // 1-bit input: 3-state enable input

);

// End of OBUFT_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 238UG974 (v2015.2) 2015 月 6 月 24 日

Page 239: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

OBUFTDS

プリミティブ : Differential 3-state Output Buffer

プリミティブ グループ : I/Oプリミティブ サブグループ : OUTPUT_BUFFER

概要

OBUFTDS は差動トライステート出力バッファー プリミティブです。

IOSTANDARD、SLEW などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロパティを使用し

て最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design Suite プロパ

ティ リファレンス ガイド』 (UG912) を参照してください。

論理表

入力 出力

I T O OB

X 1 Z Z

0 0 0 1

1 0 1 0

ポートの説明

ポート名 方向 幅 機能

I 入力 1 バッファーの入力

O 出力 1 Diff_p 出力。デザインの最上位ポートに直接接続します。

OB 出力 1 Diff_n 出力。デザインの最上位ポートに直接接続します。

T 入力 1 トライステート イネーブル入力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 239UG974 (v2015.2) 2015 月 6 月 24 日

Page 240: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- OBUFTDS: Differential 3-state Output Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

OBUFTDS_inst : OBUFTDSport map (

O => O, -- 1-bit output: Diff_p output (connect directly to top-level port)OB => OB, -- 1-bit output: Diff_n output (connect directly to top-level port)I => I, -- 1-bit input: Buffer inputT => T -- 1-bit input: 3-state enable input

);

-- End of OBUFTDS_inst instantiation

Verilog 記述 (インスタンシエーション)

// OBUFTDS: Differential 3-state Output Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

OBUFTDS OBUFTDS_inst (.O(O), // 1-bit output: Diff_p output (connect directly to top-level port).OB(OB), // 1-bit output: Diff_n output (connect directly to top-level port).I(I), // 1-bit input: Buffer input.T(T) // 1-bit input: 3-state enable input

);

// End of OBUFTDS_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 240UG974 (v2015.2) 2015 月 6 月 24 日

Page 241: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ODDRE1

プリミティブ : Dedicated Dual Data Rate (DDR) Output Register

プリミティブ グループ : REGISTERプリミティブ サブグループ : DDR

概要

コンポーネント モードでは、UltraScale FPGA の ODDRE1 は FPGA デバイスからのデュアル データ レート (DDR) 信号を送

信するのに使用される専用入力レジスタです。ODDRE1 の FPGA ファブリックとの通信は、同じクロック エッジに制限されま

す。これにより、タイミングが複雑にならず、追加の CLB リソースも必要ありません。

ポートの説明

ポート名 方向 幅 機能

C 入力 1 高速クロック入力

D1 入力 1 パラレル データ入力 1

D2 入力 1 パラレル データ入力 2

Q 出力 1 IOB へのデータ出力

SR 入力 1 アクティブ High の非同期リセット

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

UltraScale ライブラリ ガイド http://japan.xilinx.com 241UG974 (v2015.2) 2015 月 6 月 24 日

Page 242: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

IS_C_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 クロック C ピンをアクティブ High にするかアクティブLow にするかを指定します。

IS_D1_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D1 ピンにオプションの反転を使用するかどうかを指定します。

IS_D2_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 D2 ピンにオプションの反転を使用するかどうかを指定します。

SRVAL 2 進数 1’b0、1’b1 1’b0 ODDRE1 フリップフロップの初期値を指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- ODDRE1: Dedicated Dual Data Rate (DDR) Output Register-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

ODDRE1_inst : ODDRE1generic map (

IS_C_INVERTED => ’0’, -- Optional inversion for CIS_D1_INVERTED => ’0’, -- Optional inversion for D1IS_D2_INVERTED => ’0’, -- Optional inversion for D2SRVAL => ’0’ -- Initializes the ODDRE1 Flip-Flops to the specified value (’0’, ’1’)

)port map (

Q => Q, -- 1-bit output: Data output to IOBC => C, -- 1-bit input: High-speed clock inputD1 => D1, -- 1-bit input: Parallel data input 1D2 => D2, -- 1-bit input: Parallel data input 2SR => SR -- 1-bit input: Active High Async Reset

);

-- End of ODDRE1_inst instantiation

Verilog 記述 (インスタンシエーション)

// ODDRE1: Dedicated Dual Data Rate (DDR) Output Register// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

ODDRE1 #(.IS_C_INVERTED(1’b0), // Optional inversion for C.IS_D1_INVERTED(1’b0), // Optional inversion for D1.IS_D2_INVERTED(1’b0), // Optional inversion for D2.SRVAL(1’b0) // Initializes the ODDRE1 Flip-Flops to the specified value (1’b0, 1’b1)

)ODDRE1_inst (

.Q(Q), // 1-bit output: Data output to IOB

.C(C), // 1-bit input: High-speed clock input

.D1(D1), // 1-bit input: Parallel data input 1

.D2(D2), // 1-bit input: Parallel data input 2

.SR(SR) // 1-bit input: Active High Async Reset);

// End of ODDRE1_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 242UG974 (v2015.2) 2015 月 6 月 24 日

Page 244: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ODELAYE3

プリミティブ : Output Fixed or Variable Delay Element

プリミティブ グループ : I/Oプリミティブ サブグループ : DELAY

概要

コンポーネント モードでは、I/O ブロックに ODELAYE3 と呼ばれるプログラム可能な遅延エレメントが含まれています。この遅

延エレメントは、出力レジスタ/OSERDESE3 に接続するか、または FPGA ロジックで直接駆動できます。ODELAYE3 は、キャリ

ブレーションされた遅延を使用する 512 タップの遅延エレメントです。ODELAYE3 を使用すると、信号を個別に遅延できます。

ポートの説明

ポート名 方向 幅 機能

CASC_IN 入力 1 スレーブ IDELAY の CASCADE_OUT からのカスケード遅延入力

CASC_OUT 出力 1 IDELAY のカスケード入力に接続するカスケード遅延出力

CASC_RETURN 入力 1 スレーブ IDELAY の DATAOUT から戻されるカスケード遅延

CE 入力 1 インクリメント/デクリメントをイネーブル/ディスエーブルにするアクティブ High の信号

CLK 入力 1 クロック入力

CNTVALUEIN<8:0> 入力 9 動的に読み込まれるタップ値用の FPGA ロジックからのカウンター値

CNTVALUEOUT<8:0> 出力 9 遅延エレメントの値の動的な変更をレポートします。ODELAYE3 が"VARIABLE" または "VAR_LOAD" モードの場合にのみ有効です。

DATAOUT 出力 1 ODATAIN 入力ポートからの遅延データ

EN_VTC 入力 1 VT の変動に対して遅延を一定に保持します。

INC 入力 1 インクリメント/デクリメント タップ遅延入力

LOAD 入力 1 VARIABLE モードでは、あらかじめプログラムされた値を読み込みます。VAR_LOAD モードでは、CNTVALUEIN の値を読み込みます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 244UG974 (v2015.2) 2015 月 6 月 24 日

Page 245: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

ODATAIN 入力 1 OSERDES またはプログラマブル ロジックからの ODELAYE3 のデータ入力

RST 入力 1 DELAY_VALUE への非同期リセット。極性は IS_RST_INVERTED で指定します。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

CASCADE 文字列 "NONE"、"MASTER"、"SLAVE_END"、"SLAVE_MIDDLE"

"NONE" ODELAYE3 がカスケード コンフィギュレーションで使用されている場合にその位置を設定します。

• "NONE" : 遅延ラインはカスケード接続さ

れません。

• "MASTER" : 遅延ラインは別の遅延ライン

とカスケード接続されます。

• "SLAVE_MIDDLE" : 遅延ラインは隣接す

る遅延ラインからカスケード接続され、別の

遅延ラインにもカスケード接続されます。

• "SLAVE_END" : 遅延ラインはカスケード

接続の最後の遅延ラインです。

DELAY_FORMAT 文字列 "TIME"、"COUNT"

"TIME" DELAY_VALUE の単位を設定します。DELAY_TYPE が "FIXED" の場合は "TIME"に設定し、"VARIABLE" または "VAR_LOAD"の場合は "COUNT" に設定します。

• "TIME" : DELAY_VALUE の値は ps で

指定します。

• "COUNT" : DELAY_VALUE の値はタッ

プ数で指定します。

DELAY_TYPE 文字列 "FIXED"、"VAR_LOAD"、"VARIABLE"

"FIXED" タップ遅延ラインのタイプを設定します。

• "FIXED" : スタティック遅延値に設定し

ます。

• "VARIABLE" : 遅延値を動的に調整 (イン

クリメントまたはディクリメント) します。

• "VAR_LOAD" : タップ値を動的に読み込

みます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 245UG974 (v2015.2) 2015 月 6 月 24 日

Page 246: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

DELAY_VALUE 10 進数 0 ~ 1250 0 "FIXED" モードでは遅延タップ数、"VARIABLE" または "VAR_LOAD" モードでは遅延タップ数の初期値を指定します (入力パス)。

IS_CLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLK ピンをアクティブ High にするかアクティブLow にするかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST ピンをアクティブ High にするかアクティブLow にするかを指定します。

REFCLK_FREQUENCY

1 上位ビット浮動小数点

200.0 ~ 2400.0 300.0 スタティック タイミング解析、論理シミュレーション、タイミング シミュレーションに使用するタップ値 (MHz) を設定します。適切なパフォーマンスを達成するには、REFCLK の周波数をデータシートに記載された範囲内にする必要があります。

UPDATE_MODE 文字列 "ASYNC"、"MANUAL"、"SYNC"

"ASYNC" 遅延の変更をいつ適用するかを指定します。

• "ASYNC" : 受信されるデータとは独立し

て遅延値がインクリメントまたはディクリメン

トされます。

• "SYNC" : 遅延は ODATAIN のエッジに

同期してアップデートされます。

• "MANUAL" : LD および CNTVALUEIN

信号を使用して新しい CNTVALUE を読

み込んだ後、LD および CE の両方をア

サートしたときに、遅延値がアップデートさ

れます。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- ODELAYE3: Output Fixed or Variable Delay Element-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

ODELAYE3_inst : ODELAYE3generic map (

CASCADE => "NONE", -- Cascade setting (MASTER, NONE, SLAVE_END, SLAVE_MIDDLE)DELAY_FORMAT => "TIME", -- (COUNT, TIME)DELAY_TYPE => "FIXED", -- Set the type of tap delay line (FIXED, VARIABLE, VAR_LOAD)DELAY_VALUE => 0, -- Output delay tap settingIS_CLK_INVERTED => ’0’, -- Optional inversion for CLKIS_RST_INVERTED => ’0’, -- Optional inversion for RSTREFCLK_FREQUENCY => 300.0, -- IDELAYCTRL clock input frequency in MHz (200.0-2400.0).UPDATE_MODE => "ASYNC" -- Determines when updates to the delay will take effect (ASYNC, MANUAL, SYNC)

)port map (

CASC_OUT => CASC_OUT, -- 1-bit output: Cascade delay output to IDELAY input cascadeCNTVALUEOUT => CNTVALUEOUT, -- 9-bit output: Counter value outputDATAOUT => DATAOUT, -- 1-bit output: Delayed data from ODATAIN input portCASC_IN => CASC_IN, -- 1-bit input: Cascade delay input from slave IDELAY CASCADE_OUTCASC_RETURN => CASC_RETURN, -- 1-bit input: Cascade delay returning from slave IDELAY DATAOUT

UltraScale ライブラリ ガイド http://japan.xilinx.com 246UG974 (v2015.2) 2015 月 6 月 24 日

Page 247: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CE => CE, -- 1-bit input: Active high enable increment/decrement inputCLK => CLK, -- 1-bit input: Clock inputCNTVALUEIN => CNTVALUEIN, -- 9-bit input: Counter value inputEN_VTC => EN_VTC, -- 1-bit input: Keep delay constant over VTINC => INC, -- 1-bit input: Increment / Decrement tap delay inputLOAD => LOAD, -- 1-bit input: Load DELAY_VALUE inputODATAIN => ODATAIN, -- 1-bit input: Data inputRST => RST -- 1-bit input: Asynchronous Reset to the DELAY_VALUE

);

-- End of ODELAYE3_inst instantiation

Verilog 記述 (インスタンシエーション)

// ODELAYE3: Output Fixed or Variable Delay Element// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

ODELAYE3 #(.CASCADE("NONE"), // Cascade setting (MASTER, NONE, SLAVE_END, SLAVE_MIDDLE).DELAY_FORMAT("TIME"), // (COUNT, TIME).DELAY_TYPE("FIXED"), // Set the type of tap delay line (FIXED, VARIABLE, VAR_LOAD).DELAY_VALUE(0), // Output delay tap setting.IS_CLK_INVERTED(1’b0), // Optional inversion for CLK.IS_RST_INVERTED(1’b0), // Optional inversion for RST.REFCLK_FREQUENCY(300.0), // IDELAYCTRL clock input frequency in MHz (200.0-2400.0)..UPDATE_MODE("ASYNC") // Determines when updates to the delay will take effect (ASYNC, MANUAL, SYNC)

)ODELAYE3_inst (

.CASC_OUT(CASC_OUT), // 1-bit output: Cascade delay output to IDELAY input cascade

.CNTVALUEOUT(CNTVALUEOUT), // 9-bit output: Counter value output

.DATAOUT(DATAOUT), // 1-bit output: Delayed data from ODATAIN input port

.CASC_IN(CASC_IN), // 1-bit input: Cascade delay input from slave IDELAY CASCADE_OUT

.CASC_RETURN(CASC_RETURN), // 1-bit input: Cascade delay returning from slave IDELAY DATAOUT

.CE(CE), // 1-bit input: Active high enable increment/decrement input

.CLK(CLK), // 1-bit input: Clock input

.CNTVALUEIN(CNTVALUEIN), // 9-bit input: Counter value input

.EN_VTC(EN_VTC), // 1-bit input: Keep delay constant over VT

.INC(INC), // 1-bit input: Increment / Decrement tap delay input

.LOAD(LOAD), // 1-bit input: Load DELAY_VALUE input

.ODATAIN(ODATAIN), // 1-bit input: Data input

.RST(RST) // 1-bit input: Asynchronous Reset to the DELAY_VALUE);

// End of ODELAYE3_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 247UG974 (v2015.2) 2015 月 6 月 24 日

Page 248: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

OR2L

プリミティブ : Two input OR gate implemented in place of a CLB Latch

プリミティブ グループ : CLBプリミティブ サブグループ : LATCH

概要

このエレメントは、コンフィギュレーション可能な CLB ラッチを 2 入力 OR ゲートとして機能するよう設定します。このエレメント

を使用すると、ロジックのレジスタ/ラッチ リソース数をトレードオフにすることで、ロジック レベルを削減して、デバイス

のロジック集積度を上げることができます。このエレメントは、CLB 内のレジスタのパックおよび集積度に影響を与える

ので注意して使用してください。

論理表

入力 出力

DI SRI O

0 0 0

0 1 1

1 0 1

1 1 1

ポートの説明

ポート名 方向 幅 機能

DI 入力 1 通常同じ CLB 内のソース LUT に接続されるアクティブ High の入力

O 出力 1 AND ゲートの出力

SRI 入力 1 通常 CLB 外から供給される入力。極性は IS_SRI_INVERTED 属性を使用して指定します。

注記 : 複数の AND2B1L または OR2L を CLB の半分にパックするには、この入力に共通の信号を接続する必要があります。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 248UG974 (v2015.2) 2015 月 6 月 24 日

Page 249: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

IS_SRI_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 SRI ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- OR2L: Two input OR gate implemented in place of a CLB Latch-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

OR2L_inst : OR2Lgeneric map (

IS_SRI_INVERTED => ’0’ -- Optional inversion for SRI)port map (

O => O, -- 1-bit output: AND gate outputDI => DI, -- 1-bit input: Data input connected to LUT logicSRI => SRI -- 1-bit input: External CLB data

);

-- End of OR2L_inst instantiation

Verilog 記述 (インスタンシエーション)

// OR2L: Two input OR gate implemented in place of a CLB Latch// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

OR2L #(.IS_SRI_INVERTED(1’b0) // Optional inversion for SRI

)OR2L_inst (

.O(O), // 1-bit output: AND gate output

.DI(DI), // 1-bit input: Data input connected to LUT logic

.SRI(SRI) // 1-bit input: External CLB data);

// End of OR2L_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 249UG974 (v2015.2) 2015 月 6 月 24 日

Page 250: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

OSERDESE3

プリミティブ : Output SERial/DESerializer

プリミティブ グループ : I/Oプリミティブ サブグループ : SERDES

概要

UltraScale FPGA に含まれる OSERDESE3 は、高速ソース同期アプリケーションのインプリメンテーションに特化したクロッ

クおよびロジック機能を持つ、専用パラレル/シリアル コンバーターです。内部デバイス ロジックでシリアライザーを設

計する際にタイミングがより複雑になるのを回避するために使用します。OSERDESE3 は、出力信号を SDR モードでは

4、DDR モードでは 4 および 8 でシリアル化できます。

ポートの説明

ポート名 方向 幅 機能

CLK 入力 1 出力シリアル データ ストリームを出力するのに使用される高速クロック入力 (CLK)

CLKDIV 入力 1 分周クロック入力。通常は CLK を分周したクロックです (インプリメントされたシリアライザーの幅による)。パラレル/シリアル コンバーターの入力および CE モジュールを駆動します。

D<7:0> 入力 8 OSERDESE3 のパラレル データ入力ポート

OQ 出力 1 IOB へのシリアル出力データ

RST 入力 1 非同期リセット。極性は IS_RST_INVERTED で指定します。

T 入力 1 ファブリックからのトライステート入力

T_OUT 出力 1 IOB へのトライステート制御出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

UltraScale ライブラリ ガイド http://japan.xilinx.com 250UG974 (v2015.2) 2015 月 6 月 24 日

Page 251: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

DATA_WIDTH 10 進数 8、4 8 パラレル/シリアル コンバーターの幅を指定します。SDR クロッキングの場合は、DATA_WIDTH を必要な幅の 2倍の値に設定します。

INIT 2 進数 1’b0、1’b1 1’b0 OSERDES フリップフロップの初期値を指定します。

IS_CLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLK ピンをアクティブ High にするかアクティブ Lowにするかを指定します。

IS_CLKDIV_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKDIV ピンをアクティブ High にするかアクティブLow にするかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST ピンをアクティブ High にするかアクティブ Lowにするかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- OSERDESE3: Output SERial/DESerializer-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

OSERDESE3_inst : OSERDESE3generic map (

DATA_WIDTH => 8, -- Parallel Data Width (4-8)INIT => ’0’, -- Initialization value of the OSERDES flip-flopsIS_CLKDIV_INVERTED => ’0’, -- Optional inversion for CLKDIVIS_CLK_INVERTED => ’0’, -- Optional inversion for CLKIS_RST_INVERTED => ’0’ -- Optional inversion for RST

)port map (

OQ => OQ, -- 1-bit output: Serial Output DataT_OUT => T_OUT, -- 1-bit output: 3-state control output to IOBCLK => CLK, -- 1-bit input: High-speed clockCLKDIV => CLKDIV, -- 1-bit input: Divided ClockD => D, -- 8-bit input: Parallel Data InputRST => RST, -- 1-bit input: Asynchronous ResetT => T -- 1-bit input: Tristate input from fabric

);

-- End of OSERDESE3_inst instantiation

Verilog 記述 (インスタンシエーション)

// OSERDESE3: Output SERial/DESerializer// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

OSERDESE3 #(.DATA_WIDTH(8), // Parallel Data Width (4-8).INIT(1’b0), // Initialization value of the OSERDES flip-flops.IS_CLKDIV_INVERTED(1’b0), // Optional inversion for CLKDIV.IS_CLK_INVERTED(1’b0), // Optional inversion for CLK.IS_RST_INVERTED(1’b0) // Optional inversion for RST

)OSERDESE3_inst (

.OQ(OQ), // 1-bit output: Serial Output Data

UltraScale ライブラリ ガイド http://japan.xilinx.com 251UG974 (v2015.2) 2015 月 6 月 24 日

Page 252: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.T_OUT(T_OUT), // 1-bit output: 3-state control output to IOB

.CLK(CLK), // 1-bit input: High-speed clock

.CLKDIV(CLKDIV), // 1-bit input: Divided Clock

.D(D), // 8-bit input: Parallel Data Input

.RST(RST), // 1-bit input: Asynchronous Reset

.T(T) // 1-bit input: Tristate input from fabric);

// End of OSERDESE3_inst instantiation

詳細情報

• 『UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド』 (UG571 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 252UG974 (v2015.2) 2015 月 6 月 24 日

Page 253: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

PCIE_3_1

プリミティブ : Integrated Block for PCI Express

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : PCIE

概要

PCI Express 用の統合ブロックは、PCIe 仕様に準拠したハード マクロ プリミティブです。ファブリック インターコネクトを使用

する GT および FPGA クロック リソースと統合して使用するよう設計されています。このコンポーネントの詳細は、Integrated

Block for PCI Express のユーザー ガイドを参照してください。

デザインの入力方法

インスタンシエーション 不可

推論 不可

IP および IP インテグレーター カタログ 推奨

詳細情報

『UltraScale Architecture Gen3 Integrated Block for PCI Express LogiCORE IP 製品ガイド』 (PG156 : 英語版、日本語版)

UltraScale ライブラリ ガイド http://japan.xilinx.com 253UG974 (v2015.2) 2015 月 6 月 24 日

Page 254: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

PLLE3_ADV

プリミティブ : Advanced Phase-Locked Loop (PLL)

プリミティブ グループ : CLOCKプリミティブ サブグループ : PLL

概要

PLLE3 は、Bitslice コンポーネントを使用する高速 I/O クロッキングおよび汎用クロッキング要件に使用されます。通常、

PLLE3 は MMCME3 よりもジッターが小さく、消費電力も少ないので、MMCME3 のみで使用可能な機能が不要な場合

のクロック動作に適しています。

ポートの説明

ポート名 方向 幅 機能

CLKIN 入力 1 クロック入力

LOCKED 出力 1 位相アライメントが定義されている時間内で完了し、周波数が定義されている PPM 範囲内で一致したことを示します。PLL は電源投入時に自動的にロックされるので、リセットは必要ありません。入力クロックが停止した場合、または位相アライメントに違反が発生した場合 (入力クロックの位相シフトなど) は、LOCKED がディアサートされます。LOCKED がディアサートされた場合は、PLL をリセットする必要があります。

クククロロロッッッククク出出出力力力 ::: コンフィギュレーション可能なクロック出力で、VCO 位相出力 (ユーザー制御可能) を 1 (バイパス) から 256までの値で分周したものに設定できます。出力クロックは、位相シフトされていない場合はお互いに位相が揃っており、適切なフィードバック コンフィギュレーションにより入力クロックに揃えられます。

CLKOUTPHY 出力 1 I/O Bitslice コンポーネントに接続される汎用クロック出力

CLKOUT0 出力 1 汎用クロック出力。通常グローバル バッファーに接続されます。

CLKOUT0B 出力 1 CLKOUT0 の反転出力。通常グローバル バッファーに接続されます。

CLKOUT1 出力 1 汎用クロック出力。通常グローバル バッファーに接続されます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 254UG974 (v2015.2) 2015 月 6 月 24 日

Page 255: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

CLKOUT1B 出力 1 CLKOUT1 の反転出力。通常グローバル バッファーに接続されます。

制制制御御御ポポポーーートトト ::: PLL 制御ポート

CLKOUTPHYEN 入力 1 CLKOUTPHY のイネーブル信号

PWRDWN 入力 1 インスタンシエートされているが未使用の PLL をパワー ダウンします。

RST 入力 1 PLL の非同期リセットです。この信号が解放されると PLL はクロックに同期して再びイネーブルになり、新たに位相アライメントおよびロックサイクルが実行されます。入力クロックの条件 (周波数など) を変更する場合、リセットが必要です。

DRPDRPDRP ポポポーーートトト ::: PLL のコンフィギュレーションを読み出しおよび書き込みするためにダイナミック リコンフィギャラブルポートを使用する場合に使用されるポート

DADDR<6:0> 入力 7 ダイナミック リコンフィギュレーション用のリコンフィギュレーション アドレスを供給する入力バス。このバスを使用しない場合は、すべてのビットを 0 にする必要があります。

DCLK 入力 1 ダイナミック リコンフィギュレーション ポートの基準クロック

DEN 入力 1 ダイナミック リコンフィギュレーション機能にアクセスするためのイネーブル制御信号。ダイナミック リコンフィギュレーションを使用しない場合は、Low に接続する必要があります。

DI<15:0> 入力 16 ダイナミック リコンフィギュレーションを使用する場合の PLL データ出力バス

DO<15:0> 出力 16 ダイナミック リコンフィギュレーションを使用する場合の PLL データ出力バス

DRDY 出力 1 PLL のダイナミック リコンフィギュレーション機能の DEN 信号への応答を供給する READY 出力

DWE 入力 1 DADDR アドレスへの DI データの書き込みを制御するライト イネーブル信号。使用しない場合は、Low に接続する必要があります。

フフフィィィーーードドドバババッッッククク クククロロロッッッククク ::: PLL 位相アライメント機能を使用する場合に必要なポート

CLKFBIN 入力 1 PLL へのフィードバック クロック ピン

CLKFBOUT 出力 1 専用 PLL フィードバック クロック出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

UltraScale ライブラリ ガイド http://japan.xilinx.com 255UG974 (v2015.2) 2015 月 6 月 24 日

Page 256: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

CLKFBOUT_MULT 10 進数 1 ~ 19 5 すべての CLKOUT クロック出力を逓倍する値を指定します。この値と、CLKOUT#_DIVIDE 値およびDIVCLK_DIVIDE 値により出力周波数が決まります。

CLKFBOUT_PHASE 3 上位ビット浮動小数点

-360.000 ~ 360.000 0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、PLL の出力クロックがすべて負の方向に位相シフトされます。

CLKIN_PERIOD 浮動小数点(nS)

0.000 ~ 14.286 0.000 CLKIN の入力周期を ns で指定します。精度は ps です (小数点以下 3 桁)。たとえば、値 33.333 は 30MHz の入力クロックを示します。この値は必ず設定する必要があります。

CLKOUTPHY_MODE 文字列 "VCO_2X"、"VCO"、"VCO_HALF"

"VCO_2X" CLKOUTPHY クロック出力の周波数を指定します。

COMPENSATION 文字列 "AUTO"、"BUF_IN"、"INTERNAL"

"AUTO" クロック入力の補正を指定します。通常は"AUTO" に設定してください。PLL フィードバック補正のコンフィギュレーション方法を定義します。

• "AUTO" : PLL フィードバック パスの

接続方法に基づいて、適切な補正設

定が自動的に選択されます。

• "INTERNAL" : PLL の内部フィード

バック パスを使用します。遅延は補

正されません。

• "BUF_IN" : いずれの補正モードにも

一致していないことを示し、遅延は補

正されません。クロック入力が BUFG

で駆動される場合などです。

DIVCLK_DIVIDE 10 進数 1 ~ 15 1 すべての出力クロックの入力クロックに対する分周比を指定し、PFD に入力されるCLKIN を分周します。

REF_JITTER 3 上位ビット浮動小数点

0.000 ~ 0.999 0.010 CLKIN のパフォーマンスを最適化するため、CLKIN1 に予測されるジッター値を指定します。BANDWIDTH が "OPTIMIZED"に設定されている場合、値が既知でないときに入力クロックに最適なパラメーターが選択されます。値が既知である場合は、値を入力クロックに予測されるジッターの UIパーセント (最大ピーク トゥ ピーク値) で指定する必要があります。

STARTUP_WAIT 文字列 "FALSE"、"TRUE" "FALSE" コンフィギュレーション DONE 信号がアサートされるのを、PLL がロックされるまで遅延します。

CLKOUT0CLKOUT0CLKOUT0 属属属性性性 ::: CLKOUT0 出力の分周値、位相、およびデューティ サイクルを設定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 256UG974 (v2015.2) 2015 月 6 月 24 日

Page 257: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

CLKOUT0_DIVIDE 10 進数 1 ~ 128 1 CLKOUT0 出力の分周値を指定します。この値と、CLKFBOUT_MULT_F 値およびDIVCLK_DIVIDE 値により出力周波数が決まります。

CLKOUT0_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT0 クロック出力のデューティ サイクルをパーセントで指定します。0.500 に設定すると、デューティ サイクルは 50% になります。

CLKOUT0_PHASE 3 上位ビット浮動小数点

-360.000 ~ 360.000 0.000 CLKOUT0 出力の位相オフセットを指定します。

CLKOUT1CLKOUT1CLKOUT1 属属属性性性 ::: CLKOUT1 出力の分周値、位相、およびデューティ サイクルを設定します。

CLKOUT1_DIVIDE 10 進数 1 ~ 128 1 CLKOUT1 出力の分周値を指定します。この値と、CLKFBOUT_MULT_F 値およびDIVCLK_DIVIDE 値により出力周波数が決まります。

CLKOUT1_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT1 クロック出力のデューティ サイクルをパーセントで指定します。0.500 に設定すると、デューティ サイクルは 50% になります。

CLKOUT1_PHASE 3 上位ビット浮動小数点

-360.000 ~ 360.000 0.000 CLKOUT1 出力の位相オフセットを指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック入力ピン (CLKIN または CLKFBIN) に対して 1 に設定すると、位相が 180 度シフトされます。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_CLKFBIN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKFBIN ピンにオプションの反転を使用するかどうかを指定します。

IS_CLKIN _INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLKIN ピンにオプションの反転を使用するかどうかを指定します。

IS_PWRDWN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 PWRDWN ピンにオプションの反転を使用するかどうかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- PLLE3_ADV: Advanced Phase-Locked Loop (PLL)-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

PLLE3_ADV_inst : PLLE3_ADVgeneric map (

CLKFBOUT_MULT => 5, -- Multiply value for all CLKOUT, (1-19)CLKFBOUT_PHASE => 0.0, -- Phase offset in degrees of CLKFB, (-360.000-360.000)CLKIN_PERIOD => 0.0, -- Input clock period in ns to ps resolution (i.e. 33.333 is 30 MHz).-- CLKOUT0 Attributes: Divide, Phase and Duty Cycle for the CLKOUT0 outputCLKOUT0_DIVIDE => 1, -- Divide amount for CLKOUT0 (1-128)

UltraScale ライブラリ ガイド http://japan.xilinx.com 257UG974 (v2015.2) 2015 月 6 月 24 日

Page 258: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CLKOUT0_DUTY_CYCLE => 0.5, -- Duty cycle for CLKOUT0 (0.001-0.999)CLKOUT0_PHASE => 0.0, -- Phase offset for CLKOUT0 (-360.000-360.000)-- CLKOUT1 Attributes: Divide, Phase and Duty Cycle for the CLKOUT1 outputCLKOUT1_DIVIDE => 1, -- Divide amount for CLKOUT1 (1-128)CLKOUT1_DUTY_CYCLE => 0.5, -- Duty cycle for CLKOUT1 (0.001-0.999)CLKOUT1_PHASE => 0.0, -- Phase offset for CLKOUT1 (-360.000-360.000)CLKOUTPHY_MODE => "VCO_2X", -- Frequency of the CLKOUTPHY (VCO, VCO_2X, VCO_HALF)COMPENSATION => "AUTO", -- AUTO, BUF_IN, INTERNALDIVCLK_DIVIDE => 1, -- Master division value, (1-15)-- Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pinsIS_CLKFBIN_INVERTED => ’0’, -- Optional inversion for CLKFBINIS_CLKIN_INVERTED => ’0’, -- Optional inversion for CLKINIS_PWRDWN_INVERTED => ’0’, -- Optional inversion for PWRDWNIS_RST_INVERTED => ’0’, -- Optional inversion for RSTREF_JITTER => 0.0, -- Reference input jitter in UI (0.000-0.999)STARTUP_WAIT => "FALSE" -- Delays DONE until PLL is locked (FALSE, TRUE)

)port map (

-- Clock Outputs outputs: User configurable clock outputsCLKOUT0 => CLKOUT0, -- 1-bit output: General Clock outputCLKOUT0B => CLKOUT0B, -- 1-bit output: Inverted CLKOUT0CLKOUT1 => CLKOUT1, -- 1-bit output: General Clock outputCLKOUT1B => CLKOUT1B, -- 1-bit output: Inverted CLKOUT1CLKOUTPHY => CLKOUTPHY, -- 1-bit output: Bitslice clock-- DRP Ports outputs: Dynamic reconfiguration portsDO => DO, -- 16-bit output: DRP dataDRDY => DRDY, -- 1-bit output: DRP ready-- Feedback Clocks outputs: Clock feedback portsCLKFBOUT => CLKFBOUT, -- 1-bit output: Feedback clockLOCKED => LOCKED, -- 1-bit output: LOCKCLKIN => CLKIN, -- 1-bit input: Input clock-- Control Ports inputs: PLL control portsCLKOUTPHYEN => CLKOUTPHYEN, -- 1-bit input: CLKOUTPHY enablePWRDWN => PWRDWN, -- 1-bit input: Power-downRST => RST, -- 1-bit input: Reset-- DRP Ports inputs: Dynamic reconfiguration portsDADDR => DADDR, -- 7-bit input: DRP addressDCLK => DCLK, -- 1-bit input: DRP clockDEN => DEN, -- 1-bit input: DRP enableDI => DI, -- 16-bit input: DRP dataDWE => DWE, -- 1-bit input: DRP write enable-- Feedback Clocks inputs: Clock feedback portsCLKFBIN => CLKFBIN -- 1-bit input: Feedback clock

);

-- End of PLLE3_ADV_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 258UG974 (v2015.2) 2015 月 6 月 24 日

Page 259: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// PLLE3_ADV: Advanced Phase-Locked Loop (PLL)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

PLLE3_ADV #(.CLKFBOUT_MULT(5), // Multiply value for all CLKOUT, (1-19).CLKFBOUT_PHASE(0.0), // Phase offset in degrees of CLKFB, (-360.000-360.000).CLKIN_PERIOD(0.0), // Input clock period in ns to ps resolution (i.e. 33.333 is 30 MHz).// CLKOUT0 Attributes: Divide, Phase and Duty Cycle for the CLKOUT0 output.CLKOUT0_DIVIDE(1), // Divide amount for CLKOUT0 (1-128).CLKOUT0_DUTY_CYCLE(0.5), // Duty cycle for CLKOUT0 (0.001-0.999).CLKOUT0_PHASE(0.0), // Phase offset for CLKOUT0 (-360.000-360.000)// CLKOUT1 Attributes: Divide, Phase and Duty Cycle for the CLKOUT1 output.CLKOUT1_DIVIDE(1), // Divide amount for CLKOUT1 (1-128).CLKOUT1_DUTY_CYCLE(0.5), // Duty cycle for CLKOUT1 (0.001-0.999).CLKOUT1_PHASE(0.0), // Phase offset for CLKOUT1 (-360.000-360.000).CLKOUTPHY_MODE("VCO_2X"), // Frequency of the CLKOUTPHY (VCO, VCO_2X, VCO_HALF).COMPENSATION("AUTO"), // AUTO, BUF_IN, INTERNAL.DIVCLK_DIVIDE(1), // Master division value, (1-15)// Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pins.IS_CLKFBIN_INVERTED(1’b0), // Optional inversion for CLKFBIN.IS_CLKIN_INVERTED(1’b0), // Optional inversion for CLKIN.IS_PWRDWN_INVERTED(1’b0), // Optional inversion for PWRDWN.IS_RST_INVERTED(1’b0), // Optional inversion for RST.REF_JITTER(0.0), // Reference input jitter in UI (0.000-0.999).STARTUP_WAIT("FALSE") // Delays DONE until PLL is locked (FALSE, TRUE)

)PLLE3_ADV_inst (

// Clock Outputs outputs: User configurable clock outputs.CLKOUT0(CLKOUT0), // 1-bit output: General Clock output.CLKOUT0B(CLKOUT0B), // 1-bit output: Inverted CLKOUT0.CLKOUT1(CLKOUT1), // 1-bit output: General Clock output.CLKOUT1B(CLKOUT1B), // 1-bit output: Inverted CLKOUT1.CLKOUTPHY(CLKOUTPHY), // 1-bit output: Bitslice clock// DRP Ports outputs: Dynamic reconfiguration ports.DO(DO), // 16-bit output: DRP data.DRDY(DRDY), // 1-bit output: DRP ready// Feedback Clocks outputs: Clock feedback ports.CLKFBOUT(CLKFBOUT), // 1-bit output: Feedback clock.LOCKED(LOCKED), // 1-bit output: LOCK.CLKIN(CLKIN), // 1-bit input: Input clock// Control Ports inputs: PLL control ports.CLKOUTPHYEN(CLKOUTPHYEN), // 1-bit input: CLKOUTPHY enable.PWRDWN(PWRDWN), // 1-bit input: Power-down.RST(RST), // 1-bit input: Reset// DRP Ports inputs: Dynamic reconfiguration ports.DADDR(DADDR), // 7-bit input: DRP address.DCLK(DCLK), // 1-bit input: DRP clock.DEN(DEN), // 1-bit input: DRP enable.DI(DI), // 16-bit input: DRP data.DWE(DWE), // 1-bit input: DRP write enable// Feedback Clocks inputs: Clock feedback ports.CLKFBIN(CLKFBIN) // 1-bit input: Feedback clock

);

// End of PLLE3_ADV_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 259UG974 (v2015.2) 2015 月 6 月 24 日

Page 260: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

PLLE3_BASE

プリミティブ : Base Phase-Locked Loop (PLL)

プリミティブ グループ : CLOCKプリミティブ サブグループ : PLL

概要

PLLE3 は、Bitslice コンポーネントを使用する高速 I/O クロッキングおよび汎用クロッキング要件に使用されます。通常、

PLLE3 は MMCME3 よりもジッターが小さく、消費電力も少ないので、MMCME3 のみで使用可能な機能が不要な場合

のクロック動作に適しています。

ポートの説明

ポート名 方向 幅 機能

CLKIN 入力 1 クロック入力

LOCKED 出力 1 位相アライメントが定義されている時間内で完了し、周波数が定義されている PPM 範囲内で一致したことを示します。PLL は電源投入時に自動的にロックされるので、リセットは必要ありません。入力クロックが停止した場合、または位相アライメントに違反が発生した場合 (入力クロックの位相シフトなど) は、LOCKED がディアサートされます。LOCKED がディアサートされた場合は、PLL をリセットする必要があります。

クククロロロッッッククク出出出力力力 ::: コンフィギュレーション可能なクロック出力で、VCO 位相出力 (ユーザー制御可能) を 1 (バイパス) から 256までの値で分周したものに設定できます。出力クロックは、位相シフトされていない場合はお互いに位相が揃っており、適切なフィードバック コンフィギュレーションにより入力クロックに揃えられます。

CLKOUTPHY 出力 1 I/O Bitslice コンポーネントに接続される汎用クロック出力

CLKOUT0 出力 1 汎用クロック出力。通常グローバル バッファーに接続されます。

CLKOUT0B 出力 1 CLKOUT0 の反転出力。通常グローバル バッファーに接続されます。

CLKOUT1 出力 1 汎用クロック出力。通常グローバル バッファーに接続されます。

CLKOUT1B 出力 1 CLKOUT1 の反転出力。通常グローバル バッファーに接続されます。

制制制御御御ポポポーーートトト ::: PLL 制御ポート

CLKOUTPHYEN 入力 1 CLKOUTPHY のイネーブル信号

PWRDWN 入力 1 インスタンシエートされているが未使用の PLL をパワー ダウンします。

UltraScale ライブラリ ガイド http://japan.xilinx.com 260UG974 (v2015.2) 2015 月 6 月 24 日

Page 261: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

RST 入力 1 PLL の非同期リセットです。この信号が解放されると PLL はクロックに同期して再びイネーブルになり、新たに位相アライメントおよびロック サイクルが実行されます。入力クロックの条件 (周波数など) を変更する場合、リセットが必要です。

フフフィィィーーードドドバババッッッククク クククロロロッッッククク ::: PLL 位相アライメント機能を使用する場合に必要なポート

CLKFBIN 入力 1 PLL へのフィードバック クロック ピン

CLKFBOUT 出力 1 専用 PLL フィードバック クロック出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

使用可能な属性

属性 データ型 値 デフォルト 説明

CLKFBOUT_MULT 10 進数 1 ~ 19 5 すべてのCLKOUT クロック出力を逓倍する値を指定します。この値と、CLKOUT#_DIVIDE値および DIVCLK_DIVIDE 値により出力周波数が決まります。

CLKFBOUT_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、PLL の出力クロックがすべて負の方向に位相シフトされます。

CLKIN_PERIOD 浮動小数点(nS)

0.000 ~ 14.286 0.000 CLKIN の入力周期を ns で指定します。精度は ps です (小数点以下 3 桁)。たとえば、値 33.333 は 30MHz の入力クロックを示します。この値は必ず設定する必要があります。

CLKOUTPHY_MODE 文字列 "VCO_2X"、"VCO"、"VCO_HALF"

"VCO_2X" CLKOUTPHY クロック出力の周波数を指定します。

DIVCLK_DIVIDE 10 進数 1 ~ 15 1 すべての出力クロックの入力クロックに対する分周比を指定し、PFD に入力されるCLKIN を分周します。

REF_JITTER 3 上位ビット浮動小数点

0.000 ~ 0.999 0.010 CLKIN のパフォーマンスを最適化するため、CLKIN1 に予測されるジッター値を指定します。BANDWIDTH が "OPTIMIZED" に設定されている場合、値が既知でないときに入力クロックに最適なパラメーターが選択されます。値が既知である場合は、値を入力クロックに予測されるジッターの UI パーセント (最大ピーク トゥ ピーク値) で指定する必要があります。

STARTUP_WAIT 文字列 "FALSE"、"TRUE"

"FALSE" コンフィギュレーション DONE 信号がアサートされるのを、PLL がロックされるまで遅延します。

CLKOUT0CLKOUT0CLKOUT0 属属属性性性 ::: CLKOUT0 出力の分周値、位相、およびデューティ サイクルを設定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 261UG974 (v2015.2) 2015 月 6 月 24 日

Page 262: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

CLKOUT0_DIVIDE 10 進数 1 ~ 128 1 CLKOUT0 出力の分周値を指定します。この値と、CLKFBOUT_MULT_F 値およびDIVCLK_DIVIDE 値により出力周波数が決まります。

CLKOUT0_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT0 クロック出力のデューティ サイクルをパーセントで指定します。0.500 に設定すると、デューティ サイクルは 50% になります。

CLKOUT0_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT0 出力の位相オフセットを指定します。

CLKOUT1CLKOUT1CLKOUT1 属属属性性性 ::: CLKOUT1 出力の分周値、位相、およびデューティ サイクルを設定します。

CLKOUT1_DIVIDE 10 進数 1 ~ 128 1 CLKOUT1 出力の分周値を指定します。この値と、CLKFBOUT_MULT_F 値およびDIVCLK_DIVIDE 値により出力周波数が決まります。

CLKOUT1_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT1 クロック出力のデューティ サイクルをパーセントで指定します。0.500 に設定すると、デューティ サイクルは 50% になります。

CLKOUT1_PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT1 出力の位相オフセットを指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック入力ピン (CLKIN または CLKFBIN) に対して 1 に設定すると、位相が 180 度シフトされます。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_CLKFBIN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKFBIN ピンにオプションの反転を使用するかどうかを指定します。

IS_CLKIN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKIN ピンにオプションの反転を使用するかどうかを指定します。

IS_PWRDWN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 PWRDWN ピンにオプションの反転を使用するかどうかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- PLLE3_BASE: Base Phase-Locked Loop (PLL)-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

PLLE3_BASE_inst : PLLE3_BASEgeneric map (

CLKFBOUT_MULT => 5, -- Multiply value for all CLKOUT, (1-19)CLKFBOUT_PHASE => 0.0, -- Phase offset in degrees of CLKFB, (-360.000-360.000)CLKIN_PERIOD => 0.0, -- Input clock period in ns to ps resolution (i.e. 33.333 is 30 MHz).-- CLKOUT0 Attributes: Divide, Phase and Duty Cycle for the CLKOUT0 outputCLKOUT0_DIVIDE => 1, -- Divide amount for CLKOUT0 (1-128)

UltraScale ライブラリ ガイド http://japan.xilinx.com 262UG974 (v2015.2) 2015 月 6 月 24 日

Page 263: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CLKOUT0_DUTY_CYCLE => 0.5, -- Duty cycle for CLKOUT0 (0.001-0.999)CLKOUT0_PHASE => 0.0, -- Phase offset for CLKOUT0 (-360.000-360.000)-- CLKOUT1 Attributes: Divide, Phase and Duty Cycle for the CLKOUT1 outputCLKOUT1_DIVIDE => 1, -- Divide amount for CLKOUT1 (1-128)CLKOUT1_DUTY_CYCLE => 0.5, -- Duty cycle for CLKOUT1 (0.001-0.999)CLKOUT1_PHASE => 0.0, -- Phase offset for CLKOUT1 (-360.000-360.000)CLKOUTPHY_MODE => "VCO_2X", -- Frequency of the CLKOUTPHY (VCO, VCO_2X, VCO_HALF)DIVCLK_DIVIDE => 1, -- Master division value, (1-15)-- Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pinsIS_CLKFBIN_INVERTED => ’0’, -- Optional inversion for CLKFBINIS_CLKIN_INVERTED => ’0’, -- Optional inversion for CLKINIS_PWRDWN_INVERTED => ’0’, -- Optional inversion for PWRDWNIS_RST_INVERTED => ’0’, -- Optional inversion for RSTREF_JITTER => 0.0, -- Reference input jitter in UI (0.000-0.999)STARTUP_WAIT => "FALSE" -- Delays DONE until PLL is locked (FALSE, TRUE)

)port map (

-- Clock Outputs outputs: User configurable clock outputsCLKOUT0 => CLKOUT0, -- 1-bit output: General Clock outputCLKOUT0B => CLKOUT0B, -- 1-bit output: Inverted CLKOUT0CLKOUT1 => CLKOUT1, -- 1-bit output: General Clock outputCLKOUT1B => CLKOUT1B, -- 1-bit output: Inverted CLKOUT1CLKOUTPHY => CLKOUTPHY, -- 1-bit output: Bitslice clock-- Feedback Clocks outputs: Clock feedback portsCLKFBOUT => CLKFBOUT, -- 1-bit output: Feedback clockLOCKED => LOCKED, -- 1-bit output: LOCKCLKIN => CLKIN, -- 1-bit input: Input clock-- Control Ports inputs: PLL control portsCLKOUTPHYEN => CLKOUTPHYEN, -- 1-bit input: CLKOUTPHY enablePWRDWN => PWRDWN, -- 1-bit input: Power-downRST => RST, -- 1-bit input: Reset-- Feedback Clocks inputs: Clock feedback portsCLKFBIN => CLKFBIN -- 1-bit input: Feedback clock

);

-- End of PLLE3_BASE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 263UG974 (v2015.2) 2015 月 6 月 24 日

Page 264: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// PLLE3_BASE: Base Phase-Locked Loop (PLL)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

PLLE3_BASE #(.CLKFBOUT_MULT(5), // Multiply value for all CLKOUT, (1-19).CLKFBOUT_PHASE(0.0), // Phase offset in degrees of CLKFB, (-360.000-360.000).CLKIN_PERIOD(0.0), // Input clock period in ns to ps resolution (i.e. 33.333 is 30 MHz).// CLKOUT0 Attributes: Divide, Phase and Duty Cycle for the CLKOUT0 output.CLKOUT0_DIVIDE(1), // Divide amount for CLKOUT0 (1-128).CLKOUT0_DUTY_CYCLE(0.5), // Duty cycle for CLKOUT0 (0.001-0.999).CLKOUT0_PHASE(0.0), // Phase offset for CLKOUT0 (-360.000-360.000)// CLKOUT1 Attributes: Divide, Phase and Duty Cycle for the CLKOUT1 output.CLKOUT1_DIVIDE(1), // Divide amount for CLKOUT1 (1-128).CLKOUT1_DUTY_CYCLE(0.5), // Duty cycle for CLKOUT1 (0.001-0.999).CLKOUT1_PHASE(0.0), // Phase offset for CLKOUT1 (-360.000-360.000).CLKOUTPHY_MODE("VCO_2X"), // Frequency of the CLKOUTPHY (VCO, VCO_2X, VCO_HALF).DIVCLK_DIVIDE(1), // Master division value, (1-15)// Programmable Inversion Attributes: Specifies built-in programmable inversion on specific pins.IS_CLKFBIN_INVERTED(1’b0), // Optional inversion for CLKFBIN.IS_CLKIN_INVERTED(1’b0), // Optional inversion for CLKIN.IS_PWRDWN_INVERTED(1’b0), // Optional inversion for PWRDWN.IS_RST_INVERTED(1’b0), // Optional inversion for RST.REF_JITTER(0.0), // Reference input jitter in UI (0.000-0.999).STARTUP_WAIT("FALSE") // Delays DONE until PLL is locked (FALSE, TRUE)

)PLLE3_BASE_inst (

// Clock Outputs outputs: User configurable clock outputs.CLKOUT0(CLKOUT0), // 1-bit output: General Clock output.CLKOUT0B(CLKOUT0B), // 1-bit output: Inverted CLKOUT0.CLKOUT1(CLKOUT1), // 1-bit output: General Clock output.CLKOUT1B(CLKOUT1B), // 1-bit output: Inverted CLKOUT1.CLKOUTPHY(CLKOUTPHY), // 1-bit output: Bitslice clock// Feedback Clocks outputs: Clock feedback ports.CLKFBOUT(CLKFBOUT), // 1-bit output: Feedback clock.LOCKED(LOCKED), // 1-bit output: LOCK.CLKIN(CLKIN), // 1-bit input: Input clock// Control Ports inputs: PLL control ports.CLKOUTPHYEN(CLKOUTPHYEN), // 1-bit input: CLKOUTPHY enable.PWRDWN(PWRDWN), // 1-bit input: Power-down.RST(RST), // 1-bit input: Reset// Feedback Clocks inputs: Clock feedback ports.CLKFBIN(CLKFBIN) // 1-bit input: Feedback clock

);

// End of PLLE3_BASE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 264UG974 (v2015.2) 2015 月 6 月 24 日

Page 265: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

PULLDOWN

プリミティブ : I/O Pulldown

プリミティブ グループ : I/Oプリミティブ サブグループ : WEAK_DRIVER

概要

このデザイン エレメントは、0 に駆動されていない I/O をプルダウンするウィーク プルダウン エレメントです。たとえば、I/O

がトライステートでほかのエレメントで駆動されていない場合、I/O に論理 0 が存在することになります。

ポートの説明

ポート名 方向 幅 機能

O 出力 1 プルダウン出力。デザインの最上位ポートに直接接続します。

デザインの入力方法

インスタンシエーション 可

推論 可 (プロパティを使用)

IP および IP インテグレーター カタログ 不可

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- PULLDOWN: I/O Pulldown-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

PULLDOWN_inst : PULLDOWNport map (

O => O -- 1-bit output: Pulldown output (connect directly to top-level port));

-- End of PULLDOWN_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 265UG974 (v2015.2) 2015 月 6 月 24 日

Page 266: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// PULLDOWN: I/O Pulldown// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

PULLDOWN PULLDOWN_inst (.O(O) // 1-bit output: Pulldown output (connect directly to top-level port)

);

// End of PULLDOWN_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 266UG974 (v2015.2) 2015 月 6 月 24 日

Page 267: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

PULLUP

プリミティブ : I/O Pullup

プリミティブ グループ : I/Oプリミティブ サブグループ : WEAK_DRIVER

概要

このデザイン エレメントは、1 に駆動されていない I/O をプルアップするウィーク プルアップ エレメントです。たとえば、I/O

がトライステートでほかのエレメントで駆動されていない場合、I/O に論理 1 が存在することになります。

ポートの説明

ポート名 方向 幅 機能

O 出力 1 プルアップ出力。デザインの最上位ポートに直接接続します。

デザインの入力方法

インスタンシエーション 可

推論 可 (プロパティを使用)

IP および IP インテグレーター カタログ 不可

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- PULLUP: I/O Pullup-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

PULLUP_inst : PULLUPport map (

O => O -- 1-bit output: Pullup output (connect directly to top-level port));

-- End of PULLUP_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 267UG974 (v2015.2) 2015 月 6 月 24 日

Page 268: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// PULLUP: I/O Pullup// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

PULLUP PULLUP_inst (.O(O) // 1-bit output: Pullup output (connect directly to top-level port)

);

// End of PULLUP_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 268UG974 (v2015.2) 2015 月 6 月 24 日

Page 269: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM128X1D

プリミティブ : 128-Deep by 1-Wide Dual Port Random Access Memory (Select RAM)

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは 128 ワード X 1 ビットの RAM で、読み出し/書き込みポートがあり、ライト イネーブル WE が High

のときにアドレス バス A で指定されたメモリ セルに D 入力データ ピンの値が書き込まれます。この書き込みは WCLK の立

ち上がりエッジの直後に実行され、同じ値が SPO に出力されます。WE が Low のときは非同期読み出しが実行され、アドレ

ス バス A で指定されたメモリ セルの値が SPO に非同期で出力されます。読み出しポートでは、アドレス バス DPRA の値を

変更することにより、非同期読み出しを実行でき、DPO にその値が出力されます。

ポートの説明

ポート名 方向 幅 機能

SPO 出力 1 アドレス バス A で指定された読み出し/書き込みポートのデータ出力

DPO 出力 1 アドレス バス DPRA で指定された読み出しポートのデータ出力

D 入力 1 アドレス バス A で指定された書き込みデータ入力

A 入力 7 読み出し/書き込みポートのアドレス バス

DPRA 入力 7 読み出しポートのアドレス バス

WE 入力 1 ライト イネーブル

WCLK 入力 1 ライト クロック (読み出しは非同期)

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力をクロック ソースに、D 入力を格納するデータ ソースに、DPO 出力を FDCE の D 入力などの適切なデ

スティネーションに接続します。

• オプションで、SPO 出力を適切なデスティネーションに接続するか、または未接続にすることもできます。

• ライト イネーブル ピン WE を適切なライト イネーブル ソースに接続します。

• 7 ビット バス A を読み出し/書き込みアドレスに、7 ビット バス DPRA を読み出しアドレスに接続します。

INIT 属性を使用すると、RAM の初期値を指定できます。指定しない場合は、初期値はすべて 0 になります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 269UG974 (v2015.2) 2015 月 6 月 24 日

Page 270: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 128 ビット値 すべて 0 RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM128X1D: 128-deep by 1-wide positive edge write, asynchronous read-- dual-port distributed LUT RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM128X1D_inst : RAM128X1Dgeneric map (

INIT => X"00000000000000000000000000000000", -- Initial contents of RAMIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (DPO => DPO, -- Read/Write port 1-bit ouputSPO => SPO, -- Read port 1-bit outputA => A, -- Read/Write port 7-bit address inputD => D, -- RAM data inputDPRA => DPRA, -- Read port 7-bit address inputWCLK => WCLK, -- Write clock inputWE => WE -- RAM data input

);

-- End of RAM128X1D_inst instantiation

Verilog 記述 (インスタンシエーション)

// RAM128X1D: 128-deep by 1-wide positive edge write, asynchronous read// dual-port distributed LUT RAM// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM128X1D #(.INIT(128’h00000000000000000000000000000000),.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM128X1D_inst (.DPO(DPO), // Read port 1-bit output.SPO(SPO), // Read/write port 1-bit output.A(A), // Read/write port 7-bit address input.D(D), // RAM data input.DPRA(DPRA), // Read port 7-bit address input.WCLK(WCLK), // Write clock input.WE(WE) // Write enable input

);

UltraScale ライブラリ ガイド http://japan.xilinx.com 270UG974 (v2015.2) 2015 月 6 月 24 日

Page 272: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM128X1S

プリミティブ : 128-Deep by 1-Wide Random Access Memory (Select RAM)

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは、128 ワード X 1 ビットの RAM で、同期書き込みと非同期読み出し機能を備えています。この

RAM は、デバイスの LUT (SelectRAM とも呼ばれる) を使用してインプリメントされるため、ブロック RAM リソースは使用しま

せん。同期読み出しを行う場合は、出力にレジスタを付けて同じスライスに配置できます。

アクティブ High のライト イネーブル (WE) が High になると、WCLK ピンの立ち上がりエッジで D 入力データ ピンの値がメモ

リ アレイに書き込まれます。出力 O は、WE の値にかかわらず、アドレス バス A で指定されたメモリ セルの値を出力します。

書き込みが実行されると、その直後に出力の値が新しい値に更新されます。

ポートの説明

ポート名 方向 幅 機能

O 出力 1 アドレス バス A で指定された読み出し/書き込みポートのデータ出力

D 入力 1 アドレス バス A で指定された書き込みデータ入力

A 入力 7 読み出し/書き込みポートのアドレス バス

WE 入力 1 ライト イネーブル

WCLK 入力 1 ライト クロック (読み出しは非同期)

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力をクロック ソースに、D 入力を格納するデータ ソースに、O 出力を FDCE の D 入力などの適切なデ

スティネーションに接続します。

• ライト イネーブル ピン WE を適切なライト イネーブル ソースに接続します。

• 7 ビット バス A を読み出し/書き込みのソースに接続します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 272UG974 (v2015.2) 2015 月 6 月 24 日

Page 273: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

INIT 属性を使用すると、RAM の初期値を指定できます。指定しない場合は、初期値はすべて 0 になります。

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 128 ビット値 すべて 0 RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM128X1S: 128-deep x 1 positive edge write, asynchronous read-- single-port distributed RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM128X1S_inst : RAM128X1Sgeneric map (

INIT => X"00000000000000000000000000000000", -- Initial contents of RAMIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (O => O, -- 1-bit data outputA0 => A0, -- Address[0] input bitA1 => A1, -- Address[1] input bitA2 => A2, -- Address[2] input bitA3 => A3, -- Address[3] input bitA4 => A4, -- Address[4] input bitA5 => A5, -- Address[5] input bitA6 => A6, -- Address[6] input bitD => D, -- 1-bit data inputWCLK => WCLK, -- Write clock inputWE => WE -- RAM data input

);

-- End of RAM128X1S_inst instantiation

Verilog 記述 (インスタンシエーション)

// RAM128X1S: 128 x 1 positive edge write, asynchronous read single-port// distributed RAM (Mapped to two LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM128X1S #(.INIT(128’h00000000000000000000000000000000), // Initial contents of RAM.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM128X1S_inst (.O(O), // 1-bit data output.A0(A0), // Address[0] input bit.A1(A1), // Address[1] input bit.A2(A2), // Address[2] input bit.A3(A3), // Address[3] input bit.A4(A4), // Address[4] input bit.A5(A5), // Address[5] input bit.A6(A6), // Address[6] input bit.D(D), // 1-bit data input.WCLK(WCLK), // Write clock input

UltraScale ライブラリ ガイド http://japan.xilinx.com 273UG974 (v2015.2) 2015 月 6 月 24 日

Page 275: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM256X1D

プリミティブ : 256-Deep by 1-Wide Dual Port Random Access Memory (Select RAM)

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは 256 ワード X 1 ビットの RAM で、読み出し/書き込みポートがあり、ライト イネーブル WE が High

のときにアドレス バス A で指定されたメモリ セルに D 入力データ ピンの値が書き込まれます。この書き込みは WCLK の立

ち上がりエッジの直後に実行され、同じ値が SPO に出力されます。WE が Low のときは非同期読み出しが実行され、アドレ

ス バス A で指定されたメモリ セルの値が SPO に非同期で出力されます。読み出しポートでは、アドレス バス DPRA の値を

変更することにより、非同期読み出しを実行でき、DPO にその値が出力されます。

ポートの説明

ポート名 方向 幅 機能

SPO 出力 1 アドレス バス A で指定された読み出し/書き込みポートのデータ出力

DPO 出力 1 アドレス バス DPRA で指定された読み出しポートのデータ出力

D 入力 1 アドレス バス A で指定された書き込みデータ入力

A 入力 8 読み出し/書き込みポートのアドレス バス

DPRA 入力 8 読み出しポートのアドレス バス

WE 入力 1 ライト イネーブル

WCLK 入力 1 ライト クロック (読み出しは非同期)

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力をクロック ソースに、D 入力を格納するデータ ソースに、DPO 出力を FDCE の D 入力などの適切なデ

スティネーションに接続します。

• オプションで、SPO 出力を適切なデスティネーションに接続するか、または未接続にすることもできます。

• ライト イネーブル ピン WE を適切なライト イネーブル ソースに接続します。

• 7 ビット バス A を読み出し/書き込みアドレスに、7 ビット バス DPRA を読み出しアドレスに接続します。

INIT 属性を使用すると、RAM の初期値を指定できます。指定しない場合は、初期値はすべて 0 になります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 275UG974 (v2015.2) 2015 月 6 月 24 日

Page 276: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 256 ビット値 すべて 0 RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM256X1D: 256-deep by 1-wide positive edge write, asynchronous read-- dual-port distributed LUT RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM256X1D_inst : RAM256X1Dgeneric map (

INIT => X"0000000000000000000000000000000000000000000000000000000000000000", -- Initial contents of RAMIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (DPO => DPO, -- Read/Write port 1-bit ouputSPO => SPO, -- Read port 1-bit outputA => A, -- Read/Write port 8-bit address inputD => D, -- RAM data inputDPRA => DPRA, -- Read port 8-bit address inputWCLK => WCLK, -- Write clock inputWE => WE -- RAM data input

);

-- End of RAM256X1D_inst instantiation

Verilog 記述 (インスタンシエーション)

// RAM256X1D: 256-deep by 1-wide positive edge write, asynchronous read// dual-port distributed LUT RAM// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM256X1D #(.INIT(256’h0000000000000000000000000000000000000000000000000000000000000000),.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM256X1D_inst (.DPO(DPO), // Read port 1-bit output.SPO(SPO), // Read/write port 1-bit output.A(A), // Read/write port 8-bit address input.D(D), // RAM data input.DPRA(DPRA), // Read port 8-bit address input.WCLK(WCLK), // Write clock input.WE(WE) // Write enable input

);

UltraScale ライブラリ ガイド http://japan.xilinx.com 276UG974 (v2015.2) 2015 月 6 月 24 日

Page 278: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM256X1S

プリミティブ : 256-Deep by 1-Wide Random Access Memory (Select RAM)

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは、256 ワード X 1 ビットの RAM で、同期書き込みと非同期読み出し機能を備えています。この

RAM は、デバイスの LUT (SelectRAM とも呼ばれる) を使用してインプリメントされるため、ブロック RAM リソースは使用しま

せん。同期読み出しを行う場合は、出力にレジスタを付けて同じスライスに配置できます。

アクティブ High のライト イネーブル (WE) が High になると、WCLK ピンの立ち上がりエッジで D 入力データ ピンの値がメモ

リ アレイに書き込まれます。出力 O は、WE の値にかかわらず、アドレス バス A で指定されたメモリ セルの値を出力します。

書き込みが実行されると、その直後に出力の値が新しい値に更新されます。

ポートの説明

ポート名 方向 幅 機能

O 出力 1 アドレス バス A で指定された読み出し/書き込みポートのデータ出力

D 入力 1 アドレス バス A で指定された書き込みデータ入力

A 入力 8 読み出し/書き込みポートのアドレス バス

WE 入力 1 ライト イネーブル

WCLK 入力 1 ライト クロック (読み出しは非同期)

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力をクロック ソースに、D 入力を格納するデータ ソースに、O 出力を FDCE の D 入力などの適切なデ

スティネーションに接続します。

• ライト イネーブル ピン WE を適切なライト イネーブル ソースに接続します。

• 8 ビット バス A を読み出し/書き込みのソースに接続します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 278UG974 (v2015.2) 2015 月 6 月 24 日

Page 279: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

INIT 属性を使用すると、RAM の初期値を指定できます。指定しない場合は、初期値はすべて 0 になります。

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 256 ビット値 すべて 0 RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM256X1S: 256-deep by 1-wide positive edge write, asynchronous read-- single-port distributed LUT RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM256X1S_inst : RAM256X1Sgeneric map (

INIT => X"0000000000000000000000000000000000000000000000000000000000000000", -- Initial contents of RAMIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (O => O, -- Read/Write port 1-bit ouputA => A, -- Read/Write port 8-bit address inputD => D, -- RAM data inputWCLK => WCLK, -- Write clock inputWE => WE -- Write enable input

);

-- End of RAM256X1S_inst instantiation

Verilog 記述 (インスタンシエーション)

// RAM256X1S: 256-deep by 1-wide positive edge write, asynchronous read (Mapped to four LUT6s)// single-port distributed LUT RAM// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM256X1S #(.INIT(256’h0000000000000000000000000000000000000000000000000000000000000000),.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM256X1S_inst (.O(O), // Read/write port 1-bit output.A(A), // Read/write port 8-bit address input.WE(WE), // Write enable input.WCLK(WCLK), // Write clock input.D(D) // RAM data input

);

// End of RAM256X1S_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 279UG974 (v2015.2) 2015 月 6 月 24 日

Page 280: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM32M

プリミティブ : 32-Deep by 8-bit Wide Multi Port Random Access Memory (Select RAM)

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは、32 ワード X 8 ビットのマルチポート RAM で、同期書き込みと非同期読み出し機能を備えていま

す。この RAM は、デバイスの LUT (SelectRAM™) を使用してインプリメントされるため、デバイスのブロック RAM リソースを

使用しません。RAM32M コンポーネントは 1 つのスライスにインプリメントされ、8 ビット書き込みポート 1 つ、2 ビット読

み出しポート 1 つ、および同じメモリからの 2 ビット読み出しポート 3 つから構成されます。これにより、RAM のバイト幅

の書き込みと独立した 2 ビットの読み出しが可能です。

• DIA、DIB、DIC、および DID 入力をすべて同じデータ入力に接続すると、読み出し/書き込みポート 1 つ、独立した読

み出しポート 3 つの 32x2 クワッド ポート メモリになります。

• DID をグランドに接続した場合、DOD は使用されません。

• ADDRA、ADDRB、ADDRC を同じアドレスに接続すると、32x6 のシンプル デュアル ポート RAM になります。

• ADDRD を ADDRA、ADDRB、ADDRC に接続すると、32x8 のシングル ポート RAM になります。

この RAM には、ほかにも可能なコンフィギュレーションがあります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 280UG974 (v2015.2) 2015 月 6 月 24 日

Page 281: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

DOA 出力 2 アドレス バス ADDRA で指定される読み出しポートのデータ出力

DOB 出力 2 アドレス バス ADDRB で指定される読み出しポートのデータ出力

DOC 出力 2 アドレス バス ADDRC で指定される読み出しポートのデータ出力

DOD 出力 2 アドレス バス ADDRD で指定される読み出し/書き込みポートのデータ出力

DIA 入力 2 ADDRD で指定される書き込みデータ入力 (読み出し出力は ADDRAで指定)

DIB 入力 2 ADDRD で指定される書き込みデータ入力 (読み出し出力は ADDRBで指定)

DIC 入力 2 ADDRD で指定される書き込みデータ入力 (読み出し出力は ADDRCで指定)

DID 入力 2 アドレス バス ADDRD で指定される書き込みデータ入力

ADDRA 入力 5 読み出しアドレス バス A

ADDRB 入力 5 読み出しアドレス バス B

ADDRC 入力 5 読み出しアドレス バス C

ADDRD 入力 5 8 ビットのデータ書き込みポート、2 ビットのデータ読み出しポートのアドレス バス D

WE 入力 1 ライト イネーブル

WCLK 入力 1 ライト クロック (読み出しは非同期)

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

このエレメントは、同期書き込みと非同期読み出し機能を備えた RAM を記述することにより、一部の合成ツールで

推論できます。RAM の推論およびコード例の詳細は、合成ツールのマニュアルを参照してください。RAM ファンクショ

ンを暗示的に指定する必要がある場合、またはコンポーネントを手動でまたは相対的に配置する必要がある場合は、

このコンポーネントをインスタンシエートしてください。

同期読み出しが必要な場合は、出力を FDRE/FDSE (非同期リセットが必要な場合は FDCE/FDPE) に接続してファンク

ションの出力タイミングを向上させることも可能ですが、RAM の正しい動作には不要です。インバーターをこのコンポー

ネントのクロック入力に追加すると、クロックの立ち下がりエッジでデータを入力できます。このインバーターはインプリメ

ンテーション中にブロック内に組み込まれます。IS_WCLK_INVERTED 属性を使用すると、クロックの立ち下がりエッ

ジで RAM への書き込みを実行できます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 281UG974 (v2015.2) 2015 月 6 月 24 日

Page 282: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力を適切なクロック ソースに接続します。

• DIA、DIB、DIC、DID 入力を格納するデータ ソースに接続します。

• DOA、DOB、DOC、DOD 出力を FDCE の D 入力などの適切なデスティネーションに接続するか、使用しない

場合は未接続にします。

• クロック イネーブル ピン (WE) を適切なライト イネーブル ソースに接続します。

• ADDRD バスを読み出し/書き込みアドレスのソースに接続します。

• ADDRA、ADDRB、ADDRC バスを読み出しアドレスに接続します。

オプションで INIT_A、INIT_B、INIT_C、INIT_D 属性を使用すると、各ポートの初期メモリ内容を 64 ビット (16 進数) で指定で

きます。RAM の INIT 値は、ADDRy[z] = INIT_y[2*z+1:2*z] で計算されます。たとえば、RAM の ADDRC ポートが 00001

の場合、INIT_C[3:2] 値がそのアドレスで最初の書き込みが行われる前の DOC ポートの初期値になります。指定しな

い場合は、初期値はすべて 0 になります。

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT_A 16 進数 64 ビット値 すべて 0 A ポートの RAM の初期値を指定します。

INIT_B 16 進数 64 ビット値 すべて 0 B ポートの RAM の初期値を指定します。

INIT_C 16 進数 64 ビット値 すべて 0 C ポートの RAM の初期値を指定します。

INIT_D 16 進数 64 ビット値 すべて 0 D ポートの RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM32M: 32-deep by 8-wide Multi Port LUT RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM32M_inst : RAM32Mgeneric map (

INIT_A => X"0000000000000000", -- Initial contents of A portINIT_B => X"0000000000000000", -- Initial contents of B portINIT_C => X"0000000000000000", -- Initial contents of C portINIT_D => X"0000000000000000", -- Initial contents of D portIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (DOA => DOA, -- Read port A 2-bit outputDOB => DOB, -- Read port B 2-bit outputDOC => DOC, -- Read port C 2-bit outputDOD => DOD, -- Read/Write port D 2-bit outputADDRA => ADDRA, -- Read port A 5-bit address inputADDRB => ADDRB, -- Read port B 5-bit address inputADDRC => ADDRC, -- Read port C 5-bit address inputADDRD => ADDRD, -- Read/Write port D 5-bit address inputDIA => DIA, -- RAM 2-bit data write input addressed by ADDRD,

-- read addressed by ADDRADIB => DIB, -- RAM 2-bit data write input addressed by ADDRD,

UltraScale ライブラリ ガイド http://japan.xilinx.com 282UG974 (v2015.2) 2015 月 6 月 24 日

Page 283: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

-- read addressed by ADDRBDIC => DIC, -- RAM 2-bit data write input addressed by ADDRD,

-- read addressed by ADDRCDID => DID, -- RAM 2-bit data write input addressed by ADDRD,

-- read addressed by ADDRDWCLK => WCLK, -- Write clock inputWE => WE -- Write enable input

);-- End of RAM32M_inst instantiation

Verilog 記述 (インスタンシエーション)

// RAM32M: 32-deep by 8-wide Multi Port LUT RAM (Mapped to four LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM32M #(.INIT_A(64’h0000000000000000), // Initial contents of A Port.INIT_B(64’h0000000000000000), // Initial contents of B Port.INIT_C(64’h0000000000000000), // Initial contents of C Port.INIT_D(64’h0000000000000000), // Initial contents of D Port.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM32M_inst (.DOA(DOA), // Read port A 2-bit output.DOB(DOB), // Read port B 2-bit output.DOC(DOC), // Read port C 2-bit output.DOD(DOD), // Read/write port D 2-bit output.ADDRA(ADDRA), // Read port A 5-bit address input.ADDRB(ADDRB), // Read port B 5-bit address input.ADDRC(ADDRC), // Read port C 5-bit address input.ADDRD(ADDRD), // Read/write port D 5-bit address input.DIA(DIA), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRA.DIB(DIB), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRB.DIC(DIC), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRC.DID(DID), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRD.WCLK(WCLK), // Write clock input.WE(WE) // Write enable input

);

// End of RAM32M_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 283UG974 (v2015.2) 2015 月 6 月 24 日

Page 284: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM32M16

プリミティブ : 32-Deep by 16-bit Wide Multi Port Random Access Memory (Select RAM)

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは、32 ワード X 16 ビットのマルチポート RAM で、同期書き込みと非同期読み出し機能を備えていま

す。この RAM は、デバイスの LUT (SelectRAM™) を使用してインプリメントされるため、デバイスのブロック RAM リソースを使

用しません。このコンポーネントは 1 つの CLB にインプリメントされ、16 ビット書き込みポート 1 つ、2 ビット読み出しポー

ト 1 つ、および同じメモリからの 2 ビット読み出しポート 7 つから構成されます。これにより、RAM のデュアル バイト幅

の書き込みと独立した 2 ビットの読み出しが可能です。

• DIA ~ DIH 入力をすべて同じデータ入力に接続すると、読み出し/書き込みポート 1 つ、独立した読み出しポート 7

つの 32x2 の 8 ポート メモリになります。

• DIH をグランドに接続した場合、DOH は使用されません。

• ADDRA ~ ADDRG を同じアドレスに接続すると、32x14 のシンプル デュアル ポート RAM になります。

• ADDRA ~ ADDRH を接続すると、32x16 のシングル ポート RAM になります。

この RAM には、ほかにも可能なコンフィギュレーションがあります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 284UG974 (v2015.2) 2015 月 6 月 24 日

Page 285: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

DOA 出力 2 アドレス バス ADDRA で指定される読み出しポートのデータ出力

DOB 出力 2 アドレス バス ADDRB で指定される読み出しポートのデータ出力

DOC 出力 2 アドレス バス ADDRC で指定される読み出しポートのデータ出力

DOD 出力 2 アドレス バス ADDRD で指定される読み出しポートのデータ出力

DOE 出力 2 アドレス バス ADDRE で指定される読み出しポートのデータ出力

DOF 出力 2 アドレス バス ADDRF で指定される読み出しポートのデータ出力

DOG 出力 2 アドレス バス ADDRG で指定される読み出しポートのデータ出力

DOH 出力 2 アドレス バス ADDRH で指定される読み出し/書き込みポートのデータ出力

DIA 入力 2 ADDRH で指定されるデータ書き込み入力 (読み出し出力は ADDRA で指定)

DIB 入力 2 ADDRH で指定されるデータ書き込み入力 (読み出し出力は ADDRB で指定)

DIC 入力 2 ADDRH で指定されるデータ書き込み入力 (読み出し出力は ADDRC で指定)

DID 入力 2 ADDRH で指定されるデータ書き込み入力 (読み出し出力は ADDRD で指定)

DIE 入力 2 ADDRH で指定されるデータ書き込み入力 (読み出し出力は ADDRE で指定)

DIF 入力 2 ADDRH で指定されるデータ書き込み入力 (読み出し出力は ADDRF で指定)

DIG 入力 2 ADDRH で指定されるデータ書き込み入力 (読み出し出力は ADDRG で指定)

DIH 入力 2 ADDRH で指定される RAM の 2 ビット データ書き込み入力 (読み出し出力はADDRH で指定)

ADDRA 入力 5 読み出しポートの A アドレス入力

ADDRB 入力 5 読み出しポートの B アドレス入力

ADDRC 入力 5 読み出しポートの C アドレス入力

ADDRD 入力 5 読み出しポートの D アドレス入力

ADDRE 入力 5 読み出しポートの E アドレス入力

ADDRF 入力 5 読み出しポートの F アドレス入力

ADDRG 入力 5 読み出しポートの G アドレス入力

ADDRH 入力 5 読み出し/書き込みポートの H アドレス入力

WE 入力 1 ライト イネーブル

WCLK 入力 1 ライト クロック (読み出しは非同期)

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 285UG974 (v2015.2) 2015 月 6 月 24 日

Page 286: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

このエレメントは、同期書き込みと非同期読み出し機能を備えた RAM を記述することにより、一部の合成ツールで

推論できます。RAM の推論およびコード例の詳細は、合成ツールのマニュアルを参照してください。RAM ファンクショ

ンを暗示的に指定する必要がある場合、またはコンポーネントを手動でまたは相対的に配置する必要がある場合は、

このコンポーネントをインスタンシエートしてください。

同期読み出しが必要な場合は、出力を FDRE/FDSE (非同期リセットが必要な場合は FDCE/FDPE) に接続してファンク

ションの出力タイミングを向上させることも可能ですが、RAM の正しい動作には不要です。インバーターをこのコンポー

ネントのクロック入力に追加すると、クロックの立ち下がりエッジでデータを入力できます。このインバーターはインプリメ

ンテーション中にブロック内に組み込まれます。IS_WCLK_INVERTED 属性を使用すると、クロックの立ち下がりエッ

ジで RAM への書き込みを実行できます。

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力を適切なクロック ソースに接続します。

• DIA ~ DIH 入力を格納するデータ ソースに接続します。

• DOA ~ DOH 出力を FD* の D 入力などの適切なデスティネーションに接続するか、使用しない場合は未接続にします。

• クロック イネーブル ピン (WE) を適切なライト イネーブル ソースに接続します。

• ADDRD バスを読み出し/書き込みアドレスのソースに接続します。

• ADDRA ~ ADDRG バスを読み出しアドレスに接続します。

オプションで INIT_A ~ INIT_H 属性を使用すると、各ポートの初期メモリ内容を 64 ビット (16 進数) で指定できます。

RAM の INIT 値は、ADDRy[z] = INIT_y[2*z+1:2*z] で計算されます。たとえば、RAM の ADDRC ポートが 00001 の場合、

INIT_C[3:2] 値がそのアドレスで最初の書き込みが行われる前の DOC ポートの初期値になります。指定しない場合は、

初期値はすべて 0 になります。

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT_A 16 進数 128 ビット値 すべて 0 A ポートの RAM の初期値を指定します。

INIT_B 16 進数 128 ビット値 すべて 0 B ポートの RAM の初期値を指定します。

INIT_C 16 進数 128 ビット値 すべて 0 C ポートの RAM の初期値を指定します。

INIT_D 16 進数 128 ビット値 すべて 0 D ポートの RAM の初期値を指定します。

INIT_E 16 進数 128 ビット値 すべて 0 E ポートの RAM の初期値を指定します。

INIT_F 16 進数 128 ビット値 すべて 0 F ポートの RAM の初期値を指定します。

INIT_G 16 進数 128 ビット値 すべて 0 G ポートの RAM の初期値を指定します。

INIT_H 16 進数 128 ビット値 すべて 0 H ポートの RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 286UG974 (v2015.2) 2015 月 6 月 24 日

Page 287: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM32M16: 32-deep by 16-wide Multi Port LUT RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2RAM32M16_inst : RAM32M16generic map (

INIT_A => X"0000000000000000", -- Initial contents of A portINIT_B => X"0000000000000000", -- Initial contents of B portINIT_C => X"0000000000000000", -- Initial contents of C portINIT_D => X"0000000000000000", -- Initial contents of D portINIT_E => X"0000000000000000", -- Initial contents of E portINIT_F => X"0000000000000000", -- Initial contents of F portINIT_G => X"0000000000000000", -- Initial contents of G portINIT_H => X"0000000000000000", -- Initial contents of H portIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (DOA => DOA, -- Read port A 2-bit outputDOB => DOB, -- Read port B 2-bit outputDOC => DOC, -- Read port C 2-bit outputDOD => DOD, -- Read port D 2-bit outputDOE => DOE, -- Read port E 2-bit outputDOF => DOF, -- Read port F 2-bit outputDOG => DOG, -- Read port G 2-bit outputDOH => DOH, -- Read/write port H 2-bit outputADDRA => ADDRA, -- Read port A 5-bit address inputADDRB => ADDRB, -- Read port B 5-bit address inputADDRC => ADDRC, -- Read port C 5-bit address inputADDRD => ADDRD, -- Read port D 5-bit address inputADDRE => ADDRE, -- Read port E 5-bit address inputADDRF => ADDRF, -- Read port F 5-bit address inputADDRG => ADDRG, -- Read port G 5-bit address inputADDRH => ADDRH, -- Read/write port H 5-bit address inputDIA => DIA, -- RAM 2-bit data write input addressed by ADDRD,

-- read addressed by ADDRADIB => DIB, -- RAM 2-bit data write input addressed by ADDRD,

-- read addressed by ADDRBDIC => DIC, -- RAM 2-bit data write input addressed by ADDRD,

-- read addressed by ADDRCDID => DID, -- RAM 2-bit data write input addressed by ADDRD,

-- read addressed by ADDRDDIE => DIE, -- RAM 2-bit data write input addressed by ADDRE,

-- read addressed by ADDREDIF => DIF, -- RAM 2-bit data write input addressed by ADDRF,

-- read addressed by ADDRFDIG => DIG, -- RAM 2-bit data write input addressed by ADDRG,

-- read addressed by ADDRGDIH => DIH, -- RAM 2-bit data write input addressed by ADDRH,

-- read addressed by ADDRHWCLK => WCLK, -- Write clock inputWE => WE -- Write enable input

);-- End of RAM32M16_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 287UG974 (v2015.2) 2015 月 6 月 24 日

Page 288: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// RAM32M16: 32-deep by 16-wide Multi Port LUT RAM (Mapped to eight LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM32M16 #(.INIT_A(64’h0000000000000000), // Initial contents of A Port.INIT_B(64’h0000000000000000), // Initial contents of B Port.INIT_C(64’h0000000000000000), // Initial contents of C Port.INIT_D(64’h0000000000000000), // Initial contents of D Port.INIT_E(64’h0000000000000000), // Initial contents of E Port.INIT_F(64’h0000000000000000), // Initial contents of F Port.INIT_G(64’h0000000000000000), // Initial contents of G Port.INIT_H(64’h0000000000000000), // Initial contents of H Port.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM32M16_inst (.DOA(DOA), // Read port A 2-bit output.DOB(DOB), // Read port B 2-bit output.DOC(DOC), // Read port C 2-bit output.DOD(DOD), // Read port D 2-bit output.DOE(DOE), // Read port E 2-bit output.DOF(DOF), // Read port F 2-bit output.DOG(DOG), // Read port G 2-bit output.DOH(DOH), // Read/write port H 2-bit output.ADDRA(ADDRA), // Read port A 5-bit address input.ADDRB(ADDRB), // Read port B 5-bit address input.ADDRC(ADDRC), // Read port C 5-bit address input.ADDRD(ADDRD), // Read port D 5-bit address input.ADDRE(ADDRE), // Read port E 5-bit address input.ADDRF(ADDRF), // Read port F 5-bit address input.ADDRG(ADDRG), // Read port G 5-bit address input.ADDRH(ADDRH), // Read/write port H 5-bit address input.DIA(DIA), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRA.DIB(DIB), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRB.DIC(DIC), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRC.DID(DID), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRD.DIE(DIE), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRE.DIF(DIF), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRF.DIG(DIG), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRG.DIH(DIH), // RAM 2-bit data write input addressed by ADDRD,

// read addressed by ADDRH.WCLK(WCLK), // Write clock input.WE(WE) // Write enable input

);

// End of RAM32M16_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 288UG974 (v2015.2) 2015 月 6 月 24 日

Page 289: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM32X1D

プリミティブ : 32-Deep by 1-Wide Static Dual Port Synchronous RAM

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは 32 ワード X 1 ビット幅のデュアル ポート SRAM で、同期書き込み機能を備えています。デバイス

には、読み出しアドレス (DPRA4 ~ DPRA0) 用と書き込みアドレス (A4 ~ A0) 用に独立したアドレス ポートがあります。この

2 つのアドレス ポートは完全に非同期です。読み出しアドレスによって出力ピン (DPO) に出力される値が指定され、書き込

みアドレスによって書き込みを行う位置が指定されます。ライト イネーブル (WE) が Low の場合、ライト クロック (WCLK) の遷

移は無視され、RAM に格納されている値は変化しません。WE が High の場合、WCLK が Low から High に切り替わるとき

に、データ入力 (D) の値が 5 ビットの書き込みアドレスで選択されたメモリ セルに書き込まれます。書き込みを正しく行うに

は、WCLK が Low から High に切り替わる前に、書き込みアドレスとデータ入力の値を安定させる必要があります。WCLK は

デフォルトではアクティブ High ですが、インバーターを使用してアクティブ Low にすることもできます。WCLK の入力

ネットに配置されたインバーターは、RAM ブロック内に組み込まれます。INIT 属性を使用すると、コンフィギュレーション

中に RAM32X1D を初期化できます。モード選択を次の論理表に示します。

SPO 出力には、A4 ~ A0 で指定されたメモリ セルの値が出力されます。DPO 出力には、DPRA4 ~ DPRA0 で指定されたメ

モリ セルの値が出力されます。書き込み処理は、読み出しアドレス ポートのアドレスには影響されません。

INIT 属性を使用すると、RAM の初期値を指定できます。指定しない場合は、初期値はすべて 0 になります。

論理表

入力 出力

WE (モード) WCLK D SPO DPO

0 (読み出し) X X data_a data_d

1 (読み出し) 0 X data_a data_d

1 (読み出し) 1 X data_a data_d

1 (書き込み) ↑ D D data_d

1 (読み出し) ↓ X data_a data_d

UltraScale ライブラリ ガイド http://japan.xilinx.com 289UG974 (v2015.2) 2015 月 6 月 24 日

Page 290: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 32 ビット値 すべて 0 RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM32X1D: 32 x 1 positive edge write, asynchronous read-- dual-port distributed RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM32X1D_inst : RAM32X1Dgeneric map (

INIT => X"00000000", -- Initial contents of RAMIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (DPO => DPO, -- Read-only 1-bit data outputSPO => SPO, -- R/W 1-bit data outputA0 => A0, -- R/W address[0] input bitA1 => A1, -- R/W address[1] input bitA2 => A2, -- R/W address[2] input bitA3 => A3, -- R/W address[3] input bitA4 => A4, -- R/W address[4] input bitD => D, -- Write 1-bit data inputDPRA0 => DPRA0, -- Read-only address[0] input bitDPRA1 => DPRA1, -- Read-only address[1] input bitDPRA2 => DPRA2, -- Read-only address[2] input bitDPRA3 => DPRA3, -- Read-only address[3] input bitDPRA4 => DPRA4, -- Read-only address[4] input bitWCLK => WCLK, -- Write clock inputWE => WE -- Write enable input

);

-- End of RAM32X1D_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 290UG974 (v2015.2) 2015 月 6 月 24 日

Page 291: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// RAM32X1D: 32 x 1 positive edge write, asynchronous read dual-port// distributed RAM (Mapped to two LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM32X1D #(.INIT(32’h00000000), // Initial contents of RAM.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM32X1D_inst (.DPO(DPO), // Read-only 1-bit data output.SPO(SPO), // Rw/ 1-bit data output.A0(A0), // Rw/ address[0] input bit.A1(A1), // Rw/ address[1] input bit.A2(A2), // Rw/ address[2] input bit.A3(A3), // Rw/ address[3] input bit.A4(A4), // Rw/ address[4] input bit.D(D), // Write 1-bit data input.DPRA0(DPRA0), // Read-only address[0] input bit.DPRA1(DPRA1), // Read-only address[1] input bit.DPRA2(DPRA2), // Read-only address[2] input bit.DPRA3(DPRA3), // Read-only address[3] input bit.DPRA4(DPRA4), // Read-only address[4] input bit.WCLK(WCLK), // Write clock input.WE(WE) // Write enable input

);

// End of RAM32X1D_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 291UG974 (v2015.2) 2015 月 6 月 24 日

Page 292: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM32X1S

プリミティブ : 32-Deep by 1-Wide Static Synchronous RAM

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは 32 ワード X 1 ビット幅の SRAM で、同期書き込み機能を備えています。ライト イネーブル (WE) が

Low の場合、ライト クロック (WCLK) の遷移は無視され、RAM に格納されている値は変化しません。WE が High になると、

WCLK が Low から High に切り替わるときに、データ入力 (D) の値が 5 ビットのアドレス (A4 ~ A0) で選択されたメモリ セル

にロードされます。書き込みを正しく行うには、WCLK が Low から High に切り替わる前に、書き込みアドレスとデータ入力の

値を安定させる必要があります。WCLK はデフォルトではアクティブ High ですが、インバーターを使用してアクティブ High

にすることもできます。WCLK の入力ネットに配置されたインバーターは、RAM ブロック内に組み込まれます。

出力ピン (O) に出力される値は、アドレス ピンで指定された RAM 内の位置に格納されている値です。

INIT 属性を使用すると、RAM の初期値を指定できます。指定しない場合は、初期値はすべて 0 になります。

論理表

入力 出力

WE (モード) WCLK D O

0 (読み出し) X X データ

1 (読み出し) 0 X データ

1 (読み出し) 1 X データ

1 (書き込み) ↑ D D

1 (読み出し) ↓ X データ

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 292UG974 (v2015.2) 2015 月 6 月 24 日

Page 293: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 32 ビット値 すべて 0 RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM32X1S: 32 x 1 posedge write distributed (LUT) RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM32X1S_inst : RAM32X1Sgeneric map (

INIT => X"00000000", -- Initial contents of RAMIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (O => O, -- RAM outputA0 => A0, -- RAM address[0] inputA1 => A1, -- RAM address[1] inputA2 => A2, -- RAM address[2] inputA3 => A3, -- RAM address[3] inputA4 => A4, -- RAM address[4] inputD => D, -- RAM data inputWCLK => WCLK, -- Write clock inputWE => WE -- Write enable input

);

-- End of RAM32X1S_inst instantiation

Verilog 記述 (インスタンシエーション)

// RAM32X1S: 32 x 1 posedge write distributed (LUT) RAM (Mapped to a LUT6)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM32X1S #(.INIT(32’h00000000), // Initial contents of RAM.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM32X1S_inst (.O(O), // RAM output.A0(A0), // RAM address[0] input.A1(A1), // RAM address[1] input.A2(A2), // RAM address[2] input.A3(A3), // RAM address[3] input.A4(A4), // RAM address[4] input.D(D), // RAM data input.WCLK(WCLK), // Write clock input.WE(WE) // Write enable input

);

// End of RAM32X1S_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 293UG974 (v2015.2) 2015 月 6 月 24 日

Page 294: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM512X1S

プリミティブ : 512-Deep by 1-Wide Random Access Memory (Select RAM)

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは、512 ワード X 1 ビットの RAM で、同期書き込みと非同期読み出し機能を備えています。この

RAM は、デバイスの LUT (SelectRAM とも呼ばれる) を使用してインプリメントされるため、ブロック RAM リソースは使用しま

せん。同期読み出しを行う場合は、出力にレジスタを付けて同じスライスに配置できます。この場合、RAM とレジスタで同じク

ロックを使用する必要があります。アクティブ High のライト イネーブル WE が High になると、WCLK ピンの立ち上がりエッジ

で D 入力データ ピンの値がメモリ アレイに書き込まれます。出力 O は、WE の値にかかわらず、アドレス バス A で指定され

たメモリ セルの値を出力します。書き込みが実行されると、その直後に出力の値が新しい値に更新されます。

ポートの説明

ポート名 方向 幅 機能

O 出力 1 アドレス バス A で指定された読み出し/書き込みポートのデータ出力

D 入力 1 アドレス バス A で指定された書き込みデータ入力

A 入力 9 読み出し/書き込みポートのアドレス バス

WE 入力 1 ライト イネーブル

WCLK 入力 1 ライト クロック (読み出しは非同期)

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力をクロック ソースに、D 入力を格納するデータ ソースに、O 出力を FDCE の D 入力などの適切なデ

スティネーションに接続します。

• ライト イネーブル ピン WE を適切なライト イネーブル ソースに接続します。

• 8 ビット バス A を読み出し/書き込みのソースに接続します。

INIT 属性を使用すると、RAM の初期値を指定できます。指定しない場合は、初期値はすべて 0 になります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 294UG974 (v2015.2) 2015 月 6 月 24 日

Page 295: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 512 ビット値 すべて 0 RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM512X1S: 512-deep by 1-wide positive edge write, asynchronous read-- single-port distributed LUT RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM512X1S_inst : RAM512X1Sgeneric map (

INIT => X"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", -- Initial contents of RAM

IS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLKport map (

O => O, -- Read/Write port 1-bit ouputA => A, -- Read/Write port 9-bit address inputD => D, -- RAM data inputWCLK => WCLK, -- Write clock inputWE => WE -- Write enable input

);

-- End of RAM512X1S_inst instantiation

Verilog 記述 (インスタンシエーション)

// RAM512X1S: 512-deep by 1-wide positive edge write, asynchronous read (Mapped to eight LUT6s)// single-port distributed LUT RAM// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM512X1S #(.INIT(512’h00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000),

.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK) RAM512X1S_inst (

.O(O), // Read/write port 1-bit output

.A(A), // Read/write port 9-bit address input

.WE(WE), // Write enable input

.WCLK(WCLK), // Write clock input

.D(D) // RAM data input);

// End of RAM512X1S_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 295UG974 (v2015.2) 2015 月 6 月 24 日

Page 296: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM64M

プリミティブ : 64-Deep by 4-bit Wide Multi Port Random Access Memory (Select RAM)

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは、64 ワード X 4 ビットのマルチポート RAM で、同期書き込みと非同期読み出し機能を備えていま

す。この RAM は、デバイスの LUT (SelectRAM™ とも呼ばれる) を使用してインプリメントされるため、ブロック RAM リソー

スを使用しません。RAM64M コンポーネントは 1 つのスライスにインプリメントされます。4 ビット書き込みポート 1 つ、1

ビット読み出しのポート 1 つ、および同じメモリからの 1 ビット読み出しポート 3 つから構成されされており、RAM の 4

ビット書き込みおよび個別ビット読み出しが可能です。

• DIA、DIB、DIC、および DID 入力をすべて同じデータ入力に接続すると、読み出し/書き込みポート 1 つ、独立した読

み出しポート 3 つの 64x1 クワッド ポート メモリになります。

• DID をグランドに接続した場合、DOD は使用されません。

• ADDRA、ADDRB、ADDRC を同じアドレスに接続すると、64x3 のシンプル デュアル ポート RAM になります。

• ADDRD を ADDRA、ADDRB、ADDRC に接続すると、64x4 のシングル ポート RAM になります。

この RAM には、ほかにも可能なコンフィギュレーションがあります。

ポートの説明

ポート名 方向 幅 機能

DOA 出力 1 アドレス バス ADDRA で指定される読み出しポートのデータ出力

DOB 出力 1 アドレス バス ADDRB で指定される読み出しポートのデータ出力

DOC 出力 1 アドレス バス ADDRC で指定される読み出しポートのデータ出力

DOD 出力 1 アドレス バス ADDRD で指定される読み出し/書き込みポートのデータ出力

DIA 入力 1 ADDRD で指定される書き込みデータ入力 (読み出し出力はADDRA で指定)

UltraScale ライブラリ ガイド http://japan.xilinx.com 296UG974 (v2015.2) 2015 月 6 月 24 日

Page 297: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

DIB 入力 1 ADDRD で指定される書き込みデータ入力 (読み出し出力はADDRB で指定)

DIC 入力 1 ADDRD で指定される書き込みデータ入力 (読み出し出力はADDRC で指定)

DID 入力 1 アドレス バス ADDRD で指定される書き込みデータ入力

ADDRA 入力 6 読み出しアドレス バス A

ADDRB 入力 6 読み出しアドレス バス B

ADDRC 入力 6 読み出しアドレス バス C

ADDRD 入力 6 4 ビットのデータ書き込みポート、1 ビットのデータ読み出しポートのアドレス バス D

WE 入力 1 ライト イネーブル

WCLK 入力 1 ライト クロック (読み出しは非同期)

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

このエレメントは、同期書き込みと非同期読み出し機能を備えた RAM を記述することにより、一部の合成ツールで

推論できます。RAM の推論およびコード例の詳細は、合成ツールのマニュアルを参照してください。RAM ファンクショ

ンを暗示的に指定する必要がある場合、またはコンポーネントを手動でまたは相対的に配置する必要がある場合は、

このコンポーネントをインスタンシエートしてください。

同期読み出しが必要な場合は、出力を FDRE/FDSE (非同期リセットが必要な場合は FDCE/FDPE) に接続してファンク

ションの出力タイミングを向上させることも可能ですが、RAM の正しい動作には不要です。インバーターをこのコンポー

ネントのクロック入力に追加すると、クロックの立ち下がりエッジでデータを入力できます。このインバーターはインプリメ

ンテーション中にブロック内に組み込まれます。IS_WCLK_INVERTED 属性を使用すると、クロックの立ち下がりエッ

ジで RAM への書き込みを実行できます。

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力をクロック ソースに接続します。

• DIA、DIB、DIC、DID 入力を格納するデータ ソースに接続します。

• DOA、DOB、DOC、DOD 出力を FDCE の D 入力などの適切なデスティネーションに接続するか、使用しない

場合は未接続にします。

• クロック イネーブル ピン (WE) を適切なライト イネーブル ソースに接続します。

• ADDRD バスを読み出し/書き込みアドレスのソースに接続します。

• ADDRA、ADDRB、ADDRC バスを読み出しアドレスに接続します。

オプションで INIT_A、INIT_B、INIT_C、INIT_D 属性を使用すると、各ポートの初期メモリ内容を 64 ビット (16 進数) で指定で

きます。RAM の INIT 値は、ADDRy[z] = INIT_y[z] で計算されます。たとえば、RAM の ADDRC ポートが 00001 の場合、

INIT_C[1] 値がそのアドレスで最初の書き込みが行われる前の DOC ポートの初期値になります。指定しない場合は、

初期値はすべて 0 になります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 297UG974 (v2015.2) 2015 月 6 月 24 日

Page 298: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT_A 16 進数 64 ビット値 すべて 0 A ポートの RAM の初期値を指定します。

INIT_B 16 進数 64 ビット値 すべて 0 B ポートの RAM の初期値を指定します。

INIT_C 16 進数 64 ビット値 すべて 0 C ポートの RAM の初期値を指定します。

INIT_D 16 進数 64 ビット値 すべて 0 D ポートの RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM64M: 64-deep by 4-wide Multi Port LUT RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM64M_inst : RAM64Mgeneric map (

INIT_A => X"0000000000000000", -- Initial contents of A portINIT_B => X"0000000000000000", -- Initial contents of B portINIT_C => X"0000000000000000", -- Initial contents of C portINIT_D => X"0000000000000000", -- Initial contents of D portIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (DOA => DOA, -- Read port A 1-bit outputDOB => DOB, -- Read port B 1-bit outputDOC => DOC, -- Read port C 1-bit outputDOD => DOD, -- Read/Write port D 1-bit outputADDRA => ADDRA, -- Read port A 6-bit address inputADDRB => ADDRB, -- Read port B 6-bit address inputADDRC => ADDRC, -- Read port C 6-bit address inputADDRD => ADDRD, -- Read/Write port D 6-bit address inputDIA => DIA, -- RAM 1-bit data write input addressed by ADDRD,

-- read addressed by ADDRADIB => DIB, -- RAM 1-bit data write input addressed by ADDRD,

-- read addressed by ADDRBDIC => DIC, -- RAM 1-bit data write input addressed by ADDRD,

-- read addressed by ADDRCDID => DID, -- RAM 1-bit data write input addressed by ADDRD,

-- read addressed by ADDRDWCLK => WCLK, -- Write clock inputWE => WE -- Write enable input

);-- End of RAM64M_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 298UG974 (v2015.2) 2015 月 6 月 24 日

Page 299: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// RAM64M: 64-deep by 4-wide Multi Port LUT RAM (Mapped to four LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM64M #(.INIT_A(64’h0000000000000000), // Initial contents of A Port.INIT_B(64’h0000000000000000), // Initial contents of B Port.INIT_C(64’h0000000000000000), // Initial contents of C Port.INIT_D(64’h0000000000000000), // Initial contents of D Port.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM64M_inst (.DOA(DOA), // Read port A 1-bit output.DOB(DOB), // Read port B 1-bit output.DOC(DOC), // Read port C 1-bit output.DOD(DOD), // Read/write port D 1-bit output.DIA(DIA), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRA.DIB(DIB), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRB.DIC(DIC), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRC.DID(DID), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRD.ADDRA(ADDRA), // Read port A 6-bit address input.ADDRB(ADDRB), // Read port B 6-bit address input.ADDRC(ADDRC), // Read port C 6-bit address input.ADDRD(ADDRD), // Read/write port D 6-bit address input.WE(WE), // Write enable input.WCLK(WCLK) // Write clock input

);

// End of RAM64M_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 299UG974 (v2015.2) 2015 月 6 月 24 日

Page 300: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM64M8

プリミティブ : 64-Deep by 8-bit Wide Multi Port Random Access Memory (Select RAM)

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは、64 ワード X 8 ビットのマルチポート RAM で、同期書き込みと非同期読み出し機能を備えてい

ます。この RAM は、デバイスの LUT (SelectRAM™ とも呼ばれる) を使用してインプリメントされるため、ブロック RAM リ

ソースを使用しません。このコンポーネントは 1 つの CLB にインプリメントされ、8 ビット書き込みポート 1 つ、1 ビット読

み出しポート 1 つ、および同じメモリからの 1 ビット読み出しポート 7 つから構成されます。これにより、RAM のバイト幅

の書き込みと独立した 1 ビットの読み出しが可能です。

• 7 つの入力をすべて同じデータ入力に接続すると、読み出し/書き込みポート 1 つ、独立した読み出しポート 7

つの 64x1 の 8 ポート メモリになります。

• DIH をグランドに接続した場合、DOH は使用されません。

• ADDRA ~ ADDRG を同じアドレスに接続すると、64x14 のシンプル デュアル ポート RAM になります。

• ADDRA ~ ADDRH を接続すると、64x16 のシングル ポート RAM になります。

この RAM には、ほかにも可能なコンフィギュレーションがあります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 300UG974 (v2015.2) 2015 月 6 月 24 日

Page 301: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

DOA 出力 1 アドレス バス ADDRA で指定される読み出しポートのデータ出力

DOB 出力 1 アドレス バス ADDRB で指定される読み出しポートのデータ出力

DOC 出力 1 アドレス バス ADDRC で指定される読み出しポートのデータ出力

DOD 出力 1 アドレス バス ADDRD で指定される読み出しポートのデータ出力

DOE 出力 1 アドレス バス ADDRE で指定される読み出しポートのデータ出力

DOF 出力 1 アドレス バス ADDRF で指定される読み出しポートのデータ出力

DOG 出力 1 アドレス バス ADDRG で指定される読み出しポートのデータ出力

DOH 出力 1 アドレス バス ADDRH で指定される読み出し/書き込みポートのデータ出力

DIA 入力 1 ADDRH で指定されるデータ書き込み入力 (読み出し出力はADDRA で指定)

DIB 入力 1 ADDRH で指定されるデータ書き込み入力 (読み出し出力はADDRB で指定)

DIC 入力 1 ADDRH で指定されるデータ書き込み入力 (読み出し出力はADDRC で指定)

DID 入力 1 ADDRH で指定されるデータ書き込み入力 (読み出し出力はADDRD で指定)

DIE 入力 1 ADDRH で指定されるデータ書き込み入力 (読み出し出力はADDRE で指定)

DIF 入力 1 ADDRH で指定されるデータ書き込み入力 (読み出し出力はADDRF で指定)

DIG 入力 1 ADDRH で指定されるデータ書き込み入力 (読み出し出力はADDRG で指定)

DIH 入力 1 ADDRH で指定される RAM の 2 ビット データ書き込み入力 (読み出し出力は ADDRH で指定)

ADDRA 入力 6 読み出しポートの A アドレス入力

ADDRB 入力 6 読み出しポートの B アドレス入力

ADDRC 入力 6 読み出しポートの C アドレス入力

ADDRD 入力 6 読み出しポートの D アドレス入力

ADDRE 入力 6 読み出しポートの E アドレス入力

ADDRF 入力 6 読み出しポートの F アドレス入力

ADDRG 入力 6 読み出しポートの G アドレス入力

ADDRH 入力 6 読み出し/書き込みポートの H アドレス入力

WE 入力 1 ライト イネーブル

WCLK 入力 1 ライト クロック (読み出しは非同期)

UltraScale ライブラリ ガイド http://japan.xilinx.com 301UG974 (v2015.2) 2015 月 6 月 24 日

Page 302: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

このエレメントは、同期書き込みと非同期読み出し機能を備えた RAM を記述することにより、一部の合成ツールで

推論できます。RAM の推論およびコード例の詳細は、合成ツールのマニュアルを参照してください。RAM ファンクショ

ンを暗示的に指定する必要がある場合、またはコンポーネントを手動でまたは相対的に配置する必要がある場合は、

このコンポーネントをインスタンシエートしてください。

同期読み出しが必要な場合は、出力を FDRE/FDSE (非同期リセットが必要な場合は FDCE/FDPE) に接続してファンク

ションの出力タイミングを向上させることも可能ですが、RAM の正しい動作には不要です。インバーターをこのコンポー

ネントのクロック入力に追加すると、クロックの立ち下がりエッジでデータを入力できます。このインバーターはインプリメ

ンテーション中にブロック内に組み込まれます。IS_WCLK_INVERTED 属性を使用すると、クロックの立ち下がりエッ

ジで RAM への書き込みを実行できます。

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力を適切なクロック ソースに接続します。

• DIA ~ DIH 入力を格納するデータ ソースに接続します。

• DOA ~ DOH 出力を FD* の D 入力などの適切なデスティネーションに接続するか、使用しない場合は未接続にします。

• クロック イネーブル ピン (WE) を適切なライト イネーブル ソースに接続します。

• ADDRH バスを読み出し/書き込みアドレスのソースに接続します。

• ADDRA ~ ADDRG バスを読み出しアドレスに接続します。

オプションで INIT_A ~ INIT_H 属性を使用すると、各ポートの初期メモリ内容を 64 ビット (16 進数) で指定できます。

RAM の INIT 値は、ADDRy[z] = INIT_y[z] で計算されます。たとえば、RAM の ADDRC ポートが 00001 の場合、INIT_C[1]

値がそのアドレスで最初の書き込みが行われる前の DOC ポートの初期値になります。指定しない場合は、初期値

はすべて 0 になります。

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT_A 16 進数 128 ビット値 すべて 0 A ポートの RAM の初期値を指定します。

INIT_B 16 進数 128 ビット値 すべて 0 B ポートの RAM の初期値を指定します。

INIT_C 16 進数 128 ビット値 すべて 0 C ポートの RAM の初期値を指定します。

INIT_D 16 進数 128 ビット値 すべて 0 D ポートの RAM の初期値を指定します。

INIT_E 16 進数 128 ビット値 すべて 0 E ポートの RAM の初期値を指定します。

INIT_F 16 進数 128 ビット値 すべて 0 F ポートの RAM の初期値を指定します。

INIT_G 16 進数 128 ビット値 すべて 0 G ポートの RAM の初期値を指定します。

INIT_H 16 進数 128 ビット値 すべて 0 H ポートの RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 302UG974 (v2015.2) 2015 月 6 月 24 日

Page 303: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM64M8: 64-deep by 8-wide Multi Port LUT RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2RAM64M8_inst : RAM64M8generic map (

INIT_A => X"0000000000000000", -- Initial contents of A portINIT_B => X"0000000000000000", -- Initial contents of B portINIT_C => X"0000000000000000", -- Initial contents of C portINIT_D => X"0000000000000000", -- Initial contents of D portINIT_E => X"0000000000000000", -- Initial contents of E portINIT_F => X"0000000000000000", -- Initial contents of F portINIT_G => X"0000000000000000", -- Initial contents of G portINIT_H => X"0000000000000000", -- Initial contents of H portIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (DOA => DOA, -- Read port A 1-bit outputDOB => DOB, -- Read port B 1-bit outputDOC => DOC, -- Read port C 1-bit outputDOD => DOD, -- Read port D 1-bit outputDOE => DOE, -- Read port E 1-bit outputDOF => DOF, -- Read port F 1-bit outputDOG => DOG, -- Read port G 1-bit outputDOH => DOH, -- Read/write port H 1-bit outputADDRA => ADDRA, -- Read port A 6-bit address inputADDRB => ADDRB, -- Read port B 6-bit address inputADDRC => ADDRC, -- Read port C 6-bit address inputADDRD => ADDRD, -- Read port D 6-bit address inputADDRE => ADDRE, -- Read port E 6-bit address inputADDRF => ADDRF, -- Read port F 6-bit address inputADDRG => ADDRG, -- Read port G 6-bit address inputADDRH => ADDRH, -- Read/write port H 6-bit address inputDIA => DIA, -- RAM 1-bit data write input addressed by ADDRD,

-- read addressed by ADDRADIB => DIB, -- RAM 1-bit data write input addressed by ADDRD,

-- read addressed by ADDRBDIC => DIC, -- RAM 1-bit data write input addressed by ADDRD,

-- read addressed by ADDRCDID => DID, -- RAM 1-bit data write input addressed by ADDRD,

-- read addressed by ADDRDDIE => DIE, -- RAM 1-bit data write input addressed by ADDRE,

-- read addressed by ADDREDIF => DIF, -- RAM 1-bit data write input addressed by ADDRF,

-- read addressed by ADDRFDIG => DIG, -- RAM 1-bit data write input addressed by ADDRG,

-- read addressed by ADDRGDIH => DIH, -- RAM 1-bit data write input addressed by ADDRH,

-- read addressed by ADDRHWCLK => WCLK, -- Write clock inputWE => WE -- Write enable input

);

-- End of RAM64M8_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 303UG974 (v2015.2) 2015 月 6 月 24 日

Page 304: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// RAM64M8: 64-deep by 8-wide Multi Port LUT RAM (Mapped to eight LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM64M8 #(.INIT_A(64’h0000000000000000), // Initial contents of A Port.INIT_B(64’h0000000000000000), // Initial contents of B Port.INIT_C(64’h0000000000000000), // Initial contents of C Port.INIT_D(64’h0000000000000000), // Initial contents of D Port.INIT_E(64’h0000000000000000), // Initial contents of E Port.INIT_F(64’h0000000000000000), // Initial contents of F Port.INIT_G(64’h0000000000000000), // Initial contents of G Port.INIT_H(64’h0000000000000000), // Initial contents of H Port.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM64M8_inst (.DOA(DOA), // Read port A 1-bit output.DOB(DOB), // Read port B 1-bit output.DOC(DOC), // Read port C 1-bit output.DOD(DOD), // Read port D 1-bit output.DOE(DOE), // Read port E 1-bit output.DOF(DOF), // Read port F 1-bit output.DOG(DOG), // Read port G 1-bit output.DOH(DOH), // Read/write port H 1-bit output.DIA(DIA), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRA.DIB(DIB), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRB.DIC(DIC), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRC.DID(DID), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRD.DIE(DIE), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRE.DIF(DIF), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRF.DIG(DIG), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRG.DIH(DIH), // RAM 1-bit data write input addressed by ADDRD,

// read addressed by ADDRH.ADDRA(ADDRA), // Read port A 6-bit address input.ADDRB(ADDRB), // Read port B 6-bit address input.ADDRC(ADDRC), // Read port C 6-bit address input.ADDRD(ADDRD), // Read port D 6-bit address input.ADDRE(ADDRE), // Read port E 6-bit address input.ADDRF(ADDRF), // Read port F 6-bit address input.ADDRG(ADDRG), // Read port G 6-bit address input.ADDRH(ADDRH), // Read/write port H 6-bit address input.WE(WE), // Write enable input.WCLK(WCLK) // Write clock input

);

// End of RAM64M8_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 304UG974 (v2015.2) 2015 月 6 月 24 日

Page 305: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM64X1D

プリミティブ : 64-Deep by 1-Wide Dual Port Static Synchronous RAM

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは 64 ワード X 1 ビット幅のデュアル ポート SRAM で、同期書き込み機能を備えています。デバイス

には、読み出しアドレス (DPRA5 ~ DPRA0) 用と書き込みアドレス (A5 ~ A0) 用に独立したアドレス ポートがあります。

この 2 つのアドレス ポートは完全に非同期です。読み出しアドレスによって出力ピン (DPO) に出力される値が指定さ

れ、書き込みアドレスによって書き込みを行う位置が指定されます。ライト イネーブル (WE) が Low の場合、ライト クロッ

ク (WCLK) の遷移は無視され、RAM に格納されている値は変化しません。

WE が High になると、WCLK が Low から High に切り替わるときに、データ入力 (D) の値が 6 ビットの書き込みアドレス

(A0 ~ A5) で選択されたメモリ セルに書き込まれます。書き込みを正しく行うには、WCLK が Low から High に切り替

わる前に、書き込みアドレスとデータ入力の値を安定させる必要があります。WCLK はデフォルトではアクティブ High

ですが、インバーターを使用してアクティブ Low にすることもできます。WCLK の入力ネットに配置されたインバー

ターは、RAM ブロック内に組み込まれます。

SPO 出力には、A5 ~ A0 で指定されたメモリ セルの値が出力されます。DPO 出力には、DPRA5 ~ DPRA0 で指定されたメ

モリ セルの値が出力されます。書き込み処理は、読み出しアドレス ポートのアドレスには影響されません。

INIT 属性を使用すると、RAM の初期値を指定できます。指定しない場合は、初期値はすべて 0 になります。

論理表

入力 出力

WE (モード) WCLK D SPO DPO

0 (読み出し) X X data_a data_d

1 (読み出し) 0 X data_a data_d

1 (読み出し) 1 X data_a data_d

1 (書き込み) ↑ D D data_d

1 (読み出し) ↓ X data_a data_d

data_a = A5 ~ A0 で指定されたメモリ セル

data_d = DPRA5 ~ DPRA0 で指定されたメモリ セル

UltraScale ライブラリ ガイド http://japan.xilinx.com 305UG974 (v2015.2) 2015 月 6 月 24 日

Page 306: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 64 ビット値 すべて 0 RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM64X1D: 64 x 1 positive edge write, asynchronous read-- dual-port distributed RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM64X1D_inst : RAM64X1Dgeneric map (

INIT => X"0000000000000000", -- Initial contents of RAMIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (DPO => DPO, -- Read-only 1-bit data outputSPO => SPO, -- R/W 1-bit data outputA0 => A0, -- R/W address[0] input bitA1 => A1, -- R/W address[1] input bitA2 => A2, -- R/W address[2] input bitA3 => A3, -- R/W address[3] input bitA4 => A4, -- R/W address[4] input bitA5 => A5, -- R/W address[5] input bitD => D, -- Write 1-bit data inputDPRA0 => DPRA0, -- Read-only address[0] input bitDPRA1 => DPRA1, -- Read-only address[1] input bitDPRA2 => DPRA2, -- Read-only address[2] input bitDPRA3 => DPRA3, -- Read-only address[3] input bitDPRA4 => DPRA4, -- Read-only address[4] input bitDPRA5 => DPRA5, -- Read-only address[5] input bitWCLK => WCLK, -- Write clock inputWE => WE -- Write enable input

);

-- End of RAM64X1D_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 306UG974 (v2015.2) 2015 月 6 月 24 日

Page 307: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

Verilog 記述 (インスタンシエーション)

// RAM64X1D: 64 x 1 positive edge write, asynchronous read dual-port// distributed RAM (Mapped to two LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM64X1D #(.INIT(64’h0000000000000000), // Initial contents of RAM.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM64X1D_inst (.DPO(DPO), // Read-only 1-bit data output.SPO(SPO), // Rw/ 1-bit data output.A0(A0), // Rw/ address[0] input bit.A1(A1), // Rw/ address[1] input bit.A2(A2), // Rw/ address[2] input bit.A3(A3), // Rw/ address[3] input bit.A4(A4), // Rw/ address[4] input bit.A5(A5), // Rw/ address[5] input bit.D(D), // Write 1-bit data input.DPRA0(DPRA0), // Read-only address[0] input bit.DPRA1(DPRA1), // Read-only address[1] input bit.DPRA2(DPRA2), // Read-only address[2] input bit.DPRA3(DPRA3), // Read-only address[3] input bit.DPRA4(DPRA4), // Read-only address[4] input bit.DPRA5(DPRA5), // Read-only address[5] input bit.WCLK(WCLK), // Write clock input.WE(WE) // Write enable input

);

// End of RAM64X1D_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 307UG974 (v2015.2) 2015 月 6 月 24 日

Page 308: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAM64X1S

プリミティブ : 64-Deep by 1-Wide Static Synchronous RAM

プリミティブ グループ : CLBプリミティブ サブグループ : LUTRAM

概要

このデザイン エレメントは 64 ワード X 1 ビット幅の SRAM で、同期書き込み機能を備えています。ライト イネーブル (WE) が

Low の場合、ライト クロック (WCLK) の遷移は無視され、RAM に格納されている値は変化しません。WE が High になると、

WCLK が Low から High に切り替わるときに、データ入力 (D) の値が 6 ビットのアドレス (A5 ~ A0) で選択されたメモリ セル

に書き込まれます。WCLK はデフォルトではアクティブ High ですが、インバーターを使用してアクティブ Low にすることもで

きます。WCLK の入力ネットに配置されたインバーターは、RAM ブロック内に組み込まれます。

出力ピン (O) に出力される値は、アドレス ピンで指定されたメモリ セルに格納されている値です。

INIT 属性を使用すると、RAM の初期値を指定できます。指定しない場合は、初期値はすべて 0 になります。

論理表

モード選択を次の論理表に示します。

入力 出力

WE (モード) WCLK D O

0 (読み出し) X X データ

1 (読み出し) 0 X データ

1 (読み出し) 1 X データ

1 (書き込み) ↑ D D

1 (読み出し) ↓ X データ

データ = A5 ~ A0 で指定されたメモリ セル

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 308UG974 (v2015.2) 2015 月 6 月 24 日

Page 309: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 64 ビット値 すべて 0 RAM の初期値を指定します。

IS_WCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 WCLK ピンにオプションの反転を使用するかどうかを指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAM64X1S: 64 x 1 positive edge write, asynchronous read single-port distributed RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAM64X1S_inst : RAM64X1Sgeneric map (

INIT => X"0000000000000000", -- Initial contents of RAMIS_WCLK_INVERTED => ’0’) -- Specifies active high/low WCLK

port map (O => O, -- 1-bit data outputA0 => A0, -- Address[0] input bitA1 => A1, -- Address[1] input bitA2 => A2, -- Address[2] input bitA3 => A3, -- Address[3] input bitA4 => A4, -- Address[4] input bitA5 => A5, -- Address[5] input bitD => D, -- 1-bit data inputWCLK => WCLK, -- Write clock inputWE => WE -- Write enable input

);

-- End of RAM64X1S_inst instantiation

Verilog 記述 (インスタンシエーション)

// RAM64X1S: 64 x 1 positive edge write, asynchronous read single-port// distributed RAM (Mapped to a LUT6)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAM64X1S #(.INIT(64’h0000000000000000), // Initial contents of RAM.IS_WCLK_INVERTED(1’b0) // Specifies active high/low WCLK

) RAM64X1S_inst (.O(O), // 1-bit data output.A0(A0), // Address[0] input bit.A1(A1), // Address[1] input bit.A2(A2), // Address[2] input bit.A3(A3), // Address[3] input bit.A4(A4), // Address[4] input bit.A5(A5), // Address[5] input bit.D(D), // 1-bit data input.WCLK(WCLK), // Write clock input.WE(WE) // Write enable input

);

// End of RAM64X1S_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 309UG974 (v2015.2) 2015 月 6 月 24 日

Page 311: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAMB18E2

プリミティブ : 18K-bit Configurable Synchronous Block RAM

プリミティブ グループ : BLOCKRAMプリミティブ サブグループ : BRAM

UltraScale ライブラリ ガイド http://japan.xilinx.com 311UG974 (v2015.2) 2015 月 6 月 24 日

Page 312: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

概要

RAMB18E2 を使用すると、18Kb のブロック RAM にアクセスできます。このエレメントは、1 ビット X 16K ワード~ 18 ビット X

1024 ワードの完全なデュアル ポート RAM としてコンフィギュレーションできます。また 36 ビット幅 X 512 ワードのシンプル

デュアル ポート RAM にコンフィギュレーションすることもできます。読み出しと書き込みは、コンポーネントに供給されるクロッ

クに同期して実行されますが、読み出しポートと書き込みポートは完全に独立しており、お互いに非同期で、同じメモリ アレ

イにアクセスします。広いデータ幅でコンフィギュレーションすると、バイト イネーブルの書き込みが可能になり、オプションの

出力レジスタを使用して RAM の clock-to-out タイムを短縮できます。カスケード機能もあり、複数の RAMB18E2 コンポーネ

ントをチェーン接続して、よりワード数が多く、電力効率の良いメモリ コンフィギュレーションを作成できます。

ポートの説明

ポート名 方向 幅 機能

カカカスススケケケーーードドド信信信号号号 ::: 複数の RAMB18E2 コンポーネントをカスケード接続する際に使用する信号

CASDIMUXA 入力 1 ポート A のマルチプレクサー制御入力。Low の場合は通常のデータ入力 (DINA) が選択され、High の場合は CASCADE データ入力 (CASDINA) が選択されます。

CASDIMUXB 入力 1 ポート B のマルチプレクサー制御入力。Low の場合は通常のデータ入力 (DINB) が選択され、High の場合は CASCADE データ入力 (CASDINB) が選択されます。

CASDINA<15:0> 入力 16 ポート A のカスケード入力データ

CASDINB<15:0> 入力 16 ポート B のカスケード入力データ

CASDINPA<1:0> 入力 2 ポート A のカスケード入力パリティ データ

CASDINPB<1:0> 入力 2 ポート B のカスケード入力パリティ データ

CASDOMUXA 入力 1 ポート A のマルチプレクサー制御入力。ブロック RAM からのレジスタなしの出力データまたは CASCADE データ入力 (CASDINA)を選択します。

CASDOMUXB 入力 1 ポート B のマルチプレクサー制御入力。ブロック RAM からのレジスタなし出力データまたは CASCADE データ入力 (CASDINB)を選択します。

CASDOMUXEN_A 入力 1 ポート A のレジスタなしの出力データ レジスタ イネーブル

CASDOMUXEN_B 入力 1 ポート B のレジスタなしの出力データ レジスタ イネーブル

CASDOUTA<15:0> 出力 16 ポート A のカスケード出力データ

CASDOUTB<15:0> 出力 16 ポート B のカスケード出力データ

CASDOUTPA<1:0> 出力 2 ポート A のカスケード出力パリティ データ

CASDOUTPB<1:0> 出力 2 ポート B のカスケード出力パリティ データ

CASOREGIMUXA 入力 1 ポート A のマルチプレクサー制御入力。ブロック RAM からのレジスタ付き出力データまたは CASCADE データ入力 (CASDINA)を選択します。

CASOREGIMUXB 入力 1 ポート B のマルチプレクサー制御入力。ブロック RAM からのレジスタ付き出力データまたは CASCADE データ入力 (CASDINB)を選択します。

CASOREGIMUXEN_A 入力 1 ポート A のレジスタ付き出力データ レジスタ イネーブル

CASOREGIMUXEN_B 入力 1 ポート B のレジスタ付き出力データ レジスタ イネーブル

ポポポーーートトト AAA のののアアアドドドレレレススス///制制制御御御信信信号号号 ::: ポート A のアドレスおよび制御 (クロック、リセット、イネーブルなど) 信号

UltraScale ライブラリ ガイド http://japan.xilinx.com 312UG974 (v2015.2) 2015 月 6 月 24 日

Page 313: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

ADDRARDADDR<13:0> 入力 14 ポート A アドレス入力バス/読み出しアドレス入力バス

ADDRENA 入力 1 アクティブ High のポート A アドレス入力バス/読み出しアドレス入力バス

CLKARDCLK 入力 1 ポート A クロック入力/読み出しクロック入力

ENARDEN 入力 1 ポート A RAM イネーブル/リード イネーブル

REGCEAREGCE 入力 1 ポート A 出力レジスタ クロック イネーブル入力/出力レジスタ クロック イネーブル入力 (DOA_REG=1 の場合のみ有効)。

RSTRAMARSTRAM 入力 1 同期データ ラッチを SRVAL_A で指定された値にセット/リセットします。DO_REG=0 または 1 のときに BRAM データ出力ラッチをセット/リセットします。DO_REG=1 の場合、RSTRAMARSTRAM でリセットされる内部データ ラッチ ノードと BRAM の DO 出力の間に 1 サイクルのレイテンシがあります。READ_WIDTH が 18 以下の場合はポート A の RAM 出力がリセットされ、READ_WIDTH が36 の場合は RAM 出力全体がリセットされます。

RSTREGARSTREG 入力 1 同期出力レジスタを SRVAL_A で指定された値にセット/リセットします。DO_REG=1 のときに出力レジスタをセット/リセットします。RSTREG_PRIORITY_A は、この信号と REGCEAREGCE の優先順位を指定します。READ_WIDTH が 18 以下の場合はポート A の出力がリセットされ、READ_WIDTH が 36 の場合は RAM出力全体がリセットされます。

WEA<1:0> 入力 2 ポート A のバイト幅ライト イネーブル。RAM_MODE が "SDP" の場合は使用されません。異なるポート幅の WEA マップについてはユーザー ガイドを参照してください。

ポポポーーートトト AAA のののデデデーーータタタ ::: ポート A のデータ信号

DINADIN<15:0> 入力 16 ポート A のデータ入力バス。WRITE_WIDTH=36 の場合、DINADIN の論理値は DI<15:0> です。

DINPADINP<1:0> 入力 2 ポート A パリティ データ入力バス/WRADDR でアドレス指定されるデータ パリティ入力バス。WRITE_WIDTH=36 の場合、DINPADINP の論理値は DIP<1:0> です。

DOUTADOUT<15:0> 出力 16 ポート A のデータ入力バス。READ_WIDTH=36 の場合、DOUTADOUT の論理値は DO<15:0> です。

DOUTPADOUTP<1:0> 出力 2 ポート A のデータ入力バス。READ_WIDTH=36 の場合、DOUTPADOUT の論理値は DOP<1:0> です。

ポポポーーートトト BBB のののアアアドドドレレレススス///制制制御御御信信信号号号 ::: ポート B のアドレスおよび制御 (クロック、リセット、イネーブルなど) 信号

ADDRBWRADDR<13:0> 入力 14 ポート B アドレス入力バス/書き込みアドレス入力バス

ADDRENB 入力 1 アクティブ High のポート B アドレス入力バス/書き込みアドレス入力バス

CLKBWRCLK 入力 1 ポート B クロック入力/書き込みクロック入力

ENBWREN 入力 1 ポート B RAM イネーブル/ライト イネーブル

REGCEB 入力 1 ポート B 出力レジスタ クロック イネーブル (DOB_REG=1 およびRAM_WIDTH<=18 の場合のみ有効)

RSTRAMB 入力 1 同期データ ラッチを SRVAL_B で指定された値にセット/リセットします。DO_REG=0 または 1 のときに BRAM データ出力ラッチをセット/リセットします。DO_REG=1 の場合、RSTRAMB でリセットされる内部データ ラッチ ノードと BRAM の DO 出力の間に 1 サイクルのレイテンシがあります。READ_WIDTH=36 の場合は使用されません。

UltraScale ライブラリ ガイド http://japan.xilinx.com 313UG974 (v2015.2) 2015 月 6 月 24 日

Page 314: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

RSTREGB 入力 1 同期出力レジスタを SRVAL_B で指定された値にセット/リセットします。DO_REG=1 のときに出力レジスタをセット/リセットします。RSTREG_PRIORITY_B は、この信号と REGCEB の優先順位を指定します。READ_WIDTH=36 の場合は使用されません。

SLEEP 入力 1 消費電力を削減するためのダイナミック シャットダウン。High の場合、ブロックは消費電力削減モードです。SLEEP_ASYNC=FALSEの場合は RDCLK に同期し、それ以外は非同期です。

WEBWE<3:0> 入力 4 ポート B のバイト幅ライト イネーブル/ライト イネーブル。異なるポート幅の WEBWE マップについてはユーザー ガイドを参照してください。

ポポポーーートトト BBB のののデデデーーータタタ ::: ポート B のデータ信号

DINBDIN<15:0> 入力 16 ポート B のデータ入力バス。WRITE_WIDTH=36 の場合、DINBDIN の論理値は DI<31:16> です。

DINPBDINP<1:0> 入力 2 ポート B パリティ データ入力バス/WRADDR でアドレス指定されるデータ パリティ入力バス。WRITE_WIDTH=36 の場合、DINPBDINP の論理値は DIP<3:2> です。

DOUTBDOUT<15:0> 出力 16 ポート B のデータ入力バス。READ_WIDTH=36 の場合、DOUTBDOUT の論理値は DO<31:16> です。

DOUTPBDOUTP<1:0> 出力 2 ポート B のデータ入力バス。READ_WIDTH=36 の場合、DOUTPBDOUTP の論理値は DOP<3:2> です。

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

CASCADE_ORDER_ACASCADE_ORDER_ACASCADE_ORDER_A、、、CASCADE_ORDER_BCASCADE_ORDER_BCASCADE_ORDER_B ::: カスケード接続されたブロック RAM の位置を指定します。カスケードの最下位のブロック RAM には "FIRST"、最上位のブロック RAM には "LAST"、最上位と最下位の間にあるブロック RAMには "MIDDLE" を設定します。

CASCADE_ORDER_A 文字列 "NONE"、"FIRST"、"LAST"、"MIDDLE"

"NONE" ポート A のカスケード順を指定します。

CASCADE_ORDER_B 文字列 "NONE"、"FIRST"、"LAST"、"MIDDLE"

"NONE" ポート B のカスケード順を指定します。

CLOCK_DOMAINSCLOCK_DOMAINSCLOCK_DOMAINS ::: シミュレーションで使用し、アドレス競合状況のモデリングしたり、共通クロック モードで低消費電力操作をイネーブルにします。

• "COMMON" : 共通クロック/シングル クロック

• "INDEPENDENT" : 独立クロック/デュアル クロック

UltraScale ライブラリ ガイド http://japan.xilinx.com 314UG974 (v2015.2) 2015 月 6 月 24 日

Page 315: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

CLOCK_DOMAINS 文字列 "INDEPENDENT"、"COMMON"

"INDEPENDENT" シミュレーションで使用し、アドレス競合状況のモデリングしたり、共通クロック モードで低消費電力操作をイネーブルにします。

• "COMMON" : 共通クロック/シ

ングル クロック

• "INDEPENDENT" : 独立クロック

/デュアル クロック

競競競合合合チチチェェェッッッククク ::: メモリの競合が発生した場合のシミュレーションの動作を指定します。

• "ALL" : 警告メッセージが出力され、関連する出力およびメモリの値が不定 (X) になります。

• "WARNING_ONLY" : 警告メッセージのみが出力され、関連する出力およびメモリの値はそのまま保持されます。

• "GENERATE_X_ONLY" : 警告メッセージは出力されず、関連する出力およびメモリの値が不定 (X) になります。

• "NONE" : 警告メッセージは出力されず、関連する出力およびメモリの値はそのまま保持されます。

注記 : この属性を使用する際には、注意が必要です。"ALL" 以外の値に設定すると、シミュレーション中にデザインの問題を認識できない可能性があります。

SIM_COLLISION_CHECK

文字列 "ALL" 、"GENERATE_X_ONLY"、"NONE"、"WARNING_ONLY"

"ALL" メモリの競合が発生した場合のシミュレーションの動作を指定します。

• "ALL" : 警告メッセージが出力さ

れ、関連する出力およびメモリの

値が不定 (X) になります。

• "WARNING_ONLY" : 警告メッ

セージのみが出力され、関連す

る出力およびメモリの値はそのま

ま保持されます。

• "GENERATE_X_ONLY" : 警告

メッセージは出力されず、関連す

る出力およびメモリの値が不定

(X) になります。

• "NONE" : 警告メッセージは出力

されず、関連する出力およびメモ

リの値はそのまま保持されます。

注記 : この属性を使用する際には、注意が必要です。"ALL" 以外の値に設定すると、シミュレーション中にデザインの問題を認識できない可能性があります。

DOA_REGDOA_REGDOA_REG、、、DOB_REGDOB_REGDOB_REG ::: 1 に設定すると、RAM の出力レジスタがイネーブルになり、RAM からの clock-to-out タイムが短縮されます。ただし、読み出しレイテンシのクロック サイクルは増加します。0 に設定すると、1 クロック サイクルで読み出すことができますが、clock-to-out タイムが長くなります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 315UG974 (v2015.2) 2015 月 6 月 24 日

Page 316: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

DOA_REG 10 進数 1、0 1 1 に設定すると、RAM の出力レジスタがイネーブルになり、RAM からのclock-to-out タイムが短縮されます。ただし、読み出しレイテンシのクロック サイクルは増加します。0 に設定すると、1 クロック サイクルで読み出すことができますが、clock-to-out タイムが長くなります。

DOB_REG 10 進数 1、0 1 1 に設定すると、RAM の出力レジスタがイネーブルになり、RAM からのclock-to-out タイムが短縮されます。ただし、読み出しレイテンシのクロック サイクルは増加します。0 に設定すると、1 クロック サイクルで読み出すことができますが、clock-to-out タイムが長くなります。

ENADDRENAENADDRENAENADDRENA、、、ENADDRENBENADDRENBENADDRENB ::: アドレス イネーブル ピンをイネーブルにするかどうかを指定します。

ENADDRENA 文字列 "FALSE"、"TRUE" "FALSE" アドレス イネーブル ピンをイネーブルにするかどうかを指定します。

ENADDRENB 文字列 "FALSE"、"TRUE" "FALSE" アドレス イネーブル ピンをイネーブルにするかどうかを指定します。

INIT_AINIT_AINIT_A、、、INIT_BINIT_BINIT_B ::: コンフィギュレーション後のポート出力の初期値を指定します。

INIT_A 16 進数 18’h00000 ~18’h3ffff すべて 0 コンフィギュレーション後のポート出力の初期値を指定します。

INIT_B 16 進数 18’h00000 ~18’h3ffff すべて 0 コンフィギュレーション後のポート出力の初期値を指定します。

INIT_00INIT_00INIT_00 ~~~ INIT_3FINIT_3FINIT_3F ::: 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_00 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_0A 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_0B 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_0C 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_0D 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_0E 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_0F 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_01 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_1A 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_1B 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 316UG974 (v2015.2) 2015 月 6 月 24 日

Page 317: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_1C 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_1D 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_1E 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_1F 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_02 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_2A 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_2B 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_2C 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_2D 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_2E 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_2F 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_03 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_3A 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_3B 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_3C 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_3D 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_3E 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_3F 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_04 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_05 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_06 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_07 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 317UG974 (v2015.2) 2015 月 6 月 24 日

Page 318: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_08 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_09 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_10 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_11 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_12 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_13 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_14 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_15 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_16 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_17 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_18 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_19 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_20 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_21 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_22 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_23 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_24 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_25 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_26 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_27 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_28 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_29 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 318UG974 (v2015.2) 2015 月 6 月 24 日

Page 319: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_30 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_31 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_32 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_33 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_34 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_35 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_36 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_37 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_38 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

INIT_39 16 進数 256 ビット値 すべて 0 16Kb のデータ メモリ アレイの初期値を指定します。

初初初期期期化化化フフファァァイイイルルル ::: RAM の初期内容を記述するファイルの名前を指定します。

INIT_FILE 文字列 文字列 "NONE" RAM の初期内容を記述するファイルの名前を指定します。

INITP_00INITP_00INITP_00 ~~~ INITP_07INITP_07INITP_07 ::: 2Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_00 16 進数 256 ビット値 すべて 0 2Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_01 16 進数 256 ビット値 すべて 0 2Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_02 16 進数 256 ビット値 すべて 0 2Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_03 16 進数 256 ビット値 すべて 0 2Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_04 16 進数 256 ビット値 すべて 0 2Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_05 16 進数 256 ビット値 すべて 0 2Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_06 16 進数 256 ビット値 すべて 0 2Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_07 16 進数 256 ビット値 すべて 0 2Kb のパリティ データ メモリ アレイの初期値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLK または RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

UltraScale ライブラリ ガイド http://japan.xilinx.com 319UG974 (v2015.2) 2015 月 6 月 24 日

Page 320: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

IS_CLKARDCLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKARDCLK ピンにオプションの反転を使用するかどうかを指定します。

IS_CLKBWRCLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLKBWRCLK ピンにオプションの反転を使用するかどうかを指定します。

IS_ENARDEN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 ENARDEN ピンにオプションの反転を使用するかどうかを指定します。

IS_ENBWREN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 ENBWREN ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTRAMARSTRAM_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RSTRAMARSTRAM ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTRAMB_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RSTRAMB ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTREGARSTREG_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RSTREGARSTREG ピンにオプションの反転を使用するかどうかを指定します。

IS_RSTREGB_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RSTREGB ピンにオプションの反転を使用するかどうかを指定します。

RDADDRCHANGERDADDRCHANGERDADDRCHANGE ::: 読み出しアドレスの変更は、出力値が変更しないときにメモリへのアクセスを回避し、消費電力を削減します。この属性を "TRUE" に設定すると、この消費電力削減機能がイネーブルになります。"FALSE" に設定するとRAM へのセットアップ タイムが向上し、ブロック RAM のパフォーマンスが向上する可能性があります。

RDADDRCHANGEA 文字列 "FALSE"、"TRUE" "FALSE" ポート A の読み出しアドレスの変更機能を使用するかどうかを指定します。

RDADDRCHANGEB 文字列 "FALSE"、"TRUE" "FALSE" ポート B の読み出しアドレスの変更機能を使用するかどうかを指定します。

READ_WIDTH_A/BREAD_WIDTH_A/BREAD_WIDTH_A/B、、、WRITE_WIDTH_A/BWRITE_WIDTH_A/BWRITE_WIDTH_A/B ::: ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

READ_WIDTH_A 10 進数 0、1、2、4、9、18、36 0 ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

READ_WIDTH_B 10 進数 0、1、2、4、9、18 0 ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

WRITE_WIDTH_A 10 進数 0、1、2、4、9、18 0 ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

UltraScale ライブラリ ガイド http://japan.xilinx.com 320UG974 (v2015.2) 2015 月 6 月 24 日

Page 321: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

WRITE_WIDTH_B 10 進数 0、1、2、4、9、18、36 0 ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

RSTREG_PRIORITY_ARSTREG_PRIORITY_ARSTREG_PRIORITY_A、、、RSTREG_PRIORITY_BRSTREG_PRIORITY_BRSTREG_PRIORITY_B ::: RSTREG または REGCE のレジスタ優先順位を選択します。

RSTREG_PRIORITY_A

文字列 "RSTREG"、"REGCE" "RSTREG" RSTREG または REGCE のレジスタ優先順位を選択します。

RSTREG_PRIORITY_B

文字列 "RSTREG"、"REGCE" "RSTREG" RSTREG または REGCE のレジスタ優先順位を選択します。

SLEEPSLEEPSLEEP 非非非同同同期期期 ::: SLEEP ピンを CLKARDCLK ピンに同期させるか ("FALSE")、非同期にするかを指定します。

SLEEP_ASYNC 文字列 "FALSE"、"TRUE" "FALSE" SLEEP ピンを CLKARDCLK ピンに同期させるか ("FALSE")、非同期にするかを指定します。

SRVAL_ASRVAL_ASRVAL_A、、、SRVAL_BSRVAL_BSRVAL_B ::: 同期リセット信号 (RST/RSTREG) がアサートされたときの RAM の出力値を指定します。

SRVAL_A 16 進数 18’h00000 ~18’h3ffff すべて 0 ポート A の出力値を指定します。

SRVAL_B 16 進数 18’h00000 ~18’h3ffff すべて 0 ポート B の出力値を指定します。

書書書ききき込込込みみみモモモーーードドド ::: 書き込みが実行されるときの出力の動作を指定します。

• "WRITE_FIRST" : 書き込まれた値が出力ポートに出力されます。

• "READ_FIRST" : 書き込み前にそのメモリ ロケーションに格納されていた値が出力ポートに出力されます。また、この

モードに設定すると、両方のポートに同じクロックを使用する場合に、異なるポートから同じアドレスに対して読み

出しおよび書き込みが実行された際のアドレスの競合を回避できます。

• "NO_CHANGE" : 出力ポートの以前の値が保持されます。これが最も消費電力が低いモードです。

WRITE_MODE_A 文字列 "NO_CHANGE"、"READ_FIRST"、"WRITE_FIRST"

"NO_CHANGE" 書き込みが実行されるときの出力の動作を指定します。

• "WRITE_FIRST" : 書き込まれた

値が出力ポートに出力されます。

• "READ_FIRST" : 書き込み前に

そのメモリ ロケーションに格納さ

れていた値が出力ポートに出力

されます。また、このモードに設

定すると、両方のポートに同じク

ロックを使用する場合に、異なる

ポートから同じアドレスに対して

読み出しおよび書き込みが実行

された際のアドレスの競合を回

避できます。

• "NO_CHANGE" : 出力ポートの

以前の値が保持されます。これが

最も消費電力が低いモードです。

UltraScale ライブラリ ガイド http://japan.xilinx.com 321UG974 (v2015.2) 2015 月 6 月 24 日

Page 322: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

WRITE_MODE_B 文字列 "NO_CHANGE"、"READ_FIRST"、"WRITE_FIRST"

"NO_CHANGE" 書き込みが実行されるときの出力の動作を指定します。

• "WRITE_FIRST" : 書き込まれた

値が出力ポートに出力されます。

• "READ_FIRST" : 書き込み前に

そのメモリ ロケーションに格納さ

れていた値が出力ポートに出力

されます。また、このモードに設

定すると、両方のポートに同じク

ロックを使用する場合に、異なる

ポートから同じアドレスに対して

読み出しおよび書き込みが実行

された際のアドレスの競合を回

避できます。

• "NO_CHANGE" : 出力ポートの

以前の値が保持されます。これが

最も消費電力が低いモードです。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAMB18E2: 18K-bit Configurable Synchronous Block RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAMB18E2_inst : RAMB18E2generic map (

-- CASCADE_ORDER_A, CASCADE_ORDER_B: "FIRST", "MIDDLE", "LAST", "NONE"CASCADE_ORDER_A => "NONE",CASCADE_ORDER_B => "NONE",-- CLOCK_DOMAINS: "COMMON", "INDEPENDENT"CLOCK_DOMAINS => "INDEPENDENT",-- Collision check: "ALL", "GENERATE_X_ONLY", "NONE", "WARNING_ONLY"SIM_COLLISION_CHECK => "ALL",-- DOA_REG, DOB_REG: Optional output register (0, 1)DOA_REG => 1,DOB_REG => 1,-- ENADDRENA/ENADDRENB: Address enable pin enable, "TRUE", "FALSE"ENADDRENA => "FALSE",ENADDRENB => "FALSE",-- INITP_00 to INITP_07: Initial contents of parity memory arrayINITP_00 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_01 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_02 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_03 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_04 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_05 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_06 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_07 => X"0000000000000000000000000000000000000000000000000000000000000000",-- INIT_00 to INIT_3F: Initial contents of data memory arrayINIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",

UltraScale ライブラリ ガイド http://japan.xilinx.com 322UG974 (v2015.2) 2015 月 6 月 24 日

Page 323: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000",-- INIT_A, INIT_B: Initial values on output portsINIT_A => X"00000",INIT_B => X"00000",-- Initialization File: RAM initialization fileINIT_FILE => "NONE",-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversionIS_CLKARDCLK_INVERTED => ’0’,IS_CLKBWRCLK_INVERTED => ’0’,IS_ENARDEN_INVERTED => ’0’,IS_ENBWREN_INVERTED => ’0’,IS_RSTRAMARSTRAM_INVERTED => ’0’,

UltraScale ライブラリ ガイド http://japan.xilinx.com 323UG974 (v2015.2) 2015 月 6 月 24 日

Page 324: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

IS_RSTRAMB_INVERTED => ’0’,IS_RSTREGARSTREG_INVERTED => ’0’,IS_RSTREGB_INVERTED => ’0’,-- RDADDRCHANGE: Disable memory access when output value does not change ("TRUE", "FALSE")RDADDRCHANGEA => "FALSE",RDADDRCHANGEB => "FALSE",-- READ_WIDTH_A/B, WRITE_WIDTH_A/B: Read/write width per portREAD_WIDTH_A => 0, -- 0-9READ_WIDTH_B => 0, -- 0-9WRITE_WIDTH_A => 0, -- 0-9WRITE_WIDTH_B => 0, -- 0-9-- RSTREG_PRIORITY_A, RSTREG_PRIORITY_B: Reset or enable priority ("RSTREG", "REGCE")RSTREG_PRIORITY_A => "RSTREG",RSTREG_PRIORITY_B => "RSTREG",-- SRVAL_A, SRVAL_B: Set/reset value for outputSRVAL_A => X"00000",SRVAL_B => X"00000",-- Sleep Async: Sleep function asynchronous or synchronous ("TRUE", "FALSE")SLEEP_ASYNC => "FALSE",-- WriteMode: "WRITE_FIRST", "NO_CHANGE", "READ_FIRST"WRITE_MODE_A => "NO_CHANGE",WRITE_MODE_B => "NO_CHANGE"

)port map (

-- Cascade Signals outputs: Multi-BRAM cascade signalsCASDOUTA => CASDOUTA, -- 16-bit output: Port A cascade output dataCASDOUTB => CASDOUTB, -- 16-bit output: Port B cascade output dataCASDOUTPA => CASDOUTPA, -- 2-bit output: Port A cascade output parity dataCASDOUTPB => CASDOUTPB, -- 2-bit output: Port B cascade output parity data-- Port A Data outputs: Port A dataDOUTADOUT => DOUTADOUT, -- 16-bit output: Port A data/LSB dataDOUTPADOUTP => DOUTPADOUTP, -- 2-bit output: Port A parity/LSB parity-- Port B Data outputs: Port B dataDOUTBDOUT => DOUTBDOUT, -- 16-bit output: Port B data/MSB dataDOUTPBDOUTP => DOUTPBDOUTP, -- 2-bit output: Port B parity/MSB parity-- Cascade Signals inputs: Multi-BRAM cascade signalsCASDIMUXA => CASDIMUXA, -- 1-bit input: Port A input data (0=DINA, 1=CASDINA)CASDIMUXB => CASDIMUXB, -- 1-bit input: Port B input data (0=DINB, 1=CASDINB)CASDINA => CASDINA, -- 16-bit input: Port A cascade input dataCASDINB => CASDINB, -- 16-bit input: Port B cascade input dataCASDINPA => CASDINPA, -- 2-bit input: Port A cascade input parity dataCASDINPB => CASDINPB, -- 2-bit input: Port B cascade input parity dataCASDOMUXA => CASDOMUXA, -- 1-bit input: Port A unregistered data (0=BRAM data, 1=CASDINA)CASDOMUXB => CASDOMUXB, -- 1-bit input: Port B unregistered data (0=BRAM data, 1=CASDINB)CASDOMUXEN_A => CASDOMUXEN_A, -- 1-bit input: Port A unregistered output data enableCASDOMUXEN_B => CASDOMUXEN_B, -- 1-bit input: Port B unregistered output data enableCASOREGIMUXA => CASOREGIMUXA, -- 1-bit input: Port A registered data (0=BRAM data, 1=CASDINA)CASOREGIMUXB => CASOREGIMUXB, -- 1-bit input: Port B registered data (0=BRAM data, 1=CASDINB)CASOREGIMUXEN_A => CASOREGIMUXEN_A, -- 1-bit input: Port A registered output data enableCASOREGIMUXEN_B => CASOREGIMUXEN_B, -- 1-bit input: Port B registered output data enable-- Port A Address/Control Signals inputs: Port A address and control signalsADDRARDADDR => ADDRARDADDR, -- 14-bit input: A/Read port addressADDRENA => ADDRENA, -- 1-bit input: Active-High A/Read port address enableCLKARDCLK => CLKARDCLK, -- 1-bit input: A/Read port clockENARDEN => ENARDEN, -- 1-bit input: Port A enable/Read enableREGCEAREGCE => REGCEAREGCE, -- 1-bit input: Port A register enable/Register enableRSTRAMARSTRAM => RSTRAMARSTRAM, -- 1-bit input: Port A set/resetRSTREGARSTREG => RSTREGARSTREG, -- 1-bit input: Port A register set/resetWEA => WEA, -- 2-bit input: Port A write enable-- Port A Data inputs: Port A dataDINADIN => DINADIN, -- 16-bit input: Port A data/LSB dataDINPADINP => DINPADINP, -- 2-bit input: Port A parity/LSB parity-- Port B Address/Control Signals inputs: Port B address and control signalsADDRBWRADDR => ADDRBWRADDR, -- 14-bit input: B/Write port addressADDRENB => ADDRENB, -- 1-bit input: Active-High B/Write port address enableCLKBWRCLK => CLKBWRCLK, -- 1-bit input: B/Write port clockENBWREN => ENBWREN, -- 1-bit input: Port B enable/Write enableREGCEB => REGCEB, -- 1-bit input: Port B register enableRSTRAMB => RSTRAMB, -- 1-bit input: Port B set/resetRSTREGB => RSTREGB, -- 1-bit input: Port B register set/resetSLEEP => SLEEP, -- 1-bit input: Sleep ModeWEBWE => WEBWE, -- 4-bit input: Port B write enable/Write enable

UltraScale ライブラリ ガイド http://japan.xilinx.com 324UG974 (v2015.2) 2015 月 6 月 24 日

Page 325: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

-- Port B Data inputs: Port B dataDINBDIN => DINBDIN, -- 16-bit input: Port B data/MSB dataDINPBDINP => DINPBDINP -- 2-bit input: Port B parity/MSB parity

);

-- End of RAMB18E2_inst instantiation

Verilog 記述 (インスタンシエーション)

// RAMB18E2: 18K-bit Configurable Synchronous Block RAM// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAMB18E2 #(// CASCADE_ORDER_A, CASCADE_ORDER_B: "FIRST", "MIDDLE", "LAST", "NONE".CASCADE_ORDER_A("NONE"),.CASCADE_ORDER_B("NONE"),// CLOCK_DOMAINS: "COMMON", "INDEPENDENT".CLOCK_DOMAINS("INDEPENDENT"),// Collision check: "ALL", "GENERATE_X_ONLY", "NONE", "WARNING_ONLY".SIM_COLLISION_CHECK("ALL"),// DOA_REG, DOB_REG: Optional output register (0, 1).DOA_REG(1),.DOB_REG(1),// ENADDRENA/ENADDRENB: Address enable pin enable, "TRUE", "FALSE".ENADDRENA("FALSE"),.ENADDRENB("FALSE"),// INITP_00 to INITP_07: Initial contents of parity memory array.INITP_00(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_01(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_02(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_03(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_04(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_05(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_06(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_07(256’h0000000000000000000000000000000000000000000000000000000000000000),// INIT_00 to INIT_3F: Initial contents of data memory array.INIT_00(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_01(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_02(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_03(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_04(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_05(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_06(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_07(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_08(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_09(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0A(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0B(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0C(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0D(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0E(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0F(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_10(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_11(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_12(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_13(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_14(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_15(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_16(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_17(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_18(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_19(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1A(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1B(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1C(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1D(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1E(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1F(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_20(256’h0000000000000000000000000000000000000000000000000000000000000000),

UltraScale ライブラリ ガイド http://japan.xilinx.com 325UG974 (v2015.2) 2015 月 6 月 24 日

Page 326: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.INIT_21(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_22(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_23(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_24(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_25(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_26(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_27(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_28(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_29(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_2A(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_2B(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_2C(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_2D(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_2E(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_2F(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_30(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_31(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_32(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_33(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_34(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_35(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_36(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_37(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_38(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_39(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3A(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3B(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3C(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3D(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3E(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3F(256’h0000000000000000000000000000000000000000000000000000000000000000),// INIT_A, INIT_B: Initial values on output ports.INIT_A(18’h00000),.INIT_B(18’h00000),// Initialization File: RAM initialization file.INIT_FILE("NONE"),// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion.IS_CLKARDCLK_INVERTED(1’b0),.IS_CLKBWRCLK_INVERTED(1’b0),.IS_ENARDEN_INVERTED(1’b0),.IS_ENBWREN_INVERTED(1’b0),.IS_RSTRAMARSTRAM_INVERTED(1’b0),.IS_RSTRAMB_INVERTED(1’b0),.IS_RSTREGARSTREG_INVERTED(1’b0),.IS_RSTREGB_INVERTED(1’b0),// RDADDRCHANGE: Disable memory access when output value does not change ("TRUE", "FALSE").RDADDRCHANGEA("FALSE"),.RDADDRCHANGEB("FALSE"),// READ_WIDTH_A/B, WRITE_WIDTH_A/B: Read/write width per port.READ_WIDTH_A(0), // 0-9.READ_WIDTH_B(0), // 0-9.WRITE_WIDTH_A(0), // 0-9.WRITE_WIDTH_B(0), // 0-9// RSTREG_PRIORITY_A, RSTREG_PRIORITY_B: Reset or enable priority ("RSTREG", "REGCE").RSTREG_PRIORITY_A("RSTREG"),.RSTREG_PRIORITY_B("RSTREG"),// SRVAL_A, SRVAL_B: Set/reset value for output.SRVAL_A(18’h00000),.SRVAL_B(18’h00000),// Sleep Async: Sleep function asynchronous or synchronous ("TRUE", "FALSE").SLEEP_ASYNC("FALSE"),// WriteMode: "WRITE_FIRST", "NO_CHANGE", "READ_FIRST".WRITE_MODE_A("NO_CHANGE"),.WRITE_MODE_B("NO_CHANGE")

)RAMB18E2_inst (

// Cascade Signals outputs: Multi-BRAM cascade signals.CASDOUTA(CASDOUTA), // 16-bit output: Port A cascade output data.CASDOUTB(CASDOUTB), // 16-bit output: Port B cascade output data.CASDOUTPA(CASDOUTPA), // 2-bit output: Port A cascade output parity data.CASDOUTPB(CASDOUTPB), // 2-bit output: Port B cascade output parity data// Port A Data outputs: Port A data

UltraScale ライブラリ ガイド http://japan.xilinx.com 326UG974 (v2015.2) 2015 月 6 月 24 日

Page 327: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.DOUTADOUT(DOUTADOUT), // 16-bit output: Port A data/LSB data

.DOUTPADOUTP(DOUTPADOUTP), // 2-bit output: Port A parity/LSB parity// Port B Data outputs: Port B data.DOUTBDOUT(DOUTBDOUT), // 16-bit output: Port B data/MSB data.DOUTPBDOUTP(DOUTPBDOUTP), // 2-bit output: Port B parity/MSB parity// Cascade Signals inputs: Multi-BRAM cascade signals.CASDIMUXA(CASDIMUXA), // 1-bit input: Port A input data (0=DINA, 1=CASDINA).CASDIMUXB(CASDIMUXB), // 1-bit input: Port B input data (0=DINB, 1=CASDINB).CASDINA(CASDINA), // 16-bit input: Port A cascade input data.CASDINB(CASDINB), // 16-bit input: Port B cascade input data.CASDINPA(CASDINPA), // 2-bit input: Port A cascade input parity data.CASDINPB(CASDINPB), // 2-bit input: Port B cascade input parity data.CASDOMUXA(CASDOMUXA), // 1-bit input: Port A unregistered data (0=BRAM data, 1=CASDINA).CASDOMUXB(CASDOMUXB), // 1-bit input: Port B unregistered data (0=BRAM data, 1=CASDINB).CASDOMUXEN_A(CASDOMUXEN_A), // 1-bit input: Port A unregistered output data enable.CASDOMUXEN_B(CASDOMUXEN_B), // 1-bit input: Port B unregistered output data enable.CASOREGIMUXA(CASOREGIMUXA), // 1-bit input: Port A registered data (0=BRAM data, 1=CASDINA).CASOREGIMUXB(CASOREGIMUXB), // 1-bit input: Port B registered data (0=BRAM data, 1=CASDINB).CASOREGIMUXEN_A(CASOREGIMUXEN_A), // 1-bit input: Port A registered output data enable.CASOREGIMUXEN_B(CASOREGIMUXEN_B), // 1-bit input: Port B registered output data enable// Port A Address/Control Signals inputs: Port A address and control signals.ADDRARDADDR(ADDRARDADDR), // 14-bit input: A/Read port address.ADDRENA(ADDRENA), // 1-bit input: Active-High A/Read port address enable.CLKARDCLK(CLKARDCLK), // 1-bit input: A/Read port clock.ENARDEN(ENARDEN), // 1-bit input: Port A enable/Read enable.REGCEAREGCE(REGCEAREGCE), // 1-bit input: Port A register enable/Register enable.RSTRAMARSTRAM(RSTRAMARSTRAM), // 1-bit input: Port A set/reset.RSTREGARSTREG(RSTREGARSTREG), // 1-bit input: Port A register set/reset.WEA(WEA), // 2-bit input: Port A write enable// Port A Data inputs: Port A data.DINADIN(DINADIN), // 16-bit input: Port A data/LSB data.DINPADINP(DINPADINP), // 2-bit input: Port A parity/LSB parity// Port B Address/Control Signals inputs: Port B address and control signals.ADDRBWRADDR(ADDRBWRADDR), // 14-bit input: B/Write port address.ADDRENB(ADDRENB), // 1-bit input: Active-High B/Write port address enable.CLKBWRCLK(CLKBWRCLK), // 1-bit input: B/Write port clock.ENBWREN(ENBWREN), // 1-bit input: Port B enable/Write enable.REGCEB(REGCEB), // 1-bit input: Port B register enable.RSTRAMB(RSTRAMB), // 1-bit input: Port B set/reset.RSTREGB(RSTREGB), // 1-bit input: Port B register set/reset.SLEEP(SLEEP), // 1-bit input: Sleep Mode.WEBWE(WEBWE), // 4-bit input: Port B write enable/Write enable// Port B Data inputs: Port B data.DINBDIN(DINBDIN), // 16-bit input: Port B data/MSB data.DINPBDINP(DINPBDINP) // 2-bit input: Port B parity/MSB parity

);

// End of RAMB18E2_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 327UG974 (v2015.2) 2015 月 6 月 24 日

Page 328: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RAMB36E2

プリミティブ : 36K-bit Configurable Synchronous Block RAM

プリミティブ グループ : BLOCKRAMプリミティブ サブグループ : BRAM

UltraScale ライブラリ ガイド http://japan.xilinx.com 328UG974 (v2015.2) 2015 月 6 月 24 日

Page 329: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

概要

RAMBRAMB36E2 を使用すると、36Kb のブロック RAM にアクセスできます。このエレメントは、1 ビット X 32K ワード~ 36

ビット X 1024 ワードの完全なデュアル ポート RAM としてコンフィギュレーションできます。また 72 ビット幅 X 512 ワードのシ

ンプル デュアル ポート RAM にコンフィギュレーションすることもできます。読み出しと書き込みは、コンポーネントに供給され

るクロックに同期して実行されますが、読み出しポートと書き込みポートは完全に独立しており、お互いに非同期で、同じメモ

リ アレイにアクセスします。広いデータ幅でコンフィギュレーションすると、バイト イネーブルの書き込みが可能になり、オプ

ションの出力レジスタを使用して RAM の clock-to-out タイムを短縮できます。カスケード機能もあり、複数の RAMB36E2 コ

ンポーネントをチェーン接続して、よりワード数が多く、電力効率の良いメモリ コンフィギュレーションを作成できます。

ポートの説明

ポート名 方向 幅 機能

カカカスススケケケーーードドド信信信号号号 ::: 複数の RAMB36E2 コンポーネントをカスケード接続する際に使用する信号

CASDIMUXA 入力 1 ポート A のマルチプレクサー制御入力。Low の場合は通常のデータ入力 (DINA) が選択され、High の場合は CASCADE データ入力 (CASDINA) が選択されます。

CASDIMUXB 入力 1 ポート B のマルチプレクサー制御入力。Low の場合は通常のデータ入力 (DINB) が選択され、High の場合は CASCADE データ入力 (CASDINB) が選択されます。

CASDINA<31:0> 入力 32 ポート A のカスケード入力データ

CASDINB<31:0> 入力 32 ポート B のカスケード入力データ

CASDINPA<3:0> 入力 4 ポート A のカスケード入力パリティ データ

CASDINPB<3:0> 入力 4 ポート B のカスケード入力パリティ データ

CASDOMUXA 入力 1 ポート A のマルチプレクサー制御入力。ブロック RAM からのレジスタなしの出力データまたは CASCADE データ入力 (CASDINA)を選択します。

CASDOMUXB 入力 1 ポート B のマルチプレクサー制御入力。ブロック RAM からのレジスタなし出力データまたは CASCADE データ入力 (CASDINB) を選択します。

CASDOMUXEN_A 入力 1 ポート A のレジスタなしの出力データ レジスタ イネーブル

CASDOMUXEN_B 入力 1 ポート B のレジスタなしの出力データ レジスタ イネーブル

CASDOUTA<31:0> 出力 32 ポート A のカスケード出力データ

CASDOUTB<31:0> 出力 32 ポート B のカスケード出力データ

CASDOUTPA<3:0> 出力 4 ポート A のカスケード出力パリティ データ

CASDOUTPB<3:0> 出力 4 ポート B のカスケード出力パリティ データ

CASINDBITERR 入力 1 カスケード チェーンの前のブロック RAM からカスケードされたダブル ビット エラー信号 (DBITERR)

CASINSBITERR 入力 1 カスケード チェーンの前のブロック RAM からカスケードされたシングル ビット エラー信号 (SBITERR)

CASOREGIMUXA 入力 1 ポート A のマルチプレクサー制御入力。ブロック RAM からのレジスタ付き出力データまたは CASCADE データ入力 (CASDINA) を選択します。

CASOREGIMUXB 入力 1 ポート B のマルチプレクサー制御入力。ブロック RAM からのレジスタ付き出力データまたは CASCADE データ入力 (CASDINB) を選択します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 329UG974 (v2015.2) 2015 月 6 月 24 日

Page 330: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

CASOREGIMUXEN_A 入力 1 ポート A のレジスタ付き出力データ レジスタ イネーブル

CASOREGIMUXEN_B 入力 1 ポート B のレジスタ付き出力データ レジスタ イネーブル

CASOUTDBITERR 出力 1 カスケード チェーンの次のブロック RAM にカスケードされるダブル ビット エラー信号 (DBITERR)

CASOUTSBITERR 出力 1 カスケード チェーンの次のブロック RAM にカスケードされるシングル ビット エラー信号 (SBITERR)

ECCECCECC 信信信号号号 ::: 誤り訂正回路のポート

DBITERR 出力 1 読み出し中にダブル ビット エラーが検出されたことを示す ECC ファンクションからのステータス出力。ECC 機能を使用する場合は、EN_ECC_READ を TRUE に設定する必要があります。RDCLK に同期しています。

ECCPARITY<7:0> 出力 8 ECC デコーダーでメモリの誤りを検出および訂正するために使用される、ECC エンコーダーで生成された 8 ビット データ。EN_ECC_WRITE=1 の場合に適用されます。WRCLK に同期しています。

ECCPIPECE 入力 1 ECC パイプライン レジスタのクロック イネーブル

INJECTDBITERR 入力 1 EN_ECC_WRITE=1 の場合に適用されます。書き込み中に DI のビット 30 と 62 にダブル ビット エラーを挿入します。WRCLK に同期しています。

INJECTSBITERR 入力 1 EN_ECC_WRITE=1 の場合に適用されます。書き込み中に DI のビット 30 にシングル ビット エラーを挿入します。

RDADDRECC<8:0> 出力 9 ECC 機能の読み出しアドレス

SBITERR 出力 1 読み出し中にシングル ビット エラーが検出されたことを示す ECC 出力。RDCLK に同期しています。

ポポポーーートトト AAA のののアアアドドドレレレススス///制制制御御御信信信号号号 ::: ポート A のアドレスおよび制御 (クロック、リセット、イネーブルなど) 信号

ADDRARDADDR<14:0> 入力 15 ポート A アドレス入力バス/読み出しアドレス入力バス

ADDRENA 入力 1 アクティブ High のポート A アドレス入力バス/読み出しアドレス入力バス

CLKARDCLK 入力 1 ポート A クロック入力/読み出しクロック入力

ENARDEN 入力 1 ポート A RAM イネーブル/リード イネーブル

REGCEAREGCE 入力 1 ポート A 出力レジスタ クロック イネーブル入力/出力レジスタ クロック イネーブル入力 (DOA_REG=1 の場合のみ有効)。

RSTRAMARSTRAM 入力 1 同期データ ラッチを SRVAL_A で指定された値にセット/リセットします。DO_REG=0 または 1 のときに BRAM データ出力ラッチをセット/リセットします。DO_REG=1 の場合、RSTRAMARSTRAM でリセットされる内部データ ラッチ ノードと BRAM の DO 出力の間に 1 サイクルのレイテンシがあります。READ_WIDTH が 36 以下の場合はポート A の RAM 出力がリセットされ、READ_WIDTH が 72 の場合はRAM 出力全体がリセットされます。

RSTREGARSTREG 入力 1 同期出力レジスタを SRVAL_A で指定された値にセット/リセットします。DO_REG=1 のときに出力レジスタをセット/リセットします。RSTREG_PRIORITY_A は、この信号と REGCEAREGCE の優先順位を指定します。READ_WIDTH が 36 以下の場合はポート A の出力がリセットされ、READ_WIDTH が 72 の場合は RAM 出力全体がリセットされます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 330UG974 (v2015.2) 2015 月 6 月 24 日

Page 331: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

SLEEP 入力 1 消費電力を削減するためのダイナミック シャットダウン。High の場合、ブロックは消費電力削減モードです。SLEEP_ASYNC=FALSE の場合は RDCLK に同期し、それ以外は非同期です。

WEA<3:0> 入力 4 ポート A のバイト幅ライト イネーブル。RAM_MODE が "SDP" の場合は使用されません。異なるポート幅の WEA マップについてはユーザー ガイドを参照してください。

ポポポーーートトト AAA のののデデデーーータタタ ::: ポート A のデータ信号

DINADIN<31:0> 入力 32 ポート A のデータ入力バス。WRITE_WIDTH=72 の場合、DINADINの論理値は DI<31:0> です。

DINPADINP<3:0> 入力 4 ポート A パリティ データ入力バス/WRADDR でアドレス指定されるデータ パリティ入力バス。WRITE_WIDTH=72 の場合、DINPADINPの論理値は DIP<3:0> です。

DOUTADOUT<31:0> 出力 32 ポート A のデータ入力バス。READ_WIDTH=72 の場合、DOUTADOUT の論理値は DO<31:0> です。

DOUTPADOUTP<3:0> 出力 4 ポート A のデータ入力バス。READ_WIDTH=72 の場合、DOUTPADOUT の論理値は DOP<3:0> です。

ポポポーーートトト BBB のののアアアドドドレレレススス///制制制御御御信信信号号号 ::: ポート B のアドレスおよび制御 (クロック、リセット、イネーブルなど) 信号

ADDRBWRADDR<14:0> 入力 15 ポート B アドレス入力バス/書き込みアドレス入力バス

ADDRENB 入力 1 アクティブ High のポート B アドレス入力バス/書き込みアドレス入力バス

CLKBWRCLK 入力 1 ポート B クロック入力/書き込みクロック入力

ENBWREN 入力 1 ポート B RAM イネーブル/ライト イネーブル

REGCEB 入力 1 ポート B 出力レジスタ クロック イネーブル (DOB_REG=1 およびRAM_WIDTH<=36 の場合のみ有効)

RSTRAMB 入力 1 同期データ ラッチを SRVAL_B で指定された値にセット/リセットします。DO_REG=0 または 1 のときに BRAM データ出力ラッチをセット/リセットします。DO_REG=1 の場合、RSTRAMB でリセットされる内部データ ラッチ ノードと BRAM の DO 出力の間に 1 サイクルのレイテンシがあります。READ_WIDTH=72 の場合は使用されません。

RSTREGB 入力 1 同期出力レジスタを SRVAL_B で指定された値にセット/リセットします。DO_REG=1 のときに出力レジスタをセット/リセットします。RSTREG_PRIORITY_B は、この信号と REGCEB の優先順位を指定します。READ_WIDTH=72 の場合は使用されません。

WEBWE<7:0> 入力 8 ポート B のバイト幅ライト イネーブル/ライト イネーブル。異なるポート幅の WEBWE マップについてはユーザー ガイドを参照してください。

ポポポーーートトト BBB のののデデデーーータタタ ::: ポート B のデータ信号

DINBDIN<31:0> 入力 32 ポート B のデータ入力バス。WRITE_WIDTH=72 の場合、DINBDINの論理値は DI<63:32> です。

DINPBDINP<3:0> 入力 4 ポート B パリティ データ入力バス/WRADDR でアドレス指定されるデータ パリティ入力バス。WRITE_WIDTH=72 の場合、DINPBDINPの論理値は DIP<7:4> です。

DOUTBDOUT<31:0> 出力 32 ポート B のデータ入力バス。READ_WIDTH=72 の場合、DOUTBDOUT の論理値は DO<63:32> です。

DOUTPBDOUTP<3:0> 出力 4 ポート B のデータ入力バス。READ_WIDTH=72 の場合、DOUTPBDOUTP の論理値は DOP<7:4> です。

UltraScale ライブラリ ガイド http://japan.xilinx.com 331UG974 (v2015.2) 2015 月 6 月 24 日

Page 332: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

CASCADE_ORDER_ACASCADE_ORDER_ACASCADE_ORDER_A、、、CASCADE_ORDER_BCASCADE_ORDER_BCASCADE_ORDER_B ::: カスケード接続されたブロック RAM の位置を指定します。カスケードの最下位のブロック RAM には "FIRST"、最上位のブロック RAM には "LAST"、最上位と最下位の間にあるブロック RAMには "MIDDLE" を設定します。

CASCADE_ORDER_A 文字列 "NONE"、"FIRST"、"LAST"、"MIDDLE"

"NONE" ポート A のカスケード順を指定します。

CASCADE_ORDER_B 文字列 "NONE"、"FIRST"、"LAST"、"MIDDLE"

"NONE" ポート B のカスケード順を指定します。

CLOCK_DOMAINSCLOCK_DOMAINSCLOCK_DOMAINS ::: シミュレーションで使用し、アドレス競合状況のモデリングしたり、共通クロック モードで低消費電力操作をイネーブルにします。

• "COMMON" : 共通クロック/シングル クロック

• "INDEPENDENT" : 独立クロック/デュアル クロック

CLOCK_DOMAINS 文字列 "INDEPENDENT"、"COMMON"

"INDEPENDENT" シミュレーションで使用し、アドレス競合状況のモデリングしたり、共通クロックモードで低消費電力操作をイネーブルにします。

• "COMMON" : 共通クロック/シン

グル クロック

• "INDEPENDENT" : 独立クロック/

デュアル クロック

DOB_REG 10 進数 1、0 1 シミュレーションで使用し、アドレス競合状況のモデリングしたり、共通クロックモードで低消費電力操作をイネーブルにします。

• "COMMON" : 共通クロック/シン

グル クロック

• "INDEPENDENT" : 独立クロック/

デュアル クロック

競競競合合合チチチェェェッッッククク ::: メモリの競合が発生した場合のシミュレーションの動作を指定します。

• "ALL" : 警告メッセージが出力され、関連する出力およびメモリの値が不定 (X) になります。

• "WARNING_ONLY" : 警告メッセージのみが出力され、関連する出力およびメモリの値はそのまま保持されます。

• "GENERATE_X_ONLY" : 警告メッセージは出力されず、関連する出力およびメモリの値が不定 (X) になります。

• "NONE" : 警告メッセージは出力されず、関連する出力およびメモリの値はそのまま保持されます。

注記 : この属性を使用する際には、注意が必要です。"ALL" 以外の値に設定すると、シミュレーション中にデザインの問題を認識できない可能性があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 332UG974 (v2015.2) 2015 月 6 月 24 日

Page 333: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

SIM_COLLISION_CHECK

文字列 "ALL" 、"GENERATE_X_ONLY"、"NONE" 、"WARNING_ONLY"

"ALL" メモリの競合が発生した場合のシミュレーションの動作を指定します。

• "ALL" : 警告メッセージが出力さ

れ、関連する出力およびメモリの値

が不定 (X) になります。

• "WARNING_ONLY" : 警告メッセー

ジのみが出力され、関連する出力

およびメモリの値はそのまま保持

されます。

• "GENERATE_X_ONLY" : 警告メッ

セージは出力されず、関連する出

力およびメモリの値が不定 (X) に

なります。

• "NONE" : 警告メッセージは出力さ

れず、関連する出力およびメモリの

値はそのまま保持されます。

注記 : この属性を使用する際には、注意が必要です。"ALL" 以外の値に設定すると、シミュレーション中にデザインの問題を認識できない可能性があります。

DOA_REGDOA_REGDOA_REG、、、DOB_REGDOB_REGDOB_REG ::: 1 に設定すると、RAM の出力レジスタがイネーブルになり、RAM からの clock-to-out タイムが短縮されます。ただし、読み出しレイテンシのクロック サイクルは増加します。0 に設定すると、1 クロック サイクルで読み出すことができますが、clock-to-out タイムが長くなります。

DOA_REG 10 進数 1、0 1 1 に設定すると、RAM の出力レジスタがイネーブルになり、RAM からのclock-to-out タイムが短縮されます。ただし、読み出しレイテンシのクロック サイクルは増加します。0 に設定すると、1 クロック サイクルで読み出すことができますが、clock-to-out タイムが長くなります。

EN_ECC_PIPEEN_ECC_PIPEEN_ECC_PIPE ::: ECC パイプライン出力レジスタ段をイネーブルにします。

EN_ECC_PIPE 文字列 "FALSE"、"TRUE" "FALSE" ECC パイプライン出力レジスタ段をイネーブルにします。

EN_ECC_READEN_ECC_READEN_ECC_READ ::: ECC 読み出しデコーダー回路をイネーブルにします。READ_WIDTH が 72 に設定されている場合にのみ有効です。

EN_ECC_READ 文字列 "FALSE"、"TRUE" "FALSE" ECC 読み出しデコーダー回路をイネーブルにします。READ_WIDTH が 72 に設定されている場合にのみ有効です。

EN_ECC_WRITEEN_ECC_WRITEEN_ECC_WRITE ::: ECC 書き込みエンコーダー回路をイネーブルにします。WRITE_WIDTH が 72 に設定されている場合にのみ有効です。

EN_ECC_WRITE 文字列 "FALSE"、"TRUE" "FALSE" ECC 書き込みエンコーダー回路をイネーブルにします。WRITE_WIDTH が72 に設定されている場合にのみ有効です。

ENADDRENAENADDRENAENADDRENA、、、ENADDRENBENADDRENBENADDRENB ::: アドレス イネーブル ピンをイネーブルにするかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 333UG974 (v2015.2) 2015 月 6 月 24 日

Page 334: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

ENADDRENA 文字列 "FALSE"、"TRUE" "FALSE" アドレス イネーブル ピンをイネーブルにするかどうかを指定します。

ENADDRENB 文字列 "FALSE"、"TRUE" "FALSE" アドレス イネーブル ピンをイネーブルにするかどうかを指定します。

INIT_AINIT_AINIT_A、、、INIT_BINIT_BINIT_B ::: コンフィギュレーション後のポート出力の初期値を指定します。

INIT_A 16 進数 36 ビット値 すべて 0 コンフィギュレーション後のポート出力の初期値を指定します。

INIT_B 16 進数 36 ビット値 すべて 0 コンフィギュレーション後のポート出力の初期値を指定します。

INIT_00INIT_00INIT_00 ~~~ INIT_7FINIT_7FINIT_7F ::: 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_00 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_0A 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_0B 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_0C 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_0D 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_0E 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_0F 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_01 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_1A 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_1B 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_1C 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_1D 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_1E 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_1F 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_02 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_2A 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_2B 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 334UG974 (v2015.2) 2015 月 6 月 24 日

Page 335: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_2C 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_2D 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_2E 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_2F 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_03 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_3A 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_3B 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_3C 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_3D 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_3E 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_3F 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_04 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_4A 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_4B 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_4C 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_4D 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_4E 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_4F 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_05 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_5A 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_5B 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_5C 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 335UG974 (v2015.2) 2015 月 6 月 24 日

Page 336: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_5D 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_5E 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_5F 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_06 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_6A 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_6B 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_6C 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_6D 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_6E 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_6F 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_07 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_7A 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_7B 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_7C 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_7D 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_7E 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_7F 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_08 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_09 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_10 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_11 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_12 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 336UG974 (v2015.2) 2015 月 6 月 24 日

Page 337: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_13 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_14 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_15 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_16 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_17 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_18 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_19 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_20 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_21 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_22 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_23 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_24 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_25 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_26 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_27 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_28 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_29 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_30 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_31 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_32 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_33 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_34 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 337UG974 (v2015.2) 2015 月 6 月 24 日

Page 338: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_35 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_36 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_37 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_38 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_39 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_40 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_41 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_42 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_43 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_44 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_45 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_46 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_47 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_48 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_49 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_50 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_51 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_52 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_53 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_54 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_55 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_56 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 338UG974 (v2015.2) 2015 月 6 月 24 日

Page 339: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_57 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_58 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_59 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_60 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_61 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_62 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_63 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_64 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_65 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_66 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_67 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_68 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_69 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_70 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_71 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_72 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_73 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_74 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_75 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_76 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_77 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

INIT_78 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 339UG974 (v2015.2) 2015 月 6 月 24 日

Page 340: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_79 16 進数 256 ビット値 すべて 0 32Kb のデータ メモリ アレイの初期値を指定します。

初初初期期期化化化フフファァァイイイルルル ::: RAM の初期内容を記述するファイルの名前を指定します。

INIT_FILE 文字列 文字列 "NONE" RAM の初期内容を記述するファイルの名前を指定します。

INITP_00INITP_00INITP_00 ~~~ INITP_0FINITP_0FINITP_0F ::: 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_00 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_0A 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_0B 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_0C 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_0D 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_0E 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_0F 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_01 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_02 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_03 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_04 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_05 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_06 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_07 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_08 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

INITP_09 16 進数 256 ビット値 すべて 0 4Kb のパリティ データ メモリ アレイの初期値を指定します。

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLK または RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

UltraScale ライブラリ ガイド http://japan.xilinx.com 340UG974 (v2015.2) 2015 月 6 月 24 日

Page 341: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

IS_CLKARDCLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLKまたは RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_CLKBWRCLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLKまたは RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_ENARDEN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLKまたは RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

UltraScale ライブラリ ガイド http://japan.xilinx.com 341UG974 (v2015.2) 2015 月 6 月 24 日

Page 342: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

IS_ENBWREN_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLKまたは RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_RSTRAMARSTRAM_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLKまたは RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_RSTRAMB_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLKまたは RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

UltraScale ライブラリ ガイド http://japan.xilinx.com 342UG974 (v2015.2) 2015 月 6 月 24 日

Page 343: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

IS_RSTREGARSTREG_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLKまたは RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_RSTREGB_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLKまたは RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

RDADDRCHANGERDADDRCHANGERDADDRCHANGE ::: 読み出しアドレスの変更は、出力値が変更しないときにメモリへのアクセスを回避し、消費電力を削減します。この属性を "TRUE" に設定すると、この消費電力削減機能がイネーブルになります。"FALSE" に設定するとRAM へのセットアップ タイムが向上し、ブロック RAM のパフォーマンスが向上する可能性があります。

RDADDRCHANGEA 文字列 "FALSE"、"TRUE" "FALSE" ポート A の読み出しアドレスの変更機能を使用するかどうかを指定します。

RDADDRCHANGEB 文字列 "FALSE"、"TRUE" "FALSE" ポート B の読み出しアドレスの変更機能を使用するかどうかを指定します。

READ_WIDTH_A/BREAD_WIDTH_A/BREAD_WIDTH_A/B、、、WRITE_WIDTH_A/BWRITE_WIDTH_A/BWRITE_WIDTH_A/B ::: ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

READ_WIDTH_A 10 進数 0、1、2、4、9、18、36、72

0 ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

READ_WIDTH_B 10 進数 0、1、2、4、9、18、36 0 ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

UltraScale ライブラリ ガイド http://japan.xilinx.com 343UG974 (v2015.2) 2015 月 6 月 24 日

Page 344: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

WRITE_WIDTH_A 10 進数 0、1、2、4、9、18、36 0 ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

WRITE_WIDTH_B 10 進数 0、1、2、4、9、18、36、72

0 ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

RSTREG_PRIORITY_ARSTREG_PRIORITY_ARSTREG_PRIORITY_A、、、RSTREG_PRIORITY_BRSTREG_PRIORITY_BRSTREG_PRIORITY_B ::: RSTREG または REGCE のレジスタ優先順位を選択します。

RSTREG_PRIORITY_A

文字列 "RSTREG"、"REGCE" "RSTREG" RSTREG または REGCE のレジスタ優先順位を選択します。

RSTREG_PRIORITY_B

文字列 "RSTREG"、"REGCE" "RSTREG" RSTREG または REGCE のレジスタ優先順位を選択します。

SLEEPSLEEPSLEEP 非非非同同同期期期 ::: SLEEP ピンを CLKARDCLK ピンに同期させるか ("FALSE")、非同期にするかを指定します。

SLEEP_ASYNC 文字列 "FALSE"、"TRUE" "FALSE" SLEEP ピンを CLKARDCLK ピンに同期させるか ("FALSE")、非同期にするかを指定します。

SRVAL_ASRVAL_ASRVAL_A、、、SRVAL_BSRVAL_BSRVAL_B ::: 同期リセット信号 (RST/RSTREG) がアサートされたときの RAM の出力値を指定します。

SRVAL_A 16 進数 36 ビット値 すべて 0 同期リセット信号 (RST/RSTREG) がアサートされたときの RAM の出力値を指定します。

SRVAL_B 16 進数 36 ビット値 すべて 0 同期リセット信号 (RST/RSTREG) がアサートされたときの RAM の出力値を指定します。

書書書ききき込込込みみみモモモーーードドド ::: 書き込みが実行されるときの出力の動作を指定します。

• "WRITE_FIRST" : 書き込まれた値が出力ポートに出力されます。

• "READ_FIRST" : 書き込み前にそのメモリ ロケーションに格納されていた値が出力ポートに出力されます。また、この

モードに設定すると、両方のポートに同じクロックを使用する場合に、異なるポートから同じアドレスに対して読み

出しおよび書き込みが実行された際のアドレスの競合を回避できます。

• "NO_CHANGE" : 出力ポートの以前の値が保持されます。これが最も消費電力が低いモードです。

UltraScale ライブラリ ガイド http://japan.xilinx.com 344UG974 (v2015.2) 2015 月 6 月 24 日

Page 345: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

WRITE_MODE_A 文字列 "NO_CHANGE"、"READ_FIRST"、"WRITE_FIRST"

"NO_CHANGE" 書き込みが実行されるときの出力の動作を指定します。

• "WRITE_FIRST" : 書き込まれた値

が出力ポートに出力されます。

• "READ_FIRST" : 書き込み前にそ

のメモリ ロケーションに格納されて

いた値が出力ポートに出力されま

す。また、このモードに設定すると、

両方のポートに同じクロックを使用

する場合に、異なるポートから同じ

アドレスに対して読み出しおよび書

き込みが実行された際のアドレスの

競合を回避できます。

• "NO_CHANGE" : 出力ポートの以

前の値が保持されます。これが最

も消費電力が低いモードです。

WRITE_MODE_B 文字列 "NO_CHANGE"、"READ_FIRST"、"WRITE_FIRST"

"NO_CHANGE" 書き込みが実行されるときの出力の動作を指定します。

• "WRITE_FIRST" : 書き込まれた値

が出力ポートに出力されます。

• "READ_FIRST" : 書き込み前にそ

のメモリ ロケーションに格納されて

いた値が出力ポートに出力されま

す。また、このモードに設定すると、

両方のポートに同じクロックを使用

する場合に、異なるポートから同じ

アドレスに対して読み出しおよび書

き込みが実行された際のアドレスの

競合を回避できます。

• "NO_CHANGE" : 出力ポートの以

前の値が保持されます。これが最

も消費電力が低いモードです。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RAMB36E2: 36K-bit Configurable Synchronous Block RAM-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RAMB36E2_inst : RAMB36E2generic map (

-- CASCADE_ORDER_A, CASCADE_ORDER_B: "FIRST", "MIDDLE", "LAST", "NONE"

UltraScale ライブラリ ガイド http://japan.xilinx.com 345UG974 (v2015.2) 2015 月 6 月 24 日

Page 346: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

CASCADE_ORDER_A => "NONE",CASCADE_ORDER_B => "NONE",-- CLOCK_DOMAINS: "COMMON", "INDEPENDENT"CLOCK_DOMAINS => "INDEPENDENT",DOB_REG => 1,-- Collision check: "ALL", "GENERATE_X_ONLY", "NONE", "WARNING_ONLY"SIM_COLLISION_CHECK => "ALL",-- DOA_REG, DOB_REG: Optional output register (0, 1)DOA_REG => 1,-- ENADDRENA/ENADDRENB: Address enable pin enable, "TRUE", "FALSE"ENADDRENA => "FALSE",ENADDRENB => "FALSE",-- EN_ECC_PIPE: ECC pipeline register, "TRUE"/"FALSE"EN_ECC_PIPE => "FALSE",-- EN_ECC_READ: Enable ECC decoder, "TRUE"/"FALSE"EN_ECC_READ => "FALSE",-- EN_ECC_WRITE: Enable ECC encoder, "TRUE"/"FALSE"EN_ECC_WRITE => "FALSE",-- INITP_00 to INITP_0F: Initial contents of parity memory arrayINITP_00 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_01 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_02 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_03 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_04 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_05 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_06 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_07 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_08 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_09 => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_0A => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_0B => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_0C => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_0D => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_0E => X"0000000000000000000000000000000000000000000000000000000000000000",INITP_0F => X"0000000000000000000000000000000000000000000000000000000000000000",-- INIT_00 to INIT_7F: Initial contents of data memory arrayINIT_00 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_01 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_02 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_03 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_04 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_05 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_06 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_07 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_08 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_09 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_0F => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_10 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_11 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_12 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_13 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_14 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_15 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_16 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_17 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_18 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_19 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_1F => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_20 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_21 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_22 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_23 => X"0000000000000000000000000000000000000000000000000000000000000000",

UltraScale ライブラリ ガイド http://japan.xilinx.com 346UG974 (v2015.2) 2015 月 6 月 24 日

Page 347: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

INIT_24 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_25 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_26 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_27 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_28 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_29 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_2F => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_30 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_31 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_32 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_33 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_34 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_35 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_36 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_37 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_38 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_39 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_3F => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_40 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_41 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_42 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_43 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_44 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_45 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_46 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_47 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_48 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_49 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_4A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_4B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_4C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_4D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_4E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_4F => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_50 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_51 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_52 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_53 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_54 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_55 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_56 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_57 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_58 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_59 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_5A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_5B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_5C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_5D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_5E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_5F => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_60 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_61 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_62 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_63 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_64 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_65 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_66 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_67 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_68 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_69 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_6A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_6B => X"0000000000000000000000000000000000000000000000000000000000000000",

UltraScale ライブラリ ガイド http://japan.xilinx.com 347UG974 (v2015.2) 2015 月 6 月 24 日

Page 348: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

INIT_6C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_6D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_6E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_6F => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_70 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_71 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_72 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_73 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_74 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_75 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_76 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_77 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_78 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_79 => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_7A => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_7B => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_7C => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_7D => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_7E => X"0000000000000000000000000000000000000000000000000000000000000000",INIT_7F => X"0000000000000000000000000000000000000000000000000000000000000000",-- INIT_A, INIT_B: Initial values on output portsINIT_A => X"000000000",INIT_B => X"000000000",-- Initialization File: RAM initialization fileINIT_FILE => "NONE",-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversionIS_CLKARDCLK_INVERTED => ’0’,IS_CLKBWRCLK_INVERTED => ’0’,IS_ENARDEN_INVERTED => ’0’,IS_ENBWREN_INVERTED => ’0’,IS_RSTRAMARSTRAM_INVERTED => ’0’,IS_RSTRAMB_INVERTED => ’0’,IS_RSTREGARSTREG_INVERTED => ’0’,IS_RSTREGB_INVERTED => ’0’,-- RDADDRCHANGE: Disable memory access when output value does not change ("TRUE", "FALSE")RDADDRCHANGEA => "FALSE",RDADDRCHANGEB => "FALSE",-- READ_WIDTH_A/B, WRITE_WIDTH_A/B: Read/write width per portREAD_WIDTH_A => 0, -- 0-9READ_WIDTH_B => 0, -- 0-9WRITE_WIDTH_A => 0, -- 0-9WRITE_WIDTH_B => 0, -- 0-9-- RSTREG_PRIORITY_A, RSTREG_PRIORITY_B: Reset or enable priority ("RSTREG", "REGCE")RSTREG_PRIORITY_A => "RSTREG",RSTREG_PRIORITY_B => "RSTREG",-- SRVAL_A, SRVAL_B: Set/reset value for outputSRVAL_A => X"000000000",SRVAL_B => X"000000000",-- Sleep Async: Sleep function asynchronous or synchronous ("TRUE", "FALSE")SLEEP_ASYNC => "FALSE",-- WriteMode: "WRITE_FIRST", "NO_CHANGE", "READ_FIRST"WRITE_MODE_A => "NO_CHANGE",WRITE_MODE_B => "NO_CHANGE"

)port map (

-- Cascade Signals outputs: Multi-BRAM cascade signalsCASDOUTA => CASDOUTA, -- 32-bit output: Port A cascade output dataCASDOUTB => CASDOUTB, -- 32-bit output: Port B cascade output dataCASDOUTPA => CASDOUTPA, -- 4-bit output: Port A cascade output parity dataCASDOUTPB => CASDOUTPB, -- 4-bit output: Port B cascade output parity dataCASOUTDBITERR => CASOUTDBITERR, -- 1-bit output: DBITERR cascade outputCASOUTSBITERR => CASOUTSBITERR, -- 1-bit output: SBITERR cascade output-- ECC Signals outputs: Error Correction Circuitry portsDBITERR => DBITERR, -- 1-bit output: Double bit error statusECCPARITY => ECCPARITY, -- 8-bit output: Generated error correction parityRDADDRECC => RDADDRECC, -- 9-bit output: ECC Read AddressSBITERR => SBITERR, -- 1-bit output: Single bit error status-- Port A Data outputs: Port A dataDOUTADOUT => DOUTADOUT, -- 32-bit output: Port A ata/LSB dataDOUTPADOUTP => DOUTPADOUTP, -- 4-bit output: Port A parity/LSB parity-- Port B Data outputs: Port B dataDOUTBDOUT => DOUTBDOUT, -- 32-bit output: Port B data/MSB data

UltraScale ライブラリ ガイド http://japan.xilinx.com 348UG974 (v2015.2) 2015 月 6 月 24 日

Page 349: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

DOUTPBDOUTP => DOUTPBDOUTP, -- 4-bit output: Port B parity/MSB parity-- Cascade Signals inputs: Multi-BRAM cascade signalsCASDIMUXA => CASDIMUXA, -- 1-bit input: Port A input data (0=DINA, 1=CASDINA)CASDIMUXB => CASDIMUXB, -- 1-bit input: Port B input data (0=DINB, 1=CASDINB)CASDINA => CASDINA, -- 32-bit input: Port A cascade input dataCASDINB => CASDINB, -- 32-bit input: Port B cascade input dataCASDINPA => CASDINPA, -- 4-bit input: Port A cascade input parity dataCASDINPB => CASDINPB, -- 4-bit input: Port B cascade input parity dataCASDOMUXA => CASDOMUXA, -- 1-bit input: Port A unregistered data (0=BRAM data, 1=CASDINA)CASDOMUXB => CASDOMUXB, -- 1-bit input: Port B unregistered data (0=BRAM data, 1=CASDINB)CASDOMUXEN_A => CASDOMUXEN_A, -- 1-bit input: Port A unregistered output data enableCASDOMUXEN_B => CASDOMUXEN_B, -- 1-bit input: Port B unregistered output data enableCASINDBITERR => CASINDBITERR, -- 1-bit input: DBITERR cascade inputCASINSBITERR => CASINSBITERR, -- 1-bit input: SBITERR cascade inputCASOREGIMUXA => CASOREGIMUXA, -- 1-bit input: Port A registered data (0=BRAM data, 1=CASDINA)CASOREGIMUXB => CASOREGIMUXB, -- 1-bit input: Port B registered data (0=BRAM data, 1=CASDINB)CASOREGIMUXEN_A => CASOREGIMUXEN_A, -- 1-bit input: Port A registered output data enableCASOREGIMUXEN_B => CASOREGIMUXEN_B, -- 1-bit input: Port B registered output data enable-- ECC Signals inputs: Error Correction Circuitry portsECCPIPECE => ECCPIPECE, -- 1-bit input: ECC Pipeline Register EnableINJECTDBITERR => INJECTDBITERR, -- 1-bit input: Inject a double bit errorINJECTSBITERR => INJECTSBITERR,-- Port A Address/Control Signals inputs: Port A address and control signalsADDRARDADDR => ADDRARDADDR, -- 15-bit input: A/Read port addressADDRENA => ADDRENA, -- 1-bit input: Active-High A/Read port address enableCLKARDCLK => CLKARDCLK, -- 1-bit input: A/Read port clockENARDEN => ENARDEN, -- 1-bit input: Port A enable/Read enableREGCEAREGCE => REGCEAREGCE, -- 1-bit input: Port A register enable/Register enableRSTRAMARSTRAM => RSTRAMARSTRAM, -- 1-bit input: Port A set/resetRSTREGARSTREG => RSTREGARSTREG, -- 1-bit input: Port A register set/resetSLEEP => SLEEP, -- 1-bit input: Sleep ModeWEA => WEA, -- 4-bit input: Port A write enable-- Port A Data inputs: Port A dataDINADIN => DINADIN, -- 32-bit input: Port A data/LSB dataDINPADINP => DINPADINP, -- 4-bit input: Port A parity/LSB parity-- Port B Address/Control Signals inputs: Port B address and control signalsADDRBWRADDR => ADDRBWRADDR, -- 15-bit input: B/Write port addressADDRENB => ADDRENB, -- 1-bit input: Active-High B/Write port address enableCLKBWRCLK => CLKBWRCLK, -- 1-bit input: B/Write port clockENBWREN => ENBWREN, -- 1-bit input: Port B enable/Write enableREGCEB => REGCEB, -- 1-bit input: Port B register enableRSTRAMB => RSTRAMB, -- 1-bit input: Port B set/resetRSTREGB => RSTREGB, -- 1-bit input: Port B register set/resetWEBWE => WEBWE, -- 8-bit input: Port B write enable/Write enable-- Port B Data inputs: Port B dataDINBDIN => DINBDIN, -- 32-bit input: Port B data/MSB dataDINPBDINP => DINPBDINP -- 4-bit input: Port B parity/MSB parity

);

-- End of RAMB36E2_inst instantiation

Verilog 記述 (インスタンシエーション)

// RAMB36E2: 36K-bit Configurable Synchronous Block RAM// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RAMB36E2 #(// CASCADE_ORDER_A, CASCADE_ORDER_B: "FIRST", "MIDDLE", "LAST", "NONE".CASCADE_ORDER_A("NONE"),.CASCADE_ORDER_B("NONE"),// CLOCK_DOMAINS: "COMMON", "INDEPENDENT".CLOCK_DOMAINS("INDEPENDENT"),.DOB_REG(1),// Collision check: "ALL", "GENERATE_X_ONLY", "NONE", "WARNING_ONLY".SIM_COLLISION_CHECK("ALL"),// DOA_REG, DOB_REG: Optional output register (0, 1).DOA_REG(1),// ENADDRENA/ENADDRENB: Address enable pin enable, "TRUE", "FALSE".ENADDRENA("FALSE"),

UltraScale ライブラリ ガイド http://japan.xilinx.com 349UG974 (v2015.2) 2015 月 6 月 24 日

Page 350: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.ENADDRENB("FALSE"),// EN_ECC_PIPE: ECC pipeline register, "TRUE"/"FALSE".EN_ECC_PIPE("FALSE"),// EN_ECC_READ: Enable ECC decoder, "TRUE"/"FALSE".EN_ECC_READ("FALSE"),// EN_ECC_WRITE: Enable ECC encoder, "TRUE"/"FALSE".EN_ECC_WRITE("FALSE"),// INITP_00 to INITP_0F: Initial contents of parity memory array.INITP_00(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_01(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_02(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_03(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_04(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_05(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_06(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_07(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_08(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_09(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_0A(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_0B(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_0C(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_0D(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_0E(256’h0000000000000000000000000000000000000000000000000000000000000000),.INITP_0F(256’h0000000000000000000000000000000000000000000000000000000000000000),// INIT_00 to INIT_7F: Initial contents of data memory array.INIT_00(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_01(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_02(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_03(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_04(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_05(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_06(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_07(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_08(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_09(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0A(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0B(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0C(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0D(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0E(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_0F(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_10(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_11(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_12(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_13(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_14(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_15(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_16(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_17(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_18(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_19(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1A(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1B(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1C(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1D(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1E(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_1F(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_20(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_21(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_22(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_23(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_24(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_25(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_26(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_27(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_28(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_29(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_2A(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_2B(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_2C(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_2D(256’h0000000000000000000000000000000000000000000000000000000000000000),.INIT_2E(256’h0000000000000000000000000000000000000000000000000000000000000000),

UltraScale ライブラリ ガイド http://japan.xilinx.com 350UG974 (v2015.2) 2015 月 6 月 24 日

Page 351: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.INIT_2F(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_30(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_31(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_32(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_33(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_34(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_35(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_36(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_37(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_38(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_39(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3A(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3B(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3C(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3D(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3E(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_3F(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_40(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_41(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_42(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_43(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_44(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_45(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_46(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_47(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_48(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_49(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_4A(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_4B(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_4C(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_4D(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_4E(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_4F(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_50(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_51(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_52(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_53(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_54(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_55(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_56(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_57(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_58(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_59(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_5A(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_5B(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_5C(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_5D(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_5E(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_5F(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_60(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_61(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_62(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_63(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_64(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_65(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_66(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_67(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_68(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_69(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_6A(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_6B(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_6C(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_6D(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_6E(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_6F(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_70(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_71(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_72(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_73(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_74(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_75(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_76(256’h0000000000000000000000000000000000000000000000000000000000000000),

UltraScale ライブラリ ガイド http://japan.xilinx.com 351UG974 (v2015.2) 2015 月 6 月 24 日

Page 352: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.INIT_77(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_78(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_79(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_7A(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_7B(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_7C(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_7D(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_7E(256’h0000000000000000000000000000000000000000000000000000000000000000),

.INIT_7F(256’h0000000000000000000000000000000000000000000000000000000000000000),// INIT_A, INIT_B: Initial values on output ports.INIT_A(36’h000000000),.INIT_B(36’h000000000),// Initialization File: RAM initialization file.INIT_FILE("NONE"),// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion.IS_CLKARDCLK_INVERTED(1’b0),.IS_CLKBWRCLK_INVERTED(1’b0),.IS_ENARDEN_INVERTED(1’b0),.IS_ENBWREN_INVERTED(1’b0),.IS_RSTRAMARSTRAM_INVERTED(1’b0),.IS_RSTRAMB_INVERTED(1’b0),.IS_RSTREGARSTREG_INVERTED(1’b0),.IS_RSTREGB_INVERTED(1’b0),// RDADDRCHANGE: Disable memory access when output value does not change ("TRUE", "FALSE").RDADDRCHANGEA("FALSE"),.RDADDRCHANGEB("FALSE"),// READ_WIDTH_A/B, WRITE_WIDTH_A/B: Read/write width per port.READ_WIDTH_A(0), // 0-9.READ_WIDTH_B(0), // 0-9.WRITE_WIDTH_A(0), // 0-9.WRITE_WIDTH_B(0), // 0-9// RSTREG_PRIORITY_A, RSTREG_PRIORITY_B: Reset or enable priority ("RSTREG", "REGCE").RSTREG_PRIORITY_A("RSTREG"),.RSTREG_PRIORITY_B("RSTREG"),// SRVAL_A, SRVAL_B: Set/reset value for output.SRVAL_A(36’h000000000),.SRVAL_B(36’h000000000),// Sleep Async: Sleep function asynchronous or synchronous ("TRUE", "FALSE").SLEEP_ASYNC("FALSE"),// WriteMode: "WRITE_FIRST", "NO_CHANGE", "READ_FIRST".WRITE_MODE_A("NO_CHANGE"),.WRITE_MODE_B("NO_CHANGE")

)RAMB36E2_inst (

// Cascade Signals outputs: Multi-BRAM cascade signals.CASDOUTA(CASDOUTA), // 32-bit output: Port A cascade output data.CASDOUTB(CASDOUTB), // 32-bit output: Port B cascade output data.CASDOUTPA(CASDOUTPA), // 4-bit output: Port A cascade output parity data.CASDOUTPB(CASDOUTPB), // 4-bit output: Port B cascade output parity data.CASOUTDBITERR(CASOUTDBITERR), // 1-bit output: DBITERR cascade output.CASOUTSBITERR(CASOUTSBITERR), // 1-bit output: SBITERR cascade output// ECC Signals outputs: Error Correction Circuitry ports.DBITERR(DBITERR), // 1-bit output: Double bit error status.ECCPARITY(ECCPARITY), // 8-bit output: Generated error correction parity.RDADDRECC(RDADDRECC), // 9-bit output: ECC Read Address.SBITERR(SBITERR), // 1-bit output: Single bit error status// Port A Data outputs: Port A data.DOUTADOUT(DOUTADOUT), // 32-bit output: Port A ata/LSB data.DOUTPADOUTP(DOUTPADOUTP), // 4-bit output: Port A parity/LSB parity// Port B Data outputs: Port B data.DOUTBDOUT(DOUTBDOUT), // 32-bit output: Port B data/MSB data.DOUTPBDOUTP(DOUTPBDOUTP), // 4-bit output: Port B parity/MSB parity// Cascade Signals inputs: Multi-BRAM cascade signals.CASDIMUXA(CASDIMUXA), // 1-bit input: Port A input data (0=DINA, 1=CASDINA).CASDIMUXB(CASDIMUXB), // 1-bit input: Port B input data (0=DINB, 1=CASDINB).CASDINA(CASDINA), // 32-bit input: Port A cascade input data.CASDINB(CASDINB), // 32-bit input: Port B cascade input data.CASDINPA(CASDINPA), // 4-bit input: Port A cascade input parity data.CASDINPB(CASDINPB), // 4-bit input: Port B cascade input parity data.CASDOMUXA(CASDOMUXA), // 1-bit input: Port A unregistered data (0=BRAM data, 1=CASDINA).CASDOMUXB(CASDOMUXB), // 1-bit input: Port B unregistered data (0=BRAM data, 1=CASDINB).CASDOMUXEN_A(CASDOMUXEN_A), // 1-bit input: Port A unregistered output data enable

UltraScale ライブラリ ガイド http://japan.xilinx.com 352UG974 (v2015.2) 2015 月 6 月 24 日

Page 353: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.CASDOMUXEN_B(CASDOMUXEN_B), // 1-bit input: Port B unregistered output data enable

.CASINDBITERR(CASINDBITERR), // 1-bit input: DBITERR cascade input

.CASINSBITERR(CASINSBITERR), // 1-bit input: SBITERR cascade input

.CASOREGIMUXA(CASOREGIMUXA), // 1-bit input: Port A registered data (0=BRAM data, 1=CASDINA)

.CASOREGIMUXB(CASOREGIMUXB), // 1-bit input: Port B registered data (0=BRAM data, 1=CASDINB)

.CASOREGIMUXEN_A(CASOREGIMUXEN_A), // 1-bit input: Port A registered output data enable

.CASOREGIMUXEN_B(CASOREGIMUXEN_B), // 1-bit input: Port B registered output data enable// ECC Signals inputs: Error Correction Circuitry ports.ECCPIPECE(ECCPIPECE), // 1-bit input: ECC Pipeline Register Enable.INJECTDBITERR(INJECTDBITERR), // 1-bit input: Inject a double bit error.INJECTSBITERR(INJECTSBITERR),// Port A Address/Control Signals inputs: Port A address and control signals.ADDRARDADDR(ADDRARDADDR), // 15-bit input: A/Read port address.ADDRENA(ADDRENA), // 1-bit input: Active-High A/Read port address enable.CLKARDCLK(CLKARDCLK), // 1-bit input: A/Read port clock.ENARDEN(ENARDEN), // 1-bit input: Port A enable/Read enable.REGCEAREGCE(REGCEAREGCE), // 1-bit input: Port A register enable/Register enable.RSTRAMARSTRAM(RSTRAMARSTRAM), // 1-bit input: Port A set/reset.RSTREGARSTREG(RSTREGARSTREG), // 1-bit input: Port A register set/reset.SLEEP(SLEEP), // 1-bit input: Sleep Mode.WEA(WEA), // 4-bit input: Port A write enable// Port A Data inputs: Port A data.DINADIN(DINADIN), // 32-bit input: Port A data/LSB data.DINPADINP(DINPADINP), // 4-bit input: Port A parity/LSB parity// Port B Address/Control Signals inputs: Port B address and control signals.ADDRBWRADDR(ADDRBWRADDR), // 15-bit input: B/Write port address.ADDRENB(ADDRENB), // 1-bit input: Active-High B/Write port address enable.CLKBWRCLK(CLKBWRCLK), // 1-bit input: B/Write port clock.ENBWREN(ENBWREN), // 1-bit input: Port B enable/Write enable.REGCEB(REGCEB), // 1-bit input: Port B register enable.RSTRAMB(RSTRAMB), // 1-bit input: Port B set/reset.RSTREGB(RSTREGB), // 1-bit input: Port B register set/reset.WEBWE(WEBWE), // 8-bit input: Port B write enable/Write enable// Port B Data inputs: Port B data.DINBDIN(DINBDIN), // 32-bit input: Port B data/MSB data.DINPBDINP(DINPBDINP) // 4-bit input: Port B parity/MSB parity

);

// End of RAMB36E2_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 353UG974 (v2015.2) 2015 月 6 月 24 日

Page 354: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RIU_OR

プリミティブ : Register Interface Unit Selection Block

プリミティブ グループ : I/Oプリミティブ サブグループ : BITSLICE

概要

RIU_OR は、バイト内の上位と下位のニブル BITSLICE_CONTROL 間におけるレジスタ インターフェイス ユニットの選

択を制御します。

ポートの説明

ポート名 方向 幅 機能

RIU_RD_DATA<15:0> 出力 16 コントローラーへの RIU データ バス

RIU_RD_DATA_LOW<15:0> 入力 16 コントローラーから下位ニブル BITSLICE_CONTROL へのRIU データ バス

RIU_RD_DATA_UPP<15:0> 入力 16 コントローラーから上位ニブル BITSLICE_CONTROL へのRIU データ バス

RIU_RD_VALID 出力 1 コントローラーへの結合された RIU 読み出し Valid 信号

RIU_RD_VALID_LOW 入力 1 下位ニブル BITSLICE_CONTROL の RIU_VALID

RIU_RD_VALID_UPP 入力 1 上位ニブル BITSLICE_CONTROL の RIU_VALID

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

UltraScale ライブラリ ガイド http://japan.xilinx.com 354UG974 (v2015.2) 2015 月 6 月 24 日

Page 355: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RIU_OR: Register Interface Unit Selection Block-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RIU_OR_inst : RIU_ORport map (

RIU_RD_DATA => RIU_RD_DATA, -- 16-bit output: RIU data bus to the controllerRIU_RD_VALID => RIU_RD_VALID, -- 1-bit output: Combined RIU read valid signal to the controllerRIU_RD_DATA_LOW => RIU_RD_DATA_LOW, -- 16-bit input: RIU data bus from the controller to the lower

-- nibble BITSLICE_CONTROL

RIU_RD_DATA_UPP => RIU_RD_DATA_UPP, -- 16-bit input: RIU data bus from the controller to the upper-- nibble BITSLICE_CONTROL

RIU_RD_VALID_LOW => RIU_RD_VALID_LOW, -- 1-bit input: RIU_VALID of the lower nibble BITSLICE_CONTROLRIU_RD_VALID_UPP => RIU_RD_VALID_UPP -- 1-bit input: RIU_VALID of the upper nibble BITSLICE_CONTROL

);

-- End of RIU_OR_inst instantiation

Verilog 記述 (インスタンシエーション)

// RIU_OR: Register Interface Unit Selection Block// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RIU_OR RIU_OR_inst (.RIU_RD_DATA(RIU_RD_DATA), // 16-bit output: RIU data bus to the controller.RIU_RD_VALID(RIU_RD_VALID), // 1-bit output: Combined RIU read valid signal to the controller.RIU_RD_DATA_LOW(RIU_RD_DATA_LOW), // 16-bit input: RIU data bus from the controller to the lower

// nibble BITSLICE_CONTROL

.RIU_RD_DATA_UPP(RIU_RD_DATA_UPP), // 16-bit input: RIU data bus from the controller to the upper// nibble BITSLICE_CONTROL

.RIU_RD_VALID_LOW(RIU_RD_VALID_LOW), // 1-bit input: RIU_VALID of the lower nibble BITSLICE_CONTROL

.RIU_RD_VALID_UPP(RIU_RD_VALID_UPP) // 1-bit input: RIU_VALID of the upper nibble BITSLICE_CONTROL);

// End of RIU_OR_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 355UG974 (v2015.2) 2015 月 6 月 24 日

Page 356: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RX_BITSLICE

プリミティブ : RX_BITSLICE for input using Native Mode

プリミティブ グループ : I/Oプリミティブ サブグループ : BITSLICE

概要

ネイティブ モードの RX_BITSLICE には、デシリアライザー ロジックと、VT の変動に応じて継続的に調整可能な 512 タップ

入力遅延 (IDELAY) が含まれます。RX_BITSLICE には、1:4 または 1:8 デシリアライザーをインプリメントするデシリアライ

ゼーション ロジックと、別のクロック ドメインに接続可能な浅い FIFO が含まれます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 356UG974 (v2015.2) 2015 月 6 月 24 日

Page 357: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

CE 入力 1 RX_BITSLICE IDELAY レジスタ クロックのクロック イネーブル

CE_EXT 入力 1 IDELAY レジスタ クロックのオプションの拡張 (カスケード遅延) クロック イネーブル

CLK 入力 1 LOAD、CE、INC のサンプリングに使用されるクロック

CLK_EXT 入力 1 LOAD、CE、INC のサンプリングに使用されるオプションの拡張(カスケード遅延) 遅延クロック

CNTVALUEIN<8:0> 入力 9 タップ値を動的に読み込むための内部デバイス ロジックからのカウンター値

CNTVALUEIN_EXT<8:0> 入力 9 タップ値を動的に読み込むための内部デバイス ロジックからのオプションの拡張 (カスケード遅延) カウンター値

CNTVALUEOUT<8:0> 出力 9 タップ値モニター用に内部デバイス ロジックに送信されるカウンター値

CNTVALUEOUT_EXT<8:0> 出力 9 タップ値モニター用に内部デバイス ロジックに送信されるオプションの拡張 (カスケード遅延) カウンター値

DATAIN 入力 1 IBUF からの入力信号

EN_VTC 入力 1 High の場合、VT が変動した場合に遅延が一定に保たれるようにする IDELAYCTRL がイネーブルになります。Low の場合、VT 変動の補正はディスエーブルになります。

EN_VTC_EXT 入力 1 High の場合、VT が変動した場合にカスケード遅延が一定に保たれるようにする IDELAYCTRL がイネーブルになります。Lowの場合、VT 変動の補正はディスエーブルになります。

FIFO_EMPTY 出力 1 FIFO が空であることを示すフラグ

FIFO_RD_CLK 入力 1 FIFO 読み出しクロック

FIFO_RD_EN 入力 1 FIFO 読み出しイネーブル

INC 入力 1 タップ遅延設定をインクリメントします。

INC_EXT 入力 1 遅延タップ設定のオプションの拡張 (カスケード遅延) インクリメント

LOAD 入力 1 CNTVALUEIN タップ設定を読み込みます。

LOAD_EXT 入力 1 CNTVALUEIN_EXT タップ設定のオプションの拡張 (カスケード遅延) 読み込み

Q<7:0> 出力 8 FIFO からのレジスタ付き出力データ

RST 入力 1 RX_BITSLICE ISERDES の非同期アサート、同期ディアサート

RST_DLY 入力 1 DELAY_VALUE への内部遅延値をリセットします。

RST_DLY_EXT 入力 1 DELAY_VALUE_EXT への遅延のオプションの拡張 (カスケード遅延) リセット

RX_BIT_CTRL_IN<39:0> 入力 40 BITSLICE_CONTROL からの入力バス

RX_BIT_CTRL_OUT<39:0> 出力 40 BITSLICE_CONTROL への出力バス

TX_BIT_CTRL_IN<39:0> 入力 40 BITSLICE_CONTROL からの入力バス

TX_BIT_CTRL_OUT<39:0> 出力 40 BITSLICE_CONTROL への出力バス

UltraScale ライブラリ ガイド http://japan.xilinx.com 357UG974 (v2015.2) 2015 月 6 月 24 日

Page 358: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

CASCADE 文字列 "FALSE"、"TRUE" "FALSE" • "TRUE" : IDELAY および ODELAY ライ

ンをカスケード接続し、最大 2.5ns の遅

延を使用できるようにします。拡張遅延

は _EXT ピンにより制御されます。

• "FALSE" : 最大遅延が 1.25ns の

IDELAY 遅延ラインのみを使用します。

DATA_TYPE 文字列 "DATA"、"CLOCK"、"DATA_AND_CLOCK"、"SERIAL"

"DATA" 入力ピンにクロック信号、データ信号、データとしても使用されるクロック信号のいずれが入力されるかを指定します。

DATA_WIDTH 10 進数 8、4 8 シリアル/パラレル コンバーターの幅を指定します。有効なデータ幅は 4 ~ 8 です。

DELAY_FORMAT 文字列 "TIME"、"COUNT" "TIME" RX_BITSLICE IDELAY の DELAY_VALUEの単位を設定します。DELAY_TYPE が"FIXED" の場合は "TIME" に設定し、"VARIABLE" または "VAR_LOAD" の場合は "COUNT" に設定します。

• "TIME" : RX_BITSLICE IDELAY の

DELAY_VALUE の値を ps で指定しま

す。

• "COUNT" : RX_BITSLICE IDELAY の

DELAY_VALUE の値をタップ数で指定

します。

DELAY_TYPE 文字列 "FIXED"、"VAR_LOAD"、"VARIABLE"

"FIXED" タップ遅延ラインのタイプを設定します。

• "FIXED" : スタティック遅延値に設定し

ます。

• "VARIABLE" : 遅延値を動的に調整 (イ

ンクリメントまたはディクリメント) します。

• "VAR_LOAD" : タップ値を動的に読み

込みます。

DELAY_VALUE 10 進数 0 ~ 1250 0 DELAY_TYPE を "FIXED" に設定している場合は、固定遅延を ps で指定します。DELAY_TYPE を "VARIABLE" または"VAR_LOAD" に設定している場合は、リセット時の値を指定します。

DELAY_VALUE_EXT 10 進数 0 ~ 1250 0 拡張入力遅延値を ps で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 358UG974 (v2015.2) 2015 月 6 月 24 日

Page 359: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

FIFO_SYNC_MODE 文字列 "FALSE"、"TRUE" "FALSE" FIFO 書き込みクロックと FIFO 読み出しクロックはが同じソースから供給されるかどうかを指定します。

• "TRUE" : FIFO 書き込みクロックと FIFO

読み出しクロックはは同じソースから供

給されます。

• "FALSE" : FIFO 書き込みクロックと

FIFO 読み出しクロックは同じソースか

ら供給されません。

IS_CLK_EXT_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLK_EXT クロック ピンをアクティブ High にするかアクティブ Low にするかを指定します。

IS_CLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 CLK クロック ピンをアクティブ High にするかアクティブ Low にするかを指定します。

IS_RST_DLY_EXT_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RST_DLY_EXT リセット ピンをアクティブ Highにするかアクティブ Low にするかを指定します。

IS_RST_DLY_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RST_DLY リセット ピンをアクティブ High にするかアクティブ Low にするかを指定します。

IS_RST_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 RST リセット ピンをアクティブ High にするかアクティブ Low にするかを指定します。

REFCLK_FREQUENCY

1 上位ビット浮動小数点

200.0 ~ 2400.0 300.0 基準クロックの周波数を MHz で指定します。

UPDATE_MODE 文字列 "ASYNC"、"MANUAL"、"SYNC"

"ASYNC" • "ASYNC" : 受信されるデータとは独立し

て遅延値がインクリメントまたはディクリメ

ントされます。

• "SYNC" : 遅延はデータ入力のエッジに

同期してアップデートされます。

• "MANUAL" : LOAD および

CNTVALUEIN 信号を使用して新

しい CNTVALUE を読み込んだ後、

LOAD および CE の両方をアサートした

ときに、遅延値がアップデートされます。

UPDATE_MODE_EXT 文字列 "ASYNC"、"MANUAL"、"SYNC"

"ASYNC" • "ASYNC" : 受信されるデータとは独立し

て遅延値がインクリメントまたはディクリメ

ントされます。

• "SYNC" : 遅延はデータ入力のエッジに

同期してアップデートされます。

• "MANUAL" : LOAD および

CNTVALUEIN 信号を使用して新

しい CNTVALUE を読み込んだ後、

LOAD および CE の両方をアサートした

ときに、遅延値がアップデートされます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 359UG974 (v2015.2) 2015 月 6 月 24 日

Page 360: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- RX_BITSLICE: RX_BITSLICE for input using Native Mode-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RX_BITSLICE_inst : RX_BITSLICEgeneric map (

CASCADE => "FALSE", -- Enables cascading of IDELAY and ODELAY linesDATA_TYPE => "DATA", -- Defines what the input pin is carrying (CLOCK, DATA, DATA_AND_CLOCK,

-- SERIAL)DATA_WIDTH => 8, -- Defines the width of the serial-to-parallel converter (4-8)DELAY_FORMAT => "TIME", -- Units of the DELAY_VALUE (COUNT, TIME)DELAY_TYPE => "FIXED", -- Set the type of tap delay line (FIXED, VARIABLE, VAR_LOAD)DELAY_VALUE => 0, -- Input delay value setting in psDELAY_VALUE_EXT => 0, -- Value of the extended input delay value in psFIFO_SYNC_MODE => "FALSE", -- Internal write clock and FIFO_RD_CLK are coming from a common sourceIS_CLK_EXT_INVERTED => ’0’, -- Optional inversion for CLK_EXTIS_CLK_INVERTED => ’0’, -- Optional inversion for CLKIS_RST_DLY_EXT_INVERTED => ’0’, -- Optional inversion for RST_DLY_EXTIS_RST_DLY_INVERTED => ’0’, -- Optional inversion for RST_DLYIS_RST_INVERTED => ’0’, -- Optional inversion for RSTREFCLK_FREQUENCY => 300.0, -- Specification of the reference clock frequency in MHz (200.0-2400.0)UPDATE_MODE => "ASYNC", -- Determines when updates to the delay will take effect (ASYNC, MANUAL,

-- SYNC)UPDATE_MODE_EXT => "ASYNC" -- Determines when updates to the extended input delay will take effect

-- (ASYNC, MANUAL, SYNC))port map (

CNTVALUEOUT => CNTVALUEOUT, -- 9-bit output: Counter value to device logicCNTVALUEOUT_EXT => CNTVALUEOUT_EXT, -- 9-bit output: Optional extended (cascaded delay) counter value

-- going to the device logic

FIFO_EMPTY => FIFO_EMPTY, -- 1-bit output: FIFO empty flagQ => Q, -- 8-bit output: Registered output data from FIFORX_BIT_CTRL_OUT => RX_BIT_CTRL_OUT, -- 40-bit output: Output bus to BITSLICE_CONTROLTX_BIT_CTRL_OUT => TX_BIT_CTRL_OUT, -- 40-bit output: Output bus to BITSLICE_CONTROLCE => CE, -- 1-bit input: Clock enable for IDELAYCE_EXT => CE_EXT, -- 1-bit input: Optional extended (cascaded delay) clock enableCLK => CLK, -- 1-bit input: Clock used to sample LOAD, CE, INCCLK_EXT => CLK_EXT, -- 1-bit input: Optional extended (cascaded delay) clockCNTVALUEIN => CNTVALUEIN, -- 9-bit input: Counter value from device logicCNTVALUEIN_EXT => CNTVALUEIN_EXT, -- 9-bit input: Optional extended (cascaded delay) counter value from

-- device logic

DATAIN => DATAIN, -- 1-bit input: Input signal from IBUFEN_VTC => EN_VTC, -- 1-bit input: Enable IDELAYCTRL to keep stable delay over VTEN_VTC_EXT => EN_VTC_EXT, -- 1-bit input: Optional extended (cascaded delay) to keep stable

-- delay over VT

FIFO_RD_CLK => FIFO_RD_CLK, -- 1-bit input: FIFO read clockFIFO_RD_EN => FIFO_RD_EN, -- 1-bit input: FIFO read enableINC => INC, -- 1-bit input: Increment the current delay tap settingINC_EXT => INC_EXT, -- 1-bit input: Optional extended (cascaded delay) increments the

-- current delay tap setting

LOAD => LOAD, -- 1-bit input: Load the CNTVALUEIN tap settingLOAD_EXT => LOAD_EXT, -- 1-bit input: Optional extended (cascaded delay) load the

-- CNTVALUEIN_EXT tap setting

RST => RST, -- 1-bit input: Asynchronous assert, synchronous deassert for-- RX_BITSLICE ISERDES

RST_DLY => RST_DLY, -- 1-bit input: Reset the internal DELAY value to DELAY_VALUERST_DLY_EXT => RST_DLY_EXT, -- 1-bit input: Optional extended (cascaded delay) reset delay to

UltraScale ライブラリ ガイド http://japan.xilinx.com 360UG974 (v2015.2) 2015 月 6 月 24 日

Page 361: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

-- DELAY_VALUE_EXT

RX_BIT_CTRL_IN => RX_BIT_CTRL_IN, -- 40-bit input: Input bus from BITSLICE_CONTROLTX_BIT_CTRL_IN => TX_BIT_CTRL_IN -- 40-bit input: Input bus from BITSLICE_CONTROL

);

-- End of RX_BITSLICE_inst instantiation

Verilog 記述 (インスタンシエーション)

// RX_BITSLICE: RX_BITSLICE for input using Native Mode// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RX_BITSLICE #(.CASCADE("FALSE"), // Enables cascading of IDELAY and ODELAY lines.DATA_TYPE("DATA"), // Defines what the input pin is carrying (CLOCK, DATA, DATA_AND_CLOCK,

// SERIAL).DATA_WIDTH(8), // Defines the width of the serial-to-parallel converter (4-8).DELAY_FORMAT("TIME"), // Units of the DELAY_VALUE (COUNT, TIME).DELAY_TYPE("FIXED"), // Set the type of tap delay line (FIXED, VARIABLE, VAR_LOAD).DELAY_VALUE(0), // Input delay value setting in ps.DELAY_VALUE_EXT(0), // Value of the extended input delay value in ps.FIFO_SYNC_MODE("FALSE"), // Internal write clock and FIFO_RD_CLK are coming from a common source.IS_CLK_EXT_INVERTED(1’b0), // Optional inversion for CLK_EXT.IS_CLK_INVERTED(1’b0), // Optional inversion for CLK.IS_RST_DLY_EXT_INVERTED(1’b0), // Optional inversion for RST_DLY_EXT.IS_RST_DLY_INVERTED(1’b0), // Optional inversion for RST_DLY.IS_RST_INVERTED(1’b0), // Optional inversion for RST.REFCLK_FREQUENCY(300.0), // Specification of the reference clock frequency in MHz (200.0-2400.0).UPDATE_MODE("ASYNC"), // Determines when updates to the delay will take effect (ASYNC, MANUAL,

// SYNC).UPDATE_MODE_EXT("ASYNC") // Determines when updates to the extended input delay will take effect

// (ASYNC, MANUAL, SYNC))RX_BITSLICE_inst (

.CNTVALUEOUT(CNTVALUEOUT), // 9-bit output: Counter value to device logic

.CNTVALUEOUT_EXT(CNTVALUEOUT_EXT), // 9-bit output: Optional extended (cascaded delay) counter value// going to the device logic

.FIFO_EMPTY(FIFO_EMPTY), // 1-bit output: FIFO empty flag

.Q(Q), // 8-bit output: Registered output data from FIFO

.RX_BIT_CTRL_OUT(RX_BIT_CTRL_OUT), // 40-bit output: Output bus to BITSLICE_CONTROL

.TX_BIT_CTRL_OUT(TX_BIT_CTRL_OUT), // 40-bit output: Output bus to BITSLICE_CONTROL

.CE(CE), // 1-bit input: Clock enable for IDELAY

.CE_EXT(CE_EXT), // 1-bit input: Optional extended (cascaded delay) clock enable

.CLK(CLK), // 1-bit input: Clock used to sample LOAD, CE, INC

.CLK_EXT(CLK_EXT), // 1-bit input: Optional extended (cascaded delay) clock

.CNTVALUEIN(CNTVALUEIN), // 9-bit input: Counter value from device logic

.CNTVALUEIN_EXT(CNTVALUEIN_EXT), // 9-bit input: Optional extended (cascaded delay) counter value from// device logic

.DATAIN(DATAIN), // 1-bit input: Input signal from IBUF

.EN_VTC(EN_VTC), // 1-bit input: Enable IDELAYCTRL to keep stable delay over VT

.EN_VTC_EXT(EN_VTC_EXT), // 1-bit input: Optional extended (cascaded delay) to keep stable// delay over VT

.FIFO_RD_CLK(FIFO_RD_CLK), // 1-bit input: FIFO read clock

.FIFO_RD_EN(FIFO_RD_EN), // 1-bit input: FIFO read enable

.INC(INC), // 1-bit input: Increment the current delay tap setting

.INC_EXT(INC_EXT), // 1-bit input: Optional extended (cascaded delay) increments the// current delay tap setting

.LOAD(LOAD), // 1-bit input: Load the CNTVALUEIN tap setting

.LOAD_EXT(LOAD_EXT), // 1-bit input: Optional extended (cascaded delay) load the// CNTVALUEIN_EXT tap setting

.RST(RST), // 1-bit input: Asynchronous assert, synchronous deassert for// RX_BITSLICE ISERDES

UltraScale ライブラリ ガイド http://japan.xilinx.com 361UG974 (v2015.2) 2015 月 6 月 24 日

Page 362: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.RST_DLY(RST_DLY), // 1-bit input: Reset the internal DELAY value to DELAY_VALUE

.RST_DLY_EXT(RST_DLY_EXT), // 1-bit input: Optional extended (cascaded delay) reset delay to// DELAY_VALUE_EXT

.RX_BIT_CTRL_IN(RX_BIT_CTRL_IN), // 40-bit input: Input bus from BITSLICE_CONTROL

.TX_BIT_CTRL_IN(TX_BIT_CTRL_IN) // 40-bit input: Input bus from BITSLICE_CONTROL);

// End of RX_BITSLICE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 362UG974 (v2015.2) 2015 月 6 月 24 日

Page 363: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

RXTX_BITSLICE

プリミティブ : RXTX_BITSLICE for bidirectional I/O using Native Mode

プリミティブ グループ : I/Oプリミティブ サブグループ : BITSLICE

概要

ネイティブ モードでは、RXTX_BITSLICE は双方向 I/O の RX_BITSLICE と TX_BITSLICE の両方の機能を実行します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 363UG974 (v2015.2) 2015 月 6 月 24 日

Page 364: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

D<7:0> 入力 8 デバイス ロジックからのデータ

DATAIN 入力 1 IOBUF からの入力信号

FIFO_EMPTY 出力 1 FIFO が空であることを示すフラグ

FIFO_RD_CLK 入力 1 FIFO 読み出しクロック

FIFO_RD_EN 入力 1 FIFO 読み出しイネーブル

O 出力 1 出力バッファーに供給されるシリアライズされた出力

Q<7:0> 出力 8 FIFO からのレジスタ付き出力データ

RX_BIT_CTRL_IN<39:0> 入力 40 BITSLICE_CONTROL からの RX 入力バス

RX_BIT_CTRL_OUT<39:0> 出力 40 BITSLICE_CONTROL への RX 出力バス

RX_CE 入力 1 RXTX_BITSLICE IDELAY レジスタ クロックのクロック イネーブル

RX_CLK 入力 1 LOAD、CE、INC のサンプリングに使用される RX クロック

RX_CNTVALUEIN<8:0> 入力 9 タップ値を動的に読み込むための内部デバイス ロジックからのRX カウンター値

RX_CNTVALUEOUT<8:0> 出力 9 タップ値を動的に読み込むための内部デバイス ロジックからのRX カウンター値

RX_EN_VTC 入力 1 High の場合、VT が変動した場合に遅延が一定に保たれるようにする RX イネーブル。Low の場合、VT 変動の補正はディスエーブルになります。

RX_INC 入力 1 RX の遅延タップ設定をインクリメントします。

RX_LOAD 入力 1 RX の CNTVALUEIN タップ設定を読み込みます。

RX_RST 入力 1 RXTX_BITSLICE ISERDES の RX の非同期アサート、同期ディアサート

RX_RST_DLY 入力 1 RX の DELAY_VALUE への内部遅延値をリセットします。

T 入力 1 デバイス ロジックからのレガシ T バイト入力

T_OUT 出力 1 バイト グループのトライステート出力

TBYTE_IN 入力 1 TX_BITSLICE_TRI からのバイト グループ トライステート入力

TX_BIT_CTRL_IN<39:0> 入力 40 BITSLICE_CONTROL からの TX 入力バス

TX_BIT_CTRL_OUT<39:0> 出力 40 TX の BITSLICE_CONTROL への出力バス

TX_CE 入力 1 RXTX_BITSLICE ODELAY レジスタ クロックのクロック イネーブル

TX_CLK 入力 1 LOAD、CE、INC のサンプリングに使用される TX クロック

TX_CNTVALUEIN<8:0> 入力 9 タップ値を動的に読み込むための内部デバイス ロジックからのTX カウンター値

TX_CNTVALUEOUT<8:0> 出力 9 タップ値モニター用に内部デバイス ロジックに送信される TXカウンター値

TX_EN_VTC 入力 1 High の場合、VT が変動した場合に遅延が一定に保たれるようにする TX イネーブル。Low の場合、VT 変動の補正はディスエーブルになります。

TX_INC 入力 1 TX の遅延タップ設定をインクリメントします。

UltraScale ライブラリ ガイド http://japan.xilinx.com 364UG974 (v2015.2) 2015 月 6 月 24 日

Page 365: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

TX_LOAD 入力 1 TX の CNTVALUEIN タップ設定を読み込みます。

TX_RST 入力 1 RXTX_BITSLICE OSERDES の TX の非同期アサート、同期ディアサート

TX_RST_DLY 入力 1 TX の DELAY_VALUE への内部遅延値をリセットします。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

ENABLE_PRE_EMPHASIS

文字列 "FALSE"、"TRUE" "FALSE" IOB と共に使用して、プリエンファシスをイネーブルにします。

FIFO_SYNC_MODE 文字列 "FALSE"、"TRUE" "FALSE" FIFO 書き込みクロックと FIFO 読み出しクロックはが同じソースから供給されるかどうかを指定します。

• "TRUE" : FIFO 書き込みクロックと

FIFO 読み出しクロックはは同じソース

から供給されます。

• "FALSE" : FIFO 書き込みクロックと

FIFO 読み出しクロックは同じソースか

ら供給されません。

INIT 2 進数 1’b1、1’b0 1’b1 O の初期値を指定します。

IS_RX_CLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RX_CLK クロック ピンをアクティブ High にするかアクティブ Low にするかを指定します。

IS_RX_RST_DLY_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RX_RST_DLY リセット ピンをアクティブ Highにするかアクティブ Low にするかを指定します。

IS_RX_RST_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RX_RST リセット ピンをアクティブ High にするかアクティブ Low にするかを指定します。

IS_TX_CLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 TX_CLK クロック ピンをアクティブ High にするかアクティブ Low にするかを指定します。

IS_TX_RST_DLY_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 TX_RST_DLY リセット ピンをアクティブ Highにするかアクティブ Low にするかを指定します。

IS_TX_RST_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 TX_RST リセット ピンをアクティブ High にするかアクティブ Low にするかを指定します。

RX_DATA_TYPE 文字列 "DATA"、"CLOCK"、"DATA_AND_CLOCK"、"SERIAL"

"DATA" RX 入力ピンにクロック信号、データ信号、データとしても使用されるクロック信号のいずれが入力されるかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 365UG974 (v2015.2) 2015 月 6 月 24 日

Page 366: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

RX_DATA_WIDTH 10 進数 8、4 8 シリアル/パラレル コンバーターの幅を指定します。有効なデータ幅は 4 ~ 8 です。

RX_DELAY_FORMAT 文字列 "TIME"、"COUNT" "TIME" RXTX_BITSLICE IDELAY のDELAY_VALUE の単位を設定します。DELAY_TYPE が "FIXED" の場合は"TIME" に設定し、"VARIABLE" または"VAR_LOAD" の場合は "COUNT" に設定します。

• "TIME" : RXTX_BITSLICE IDELAY

の DELAY_VALUE の値を ps で指定

します。

• "COUNT" : RXTX_BITSLICE IDELAY

の DELAY_VALUE の値をタップ数で

指定します。

RX_DELAY_TYPE 文字列 "FIXED"、"VAR_LOAD"、"VARIABLE"

"FIXED" RX タップ遅延ラインのタイプを設定します。

• "FIXED" : スタティック遅延値に設定

します。

• "VARIABLE" : 遅延値を動的に調整

(インクリメントまたはディクリメント) し

ます。

• "VAR_LOAD" : タップ値を動的に読

み込みます。

RX_DELAY_VALUE 10 進数 0 ~ 1250 0 DELAY_TYPE を "FIXED" に設定している場合は、RX の固定遅延を ps で指定します。DELAY_TYPE を "VARIABLE" または"VAR_LOAD" に設定している場合は、RXのリセット時の値を指定します。

RX_REFCLK_FREQUENCY

1 上位ビット浮動小数点

200.0 ~ 2400.0 300.0 RX 基準クロックの周波数を MHz で指定します。

RX_UPDATE_MODE 文字列 "ASYNC"、"MANUAL"、"SYNC"

"ASYNC" • "ASYNC" : 受信されるデータとは独立

して遅延値がインクリメントまたはディク

リメントされます。

• "SYNC" : 遅延はデータ入力のエッジ

に同期してアップデートされます。

• "MANUAL" : LOAD および

CNTVALUEIN 信号を使用して新しい

CNTVALUE を読み込んだ後、LOAD

および CE の両方をアサートしたとき

に、遅延値がアップデートされます。

TBYTE_CTL 文字列 "TBYTE_IN"、"T" "TBYTE_IN" OSERDES モードの場合のみ、T またはTBYTE_IN 入力のいずれかを選択します。

TX_DATA_WIDTH 10 進数 8、4 8 パラレル データ入力の幅を指定します。有効な値は 4 ~ 8 です。

UltraScale ライブラリ ガイド http://japan.xilinx.com 366UG974 (v2015.2) 2015 月 6 月 24 日

Page 367: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

TX_DELAY_FORMAT 文字列 "TIME"、"COUNT" "TIME" RXTX_BITSLICE ODELAY のDELAY_VALUE の単位を設定します。DELAY_TYPE が "FIXED" の場合は"TIME" に設定し、"VARIABLE" または"VAR_LOAD" の場合は "COUNT" に設定します。

• "TIME" : RXTX_BITSLICE ODELAY

の DELAY_VALUE の値を ps で指定

します。

• "COUNT" : RXTX_BITSLICE

ODELAY の DELAY_VALUE の値を

タップ数で指定します。

TX_DELAY_TYPE 文字列 "FIXED"、"VAR_LOAD"、"VARIABLE"

"FIXED" TX タップ遅延ラインのタイプを設定します。

• "FIXED" : スタティック遅延値に設定

します。

• "VARIABLE" : 遅延値を動的に調整

(インクリメントまたはディクリメント) し

ます。

• "VAR_LOAD" : タップ値を動的に読

み込みます。

TX_DELAY_VALUE 10 進数 0 ~ 1250 0 DELAY_TYPE を "FIXED" に設定している場合は、TX の固定遅延を ps で指定します。DELAY_TYPE を "VARIABLE" または"VAR_LOAD" に設定している場合は、TXのリセット時の値を指定します。

TX_OUTPUT_PHASE_90

文字列 "FALSE"、"TRUE" "FALSE" 出力の位相を 90 度遅らせます。

TX_REFCLK_FREQUENCY

1 上位ビット浮動小数点

200.0 ~ 2400.0 300.0 TX 基準クロックの周波数を MHz で指定します。

TX_UPDATE_MODE 文字列 "ASYNC"、"MANUAL"、"SYNC"

"ASYNC" • "ASYNC" : 受信されるデータとは独立

して遅延値がインクリメントまたはディク

リメントされます。

• "SYNC" : 遅延は入力データのエッジ

に同期してアップデートされます。

• "MANUAL" : LOAD および

CNTVALUEIN 信号を使用して新しい

CNTVALUE を読み込んだ後、LOAD

および CE の両方をアサートしたとき

に、遅延値がアップデートされます。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

UltraScale ライブラリ ガイド http://japan.xilinx.com 367UG974 (v2015.2) 2015 月 6 月 24 日

Page 368: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

use UNISIM.vcomponents.all;

-- RXTX_BITSLICE: RXTX_BITSLICE for bidirectional I/O using Native Mode-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

RXTX_BITSLICE_inst : RXTX_BITSLICEgeneric map (

ENABLE_PRE_EMPHASIS => "FALSE", -- Enable the pre-emphasisFIFO_SYNC_MODE => "FALSE", -- Internal write clock and FIFO_RD_CLK are coming from a common sourceINIT => ’1’, -- Defines initial O valueIS_RX_CLK_INVERTED => ’0’, -- Optional inversion for RX_CLKIS_RX_RST_DLY_INVERTED => ’0’, -- Optional inversion for RX_RST_DLYIS_RX_RST_INVERTED => ’0’, -- Optional inversion for RX_RSTIS_TX_CLK_INVERTED => ’0’, -- Optional inversion for TX_CLKIS_TX_RST_DLY_INVERTED => ’0’, -- Optional inversion for TX_RST_DLYIS_TX_RST_INVERTED => ’0’, -- Optional inversion for TX_RSTRX_DATA_TYPE => "DATA", -- Defines what the RX input pin is carrying (CLOCK, DATA,

-- DATA_AND_CLOCK, SERIAL)RX_DATA_WIDTH => 8, -- Defines the width of the serial-to-parallel converter (4-8)RX_DELAY_FORMAT => "TIME", -- Units of the RX DELAY_VALUE (COUNT, TIME)RX_DELAY_TYPE => "FIXED", -- Set the type of RX tap delay line (FIXED, VARIABLE, VAR_LOAD)RX_DELAY_VALUE => 0, -- RX Input delay value setting in psRX_REFCLK_FREQUENCY => 300.0, -- Specification of the RX reference clock frequency in MHz

-- (200.0-2400.0)RX_UPDATE_MODE => "ASYNC", -- Determines when updates to the RX delay will take effect (ASYNC,

-- MANUAL, SYNC)TBYTE_CTL => "TBYTE_IN", -- Select between T and TBYTE_IN inputsTX_DATA_WIDTH => 8, -- Parallel data input width (4-8)TX_DELAY_FORMAT => "TIME", -- Units of the TX DELAY_VALUE (COUNT, TIME)TX_DELAY_TYPE => "FIXED", -- Set the type of TX tap delay line (FIXED, VARIABLE, VAR_LOAD)TX_DELAY_VALUE => 0, -- TX Input delay value setting in psTX_OUTPUT_PHASE_90 => "FALSE", -- Delays the output phase by 90-degreesTX_REFCLK_FREQUENCY => 300.0, -- Specification of the TX reference clock frequency in MHz

-- (200.0-2400.0)TX_UPDATE_MODE => "ASYNC" -- Determines when updates to the delay will take effect (ASYNC, MANUAL,

-- SYNC))port map (

FIFO_EMPTY => FIFO_EMPTY, -- 1-bit output: FIFO empty flagO => O, -- 1-bit output: Serialized output going to output bufferQ => Q, -- 8-bit output: Registered output data from FIFORX_BIT_CTRL_OUT => RX_BIT_CTRL_OUT, -- 40-bit output: RX Output bus to BITSLICE_CONTROLRX_CNTVALUEOUT => RX_CNTVALUEOUT, -- 9-bit output: RX Counter value from device logicTX_BIT_CTRL_OUT => TX_BIT_CTRL_OUT, -- 40-bit output: Output bus to BITSLICE_CONTROL for TXTX_CNTVALUEOUT => TX_CNTVALUEOUT, -- 9-bit output: TX Counter value to device logicT_OUT => T_OUT, -- 1-bit output: Byte group 3-state outputD => D, -- 8-bit input: Data from device logicDATAIN => DATAIN, -- 1-bit input: Input signal from IOBUFFIFO_RD_CLK => FIFO_RD_CLK, -- 1-bit input: FIFO read clockFIFO_RD_EN => FIFO_RD_EN, -- 1-bit input: FIFO read enableRX_BIT_CTRL_IN => RX_BIT_CTRL_IN, -- 40-bit input: RX Input bus from BITSLICE_CONTROLRX_CE => RX_CE, -- 1-bit input: Clock enable for IDELAYRX_CLK => RX_CLK, -- 1-bit input: RX Clock used to sample LOAD, CE, INCRX_CNTVALUEIN => RX_CNTVALUEIN, -- 9-bit input: RX Counter value from device logicRX_EN_VTC => RX_EN_VTC, -- 1-bit input: RX Enable to keep stable delay over VTRX_INC => RX_INC, -- 1-bit input: RX Increment the current delay tap settingRX_LOAD => RX_LOAD, -- 1-bit input: RX Load the CNTVALUEIN tap settingRX_RST => RX_RST, -- 1-bit input: RX Asynchronous assert, synchronous deassert for

-- RXTX_BITSLICE ISERDES

RX_RST_DLY => RX_RST_DLY, -- 1-bit input: RX Reset the internal DELAY value to DELAY_VALUET => T, -- 1-bit input: Legacy T byte input from device logicTBYTE_IN => TBYTE_IN, -- 1-bit input: Byte group 3-state input from TX_BITSLICE_TRITX_BIT_CTRL_IN => TX_BIT_CTRL_IN, -- 40-bit input: TX Input bus from BITSLICE_CONTROLTX_CE => TX_CE, -- 1-bit input: Clock enable for ODELAYTX_CLK => TX_CLK, -- 1-bit input: TX Clock used to sample LOAD, CE, INCTX_CNTVALUEIN => TX_CNTVALUEIN, -- 9-bit input: TX Counter value from device logicTX_EN_VTC => TX_EN_VTC, -- 1-bit input: TX Enable to keep stable delay over VTTX_INC => TX_INC, -- 1-bit input: TX Increment the current delay tap settingTX_LOAD => TX_LOAD, -- 1-bit input: TX Load the CNTVALUEIN tap setting

UltraScale ライブラリ ガイド http://japan.xilinx.com 368UG974 (v2015.2) 2015 月 6 月 24 日

Page 369: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

TX_RST => TX_RST, -- 1-bit input: TX Asynchronous assert, synchronous deassert for-- RXTX_BITSLICE OSERDES

TX_RST_DLY => TX_RST_DLY -- 1-bit input: TX Reset the internal DELAY value to DELAY_VALUE);

-- End of RXTX_BITSLICE_inst instantiation

Verilog 記述 (インスタンシエーション)

// RXTX_BITSLICE: RXTX_BITSLICE for bidirectional I/O using Native Mode// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

RXTX_BITSLICE #(.ENABLE_PRE_EMPHASIS("FALSE"), // Enable the pre-emphasis.FIFO_SYNC_MODE("FALSE"), // Internal write clock and FIFO_RD_CLK are coming from a common source.INIT(1’b1), // Defines initial O value.IS_RX_CLK_INVERTED(1’b0), // Optional inversion for RX_CLK.IS_RX_RST_DLY_INVERTED(1’b0), // Optional inversion for RX_RST_DLY.IS_RX_RST_INVERTED(1’b0), // Optional inversion for RX_RST.IS_TX_CLK_INVERTED(1’b0), // Optional inversion for TX_CLK.IS_TX_RST_DLY_INVERTED(1’b0), // Optional inversion for TX_RST_DLY.IS_TX_RST_INVERTED(1’b0), // Optional inversion for TX_RST.RX_DATA_TYPE("DATA"), // Defines what the RX input pin is carrying (CLOCK, DATA, DATA_AND_CLOCK,

// SERIAL).RX_DATA_WIDTH(8), // Defines the width of the serial-to-parallel converter (4-8).RX_DELAY_FORMAT("TIME"), // Units of the RX DELAY_VALUE (COUNT, TIME).RX_DELAY_TYPE("FIXED"), // Set the type of RX tap delay line (FIXED, VARIABLE, VAR_LOAD).RX_DELAY_VALUE(0), // RX Input delay value setting in ps.RX_REFCLK_FREQUENCY(300.0), // Specification of the RX reference clock frequency in MHz (200.0-2400.0).RX_UPDATE_MODE("ASYNC"), // Determines when updates to the RX delay will take effect (ASYNC,

// MANUAL, SYNC).TBYTE_CTL("TBYTE_IN"), // Select between T and TBYTE_IN inputs.TX_DATA_WIDTH(8), // Parallel data input width (4-8).TX_DELAY_FORMAT("TIME"), // Units of the TX DELAY_VALUE (COUNT, TIME).TX_DELAY_TYPE("FIXED"), // Set the type of TX tap delay line (FIXED, VARIABLE, VAR_LOAD).TX_DELAY_VALUE(0), // TX Input delay value setting in ps.TX_OUTPUT_PHASE_90("FALSE"), // Delays the output phase by 90-degrees.TX_REFCLK_FREQUENCY(300.0), // Specification of the TX reference clock frequency in MHz (200.0-2400.0).TX_UPDATE_MODE("ASYNC") // Determines when updates to the delay will take effect (ASYNC, MANUAL,

// SYNC))RXTX_BITSLICE_inst (

.FIFO_EMPTY(FIFO_EMPTY), // 1-bit output: FIFO empty flag

.O(O), // 1-bit output: Serialized output going to output buffer

.Q(Q), // 8-bit output: Registered output data from FIFO

.RX_BIT_CTRL_OUT(RX_BIT_CTRL_OUT), // 40-bit output: RX Output bus to BITSLICE_CONTROL

.RX_CNTVALUEOUT(RX_CNTVALUEOUT), // 9-bit output: RX Counter value from device logic

.TX_BIT_CTRL_OUT(TX_BIT_CTRL_OUT), // 40-bit output: Output bus to BITSLICE_CONTROL for TX

.TX_CNTVALUEOUT(TX_CNTVALUEOUT), // 9-bit output: TX Counter value to device logic

.T_OUT(T_OUT), // 1-bit output: Byte group 3-state output

.D(D), // 8-bit input: Data from device logic

.DATAIN(DATAIN), // 1-bit input: Input signal from IOBUF

.FIFO_RD_CLK(FIFO_RD_CLK), // 1-bit input: FIFO read clock

.FIFO_RD_EN(FIFO_RD_EN), // 1-bit input: FIFO read enable

.RX_BIT_CTRL_IN(RX_BIT_CTRL_IN), // 40-bit input: RX Input bus from BITSLICE_CONTROL

.RX_CE(RX_CE), // 1-bit input: Clock enable for IDELAY

.RX_CLK(RX_CLK), // 1-bit input: RX Clock used to sample LOAD, CE, INC

.RX_CNTVALUEIN(RX_CNTVALUEIN), // 9-bit input: RX Counter value from device logic

.RX_EN_VTC(RX_EN_VTC), // 1-bit input: RX Enable to keep stable delay over VT

.RX_INC(RX_INC), // 1-bit input: RX Increment the current delay tap setting

.RX_LOAD(RX_LOAD), // 1-bit input: RX Load the CNTVALUEIN tap setting

.RX_RST(RX_RST), // 1-bit input: RX Asynchronous assert, synchronous deassert for// RXTX_BITSLICE ISERDES

.RX_RST_DLY(RX_RST_DLY), // 1-bit input: RX Reset the internal DELAY value to DELAY_VALUE

.T(T), // 1-bit input: Legacy T byte input from device logic

.TBYTE_IN(TBYTE_IN), // 1-bit input: Byte group 3-state input from TX_BITSLICE_TRI

.TX_BIT_CTRL_IN(TX_BIT_CTRL_IN), // 40-bit input: TX Input bus from BITSLICE_CONTROL

UltraScale ライブラリ ガイド http://japan.xilinx.com 369UG974 (v2015.2) 2015 月 6 月 24 日

Page 370: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.TX_CE(TX_CE), // 1-bit input: Clock enable for ODELAY

.TX_CLK(TX_CLK), // 1-bit input: TX Clock used to sample LOAD, CE, INC

.TX_CNTVALUEIN(TX_CNTVALUEIN), // 9-bit input: TX Counter value from device logic

.TX_EN_VTC(TX_EN_VTC), // 1-bit input: TX Enable to keep stable delay over VT

.TX_INC(TX_INC), // 1-bit input: TX Increment the current delay tap setting

.TX_LOAD(TX_LOAD), // 1-bit input: TX Load the CNTVALUEIN tap setting

.TX_RST(TX_RST), // 1-bit input: TX Asynchronous assert, synchronous deassert for// RXTX_BITSLICE OSERDES

.TX_RST_DLY(TX_RST_DLY) // 1-bit input: TX Reset the internal DELAY value to DELAY_VALUE);

// End of RXTX_BITSLICE_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 370UG974 (v2015.2) 2015 月 6 月 24 日

Page 371: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

SRL16E

プリミティブ : 16-Bit Shift Register Look-Up Table (LUT)

プリミティブ グループ : CLBプリミティブ サブグループ : SRL

概要

このデザイン エレメントは、シフト レジスタ ルックアップ テーブル (LUT) です。シフト レジスタの深さは、入力 A3、A2、A1、

A0 の値によって決定されます。

シフト レジスタの深さは、固定することも、変動させることもできます。

固定の深さのシフト レジスタを作成するには、入力 A3 ~ A0 の値を一定にします。シフト レジスタは 1 ~ 16 ビットの深さに

設定できます。アドレス入力の値によるシフト レジスタの深さは、次の式で算出されます。

深深深さささ === (8(8(8 xxx A3)A3)A3) +++ (4(4(4 xxx A2)A2)A2) +++ (2(2(2 xxx A1)A1)A1) +++ A0A0A0 +++ 111

A3、A2、A1、A0 がすべて 0 の場合 (0000) はシフト レジスタの深さは 1 ビットになり、すべて 1 の場合 (1111) は 16

ビットになります。

シフト レジスタ長を動的に変更するには、入力 A3 ~ A0 の値を変更します。たとえば、A2、A1、A0 がすべて 1 の場合

(111) に A3 を 1 から 0 に切り替えると、シフト レジスタの深さは 16 ビットから 8 ビットに変更されます。内部的には、シフト レ

ジスタの深さは常に 16 ビットで、どのビットの値が出力されるかが入力 A3 ~ A0 の値によって決定されます。シフト レジスタ

LUT の初期値を指定するには、INIT 属性に 4 桁の 16 進数を割り当てます。一番左の桁が最上位ビットになります。INIT の

値を指定しない場合は、シフト レジスタ LUT の内容はコンフィギュレーション中に 0000 にクリアされます。

CE が High の場合、クロック (CLK) が遷移したときに、D の値がシフト レジスタの第 1 ビットに読み込まれます。次にクロック

が遷移したときに CE が High の場合、シフト レジスタの値は次の高位ビットにシフトされ、新しい値が読み込まれます。ア

ドレス入力の値によってシフト レジスタの深さが決まり、Q にその値が出力されます。CE が Low の場合クロック遷移は

無視され、シフト レジスタの現在の値が保持されます。

2 つの SLR16E コンポーネントでクロックとクロック イネーブルが共有され、深さを選択するアドレス信号と IS_CLK_INVERTED

属性の値が同じである場合、これらの SLR16E を 1 つの CLBM 内の同じ LUT に配置できます。これにより、1 つの CLB

に 16 個までの SLR16E コンポーネントを配置できます。オプションで、2 つの SRL16E コンポーネントに LUTNM または

HLUTNM を設定して、LUT 内のグループを指定できます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 371UG974 (v2015.2) 2015 月 6 月 24 日

Page 372: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

論理表

入力 出力

Am CE CLK D Q

Am 0 X X Q(Am)

Am 1 ↑ D Q(Am - 1)

m = 0、1、2、3

ポートの説明

ポート名 方向 幅 機能

CE 入力 1 アクティブ High のクロック イネーブル

CLK 入力 1 シフト レジスタ クロック。極性は IS_CLK_INVERTED 属性で指定します。

D 入力 1 SRL データ入力

Q 出力 1 SRL データ出力

深深深さささ選選選択択択 ::: シフト レジスタの深さを指定します。深さ = (8 x A3) + (4 x A2) + (2 x A1) + A0 + 1

A0 入力 1 シフト レジスタの深さを指定します。深さ = (8 x A3) + (4 x A2) + (2 x A1) + A0 + 1

A1 入力 1 シフト レジスタの深さを指定します。深さ = (8 x A3) + (4 x A2) + (2 x A1) + A0 + 1

A2 入力 1 シフト レジスタの深さを指定します。深さ = (8 x A3) + (4 x A2) + (2 x A1) + A0 + 1

A3 入力 1 シフト レジスタの深さを指定します。深さ = (8 x A3) + (4 x A2) + (2 x A1) + A0 + 1

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 16’h0000 ~16’hffff

16’h0000 コンフィギュレーション後のシフト レジスタの初期値を指定します。

IS_CLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 クロック ピン (CLK) にオプションの反転を使用するかどうかを指定します。1 に設定すると、立下りエッジがアクティブ エッジになります。このピンに外部インバーターが接続されている場合は、Vivadoツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加してクロックの極性を変更する必要はありません。

UltraScale ライブラリ ガイド http://japan.xilinx.com 372UG974 (v2015.2) 2015 月 6 月 24 日

Page 373: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- SRL16E: 16-Bit Shift Register Look-Up Table (LUT)-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

SRL16E_inst : SRL16Egeneric map (

INIT => X"0000", -- Initial contents of shift registerIS_CLK_INVERTED => ’0’ -- Optional inversion for CLK

)port map (

Q => Q, -- 1-bit output: SRL DataCE => CE, -- 1-bit input: Clock enableCLK => CLK, -- 1-bit input: ClockD => D, -- 1-bit input: SRL Data-- Depth Selection inputs: A0-A3 select SRL depthA0 => A0,A1 => A1,A2 => A2,A3 => A3

);

-- End of SRL16E_inst instantiation

Verilog 記述 (インスタンシエーション)

// SRL16E: 16-Bit Shift Register Look-Up Table (LUT)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

SRL16E #(.INIT(16’h0000), // Initial contents of shift register.IS_CLK_INVERTED(1’b0) // Optional inversion for CLK

)SRL16E_inst (

.Q(Q), // 1-bit output: SRL Data

.CE(CE), // 1-bit input: Clock enable

.CLK(CLK), // 1-bit input: Clock

.D(D), // 1-bit input: SRL Data// Depth Selection inputs: A0-A3 select SRL depth.A0(A0),.A1(A1),.A2(A2),.A3(A3)

);

// End of SRL16E_inst instantiation

詳細情報

• 『UltraFast 設計手法ガイド (Vivado Design Suite 用)』 (UG949 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 373UG974 (v2015.2) 2015 月 6 月 24 日

Page 374: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

SRLC32E

プリミティブ : 32-Bit Shift Register Look-Up Table (LUT)

プリミティブ グループ : CLBプリミティブ サブグループ : SRL

概要

このデザイン エレメントは、シフト レジスタ ルックアップ テーブル (LUT) です。シフト レジスタの深さは、入力 A4、

A3、A2、A1、A0 の値によって決定されます。

シフト レジスタの深さは、固定することも、変動させることもできます。

固定の深さのシフト レジスタを作成するには、入力 A4 ~ A0 の値を一定にします。シフト レジスタは 1 ~ 32 ビットの深さに

設定できます。アドレス入力の値によるシフト レジスタの深さは、次の式で算出されます。

深深深さささ === (16(16(16 xxx A4)A4)A4) +++ (8(8(8 xxx A3)A3)A3) +++ (4(4(4 xxx A2)A2)A2) +++ (2(2(2 xxx A1)A1)A1) +++ A0A0A0 +++ 111

A4、A3、A2、A1、A0 がすべて 0 の場合 (00000) はシフト レジスタの深さは 1 ビットになり、すべて 1 の場合 (11111)

は 32 ビットになります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 374UG974 (v2015.2) 2015 月 6 月 24 日

Page 375: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

シフト レジスタ長を動的に変更するには、入力 A4 ~ A0 の値を変更します。たとえば、A3、A2、A1、A0 がすべて 1 の場合

(1111) に A4 を 1 から 0 に切り替えると、シフト レジスタの深さは 32 ビットから 16 ビットに変更されます。内部的には、シフト

レジスタの深さは常に 32 ビットで、どのビットの値が出力されるかが入力 A4 ~ A0 の値によって決定されます。シフト レジス

タ LUT の初期値を指定するには、INIT 属性に 8 桁の 16 進数を割り当てます。一番左の桁が最上位ビットになります。INIT

の値を指定しない場合は、シフト レジスタ LUT の内容はコンフィギュレーション中に 00000000 にクリアされます。

CE が High の場合、クロック (CLK) が遷移したときに、D の値がシフト レジスタの第 1 ビットに読み込まれます。次にクロック

が遷移したときに CE が High の場合、シフト レジスタの値は次の高位ビットにシフトされ、新しい値が読み込まれます。ア

ドレス入力の値によってシフト レジスタの深さが決まり、Q にその値が出力されます。CE が Low の場合クロック遷移は

無視され、シフト レジスタの現在の値が保持されます。

複数の SLRC32E コンポーネントをカスケード接続して、32 ビットより深いシフト レジスタを作成できます。これには、

SRLC32E コンポーネントの Q31 出力を次の SRLC32E の D 入力に接続します。

ポートの説明

ポート名 方向 幅 機能

A<4:0> 入力 5 シフト レジスタの深さを指定します。深さ = (16 x A4) + (8 x A3) + (4 x A2) + (2 x A1) + A0 + 1

CE 入力 1 アクティブ High のクロック イネーブル

CLK 入力 1 シフト レジスタ クロック。極性は IS_CLK_INVERTED 属性で指定します。

D 入力 1 SRL データ入力

Q 出力 1 SRL データ出力

Q31 出力 1 複数の SLRC32E コンポーネントをカスケード接続して 32 ビットより深いシフト レジスタを作成する場合の SRL データ出力

デザインの入力方法

インスタンシエーション 可

推論 推奨

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT 16 進数 32 ビット値 すべて 0 コンフィギュレーション後のシフト レジスタの初期値を指定します。

IS_CLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 クロック ピン (CLK) にオプションの反転を使用するかどうかを指定します。1 に設定すると、立下りエッジがアクティブ エッジになります。このピンに外部インバーターが接続されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加してクロックの極性を変更する必要はありません。

UltraScale ライブラリ ガイド http://japan.xilinx.com 375UG974 (v2015.2) 2015 月 6 月 24 日

Page 376: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- SRLC32E: 32-Bit Shift Register Look-Up Table (LUT)-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

SRLC32E_inst : SRLC32Egeneric map (

INIT => X"00000000", -- Initial contents of shift registerIS_CLK_INVERTED => ’0’ -- Optional inversion for CLK

)port map (

Q => Q, -- 1-bit output: SRL DataQ31 => Q31, -- 1-bit output: SRL Cascade DataA => A, -- 5-bit input: Selects SRL depthCE => CE, -- 1-bit input: Clock enableCLK => CLK, -- 1-bit input: ClockD => D -- 1-bit input: SRL Data

);

-- End of SRLC32E_inst instantiation

Verilog 記述 (インスタンシエーション)

// SRLC32E: 32-Bit Shift Register Look-Up Table (LUT)// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

SRLC32E #(.INIT(32’h00000000), // Initial contents of shift register.IS_CLK_INVERTED(1’b0) // Optional inversion for CLK

)SRLC32E_inst (

.Q(Q), // 1-bit output: SRL Data

.Q31(Q31), // 1-bit output: SRL Cascade Data

.A(A), // 5-bit input: Selects SRL depth

.CE(CE), // 1-bit input: Clock enable

.CLK(CLK), // 1-bit input: Clock

.D(D) // 1-bit input: SRL Data);

// End of SRLC32E_inst instantiation

詳細情報

• 『UltraFast 設計手法ガイド (Vivado Design Suite 用)』 (UG949 : 英語版、日本語版)

• UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 376UG974 (v2015.2) 2015 月 6 月 24 日

Page 377: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

STARTUPE3

プリミティブ : STARTUP Block

プリミティブ グループ : CONFIGURATIONプリミティブ サブグループ : STARTUP

概要

このデザイン エレメントは、デバイス ピンおよびロジックをグローバル非同期セット/リセット (GSR) 信号、グローバル トラ

イステート (GTS) 専用配線、内部コンフィギュレーション信号、または専用コンフィギュレーション ピンに接続するた

めに使用します。

ポートの説明

ポート名 方向 幅 機能

CFGCLK 出力 1 コンフィギュレーションのメイン クロック出力

CFGMCLK 出力 1 コンフィギュレーションの内部オシレーターのクロック出力

DI<3:0> 出力 4 D 入力ピンでの受信を可能にします。

DO<3:0> 入力 4 D ピン出力を制御します。

DTS<3:0> 入力 4 D ピンをトライステートにします。

EOS 出力 1 スタートアップの終了を示すアクティブ High の出力信号

FCSBO 入力 1 フラッシュ アクセス用の FCS_B ピンを制御します。

FCSBTS 入力 1 FCS_B ピンをトライステートにします。

GSR 入力 1 グローバル セット/リセット入力 (ポート名に GSR は使用不可)

UltraScale ライブラリ ガイド http://japan.xilinx.com 377UG974 (v2015.2) 2015 月 6 月 24 日

Page 378: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

GTS 入力 1 グローバル トライステート入力 (ポート名に GTS は使用不可)

KEYCLEARB 入力 1 バッテリ充電 RAM (BBRAM) からのクリア AES デクリプタ キー入力

PACK 入力 1 PROGRAM 確認入力

PREQ 出力 1 デバイス出力への PROGRAM 要求

USRCCLKO 入力 1 ユーザー CCLK 入力

USRCCLKTS 入力 1 ユーザー CCLK トライステート イネーブル入力

USRDONEO 入力 1 ユーザー DONE ピンの出力制御

USRDONETS 入力 1 ユーザー DONE ピンのトライステート イネーブル出力

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

使用可能な属性

属性 データ型 値 デフォルト 説明

PROG_USR 文字列 "FALSE"、"TRUE" "FALSE" プログラム イベント セキュリティ機能を有効にします。暗号化ビットストリームが必要です。

SIM_CCLK_FREQ 浮動小数点(nS)

0.0 ~ 10.0 0.0 シミュレーション用のコンフィギュレーション クロック周波数 (ns) を設定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- STARTUPE3: STARTUP Block-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

STARTUPE3_inst : STARTUPE3generic map (

PROG_USR => "FALSE", -- Activate program event security feature. Requires encrypted bitstreams.SIM_CCLK_FREQ => 0.0 -- Set the Configuration Clock Frequency(ns) for simulation

)port map (

CFGCLK => CFGCLK, -- 1-bit output: Configuration main clock outputCFGMCLK => CFGMCLK, -- 1-bit output: Configuration internal oscillator clock outputDI => DI, -- 4-bit output: Allow receiving on the D input pinEOS => EOS, -- 1-bit output: Active-High output signal indicating the End Of StartupPREQ => PREQ, -- 1-bit output: PROGRAM request to fabric outputDO => DO, -- 4-bit input: Allows control of the D pin outputDTS => DTS, -- 4-bit input: Allows tristate of the D pinFCSBO => FCSBO, -- 1-bit input: Contols the FCS_B pin for flash accessFCSBTS => FCSBTS, -- 1-bit input: Tristate the FCS_B pinGSR => GSR, -- 1-bit input: Global Set/Reset input (GSR cannot be used for the port)GTS => GTS, -- 1-bit input: Global 3-state input (GTS cannot be used for the port name)

UltraScale ライブラリ ガイド http://japan.xilinx.com 378UG974 (v2015.2) 2015 月 6 月 24 日

Page 379: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

KEYCLEARB => KEYCLEARB, -- 1-bit input: Clear AES Decrypter Key input from Battery-Backed RAM (BBRAM)PACK => PACK, -- 1-bit input: PROGRAM acknowledge inputUSRCCLKO => USRCCLKO, -- 1-bit input: User CCLK inputUSRCCLKTS => USRCCLKTS, -- 1-bit input: User CCLK 3-state enable inputUSRDONEO => USRDONEO, -- 1-bit input: User DONE pin output controlUSRDONETS => USRDONETS -- 1-bit input: User DONE 3-state enable output

);

-- End of STARTUPE3_inst instantiation

Verilog 記述 (インスタンシエーション)

// STARTUPE3: STARTUP Block// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

STARTUPE3 #(.PROG_USR("FALSE"), // Activate program event security feature. Requires encrypted bitstreams..SIM_CCLK_FREQ(0.0) // Set the Configuration Clock Frequency(ns) for simulation

)STARTUPE3_inst (

.CFGCLK(CFGCLK), // 1-bit output: Configuration main clock output

.CFGMCLK(CFGMCLK), // 1-bit output: Configuration internal oscillator clock output

.DI(DI), // 4-bit output: Allow receiving on the D input pin

.EOS(EOS), // 1-bit output: Active-High output signal indicating the End Of Startup

.PREQ(PREQ), // 1-bit output: PROGRAM request to fabric output

.DO(DO), // 4-bit input: Allows control of the D pin output

.DTS(DTS), // 4-bit input: Allows tristate of the D pin

.FCSBO(FCSBO), // 1-bit input: Contols the FCS_B pin for flash access

.FCSBTS(FCSBTS), // 1-bit input: Tristate the FCS_B pin

.GSR(GSR), // 1-bit input: Global Set/Reset input (GSR cannot be used for the port)

.GTS(GTS), // 1-bit input: Global 3-state input (GTS cannot be used for the port name)

.KEYCLEARB(KEYCLEARB), // 1-bit input: Clear AES Decrypter Key input from Battery-Backed RAM (BBRAM)

.PACK(PACK), // 1-bit input: PROGRAM acknowledge input

.USRCCLKO(USRCCLKO), // 1-bit input: User CCLK input

.USRCCLKTS(USRCCLKTS), // 1-bit input: User CCLK 3-state enable input

.USRDONEO(USRDONEO), // 1-bit input: User DONE pin output control

.USRDONETS(USRDONETS) // 1-bit input: User DONE 3-state enable output);

// End of STARTUPE3_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 379UG974 (v2015.2) 2015 月 6 月 24 日

Page 380: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

SYSMONE1

プリミティブ : Xilinx Analog-to-Digital Converter and System Monitor

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : SYSMON

概要

SYSMON は、アナログ/デジタル変換 (ADC) および関連のモニター機能を持ちます。ADC は 10 ビットの 0.2 MSPS (メガ サ

ンプル/秒) ADC から構成されており、さまざまなアプリケーションの汎用アナログ インターフェイスを提供します。ADC では

さまざまな操作モードおよびアナログ入力信号タイプ (単極、差動など) がサポートされています。システム モニターには、オ

ンチップ電源電圧、ダイ温度などを計測するオンチップ センサーも多数含まれています。

UltraScale ライブラリ ガイド http://japan.xilinx.com 380UG974 (v2015.2) 2015 月 6 月 24 日

Page 381: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポートの説明

ポート名 方向 幅 機能

警警警告告告 ::: SYSMON の警告ポート

ALM<15:0> 出力 16 温度、Vccint、Vccaux、および Vccbram 用の警告出力ALM[0] : システム モニターの温度センサーの警告出力ALM[1] : システム モニターの Vccint センサーの警告出力ALM[2] : システム モニターの Vccaux センサーの警告出力ALM[3] : システム モニターの Vccbram センサーの警告出力ALM[6:4] : 未定義ALM[7] : バス ALM[6:0] のロジック OR。いずれかの警告が発生していることを示すのに使用できます。ALM[8] : ユーザー警告出力 1 ~ 4ALM[14:12] : 未定義ALM[15] : バス ALM[14:8] のロジック OR。このグループ内でいずれかの警告が発生していることを示すのに使用できます。

OT 出力 1 温度超過警告出力

補補補助助助アアアナナナロロログググ入入入力力力ペペペアアア ::: 16 組の補助アナログ入力ペアSYSMON では、専用の差動アナログ入力に加え、デジタル I/Oをアナログ入力としてコンフィギュレーションすることにより、16 組の差動アナログ入力ペアを使用できます。これらの入力は、JTAG ポートを介してコンフィギュレーション前にイネーブルにすることもできます。

VAUXN<15:0> 入力 16 N 側補助アナログ入力

VAUXP<15:0> 入力 16 P 側補助アナログ入力

制制制御御御おおおよよよびびびクククロロロッッッククク ::: SYSMON のリセット、変換開始、およびクロック入力

CONVST 入力 1 変換開始入力。SYSMON 入力のサンプリングを制御し、イベント モードタイミングでのみ使用されます。FPGA ロジックの汎用インターコネクトから供給されます。

CONVSTCLK 入力 1 変換開始クロック入力。クロック ネットに接続されます。CONVST と同様、SYSMON 入力のサンプリングを制御し、イベント モード タイミングでのみ使用されます。FPGA ロジックのローカル クロック分配ネットワークから供給されます。そのため、サンプリング インスタンス (遅延およびジッター) を制御するには、グローバル クロック入力を CONVST のソースとして使用するのが最適です。

RESET 入力 1 SYSMON 制御ロジックのリセット信号

専専専用用用アアアナナナロロログググ入入入力力力ペペペアアア ::: 専用のアナログ入力ペア。SYSMON には、差動アナログ入力を供給する専用アナログ入力ピンのペアが 1 組含まれます。SYSMON の機能を使用するが専用外部チャネル VP および VN を使用しない場合は、VP および VN の両方をアナログ グランドに接続する必要があります。

VN 入力 1 N 側アナログ入力

VP 入力 1 P 側アナログ入力

ダダダイイイナナナミミミッッッククク リリリコココンンンフフフィィィギギギュュュレレレーーーシシショョョンンン ポポポーーートトト (DRP)(DRP)(DRP) ::: システム モニター ブロックにアクセスし、制御するために使用されるダイナミック リコンフィギュレーション ポート

DADDR<7:0> 入力 8 ダイナミック リコンフィギュレーション ポートのアドレス バス

DCLK 入力 1 ダイナミック リコンフィギュレーション ポートのクロック入力

DEN 入力 1 ダイナミック リコンフィギュレーション ポートのイネーブル信号

DI<15:0> 入力 16 ダイナミック リコンフィギュレーション ポートの入力データ バス

DO<15:0> 出力 16 ダイナミック リコンフィギュレーション ポートの出力データ バス

DRDY 出力 1 ダイナミック リコンフィギュレーション ポートの Data Ready 信号

DWE 入力 1 ダイナミック リコンフィギュレーション ポートのライト イネーブル

UltraScale ライブラリ ガイド http://japan.xilinx.com 381UG974 (v2015.2) 2015 月 6 月 24 日

Page 382: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

I2CI2CI2C イイインンンタタターーーフフフェェェイイイススス ::: I2C DRP インターフェイスで使用されるポート

I2C_SCLK 入力 1 I2C_SCLK の入力。DRP I2C インターフェイスで必要です。『UltraScaleアーキテクチャ システムモニター ユーザー ガイド』 (UG580) に説明されているように、I2C_SCLK_IN および I2C_SCLK_TS ポートを専用 I2C_SCLKパッケージ ピンに接続する必要があります。

I2C_SCLK_TS 出力 1 I2C_SCLK の出力。DRP I2C インターフェイスで必要です。『UltraScaleアーキテクチャ システムモニター ユーザー ガイド』 (UG580) に説明されているように、I2C_SCLK_IN および I2C_SCLK_TS ポートを専用 I2C_SCLKパッケージ ピンに接続する必要があります。

I2C_SDA 入力 1 I2C_SDA の入力。DRP I2C インターフェイスで必要です。『UltraScaleアーキテクチャ システムモニター ユーザー ガイド』 (UG580) に説明されているように、I2C_SDA_IN および I2C_SDA_TS ポートを専用 I2C_SDAパッケージ ピンに接続する必要があります。

I2C_SDA_TS 出力 1 I2C_SDA の出力。DRP I2C インターフェイスで必要です。『UltraScaleアーキテクチャ システムモニター ユーザー ガイド』 (UG580) に説明されているように、I2C_SDA_IN および I2C_SDA_TS ポートを専用 I2C_SDAパッケージ ピンに接続する必要があります。

ススステテテーーータタタススス ::: SYSMON のステータス ポート

BUSY 出力 1 SYSMON ビジー信号。ADC 変換中に High になります。ADC またはセンサーのキャリブレーション中にも長期で High になります。

CHANNEL<5:0> 出力 6 チャネル選択出力。これらの出力では、ADC 変換の終わりに変換用のSYSMON 入力 MUX チャネルが選択されます。

EOC 出力 1 変換終了 (End of Conversion) 信号。ADC 変換が終了し、測定データがステータス レジスタに書き込まれると、High に遷移します。

EOS 出力 1 シーケンス終了 (End of Sequence) 信号。自動 チャネル シーケンスの最後のチャネルから測定データがステータス レジスタに書き込まれると、High に遷移します。

JTAGBUSY 出力 1 JTAG DRP トランザクションが実行されていることを示します。

JTAGLOCKED 出力 1 JTAG インターフェイスにより DRP ポート ロックが要求されたことを示します。DRP がアクセス可能になったこと (Low の場合) を示すためにも使用されます。

JTAGMODIFIED 出力 1 DRP に対して JTAG 書き込みが発生したことを示します。

MUXADDR<4:0> 出力 5 外部マルチプレクサー モードで使用され、シーケンスで次に変換されるチャネルのアドレスを示します。外部マルチプレクサーにチャネル アドレスを供給します。

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 推奨

UltraScale ライブラリ ガイド http://japan.xilinx.com 382UG974 (v2015.2) 2015 月 6 月 24 日

Page 383: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

使用可能な属性

属性 データ型 値 デフォルト 説明

INIT_45 16 進数 16’h0000 ~16’hffff

16’h0000 アナログ バス レジスタ

INIT_40INIT_40INIT_40 ~~~ INIT_44INIT_44INIT_44 ::: システム モニターのコンフィギュレーション レジスタ

INIT_40 16 進数 16’h0000 ~16’hffff

16’h0000 コンフィギュレーション レジスタ 0

INIT_41 16 進数 16’h0000 ~16’hffff

16’h0000 コンフィギュレーション レジスタ 1

INIT_42 16 進数 16’h0000 ~16’hffff

16’h0000 コンフィギュレーション レジスタ 2

INIT_43 16 進数 16’h0000 ~16’hffff

16’h0000 コンフィギュレーション レジスタ 3

INIT_44 16 進数 16’h0000 ~16’hffff

16’h0000 コンフィギュレーション レジスタ 4

INIT_46INIT_46INIT_46 ~~~ INIT_4FINIT_4FINIT_4F ::: システム モニター チャネルをプログラムするために使用されるシーケンス レジスタ

INIT_4A 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 4

INIT_4B 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 5

INIT_4C 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 6

INIT_4D 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 7

INIT_4E 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 8

INIT_4F 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 9

INIT_46 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 0

INIT_47 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 1

INIT_48 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 2

INIT_49 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 3

INIT_50INIT_50INIT_50 ~~~ INIT_5FINIT_5FINIT_5F ::: システム モニター警告機能用の警告しきい値レジスタ

INIT_5A 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 10

INIT_5B 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 11

INIT_5C 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 12

INIT_5D 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 13

UltraScale ライブラリ ガイド http://japan.xilinx.com 383UG974 (v2015.2) 2015 月 6 月 24 日

Page 384: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_5E 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 14

INIT_5F 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 15

INIT_50 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 0

INIT_51 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 1

INIT_52 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 2

INIT_53 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 3

INIT_54 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 4

INIT_55 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 5

INIT_56 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 6

INIT_57 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 7

INIT_58 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 8

INIT_59 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 9

INIT_60INIT_60INIT_60 ~~~ INIT_6FINIT_6FINIT_6F ::: ユーザー警告

INIT_6A 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 10

INIT_6B 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 11

INIT_6C 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 12

INIT_6D 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 13

INIT_6E 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 14

INIT_6F 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 15

INIT_60 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 0

INIT_61 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 1

INIT_62 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 2

INIT_63 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 3

UltraScale ライブラリ ガイド http://japan.xilinx.com 384UG974 (v2015.2) 2015 月 6 月 24 日

Page 385: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_64 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 4

INIT_65 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 5

INIT_66 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 6

INIT_67 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 7

INIT_68 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 8

INIT_69 16 進数 16’h0000 ~16’hffff

16’h0000 ユーザー警告レジスタ 9

INIT_73INIT_73INIT_73 ~~~ INIT_77INIT_77INIT_77 ::: システム モニター テスト レジスタ (カスタマー用)

INIT_73 16 進数 16’h0000 ~16’hffff

16’h0000 システム モニター テスト レジスタ (カスタマー用)

INIT_74 16 進数 16’h0000 ~16’hffff

16’h0000 システム モニター テスト レジスタ (カスタマー用)

INIT_75 16 進数 16’h0000 ~16’hffff

16’h0000 システム モニター テスト レジスタ (カスタマー用)

INIT_76 16 進数 16’h0000 ~16’hffff

16’h0000 システム モニター テスト レジスタ (カスタマー用)

INIT_77 16 進数 16’h0000 ~16’hffff

16’h0000 システム モニター テスト レジスタ (カスタマー用)

未未未定定定義義義 ::: 定義されておらず、今後の使用のために予約されているパラメーター

INIT_7A 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

INIT_7B 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

INIT_7C 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

INIT_7D 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

INIT_7E 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

INIT_7F 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

INIT_70 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

INIT_71 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

INIT_72 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

INIT_78 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

UltraScale ライブラリ ガイド http://japan.xilinx.com 385UG974 (v2015.2) 2015 月 6 月 24 日

Page 386: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

INIT_79 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

プププロロログググラララマママブブブルルル反反反転転転属属属性性性 ::: 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピンに対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

IS_CONVSTCLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CONVSTCLK ピンにオプションの反転を使用するかどうかを指定します。

IS_DCLK_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 DCLK ピンにオプションの反転を使用するかどうかを指定します。

シシシミミミュュュレレレーーーシシショョョンンン属属属性性性 ::: システム モニター ブロックが適切にシミュレーションされるようにする属性

SIM_MONITOR_FILE 文字列 文字列 "design.txt" SYSMON シミュレーション ビヘイビアー用のアナログ電圧および温度データを含むファイルの名前(およびシミュレーション ディレクトリと異なる場合はディレクトリ) を指定します。

ユユユーーーザザザーーー電電電圧圧圧モモモニニニタタターーー ::: SYSMON のユーザー電圧モニター属性

SYSMON_VUSER0_BANK

10 進数 0 ~ 999 0 User0 で監視用に使用する I/O バンク番号を指定します。

SYSMON_VUSER0_MONITOR

文字列 文字列 "NONE" User0 で監視する電圧を指定します。

SYSMON_VUSER1_BANK

10 進数 0 ~ 999 0 User1 で監視用に使用する I/O バンク番号を指定します。

SYSMON_VUSER1_MONITOR

文字列 文字列 "NONE" User1 で監視する電圧を指定します。

SYSMON_VUSER2_BANK

10 進数 0 ~ 999 0 User2 で監視用に使用する I/O バンク番号を指定します。

SYSMON_VUSER2_MONITOR

文字列 文字列 "NONE" User2 で監視する電圧を指定します。

SYSMON_VUSER3_BANK

10 進数 0 ~ 999 0 User3 で監視用に使用する I/O バンク番号を指定します。

SYSMON_VUSER3_MONITOR

文字列 文字列 "NONE" User3 で監視する電圧を指定します。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- SYSMONE1: Xilinx Analog-to-Digital Converter and System Monitor-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

SYSMONE1_inst : SYSMONE1generic map (

-- INIT_40 - INIT_44: SYSMON configuration registersINIT_40 => X"0000",INIT_41 => X"0000",

UltraScale ライブラリ ガイド http://japan.xilinx.com 386UG974 (v2015.2) 2015 月 6 月 24 日

Page 387: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

INIT_42 => X"0000",INIT_43 => X"0000",INIT_44 => X"0000",INIT_45 => X"0000", -- Analog Bus Register-- INIT_46 - INIT_4F: Sequence RegistersINIT_46 => X"0000",INIT_47 => X"0000",INIT_48 => X"0000",INIT_49 => X"0000",INIT_4A => X"0000",INIT_4B => X"0000",INIT_4C => X"0000",INIT_4D => X"0000",INIT_4E => X"0000",INIT_4F => X"0000",-- INIT_50 - INIT_5F: Alarm Limit RegistersINIT_50 => X"0000",INIT_51 => X"0000",INIT_52 => X"0000",INIT_53 => X"0000",INIT_54 => X"0000",INIT_55 => X"0000",INIT_56 => X"0000",INIT_57 => X"0000",INIT_58 => X"0000",INIT_59 => X"0000",INIT_5A => X"0000",INIT_5B => X"0000",INIT_5C => X"0000",INIT_5D => X"0000",INIT_5E => X"0000",INIT_5F => X"0000",-- INIT_60 - INIT_6F: User Supply AlarmsINIT_60 => X"0000",INIT_61 => X"0000",INIT_62 => X"0000",INIT_63 => X"0000",INIT_64 => X"0000",INIT_65 => X"0000",INIT_66 => X"0000",INIT_67 => X"0000",INIT_68 => X"0000",INIT_69 => X"0000",INIT_6A => X"0000",INIT_6B => X"0000",INIT_6C => X"0000",INIT_6D => X"0000",INIT_6E => X"0000",INIT_6F => X"0000",-- Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion on-- specific pinsIS_CONVSTCLK_INVERTED => ’0’, -- Optional inversion for CONVSTCLK, 0-1IS_DCLK_INVERTED => ’0’, -- Optional inversion for DCLK, 0-1-- Simulation attributes: Set for proper simulation behaviorSIM_MONITOR_FILE => "design.txt", -- Analog simulation data file name-- User Voltage Monitor: SYSMON User voltage monitorSYSMON_VUSER0_BANK => 0, -- Specify IO Bank for User0SYSMON_VUSER0_MONITOR => "NONE", -- Specify Voltage for User0SYSMON_VUSER1_BANK => 0, -- Specify IO Bank for User1SYSMON_VUSER1_MONITOR => "NONE", -- Specify Voltage for User1SYSMON_VUSER2_BANK => 0, -- Specify IO Bank for User2SYSMON_VUSER2_MONITOR => "NONE", -- Specify Voltage for User2SYSMON_VUSER3_MONITOR => "NONE" -- Specify Voltage for User3

)port map (

-- ALARMS outputs: ALM, OTALM => ALM, -- 16-bit output: Output alarm for temp, Vccint, Vccaux and VccbramOT => OT, -- 1-bit output: Over-Temperature alarm-- Dynamic Reconfiguration Port (DRP) outputs: Dynamic Reconfiguration PortsDO => DO, -- 16-bit output: DRP output data busDRDY => DRDY, -- 1-bit output: DRP data ready-- STATUS outputs: SYSMON status ports

UltraScale ライブラリ ガイド http://japan.xilinx.com 387UG974 (v2015.2) 2015 月 6 月 24 日

Page 388: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

BUSY => BUSY, -- 1-bit output: System Monitor busy outputCHANNEL => CHANNEL, -- 6-bit output: Channel selection outputsEOC => EOC, -- 1-bit output: End of ConversionEOS => EOS, -- 1-bit output: End of SequenceJTAGBUSY => JTAGBUSY, -- 1-bit output: JTAG DRP transaction in progress outputJTAGLOCKED => JTAGLOCKED, -- 1-bit output: JTAG requested DRP port lockJTAGMODIFIED => JTAGMODIFIED, -- 1-bit output: JTAG Write to the DRP has occurredMUXADDR => MUXADDR, -- 5-bit output: External MUX channel decode-- Auxiliary Analog-Input Pairs inputs: VAUXP[15:0], VAUXN[15:0]VAUXN => VAUXN, -- 16-bit input: N-side auxiliary analog inputVAUXP => VAUXP, -- 16-bit input: P-side auxiliary analog input-- CONTROL and CLOCK inputs: Reset, conversion start and clock inputsCONVST => CONVST, -- 1-bit input: Convert start inputCONVSTCLK => CONVSTCLK, -- 1-bit input: Convert start inputRESET => RESET, -- 1-bit input: Active-High reset-- Dedicated Analog Input Pair inputs: VP/VNVN => VN, -- 1-bit input: N-side analog inputVP => VP, -- 1-bit input: P-side analog input-- Dynamic Reconfiguration Port (DRP) inputs: Dynamic Reconfiguration PortsDADDR => DADDR, -- 8-bit input: DRP address busDCLK => DCLK, -- 1-bit input: DRP clockDEN => DEN, -- 1-bit input: DRP enable signalDI => DI, -- 16-bit input: DRP input data busDWE => DWE, -- 1-bit input: DRP write enable-- I2C Interface inputs: Ports used with the I2C DRP interfaceI2C_SCLK => I2C_SCLK, -- 1-bit input: I2C_SCLK input portI2C_SDA => I2C_SDA -- 1-bit input: I2C_SDA input port

);

-- End of SYSMONE1_inst instantiation

Verilog 記述 (インスタンシエーション)

// SYSMONE1: Xilinx Analog-to-Digital Converter and System Monitor// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

SYSMONE1 #(// INIT_40 - INIT_44: SYSMON configuration registers.INIT_40(16’h0000),.INIT_41(16’h0000),.INIT_42(16’h0000),.INIT_43(16’h0000),.INIT_44(16’h0000),.INIT_45(16’h0000), // Analog Bus Register// INIT_46 - INIT_4F: Sequence Registers.INIT_46(16’h0000),.INIT_47(16’h0000),.INIT_48(16’h0000),.INIT_49(16’h0000),.INIT_4A(16’h0000),.INIT_4B(16’h0000),.INIT_4C(16’h0000),.INIT_4D(16’h0000),.INIT_4E(16’h0000),.INIT_4F(16’h0000),// INIT_50 - INIT_5F: Alarm Limit Registers.INIT_50(16’h0000),.INIT_51(16’h0000),.INIT_52(16’h0000),.INIT_53(16’h0000),.INIT_54(16’h0000),.INIT_55(16’h0000),.INIT_56(16’h0000),.INIT_57(16’h0000),.INIT_58(16’h0000),.INIT_59(16’h0000),.INIT_5A(16’h0000),.INIT_5B(16’h0000),.INIT_5C(16’h0000),

UltraScale ライブラリ ガイド http://japan.xilinx.com 388UG974 (v2015.2) 2015 月 6 月 24 日

Page 389: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

.INIT_5D(16’h0000),

.INIT_5E(16’h0000),

.INIT_5F(16’h0000),// INIT_60 - INIT_6F: User Supply Alarms.INIT_60(16’h0000),.INIT_61(16’h0000),.INIT_62(16’h0000),.INIT_63(16’h0000),.INIT_64(16’h0000),.INIT_65(16’h0000),.INIT_66(16’h0000),.INIT_67(16’h0000),.INIT_68(16’h0000),.INIT_69(16’h0000),.INIT_6A(16’h0000),.INIT_6B(16’h0000),.INIT_6C(16’h0000),.INIT_6D(16’h0000),.INIT_6E(16’h0000),.INIT_6F(16’h0000),// Programmable Inversion Attributes: Specifies the use of the built-in programmable inversion on// specific pins.IS_CONVSTCLK_INVERTED(1’b0), // Optional inversion for CONVSTCLK, 0-1.IS_DCLK_INVERTED(1’b0), // Optional inversion for DCLK, 0-1// Simulation attributes: Set for proper simulation behavior.SIM_MONITOR_FILE("design.txt"), // Analog simulation data file name// User Voltage Monitor: SYSMON User voltage monitor.SYSMON_VUSER0_BANK(0), // Specify IO Bank for User0.SYSMON_VUSER0_MONITOR("NONE"), // Specify Voltage for User0.SYSMON_VUSER1_BANK(0), // Specify IO Bank for User1.SYSMON_VUSER1_MONITOR("NONE"), // Specify Voltage for User1.SYSMON_VUSER2_BANK(0), // Specify IO Bank for User2.SYSMON_VUSER2_MONITOR("NONE"), // Specify Voltage for User2.SYSMON_VUSER3_MONITOR("NONE") // Specify Voltage for User3

)SYSMONE1_inst (

// ALARMS outputs: ALM, OT.ALM(ALM), // 16-bit output: Output alarm for temp, Vccint, Vccaux and Vccbram.OT(OT), // 1-bit output: Over-Temperature alarm// Dynamic Reconfiguration Port (DRP) outputs: Dynamic Reconfiguration Ports.DO(DO), // 16-bit output: DRP output data bus.DRDY(DRDY), // 1-bit output: DRP data ready// STATUS outputs: SYSMON status ports.BUSY(BUSY), // 1-bit output: System Monitor busy output.CHANNEL(CHANNEL), // 6-bit output: Channel selection outputs.EOC(EOC), // 1-bit output: End of Conversion.EOS(EOS), // 1-bit output: End of Sequence.JTAGBUSY(JTAGBUSY), // 1-bit output: JTAG DRP transaction in progress output.JTAGLOCKED(JTAGLOCKED), // 1-bit output: JTAG requested DRP port lock.JTAGMODIFIED(JTAGMODIFIED), // 1-bit output: JTAG Write to the DRP has occurred.MUXADDR(MUXADDR), // 5-bit output: External MUX channel decode// Auxiliary Analog-Input Pairs inputs: VAUXP[15:0], VAUXN[15:0].VAUXN(VAUXN), // 16-bit input: N-side auxiliary analog input.VAUXP(VAUXP), // 16-bit input: P-side auxiliary analog input// CONTROL and CLOCK inputs: Reset, conversion start and clock inputs.CONVST(CONVST), // 1-bit input: Convert start input.CONVSTCLK(CONVSTCLK), // 1-bit input: Convert start input.RESET(RESET), // 1-bit input: Active-High reset// Dedicated Analog Input Pair inputs: VP/VN.VN(VN), // 1-bit input: N-side analog input.VP(VP), // 1-bit input: P-side analog input// Dynamic Reconfiguration Port (DRP) inputs: Dynamic Reconfiguration Ports.DADDR(DADDR), // 8-bit input: DRP address bus.DCLK(DCLK), // 1-bit input: DRP clock.DEN(DEN), // 1-bit input: DRP enable signal.DI(DI), // 16-bit input: DRP input data bus.DWE(DWE), // 1-bit input: DRP write enable// I2C Interface inputs: Ports used with the I2C DRP interface.I2C_SCLK(I2C_SCLK), // 1-bit input: I2C_SCLK input port.I2C_SDA(I2C_SDA) // 1-bit input: I2C_SDA input port

);

UltraScale ライブラリ ガイド http://japan.xilinx.com 389UG974 (v2015.2) 2015 月 6 月 24 日

Page 391: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

TX_BITSLICE_TRI

プリミティブ : TX_BITSLICE_TRI for tristate using Native Mode

プリミティブ グループ : I/Oプリミティブ サブグループ : BITSLICE

概要

ネイティブ モードでは、TX_BITSLICE_TRI はニブル内の Bitslice をトライステートにします。また、キャリブレーションされた

タップ精度を使用する 512 タップの出力遅延エレメント (ODELAY) も含みます。

ポートの説明

ポート名 方向 幅 機能

BIT_CTRL_IN<39:0> 入力 40 BITSLICE_CONTROL からの入力バス

BIT_CTRL_OUT<39:0> 出力 40 BITSLICE_CONTROL への出力バス

CE 入力 1 インクリメント/デクリメント入力をイネーブル/ディスエーブルにするアクティブ High の信号

CLK 入力 1 クロック入力

CNTVALUEIN<8:0> 入力 9 動的に読み込まれるタップ値用の FPGA ロジックからのカウンター値

CNTVALUEOUT<8:0> 出力 9 タップ値モニター用に内部デバイス ロジックに送信されるカウンター値

EN_VTC 入力 1 High の場合、VT が変動した場合に遅延が一定に保たれるようにするイネーブル。Low の場合、VT 変動の補正はディスエーブルになります。

INC 入力 1 タップ遅延設定をインクリメントします。

LOAD 入力 1 CNTVALUEIN タップ設定を読み込みます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 391UG974 (v2015.2) 2015 月 6 月 24 日

Page 392: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

ポート名 方向 幅 機能

RST 入力 1 非同期アサート、同期ディアサート

RST_DLY 入力 1 DELAY_VALUE への内部遅延値をリセットします。

TRI_OUT 出力 1 Bitslice の TBYTE_IN ピンへの出力

デザインの入力方法

インスタンシエーション 可

推論 不可

IP および IP インテグレーター カタログ 可

使用可能な属性

属性 データ型 値 デフォルト 説明

DATA_WIDTH 10 進数 8、4 8 パラレル データ入力の幅を指定します。有効な値は 4 ~ 8 です。

DELAY_FORMAT 文字列 "TIME"、"COUNT" "TIME" TX_BITSLICE_TRI ODELAY のDELAY_VALUE の単位を設定します。DELAY_TYPE が "FIXED" の場合は"TIME" に設定し、"VARIABLE" または"VAR_LOAD" の場合は "COUNT" に設定します。

• "TIME" : TX_BITSLICE_TRI ODELAY

の DELAY_VALUE の値を ps で指定

します。

• "COUNT" : TX_BITSLICE_TRI

ODELAY の DELAY_VALUE の値を

タップ数で指定します。

DELAY_TYPE 文字列 "FIXED"、"VAR_LOAD"、"VARIABLE"

"FIXED" タップ遅延ラインのタイプを設定します。

• "FIXED" : スタティック遅延値に設定

します。

• "VARIABLE" : 遅延値を動的に調整 (イ

ンクリメントまたはディクリメント) します。

• "VAR_LOAD" : タップ値を動的に読み

込みます。

DELAY_VALUE 10 進数 0 ~ 1250 0 DELAY_TYPE を "FIXED" に設定している場合は、固定遅延を ps で指定します。DELAY_TYPE を "VARIABLE" または"VAR_LOAD" に設定している場合は、リセット時の値を指定します。

INIT 2 進数 1’b1、1’b0 1’b1 O の初期値を指定します。

IS_CLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 CLK クロック ピンをアクティブ High にするかアクティブ Low にするかを指定します。

IS_RST_DLY_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RST_DLY リセット ピンをアクティブ High にするかアクティブ Low にするかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 392UG974 (v2015.2) 2015 月 6 月 24 日

Page 393: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

属性 データ型 値 デフォルト 説明

IS_RST_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RST リセット ピンをアクティブ High にするかアクティブ Low にするかを指定します。

OUTPUT_PHASE_90

文字列 "FALSE"、"TRUE" "FALSE" 出力の位相を 90 度遅らせます。

REFCLK_FREQUENCY

1 上位ビット浮動小数点

200.0 ~ 2400.0 300.0 基準クロックの周波数を MHz で指定します。

UPDATE_MODE 文字列 "ASYNC"、"MANUAL"、"SYNC"

"ASYNC" • "ASYNC" : 受信されるデータとは独立

して遅延値がインクリメントまたはディク

リメントされます。

• "SYNC" : 遅延は入力データのエッジ

に同期してアップデートされます。

• "MANUAL" : LOAD および

CNTVALUEIN 信号を使用して新しい

CNTVALUE を読み込んだ後、LOAD

および CE の両方をアサートしたとき

に、遅延値がアップデートされます。

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- TX_BITSLICE_TRI: TX_BITSLICE_TRI for tristate using Native Mode-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

TX_BITSLICE_TRI_inst : TX_BITSLICE_TRIgeneric map (

DATA_WIDTH => 8, -- Parallel data input width (4-8)DELAY_FORMAT => "TIME", -- Units of the DELAY_VALUE (COUNT, TIME)DELAY_TYPE => "FIXED", -- Set the type of tap delay line (FIXED, VARIABLE, VAR_LOAD)DELAY_VALUE => 0, -- Output delay value settingINIT => ’1’, -- Defines initial O valueIS_CLK_INVERTED => ’0’, -- Optional inversion for CLKIS_RST_DLY_INVERTED => ’0’, -- Optional inversion for RST_DLYIS_RST_INVERTED => ’0’, -- Optional inversion for RSTOUTPUT_PHASE_90 => "FALSE", -- Delays the output phase by 90-degreesREFCLK_FREQUENCY => 300.0, -- Specification of the reference clock frequency in MHz (200.0-2400.0)UPDATE_MODE => "ASYNC" -- Determines when updates to the delay will take effect (ASYNC, MANUAL,

-- SYNC))port map (

BIT_CTRL_OUT => BIT_CTRL_OUT, -- 40-bit output: Output bus to BITSLICE_CONTROLCNTVALUEOUT => CNTVALUEOUT, -- 9-bit output: Counter value to device logicTRI_OUT => TRI_OUT, -- 1-bit output: Output to the TBYTE_IN pins of the bitslicesBIT_CTRL_IN => BIT_CTRL_IN, -- 40-bit input: Input bus from BITSLICE_CONTROLCE => CE, -- 1-bit input: Active high enable increment/decrement inputCLK => CLK, -- 1-bit input: Clock inputCNTVALUEIN => CNTVALUEIN, -- 9-bit input: Counter value inputEN_VTC => EN_VTC, -- 1-bit input: Enable to keep stable delay over VTINC => INC, -- 1-bit input: Increment the current delay tap settingLOAD => LOAD, -- 1-bit input: Load the CNTVALUEIN tap settingRST => RST, -- 1-bit input: Asynchronous assert, synchronous deassertRST_DLY => RST_DLY -- 1-bit input: Reset the internal DELAY value to DELAY_VALUE

);

UltraScale ライブラリ ガイド http://japan.xilinx.com 393UG974 (v2015.2) 2015 月 6 月 24 日

Page 394: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

-- End of TX_BITSLICE_TRI_inst instantiation

Verilog 記述 (インスタンシエーション)

// TX_BITSLICE_TRI: TX_BITSLICE_TRI for tristate using Native Mode// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

TX_BITSLICE_TRI #(.DATA_WIDTH(8), // Parallel data input width (4-8).DELAY_FORMAT("TIME"), // Units of the DELAY_VALUE (COUNT, TIME).DELAY_TYPE("FIXED"), // Set the type of tap delay line (FIXED, VARIABLE, VAR_LOAD).DELAY_VALUE(0), // Output delay value setting.INIT(1’b1), // Defines initial O value.IS_CLK_INVERTED(1’b0), // Optional inversion for CLK.IS_RST_DLY_INVERTED(1’b0), // Optional inversion for RST_DLY.IS_RST_INVERTED(1’b0), // Optional inversion for RST.OUTPUT_PHASE_90("FALSE"), // Delays the output phase by 90-degrees.REFCLK_FREQUENCY(300.0), // Specification of the reference clock frequency in MHz (200.0-2400.0).UPDATE_MODE("ASYNC") // Determines when updates to the delay will take effect (ASYNC, MANUAL,

// SYNC))TX_BITSLICE_TRI_inst (

.BIT_CTRL_OUT(BIT_CTRL_OUT), // 40-bit output: Output bus to BITSLICE_CONTROL

.CNTVALUEOUT(CNTVALUEOUT), // 9-bit output: Counter value to device logic

.TRI_OUT(TRI_OUT), // 1-bit output: Output to the TBYTE_IN pins of the bitslices

.BIT_CTRL_IN(BIT_CTRL_IN), // 40-bit input: Input bus from BITSLICE_CONTROL

.CE(CE), // 1-bit input: Active high enable increment/decrement input

.CLK(CLK), // 1-bit input: Clock input

.CNTVALUEIN(CNTVALUEIN), // 9-bit input: Counter value input

.EN_VTC(EN_VTC), // 1-bit input: Enable to keep stable delay over VT

.INC(INC), // 1-bit input: Increment the current delay tap setting

.LOAD(LOAD), // 1-bit input: Load the CNTVALUEIN tap setting

.RST(RST), // 1-bit input: Asynchronous assert, synchronous deassert

.RST_DLY(RST_DLY) // 1-bit input: Reset the internal DELAY value to DELAY_VALUE);

// End of TX_BITSLICE_TRI_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 394UG974 (v2015.2) 2015 月 6 月 24 日

Page 395: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

USR_ACCESSE2

プリミティブ : Configuration Data Access

プリミティブ グループ : CONFIGURATIONプリミティブ サブグループ : USR_ACCESS

概要

このデザイン エレメントを使用すると、コンフィギュレーション ロジック内の 32 ビット AXSS レジスタにアクセスでき、FPGA

ロジックからビットストリームで設定可能なスタティック データにアクセスできるようになります。Kintex UltraScale および

Virtex UltraScale FPGA のプリミティブおよび機能は、7 シリーズのものと同じです。USR_ACCESSE2 レジスタ AXSS は、

FPGA ロジックに 32 ビットの定数値 1 つを供給するのに使用できます。レジスタの内容はビットストリームの生成中に定

義でき、分散 RAM に定数を保存する場合とは異なり、デザインを再コンパイルする必要はありません。この定数は、デ

ザインのバージョンやその他の必要な情報を保存するために使用できます。

ポートの説明

ポート名 方向 幅 機能

CFGCLK 出力 1 コンフィギュレーション クロック

DATA<31:0> 出力 32 AXSS レジスタの内容を示すコンフィギュレーション データ出力

DATAVALID 出力 1 データが有効であることを示す出力 (アクティブ High)

デザインの入力方法

インスタンシエーション 推奨

推論 不可

IP および IP インテグレーター カタログ 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 395UG974 (v2015.2) 2015 月 6 月 24 日

Page 396: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

第3章 : デザイン エレメント

VHDL 記述 (インスタンシエーション)

次の 2 つの文が存在しない場合は、コピーしてエンティティ宣言の前に貼り付けます。

Library UNISIM;

use UNISIM.vcomponents.all;

-- USR_ACCESSE2: Configuration Data Access-- UltraScale-- Xilinx HDL Libraries Guide, version 2015.2

USR_ACCESSE2_inst : USR_ACCESSE2port map (

CFGCLK => CFGCLK, -- 1-bit output: Configuration ClockDATA => DATA, -- 32-bit output: Configuration Data reflecting the contents of the AXSS registerDATAVALID => DATAVALID -- 1-bit output: Active High Data Valid

);

-- End of USR_ACCESSE2_inst instantiation

Verilog 記述 (インスタンシエーション)

// USR_ACCESSE2: Configuration Data Access// UltraScale// Xilinx HDL Libraries Guide, version 2015.2

USR_ACCESSE2 USR_ACCESSE2_inst (.CFGCLK(CFGCLK), // 1-bit output: Configuration Clock.DATA(DATA), // 32-bit output: Configuration Data reflecting the contents of the AXSS register.DATAVALID(DATAVALID) // 1-bit output: Active High Data Valid

);

// End of USR_ACCESSE2_inst instantiation

詳細情報

UltraScale デバイスの資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 396UG974 (v2015.2) 2015 月 6 月 24 日

Page 397: UltraScale アーキテクチャ ライブラリ ガイド …...UltraScale アーキテクチャ ライブラリ ガイド UG974(v2015.2)2015月6月24日 本資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資

付録 A

その他のリソースおよび法的通知

ザイリンクス リソース

アンサー、資料、ダウンロード、フォーラムなどのサポート リソースは、ザイリンクス サポート サイトを参照し

てください。

ソリューション センター

デバイス、ツール、IP のサポートについては、ザイリンクス ソリューション センターを参照してください。デザイン

アシスタント、デザイン アドバイザリ、トラブルシューティングのヒントなどが含まれます。

法的通知

The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use

of Xilinx products. To the maximum extent permitted by applicable law: (1) Materials are made available

"AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS,

IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,

NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and (2) Xilinx shall not be liable

(whether in contract or tort, including negligence, or under any other theory of liability) for any loss or damage

of any kind or nature related to, arising under, or in connection with, the Materials (including your use of the

Materials), including for any direct, indirect, special, incidental, or consequential loss or damage (including loss of

data, profits, goodwill, or any type of loss or damage suffered as a result of any action brought by a third party)

even if such damage or loss was reasonably foreseeable or Xilinx had been advised of the possibility of the same.

Xilinx assumes no obligation to correct any errors contained in the Materials or to notify you of updates to the

Materials or to product specifications. You may not reproduce, modify, distribute, or publicly display the Materials

without prior written consent. Certain products are subject to the terms and conditions of Xilinx’s limited

warranty, please refer to Xilinx’s Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos;

IP cores may be subject to warranty and support terms contained in a license issued to you by Xilinx. Xilinx

products are not designed or intended to be fail-safe or for use in any application requiring fail-safe performance;

you assume sole risk and liability for use of Xilinx products in such critical applications, please refer to Xilinx’s

Terms of Sale which can be viewed at http://www.xilinx.com/legal.htm#tos.

© Copyright 2012–2014 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and

other designated brands included herein are trademarks of Xilinx in the United States and other countries. All

other trademarks are the property of their respective owners.

この資料に関するフィードバックおよびリンクなどの問題につきましては、[email protected] まで、ま

たは各ページの右下にある [フィードバック送信] ボタンをクリックすると表示されるフォームからお知らせくださ

い。フィードバックは日本語で入力可能です。いただきましたご意見を参考に早急に対応させていただきます。

なお、このメール アドレスへのお問い合わせは受け付けておりません。あらかじめご了承ください。

UltraScale ライブラリ ガイド http://japan.xilinx.com 397UG974 (v2015.2) 2015 月 6 月 24 日