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

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

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

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

UG974 (v2014.2) 2014 年 6 月 4 日

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

第 1 章

はじめに

概要

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

次の内容が含まれます。

• 概要

• 各マクロの詳細説明

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

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

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

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

とそのインスタンシエーション コード例を示します。インスタンシエーション テンプレートは、http://japan.xilinx.com

から個別の ZIP ファイルとしてダウンロードするか、Vivado Design Suite の言語テンプレートから使用できます。

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

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 2UG974 (v2014.2) 2014 年 6 月 4 日

第1章 : はじめに

デザインの入力方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 3UG974 (v2014.2) 2014 年 6 月 4 日

第 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 andSystem Monitor

SYSMON

演算ファンクション

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

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 4UG974 (v2014.2) 2014 年 6 月 4 日

第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 placeof a CLB 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

LUT5 プリミティブ : 5-Bit Look-Up Table LUT

LUT6 プリミティブ : 6-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 ofa CLB Latch

LATCH

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

LUTRAM

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

LUTRAM

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

LUTRAM

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

LUTRAM

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

LUTRAM

UltraScale ライブラリ ガイド http://japan.xilinx.com 5UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

LUTRAM

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

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 RandomAccess Memory (Select RAM)

LUTRAM

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

LUTRAM

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

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 プリミティブ : General Clock Buffer BUFFER

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 (v2014.2) 2014 年 6 月 4 日

第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

I/O

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

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

BITSLICE

DCIRESET プリミティブ : Digitally Controlled Impedance ResetComponent

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 andOn-die Input 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 BufferDisable

INPUT_BUFFER

IBUFDS_INTERMDISABLE プリミティブ : Differential Input Buffer With Input BufferDisable and 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

IDELAYCTRL プリミティブ : IDELAYE3/ODELAYE3 Tap Delay ValueControl

DELAY

UltraScale ライブラリ ガイド http://japan.xilinx.com 7UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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 Disableand On-die Input Termination Disable

BIDIR_BUFFER

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

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

BIDIR_BUFFER

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

BIDIR_BUFFER

IOBUFDS_DIFF_OUT_DCIEN

プリミティブ : Differential Bidirectional Buffer withComplementary Outputs, Input Path Disable, and On-dieInput Termination Disable

BIDIR_BUFFER

IOBUFDS_DIFF_OUT_INTERMDISABLE

プリミティブ : Differential Bidirectional Buffer withComplementary Outputs, Input Buffer Disable and On-dieInput Termination Disable

BIDIR_BUFFER

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

BIDIR_BUFFER

IOBUFDSE3 プリミティブ : Differential Bidirectional I/O Buffer withOffset Calibration

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

OBUF プリミティブ : Output Buffer OUTPUT_BUFFER

OBUFDS プリミティブ : Differential Output Buffer OUTPUT_BUFFER

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 usingNative Mode

BITSLICE

TX_BITSLICE プリミティブ : TX_BITSLICE for output using Native Mode BITSLICE

TX_BITSLICE_TRI プリミティブ : TX_BITSLICE_TRI for tristate using NativeMode

BITSLICE

UltraScale ライブラリ ガイド http://japan.xilinx.com 8UG974 (v2014.2) 2014 年 6 月 4 日

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

レジスタ

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

FDCE プリミティブ : D Flip-Flop with Clock Enable andAsynchronous Clear

SDR

FDPE プリミティブ : D Flip-Flop with Clock Enable andAsynchronous Preset

SDR

FDRE プリミティブ : D Flip-Flop with Clock Enable andSynchronous Reset

SDR

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

SDR

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

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

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) OutputRegister

DDR

UltraScale ライブラリ ガイド http://japan.xilinx.com 9UG974 (v2014.2) 2014 年 6 月 4 日

第 3 章

デザイン エレメント

概要

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

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

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

• 名称

• 説明

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

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

• ポートの説明

• デザインの入力方法

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

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

• その他のリソース

UltraScale ライブラリ ガイド http://japan.xilinx.com 10UG974 (v2014.2) 2014 年 6 月 4 日

第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 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 (v2014.2) 2014 年 6 月 4 日

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

BITSLICE_CONTROL

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

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 13UG974 (v2014.2) 2014 年 6 月 4 日

第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 (v2014.2) 2014 年 6 月 4 日

第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 (v2014.2) 2014 年 6 月 4 日

第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 を選択します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 16UG974 (v2014.2) 2014 年 6 月 4 日

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

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

ROUNDING_FACTOR

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

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

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 2014.2

BITSLICE_CONTROL_inst : BITSLICE_CONTROLgeneric map (

CTRL_CLK => "EXTERNAL", -- EXTERNAL RIU_CLK or INTERNAL locally divided PLL clock for delay-- control (EXTERNAL, INTERNAL)

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)

UltraScale ライブラリ ガイド http://japan.xilinx.com 17UG974 (v2014.2) 2014 年 6 月 4 日

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

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 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 reset

UltraScale ライブラリ ガイド http://japan.xilinx.com 18UG974 (v2014.2) 2014 年 6 月 4 日

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

RX_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 3RX_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 2014.2

BITSLICE_CONTROL #(.CTRL_CLK("EXTERNAL"), // EXTERNAL RIU_CLK or INTERNAL locally divided PLL clock for delay

// control (EXTERNAL, INTERNAL).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

UltraScale ライブラリ ガイド http://japan.xilinx.com 19UG974 (v2014.2) 2014 年 6 月 4 日

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

.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

.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 (v2014.2) 2014 年 6 月 4 日

第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 (v2014.2) 2014 年 6 月 4 日

第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 2014.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

UltraScale ライブラリ ガイド http://japan.xilinx.com 22UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// BSCANE2: Boundary-Scan User Instruction// UltraScale// Xilinx HDL Libraries Guide, version 2014.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.

.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 (v2014.2) 2014 年 6 月 4 日

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

BUFG

プリミティブ : General Clock Buffer

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

概要

このデザイン エレメントはファンアウトが大きいバッファーで、スキューを抑えて信号を分配するために、信号をグローバル

配線リソースに接続します。BUFG は、通常セット/リセットやクロック イネーブルなどのファンアウトの大きいネットやクロック

ネットに使用されます。

ポートの説明ポート名 方向 幅 機能

I 入力 1 クロック入力

O 出力 1 クロック出力

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFG: General Clock Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

BUFG_inst : BUFGport map (

O => O, -- 1-bit output: BufferI => I -- 1-bit input: Buffer

);

-- End of BUFG_inst instantiation

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

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

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

// BUFG: General Clock Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

BUFG BUFG_inst (.O(O), // 1-bit output: Buffer.I(I) // 1-bit input: Buffer

);

// End of BUFG_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 25UG974 (v2014.2) 2014 年 6 月 4 日

第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 26UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFG_GT: Clock Buffer Driven by Gigabit Transceiver-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 27UG974 (v2014.2) 2014 年 6 月 4 日

第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 28UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFG_GT_SYNC: Synchronizer for BUFG_GT Control Signals-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 29UG974 (v2014.2) 2014 年 6 月 4 日

第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

デザインの入力方法

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

推論 可

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

マクロのサポート 不可

使用可能な属性

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

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 ピンにプログラム可能な反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 30UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGCE: General Clock Buffer with Clock Enable-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 31UG974 (v2014.2) 2014 年 6 月 4 日

第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 32UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 33UG974 (v2014.2) 2014 年 6 月 4 日

第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 分周値を指定します。

IS_CE_INVERTED

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

IS_CLR_INVERTED

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

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 34UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGCE_DIV: General Clock Buffer with Divide Function-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 35UG974 (v2014.2) 2014 年 6 月 4 日

第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 36UG974 (v2014.2) 2014 年 6 月 4 日

第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 出力の初期値を指定します。

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 ピンにオプションの反転を使用するかどうかを指定します。

IS_S1_INVERTED

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

PRESELECT_I0 ブール代数 FALSE、TRUE

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

PRESELECT_I1 ブール代数 FALSE、TRUE

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 37UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGCTRL: General Clock Control Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 38UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// BUFGCTRL: General Clock Control Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 39UG974 (v2014.2) 2014 年 6 月 4 日

第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 入力が選択されます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 40UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

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 2014.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 2014.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 41UG974 (v2014.2) 2014 年 6 月 4 日

第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 42UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 43UG974 (v2014.2) 2014 年 6 月 4 日

第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 44UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- BUFGMUX_CTRL: 2-to-1 General Clock MUX Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 45UG974 (v2014.2) 2014 年 6 月 4 日

第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 インテグレーター カタログ 可

マクロのサポート 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 46UG974 (v2014.2) 2014 年 6 月 4 日

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

使用可能な属性

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

CARRY_TYPE 文字列 "SINGLE_CY8"、"DUAL_CY4"

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- CARRY8: Fast Carry Logic with Look Ahead-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 47UG974 (v2014.2) 2014 年 6 月 4 日

第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 リコンフィギュレーション クロック

LUT 入力 入力 1 プログラマブル ルックアップ テーブルへのロジック入力

O5 出力 1 4 入力 LUT 出力

O6 出力 1 5 入力 LUT 出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 48UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

INIT 16 進数 32’h00000000 ~32’hffffffff

32’h00000000 このエレメントの初期値を指定します。

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 2014.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 49UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// CFGLUT5: 5-input Dynamically Reconfigurable Look-Up Table (LUT)// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 50UG974 (v2014.2) 2014 年 6 月 4 日

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

CMAC

プリミティブ : 100G MAC Block

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : MAC

概要

CMAC 統合ブロックは、高性能でレイテンシの短い 100G イーサネット ポートを提供し、ユーザー カスタマイズおよび統計

収集を可能にします。1 ステップおよび 2 ステップで 1588 のタイム スタンプをサポートします。このエレメントは、インスタン

シエートしたり、ザイリンクスで生成された IP 外で使用または変更することはできません。ファブリック インターコネクトを使用

する GT および FPGA クロック リソースと統合して使用するよう設計されています。このコンポーネントの詳細は、Integrated

Block for CMAC のユーザー ガイドを参照してください。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 51UG974 (v2014.2) 2014 年 6 月 4 日

第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 52UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- DCIRESET: Digitally Controlled Impedance Reset Component-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 53UG974 (v2014.2) 2014 年 6 月 4 日

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

DNA_PORTE2

プリミティブ : Device DNA Access Port

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

概要

DNA_PORT を使用すると、7 シリーズ デバイスのデバイス 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 54UG974 (v2014.2) 2014 年 6 月 4 日

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

使用可能な属性

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

SIM_DNA_VALUE 16 進数 96’h000000000000000000000000~ 96’hfffffffffffffffffffffffd

96’h000000000000000000000000

シミュレーションで使用する 96 ビットの DNA値を指定します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- DNA_PORTE2: Device DNA Access Port-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 55UG974 (v2014.2) 2014 年 6 月 4 日

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

DSP48E2

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

プリミティブ グループ : ARITHMETICプリミティブ サブグループ : DSP

UltraScale ライブラリ ガイド http://japan.xilinx.com 56UG974 (v2014.2) 2014 年 6 月 4 日

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

概要

このデザイン エレメントは、柔軟性が高く、拡張性のある統合ブロックで、多くの DSP アルゴリズムに使用される小型で高速

な演算処理を可能にします。乗算、加算、減算、累積、シフト、論理演算、パターン検出などを実行できます。

ポートの説明

ポート名 方向 幅 機能

A<29:0> 入力 30 前置加算、乗算、加減算/アキュムレータ、ALU、連結などの演算用のデータ入力。乗算または前置加算で使用する場合は、データ(A[26:0]) の 27 ビットのみが使用され、上位ビット (A[29:27]) は使用されないのでグランドに接続する必要があります。内部加減算/アキュムレータまたは ALU 回路で使用する場合は、30 ビットすべてが使用されます (A[29:0])。連結モードで使用する場合は、30 ビットすべてが使用され、連結ベクターの MSB (上位) ビットを構成します。使用しない場合は、すべてのビットを High に接続します。

ACIN<29:0> 入力 30 カスケード接続されている前の DSP48E2 の ACOUT からのデータ入力で、A 入力とマルチプレクサー処理されます。使用しない場合は、ポートをすべて 0 に接続します。

ACOUT<29:0> 出力 30 カスケード接続されている次の DSP48E2 の ACIN へのデータ出力。使用しない場合は未接続にします。

ALUMODE<3:0> 入力 4 DSP48E2 の論理ファンクションを選択します。

B<17:0> 入力 18 乗算の B 入力です。A と B の連結入力の下位ビット (LSB) でもあり、2 段目の加減算または論理ファンクションに入力されます。使用しない場合は、すべてのビットを High に接続します。

BCIN<17:0> 入力 18 カスケード接続されている前の DSP48E2 の BCOUT からのデータ入力で、B 入力とマルチプレクサー処理されます。使用しない場合は、ポートをすべて 0 に接続します。

BCOUT<17:0> 出力 18 カスケード接続されている次の DSP48E2 の BCIN へのデータ出力。使用しない場合は未接続にします。

C<47:0> 入力 48 加減算、パターン検出、または論理ファンクションのデータ入力使用しない場合は、すべてのビットを High に接続します。

CARRYCASCIN 入力 1 カスケード接続されている前の DSP48E2 の CARRYCASCOUT からのキャリー入力

CARRYCASCOUT 出力 1 カスケード接続されている次の DSP48E2 の CARRYCASCIN へのキャリー出力。この信号は、同じ DSP48E2 の CARRYINSEL マルチプレクサー入力に内部フィードバックされます。

CARRYIN 入力 1 FPGA ロジックからのキャリー入力

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 も選択する必要があります。

CARRYOUT<3:0> 出力 4 各累積/加算/論理ユニットの 12 ビット フィールドから出力される 4ビット キャリー出力。通常の 48 ビット操作では CARRYOUT3 のみが使用されます。SIMD 操作では、4 つのキャリー アウト ビット(CARRYOUT[3:0]) を使用できます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 57UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

CEAD 入力 1 前置加算出力 AD パイプライン レジスタのアクティブ High のクロック イネーブル。使用しない場合および ADREG=1 の場合は、論理 1に接続します。ADREG=0 の場合は論理 0 に接続します。

CEALUMODE 入力 1 ALUMODE (制御入力) レジスタ (ALUMODEREG=1) のアクティブHigh のクロック イネーブル。使用しない場合は論理 1 に接続します。

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 に接続します。

CLK 入力 1 DSP48E2 の入力クロックで、すべての内部レジスタおよびフリップフロップで使用されます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 58UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

D<26:0> 入力 27 前置加算への 27 ビット データ入力、または乗算への代替入力。前置加算では、INMODE3 信号の指定に応じた D + A がインプリメントされます。使用しない場合は、すべてのビットを High に接続します。

INMODE<4:0> 入力 5 前置加算、A、B、D 入力、および入力レジスタの機能を選択します。使用しない場合は、すべてのビットを 0 に接続する必要があります。

MULTSIGNIN 入力 1 前の DSP48E2 から出力された乗算結果の符号。MACC 拡張用です。別の DSP ブロックの MULTSIGNOUT に接続するか、使用しない場合はグランドに接続します。

MULTSIGNOUT 出力 1 次の DSP48E2 に入力される乗算結果の符号。MACC 拡張用です。別の DSP ブロックの MULTSIGNIN に接続するか、使用しない場合はグランドに接続します。

OPMODE<8:0> 入力 9 DSP48E2 に含まれる X、Y、Z マルチプレクサーへの入力を制御して、コンポーネントのファンクションを指定します。

OVERFLOW 出力 1 適切に設定したパターン検出および PREG=1 を使用したときのアクティブ High のオーバーフロー出力

P<47:0> 出力 48 2 段目の加減算または論理ファンクションからのデータ出力

PATTERNBDETECT 出力 1 P[47:0] とパターン バーの一致を示すアクティブ High 出力

PATTERNDETECT 出力 1 P[47:0] と MASK でゲート処理されたパターンの一致を示すアクティブ High 出力。結果は P と同じクロック サイクルで出力されます。

PCIN<47:0> 入力 48 カスケード接続されている前の DSP48E2 の PCOUT から加算へのデータ入力。使用する場合は、カスケード接続されている前のDSP48E2 の PCOUT に接続します。使用しない場合は、ポートをすべて 0 に接続します。

PCOUT<47:0> 出力 48 カスケード接続されている次の DSP48E2 の PCIN へのデータ出力。使用する場合は、カスケード接続されている次の DSP48E2 のPCIN に接続します。使用しない場合は未接続にします。

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 に接続します。

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 に接続します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 59UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

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 に接続します。

UNDERFLOW 出力 1 適切に設定したパターン検出および PREG=1 を使用したときのアクティブ High のアンダーフロー出力

XOROUT<7:0> 出力 8 多入力 XOR 論理ファンクションからのデータ出力

デザインの入力方法

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

推論 推奨

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

マクロのサポート 可

使用可能な属性

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

A_INPUT 文字列 "DIRECT"、"CASCADE"

"DIRECT" A ポートへの入力として、パラレル入力 ("DIRECT") またはカスケード接続されている前の DSP48E2 からの入力 ("CASCADE") のいずれかを選択します。

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 入力レジスタの数を選択します。

AMULTSEL 文字列 "A"、"AD" "A" 乗算の 27 ビット A 入力への入力を選択します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 60UG974 (v2014.2) 2014 年 6 月 4 日

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

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

AREG 10 進数 1、0、2 1 A 入力パイプライン レジスタの数を選択します。A ポートを使用しない場合は、1 に設定します。

AUTORESET_PATDET

文字列 "NO_RESET"、"RESET_MATCH"、"RESET_NOT_MATCH"

"NO_RESET" あるクロック サイクルでパターン検出イベントが発生した場合、その次のクロック サイクルで P レジスタ (累積値またはカウンター値) を自動的にリセットします。"RESET_MATCH"および "RESET_NOT_MATCH" は、次のサイクルで P レジスタを自動リセットする条件を指定します。

• "RESET_MATCH" : パターン

が一致した場合に自動リセット

• "RESET_NOT_MATCH" : 1 つ

前のサイクルでパターンが一

致していたが現在のサイクル

でパターンが一致しない場合

に自動リセット

AUTORESET_PRIORITY

文字列 "RESET"、"CEP" "RESET" AUTORESET_PATDET 機能を使用する場合に、AUTORESET またはクロック イネーブル (CEP) のどちらを優先するかを指定します。

B_INPUT 文字列 "DIRECT"、"CASCADE"

"DIRECT" B ポートへの入力として、パラレル入力 ("DIRECT") またはカスケード接続されている前の DSP48E2 からの入力 ("CASCADE") のいずれかを選択します。

BCASCREG 10 進数 1、0、2 1 BREG 属性と組み合わせて使用し、B カスケード パス BCOUT の B入力レジスタの数を指定します。この値は、BREG の値以下にする必要があります。

• BREG=0 : BCASCREG を 0 に

する必要があります。

• BREG=1 : BCASCREG を 1 に

する必要があります。

• BREG=2 : BCASCREG を 1 ま

たは 2 に設定できます。

BMULTSEL 文字列 "B"、"AD" "B" 乗算の 18 ビット B 入力への入力を選択します。

BREG 10 進数 1、0、2 1 B 入力レジスタの数を選択します。B ポートを使用しない場合は、1 に設定します。

CARRYINREG 10 進数 1、0 1 CARRYIN 入力レジスタの数を選択します。

CARRYINSELREG 10 進数 1、0 1 CARRYINSEL 入力レジスタの数を選択します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 61UG974 (v2014.2) 2014 年 6 月 4 日

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

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

CREG 10 進数 1、0 1 C 入力レジスタの数を選択します。C ポートを使用しない場合は、1 に設定します。

DREG 10 進数 1、0 1 D 入力レジスタの数を選択します。D ポートを使用しない場合は、1 に設定します。

INMODEREG 10 進数 1、0 1 INMODE 入力レジスタの数を選択します。

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 ピンにオプションの反転を使用するかどうかを指定します。

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 ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 62UG974 (v2014.2) 2014 年 6 月 4 日

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

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

MASK 16 進数 48’h000000000000 ~48’hffffffffffff

48’h3fffffffffff 48 ビット値を使用してパターン検出中に特定のビットをマスクし、パターン検出の対象外にします。MASK ビットを 1 に設定すると対応するパターン ビットが無視され、0に設定するとパターン ビットが比較されます。

MREG 10 進数 1、0 1 乗算出力 (M) パイプライン レジスタの段数を選択します。

OPMODEREG 10 進数 1、0 1 OPMODE 入力レジスタの数を選択します。

PATTERN 16 進数 48’h000000000000 ~48’hffffffffffff

48’h000000000000 パターン検出で使用されます。

PREADDINSEL 文字列 "A"、"B" "A" 前置加算で D に加算する入力を選択します。

PREG 10 進数 1、0 1 P 出力レジスタの数を選択します。レジスタが付いている出力には、CARRYOUT、CARRYCASCOUT、MULTSIGNOUT、PATTERNB_DETECT、PATTERN_DETECT、PCOUTが含まれます。

RND 16 進数 48’h000000000000 ~48’hffffffffffff

48’h000000000000 WMUX への丸め定数を指定します。

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属性フィールドを指定できます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 63UG974 (v2014.2) 2014 年 6 月 4 日

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

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

USE_MULT 文字列 "MULTIPLY"、"DYNAMIC"、"NONE"

"MULTIPLY" 乗算機能の使用方法を選択します。

• "MULTIPLY" : 乗算を使用し

ます。

• "NONE" : 加算/論理ユニット

のみを使用する場合に消費電

力を節約します。

• "DYNAMIC" : A*B と A:B をダ

イナミックに切り替え、この 2 つ

のパスのワーストケース タイミ

ングを取得する必要があるこ

とを示します。

USE_PATTERN_DETECT

文字列 "NO_PATDET"、"PATDET"

"NO_PATDET" パターン検出および関連機能を使用するか ("PATDET")、使用しないか ("NO_PATDET") を選択します。この属性は、スピード仕様およびシミュレーション モデル用にのみ使用します。

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") を選択できます。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- DSP48E2: 48-bit Multi-Functional Arithmetic Block-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

DSP48E2_inst : DSP48E2generic map (

-- Feature Control Attributes: Data Path Selection

UltraScale ライブラリ ガイド http://japan.xilinx.com 64UG974 (v2014.2) 2014 年 6 月 4 日

第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 65UG974 (v2014.2) 2014 年 6 月 4 日

第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 modeRSTINMODE => RSTINMODE, -- 1-bit input: Reset for INMODEREG-- 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 ADREGRSTM => 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 2014.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 66UG974 (v2014.2) 2014 年 6 月 4 日

第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.RSTINMODE(RSTINMODE), // 1-bit input: Reset for INMODEREG// 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

UltraScale ライブラリ ガイド http://japan.xilinx.com 67UG974 (v2014.2) 2014 年 6 月 4 日

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

.CECTRL(CECTRL), // 1-bit input: Clock enable for OPMODEREG and CARRYINSELREG

.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

.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 68UG974 (v2014.2) 2014 年 6 月 4 日

第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’h00000000 ~32’hffffffff

32’h00000000 シミュレーションで使用される 32 ビットの不揮発性の値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 69UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- EFUSE_USR: 32-bit non-volatile design ID-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 70UG974 (v2014.2) 2014 年 6 月 4 日

第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 71UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

使用可能な属性

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

INIT 2 進数 1’b0、1’b1 1’b0 コンフィギュレーション後および STARTUP ブロックで GSR がアサートされた時の Q 出力の初期値を指定します。

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

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 に設定する必要があります。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- FDCE: D Flip-Flop with Clock Enable and Asynchronous Clear-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

FDCE_inst : FDCEgeneric map (

INIT => 0, -- Initial value of register, 1’b0, 1’b1-- 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

UltraScale ライブラリ ガイド http://japan.xilinx.com 72UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// FDCE: D Flip-Flop with Clock Enable and Asynchronous Clear// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

FDCE #(.INIT(0), // 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 73UG974 (v2014.2) 2014 年 6 月 4 日

第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 74UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

使用可能な属性

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

INIT 2 進数 1’b1、1’b0 1’b1 コンフィギュレーション後および STARTUP ブロックで GSR がアサートされた時の Q 出力の初期値を指定します。

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_PRE _INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 PRE ピンにオプションの反転を使用するかどうかを指定します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- FDPE: D Flip-Flop with Clock Enable and Asynchronous Preset-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

FDPE_inst : FDPEgeneric map (

INIT => 1, -- Initial value of register, 1’b0, 1’b1-- 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

UltraScale ライブラリ ガイド http://japan.xilinx.com 75UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// FDPE: D Flip-Flop with Clock Enable and Asynchronous Preset// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

FDPE #(.INIT(1), // 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 76UG974 (v2014.2) 2014 年 6 月 4 日

第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 77UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

使用可能な属性

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

INIT 2 進数 1’b0、1’b1 1’b0 コンフィギュレーション後および STARTUP ブロックで GSR がアサートされた時の Q 出力の初期値を指定します。

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_R_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 R ピンにオプションの反転を使用するかどうかを指定します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- FDRE: D Flip-Flop with Clock Enable and Synchronous Reset-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

FDRE_inst : FDREgeneric map (

INIT => 0, -- Initial value of register, 1’b0, 1’b1-- 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

UltraScale ライブラリ ガイド http://japan.xilinx.com 78UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// FDRE: D Flip-Flop with Clock Enable and Synchronous Reset// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

FDRE #(.INIT(0), // 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 79UG974 (v2014.2) 2014 年 6 月 4 日

第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 80UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

使用可能な属性

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

INIT 2 進数 1’b1、1’b0 1’b1 コンフィギュレーション後および STARTUP ブロックで GSR がアサートされた時の Q 出力の初期値を指定します。

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_S_INVERTED 2 進数 1’b0 ~ 1’b1 1’b0 S ピンにオプションの反転を使用するかどうかを指定します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- FDSE: D Flip-Flop with Clock Enable and Synchronous Set-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

FDSE_inst : FDSEgeneric map (

INIT => 1, -- Initial value of register, 1’b0, 1’b1-- 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

UltraScale ライブラリ ガイド http://japan.xilinx.com 81UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// FDSE: D Flip-Flop with Clock Enable and Synchronous Set// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

FDSE #(.INIT(1), // 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 82UG974 (v2014.2) 2014 年 6 月 4 日

第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 83UG974 (v2014.2) 2014 年 6 月 4 日

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

ポートの説明

ポート名 方向 幅 機能

CASDIN<31:0> 入力 32 FIFO を直列または並列にカスケード接続した場合に、前のFIFO CASDOUT 出力を接続する FIFO データ入力バス。CASCADE_ORDER が "MIDDLE"、"LAST"、または "PARALLEL"の場合にのみ使用します。

CASDINP<3:0> 入力 4 FIFO を直列または並列にカスケード接続した場合に、前の FIFOCASDOUTP 出力を接続する FIFO パリティ データ入力バス。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 入力に接続する FIFO データ出力バス。CASCADE_ORDER が "FIRST"、"MIDDLE"、または "PARALLEL"の場合にのみ使用します。

CASDOUTP<3:0> 出力 4 FIFO を直列または並列にカスケード接続した場合に、次の FIFOCASDINP 入力に接続する FIFO パリティ データ出力バス。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" の場合にのみ使用します。

DIN<31:0> 入力 32 FIFO データ入力バス。WRCLK に同期しています。

DINP<3:0> 入力 4 FIFO パリティ入力バス。WRCLK に同期しています。

DOUT<31:0> 出力 32 FIFO データ出力バス。RDCLK に同期しています。

UltraScale ライブラリ ガイド http://japan.xilinx.com 84UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

DOUTP<3:0> 出力 4 FIFO パリティ出力バス。RDCLK に同期しています。

EMPTY 出力 1 FIFO が空であることを示すアクティブ High のフラグ。RDCLK に同期しています。

FULL 出力 1 FIFO がフルであることを示すアクティブ High のフラグ。WRCLKに同期しています。

PROGEMPTY 出力 1 FIFO がほぼ空 (PROG_EMPTY_THRESH で指定された数以下のワードを含む) であることを示すプログラマブル フラグ。RDCLK に同期しています。

PROGFULL 出力 1 FIFO がほぼフル (PROG_FULL_THRESH で指定された数以上のワードを含む) であることを示すプログラマブル フラグ

RDCLK 入力 1 読み出しクロック

RDCOUNT<12:0> 出力 13 内部 FIFO 読み出しポインターまたは FIFO 内のワード数のカウントを示す出力。RDCLK に同期しています。出力値はRDCOUNT_TYPE で指定されます。

RDEN 入力 1 アクティブ High の読み出しイネーブル

RDERR 出力 1 FIFO が空であるかリセット状態であるために、読み出し操作が実行されなかったことを示します。RDCLK に同期しています。

RDRSTBUSY 出力 1 FIFO が現在リセット状態であることを示すアクティブ High の信号。RDCLK に同期しています。

REGCE 入力 1 出力レジスタ段のアクティブ High のイネーブル

RST 入力 1 アクティブ High の同期リセット。WRCLK に同期しています。

RSTREG 入力 1 出力レジスタ リセットのアクティブ High のイネーブル

SLEEP 入力 1 消費電力を削減するためのダイナミック シャットダウン。High の場合、ブロックは消費電力削減モードです。SLEEP_ASYNC=FALSEの場合は RDCLK に同期し、それ以外は非同期です。

WRCLK 入力 1 書き込みクロック

WRCOUNT<12:0> 出力 13 内部 FIFO 書き込みポインターまたは FIFO 内のワード数のカウントを示す出力。WRCLK に同期しています。出力値はWRCOUNT_TYPE で指定されます。

WREN 入力 1 アクティブ High のライト イネーブル

WRERR 出力 1 FIFO がフルであるかリセット状態であるために、書き込み操作が実行されなかったことを示します。WRCLK に同期しています。

WRRSTBUSY 出力 1 FIFO が現在リセット状態であることを示すアクティブ High の信号。WRCLK に同期しています。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 85UG974 (v2014.2) 2014 年 6 月 4 日

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

使用可能な属性

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

CASCADE_ORDER

文字列 "NONE"、"FIRST"、"LAST"、"MIDDLE"、"PARALLEL"

"NONE" より深い FIFO を作成するために複数の FIFO18E2 を接続するカスケード機能の使用、コンフィギュレーション、および位置を指定します。

CLOCK_DOMAINS

文字列 "INDEPENDENT"、"COMMON"

"INDEPENDENT" 共通クロック (同期操作) と独立クロック (非同期) のどちらを使用するかを指定します。

FIRST_WORD_FALL_THROUGH

文字列 "FALSE"、"TRUE" "FALSE" TRUE に設定すると、RDEN がアサートされずに FIFO に最初に書き込まれた値が DO に出力されます。

INIT 16 進数 36’h000000000 ~36’hfffffffff 36’h000000000 コンフィギュレーション後の DO 出力の初期値を指定します。

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 ピンにオプションの反転を使用するかどうかを指定します。

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 スリープ モードを非同期動作にするか同期動作にするかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 86UG974 (v2014.2) 2014 年 6 月 4 日

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

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

SRVAL 16 進数 36’h000000000 ~36’hfffffffff 36’h000000000 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 の書き込み側のデータ幅を指定します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- FIFO18E2: 18Kb FIFO (First-In-First-Out) Block RAM Memory-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 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, -- 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 Error

UltraScale ライブラリ ガイド http://japan.xilinx.com 87UG974 (v2014.2) 2014 年 6 月 4 日

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

WRRSTBUSY => 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 2014.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.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

UltraScale ライブラリ ガイド http://japan.xilinx.com 88UG974 (v2014.2) 2014 年 6 月 4 日

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

.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 89UG974 (v2014.2) 2014 年 6 月 4 日

第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 90UG974 (v2014.2) 2014 年 6 月 4 日

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

ポートの説明

ポート名 方向 幅 機能

CASDIN<63:0> 入力 64 FIFO を直列または並列にカスケード接続した場合に、前のFIFO CASDOUT 出力を接続する FIFO データ入力バス。CASCADE_ORDER が "MIDDLE"、"LAST"、または "PARALLEL"の場合にのみ使用します。

CASDINP<7:0> 入力 8 FIFO を直列または並列にカスケード接続した場合に、前の FIFOCASDOUTP 出力を接続する FIFO パリティ データ入力バス。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 入力に接続する FIFO データ出力バス。CASCADE_ORDER が "FIRST"、"MIDDLE"、または "PARALLEL"の場合にのみ使用します。

CASDOUTP<7:0> 出力 8 FIFO を直列または並列にカスケード接続した場合に、次のFIFO CASDINP 入力に接続する FIFO パリティ データ出力バス。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" の場合にのみ使用します。

DBITERR 出力 1 読み出し中にダブル ビット エラーが検出されたことを示す ECCファンクションからのステータス出力。ECC 機能を使用する場合は、EN_ECC_READ を TRUE に設定する必要があります。RDCLK に同期しています。

UltraScale ライブラリ ガイド http://japan.xilinx.com 91UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

DIN<63:0> 入力 64 FIFO データ入力バス。WRCLK に同期しています。

DINP<7:0> 入力 8 FIFO パリティ入力バス。WRCLK に同期しています。

DOUT<63:0> 出力 64 FIFO データ出力バス。RDCLK に同期しています。

DOUTP<7:0> 出力 8 FIFO パリティ出力バス。RDCLK に同期しています。

ECCPARITY<7:0> 出力 8 ECC デコーダーでメモリの誤りを検出および訂正するために使用される、ECC エンコーダーで生成された 8 ビット データ。EN_ECC_WRITE=1 の場合に適用されます。WRCLK に同期しています。

EMPTY 出力 1 FIFO が空であることを示すアクティブ High のフラグ。RDCLK に同期しています。

FULL 出力 1 FIFO がフルであることを示すアクティブ High のフラグ。WRCLK に同期しています。

INJECTDBITERR 入力 1 EN_ECC_WRITE=1 の場合に適用されます。書き込み中に DI のビット 30 と 62 にダブル ビット エラーを挿入します。WRCLK に同期しています。

INJECTSBITERR 入力 1 EN_ECC_WRITE=1 の場合に適用されます。書き込み中に DI のビット 30 にシングル ビット エラーを挿入します。

PROGEMPTY 出力 1 FIFO がほぼ空 (PROG_EMPTY_THRESH で指定された数以下のワードを含む) であることを示すプログラマブル フラグ。RDCLK に同期しています。

PROGFULL 出力 1 FIFO がほぼフル (PROG_FULL_THRESH で指定された数以上のワードを含む) であることを示すプログラマブル フラグ

RDCLK 入力 1 読み出しクロック

RDCOUNT<13:0> 出力 14 内部 FIFO 読み出しポインターまたは FIFO 内のワード数のカウントを示す出力。RDCLK に同期しています。出力値はRDCOUNT_TYPE で指定されます。

RDEN 入力 1 アクティブ High の読み出しイネーブル

RDERR 出力 1 FIFO が空であるかリセット状態であるために、読み出し操作が実行されなかったことを示します。RDCLK に同期しています。

RDRSTBUSY 出力 1 FIFO が現在リセット状態であることを示すアクティブ High の信号。RDCLK に同期しています。

REGCE 入力 1 出力レジスタ段のアクティブ High のイネーブル

RST 入力 1 アクティブ High の同期リセット。WRCLK に同期しています。

RSTREG 入力 1 出力レジスタ リセットのアクティブ High のイネーブル

SBITERR 出力 1 読み出し中にシングル ビット エラーが検出されたことを示す ECC出力。RDCLK に同期しています。

SLEEP 入力 1 消費電力を削減するためのダイナミック シャットダウン。High の場合、ブロックは消費電力削減モードです。SLEEP_ASYNC=FALSEの場合は RDCLK に同期し、それ以外は非同期です。

WRCLK 入力 1 書き込みクロック

WRCOUNT<13:0> 出力 14 内部 FIFO 書き込みポインターまたは FIFO 内のワード数のカウントを示す出力。WRCLK に同期しています。出力値はWRCOUNT_TYPE で指定されます。

WREN 入力 1 アクティブ High のライト イネーブル

UltraScale ライブラリ ガイド http://japan.xilinx.com 92UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

WRERR 出力 1 FIFO がフルであるかリセット状態であるために、書き込み操作が実行されなかったことを示します。WRCLK に同期しています。

WRRSTBUSY 出力 1 FIFO が現在リセット状態であることを示すアクティブ High の信号。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_FALL_THROUGH

文字列 "FALSE"、"TRUE" "FALSE" TRUE に設定すると、RDEN がアサートされずに FIFO に最初に書き込まれた値が DO に出力されます。

INIT 16 進数 72’h000000000000000000 ~72’hffffffffffffffffff

72’h000000000000000000

コンフィギュレーション後の DO 出力の初期値を指定します。

IS_RDCLK_INVERTED

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 93UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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 ピンにオプションの反転を使用するかどうかを指定します。

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、72 4 FIFO の読み出し側のデータ幅を指定します。

REGISTER _MODE 文字列 "UNREGISTERED"、"DO_PIPELINED"、"REGISTERED"

"UNREGISTERED" 出力レジスタのモードを指定します。

RSTREG_PRIORITY

文字列 "RSTREG"、"REGCE" "RSTREG" リセットとイネーブルの優先順位を指定します。

SLEEP_ASYNC 文字列 "FALSE"、"TRUE" "FALSE" BRAM スリープ モードを非同期動作にするか同期動作にするかを指定します。

SRVAL 16 進数 72’h000000000000000000 ~72’hffffffffffffffffff

72’h000000000000000000

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 の書き込み側のデータ幅を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 94UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 95UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 96UG974 (v2014.2) 2014 年 6 月 4 日

第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 97UG974 (v2014.2) 2014 年 6 月 4 日

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

FRAME_ECCE3

プリミティブ : Configuration Frame Error Correction

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

概要

このデザイン エレメントでは、FPGA のコンフィギュレーション メモリ向けの専用ビルトインエラー検出および修正 (ECC) が

提供されます。このエレメントには、ECC 回路のステータスおよびリードバック CRC 回路のステータスを監視する出力が含

まれています。

ポートの説明ポート名 方向 幅 機能

CRCERROR 出力 1 CRC エラーを示す出力

ECCERRORNOTSINGLE 出力 1 1 つのフレームに複数のビット エラーがあることを示す出力

ECCERRORSINGLE 出力 1 シングル ビット フレーム ECC エラーが検出されたことを示す出力

ENDOFFRAME 出力 1 フレーム終了リードバックを示す出力

ENDOFSCAN 出力 1 スキャンの 1 ラウンドの終を示す出力

FAR<25:0> 出力 26 フレーム アドレス レジスタ値を示す出力

FARSEL<1:0> 入力 2 フレーム アドレス

ICAPBOTCLK 入力 1 下位 ICAP の CLK ピンに接続します。

ICAPTOPCLK 入力 1 上位 ICAP の CLK ピンに接続します。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 98UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- FRAME_ECCE3: Configuration Frame Error Correction-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

FRAME_ECCE3_inst : FRAME_ECCE3port map (

CRCERROR => CRCERROR, -- 1-bit output: Output indicating a CRC error.ECCERRORNOTSINGLE => ECCERRORNOTSINGLE, -- 1-bit output: Indicates multiple bits error in a frameECCERRORSINGLE => ECCERRORSINGLE, -- 1-bit output: Output indicating single-bit Frame ECC error

-- detected

ENDOFFRAME => ENDOFFRAME, -- 1-bit output: Output indicating end of frame readbackENDOFSCAN => ENDOFSCAN, -- 1-bit output: Output indicating end of one round of scanFAR => FAR, -- 26-bit output: Frame Address Register value outputFARSEL => FARSEL, -- 2-bit input: Indicates Frame AddressICAPBOTCLK => ICAPBOTCLK, -- 1-bit input: Connect to CLK pin of Bottom ICAPICAPTOPCLK => ICAPTOPCLK -- 1-bit input: Connect to CLK pin of Top ICAP

);

-- End of FRAME_ECCE3_inst instantiation

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

// FRAME_ECCE3: Configuration Frame Error Correction// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

FRAME_ECCE3 FRAME_ECCE3_inst (.CRCERROR(CRCERROR), // 1-bit output: Output indicating a CRC error..ECCERRORNOTSINGLE(ECCERRORNOTSINGLE), // 1-bit output: Indicates multiple bits error in a frame.ECCERRORSINGLE(ECCERRORSINGLE), // 1-bit output: Output indicating single-bit Frame ECC error

// detected

.ENDOFFRAME(ENDOFFRAME), // 1-bit output: Output indicating end of frame readback

.ENDOFSCAN(ENDOFSCAN), // 1-bit output: Output indicating end of one round of scan

.FAR(FAR), // 26-bit output: Frame Address Register value output

.FARSEL(FARSEL), // 2-bit input: Indicates Frame Address

.ICAPBOTCLK(ICAPBOTCLK), // 1-bit input: Connect to CLK pin of Bottom ICAP

.ICAPTOPCLK(ICAPTOPCLK) // 1-bit input: Connect to CLK pin of Top ICAP);

// End of FRAME_ECCE3_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 99UG974 (v2014.2) 2014 年 6 月 4 日

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

GTHE3_CHANNEL

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

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

GTHE3 は、UltraScale デバイスのギガビット トランシーバー コンポーネントです。このエレメントは、インスタンシエートした

り、ザイリンクスで生成された IP 外で使用または変更することはできません。このコンポーネントの詳細は、トランシーバー

ユーザー ガイドを参照してください。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 100UG974 (v2014.2) 2014 年 6 月 4 日

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

GTHE3_COMMON

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

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

GTHE3 は、UltraScale デバイスのギガビット トランシーバー コンポーネントです。このエレメントは、インスタンシエートした

り、ザイリンクスで生成された IP 外で使用または変更することはできません。このコンポーネントの詳細は、トランシーバー

ユーザー ガイドを参照してください。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 101UG974 (v2014.2) 2014 年 6 月 4 日

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

GTYE3_CHANNEL

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

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

GTYE3 は、UltraScale デバイスのギガビット トランシーバー コンポーネントです。このエレメントは、インスタンシエートしたり、

ザイリンクスで生成された IP 外で使用または変更することはできません。このコンポーネントの詳細は、トランシーバー ユー

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

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 102UG974 (v2014.2) 2014 年 6 月 4 日

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

GTYE3_COMMON

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

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

GTYE3 は、UltraScale デバイスのギガビット トランシーバー コンポーネントです。このエレメントは、インスタンシエートしたり、

ザイリンクスで生成された IP 外で使用または変更することはできません。このコンポーネントの詳細は、トランシーバー ユー

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

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 103UG974 (v2014.2) 2014 年 6 月 4 日

第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 104UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- HARD_SYNC: Metastability Hardened Registers-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

HARD_SYNC_inst : HARD_SYNCgeneric map (

INIT => 0, -- Initial values, 1’b0, 1’b1IS_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 2014.2

HARD_SYNC #(.INIT(0), // 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 105UG974 (v2014.2) 2014 年 6 月 4 日

第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 106UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- HPIO_VREF: VREF Scan-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 107UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.2

IBUF_inst : IBUFport map (

O => O, -- 1-bit output: Buffer outputI => I -- 1-bit input: Buffer input

);

UltraScale ライブラリ ガイド http://japan.xilinx.com 108UG974 (v2014.2) 2014 年 6 月 4 日

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

-- End of IBUF_inst instantiation

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

// IBUF: Input Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

IBUF IBUF_inst (.O(O), // 1-bit output: Buffer output.I(I) // 1-bit input: Buffer input

);

// End of IBUF_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 109UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 110UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// IBUF_ANALOG: Analog Auxiliary SYSMON Input Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 111UG974 (v2014.2) 2014 年 6 月 4 日

第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 112UG974 (v2014.2) 2014 年 6 月 4 日

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

使用可能な属性

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

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"ULTRASCALE" シミュレーションが正しく動作するよう"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 2014.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, low=disable

);

-- End of IBUF_IBUFDISABLE_inst instantiation

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

// IBUF_IBUFDISABLE: Input Buffer With Input Buffer Disable// UltraScale// Xilinx HDL Libraries Guide, version 2014.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, low=disable);

// End of IBUF_IBUFDISABLE_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 113UG974 (v2014.2) 2014 年 6 月 4 日

第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 114UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"ULTRASCALE" シミュレーションが正しく動作するよう"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 2014.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, low=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 2014.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, low=disable

.INTERMDISABLE(INTERMDISABLE) // 1-bit input: Input Termination Disable);

// End of IBUF_INTERMDISABLE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 115UG974 (v2014.2) 2014 年 6 月 4 日

第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 117UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 118UG974 (v2014.2) 2014 年 6 月 4 日

第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 出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 119UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

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 2014.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 2014.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 ライブラリ ガイド http://japan.xilinx.com 120UG974 (v2014.2) 2014 年 6 月 4 日

第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 122UG974 (v2014.2) 2014 年 6 月 4 日

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

使用可能な属性

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

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDSアプリケーションに DC バイアスを提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"ULTRASCALE" シミュレーションが正しく動作するよう"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 2014.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 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 123UG974 (v2014.2) 2014 年 6 月 4 日

第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 124UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

DQS_BIAS 文字列 "FALSE"、"TRUE" "FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDS アプリケーションに DC バイアスを提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"ULTRASCALE" シミュレーションが正しく動作するよう"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 2014.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, low=disable

);

-- End of IBUFDS_DIFF_OUT_INTERMDISABLE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 125UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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, low=disable);

// End of IBUFDS_DIFF_OUT_INTERMDISABLE_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 126UG974 (v2014.2) 2014 年 6 月 4 日

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

IBUFDS_GTE3

プリミティブ : Gigabit Transceiver Buffer

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

IBUFDS_GTE3 は、ギガビット トランシーバーの入力パッド バッファー コンポーネントです。REFCLK 信号をシリアル トラン

シーバーの専用基準クロック入力ピンに配線し、ユーザー デザインに IBUFDS_GTE3 プリミティブをインスタンシエートする

必要があります。基準クロックの要件を含む PCB レイアウトの要件は、トランシーバー ユーザー ガイドを参照してください。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 127UG974 (v2014.2) 2014 年 6 月 4 日

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

IBUFDS_IBUFDISABLE

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

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

概要

IBUFDS_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 バッファー出力

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 128UG974 (v2014.2) 2014 年 6 月 4 日

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

使用可能な属性

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

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDS アプリケーションに DC バイアスを提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"ULTRASCALE" シミュレーションが正しく動作するよう"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 2014.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 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 129UG974 (v2014.2) 2014 年 6 月 4 日

第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 130UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

DQS_BIAS 文字列 "FALSE"、"TRUE"

"FALSE" 同じ DQS メモリ インターフェイス ピンに必要なプルアップ/プルダウン機能を提供するか、一部の LVDSアプリケーションに DC バイアスを提供します。

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"ULTRASCALE" シミュレーションが正しく動作するよう "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 2014.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, low=disableINTERMDISABLE => INTERMDISABLE -- 1-bit input: Buffer termination disable, low=disable

);

-- End of IBUFDS_INTERMDISABLE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 131UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// IBUFDS_INTERMDISABLE: Differential Input Buffer With Input Buffer Disable and On-die Input Termination Disable// UltraScale// Xilinx HDL Libraries Guide, version 2014.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, low=disable

.INTERMDISABLE(INTERMDISABLE) // 1-bit input: Buffer termination disable, low=disable);

// End of IBUFDS_INTERMDISABLE_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 132UG974 (v2014.2) 2014 年 6 月 4 日

第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 133UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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, low=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 134UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// IBUFDSE3: Differential Input Buffer with Offset Calibration// UltraScale// Xilinx HDL Libraries Guide, version 2014.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, low=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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 135UG974 (v2014.2) 2014 年 6 月 4 日

第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 136UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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, low=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 2014.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, low=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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 137UG974 (v2014.2) 2014 年 6 月 4 日

第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 138UG974 (v2014.2) 2014 年 6 月 4 日

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

使用可能な属性属性 データ型 値 デフォルト 説明

DEVICE_ID 16 進数 32’h03628093、32’h03627093

32’h03628093 シミュレーションで使用するあらかじめプログラムされているデバイス ID 値を指定します。

ICAP_AUTO_SWITCH

文字列 "DISABLE"、"ENABLE"

"DISABLE" 同期ワードを使用したスイッチ ICAP をイネーブルにします。

SIM_CFG_FILE_NAME

文字列 文字列 なし シミュレーション モデルで解析するロービット ファイル (RBT) を指定します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- ICAPE3: Internal Configuration Access Port-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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

.CSIB(CSIB), // 1-bit input: Active-Low ICAP enable

UltraScale ライブラリ ガイド http://japan.xilinx.com 139UG974 (v2014.2) 2014 年 6 月 4 日

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

.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 140UG974 (v2014.2) 2014 年 6 月 4 日

第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 141UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 142UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// IDDRE1: Dedicated Dual Data Rate (DDR) Input Register// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 143UG974 (v2014.2) 2014 年 6 月 4 日

第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 144UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- IDELAYCTRL: IDELAYE3/ODELAYE3 Tap Delay Value Control-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 145UG974 (v2014.2) 2014 年 6 月 4 日

第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 146UG974 (v2014.2) 2014 年 6 月 4 日

第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 147UG974 (v2014.2) 2014 年 6 月 4 日

第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 148UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- IDELAYE3: Input Fixed or Variable Delay Element-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 IOBUFEN_VTC => EN_VTC, -- 1-bit input: Keep delay constant over VTIDATAIN => IDATAIN, -- 1-bit input: Data input from the logicINC => 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 149UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// IDELAYE3: Input Fixed or Variable Delay Element// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 IOBUF

.EN_VTC(EN_VTC), // 1-bit input: Keep delay constant over VT

.IDATAIN(IDATAIN), // 1-bit input: Data input from the logic

.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 150UG974 (v2014.2) 2014 年 6 月 4 日

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

ILKN

プリミティブ : Interlaken MAC

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : INTERLAKEN

概要

Interlaken プロトコル ブロックは、高パフォーマンス、低消費電力のインプリメンテーションを提供し、Interlaken をチップ間の

インターコネクト プロトコルとして低リスクですばやく採用できます。ファブリック インターコネクトを使用する GT および FPGA

クロック リソースと統合して使用するよう設計されています。このコンポーネントの詳細は、Integrated Block for ILKN のユー

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

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 151UG974 (v2014.2) 2014 年 6 月 4 日

第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 152UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- IOBUF: Input/Output Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 153UG974 (v2014.2) 2014 年 6 月 4 日

第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 154UG974 (v2014.2) 2014 年 6 月 4 日

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

ポートの説明ポート名 方向 幅 機能

DCITERMDISABLE 入力 1 DCI 終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

IO 入出力 1 最上位入力ポートに直接接続される双方向ポート

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

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性属性 データ型 値 デフォルト 説明

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"ULTRASCALE" シミュレーションが正しく動作するよう"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 2014.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, low=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 155UG974 (v2014.2) 2014 年 6 月 4 日

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

-- End of IOBUF_DCIEN_inst instantiation

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

// IOBUF_DCIEN: Input/Output Buffer DCI Enable// UltraScale// Xilinx HDL Libraries Guide, version 2014.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, low=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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 156UG974 (v2014.2) 2014 年 6 月 4 日

第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 157UG974 (v2014.2) 2014 年 6 月 4 日

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

ポートの説明ポート名 方向 幅 機能

I 入力 1 デバイスからの出力パスを表すバッファー入力

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

INTERMDISABLE 入力 1 オンチップ入力終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

IO 入出力 1 双方向 I/O ポート接続。デザインの最上位ポートに直接接続します。

O 出力 1 デバイスへの入力パスを表すバッファー出力

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性属性 データ型 値 デフォルト 説明

SIM_DEVICE 文字列 "ULTRASCALE"、"7SERIES"

"ULTRASCALE" シミュレーションが正しく動作するよう"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 2014.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, low=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 158UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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, low=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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 159UG974 (v2014.2) 2014 年 6 月 4 日

第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

ポートの説明ポート名 方向 幅 機能

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IO 入出力 1 最上位入力ポートに直接接続される diff_p 双方向ポート

IOB 入出力 1 最上位入力ポートに直接接続される diff_n 双方向ポート

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

T 入力 1 バッファーを入力として使用するか出力として使用するかを示すトライステート イネーブル入力

UltraScale ライブラリ ガイド http://japan.xilinx.com 160UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 不可

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 2014.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

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

// IOBUFDS: Differential Input/Output Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 ライブラリ ガイド http://japan.xilinx.com 161UG974 (v2014.2) 2014 年 6 月 4 日

第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 163UG974 (v2014.2) 2014 年 6 月 4 日

第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"

"ULTRASCALE" シミュレーションが正しく動作するよう"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 2014.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 Disable

UltraScale ライブラリ ガイド http://japan.xilinx.com 164UG974 (v2014.2) 2014 年 6 月 4 日

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

I => I, -- 1-bit input: Buffer inputIBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, low=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 2014.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, low=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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 165UG974 (v2014.2) 2014 年 6 月 4 日

第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 166UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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

);

UltraScale ライブラリ ガイド http://japan.xilinx.com 167UG974 (v2014.2) 2014 年 6 月 4 日

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

-- End of IOBUFDS_DIFF_OUT_inst instantiation

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

// IOBUFDS_DIFF_OUT: Differential Input/Output Buffer Primitive With Complementary Outputs for the Input Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 168UG974 (v2014.2) 2014 年 6 月 4 日

第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 169UG974 (v2014.2) 2014 年 6 月 4 日

第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"

"ULTRASCALE" シミュレーションが正しく動作するよう"ULTRASCALE" に設定する必要があります。

USE_IBUFDISABLE

文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 170UG974 (v2014.2) 2014 年 6 月 4 日

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

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 2014.2

IOBUFDS_DIFF_OUT_DCIEN_inst : IOBUFDS_DIFF_OUT_DCIENgeneric 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 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 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 171UG974 (v2014.2) 2014 年 6 月 4 日

第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 172UG974 (v2014.2) 2014 年 6 月 4 日

第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"

"ULTRASCALE" シミュレーションが正しく動作するよう"ULTRASCALE" に設定する必要があります。

USE_IBUFDISABLE

文字列 "TRUE"、"FALSE"

"TRUE" この属性は設定しないでおくか、指定する場合は"TRUE" に設定する必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 173UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 174UG974 (v2014.2) 2014 年 6 月 4 日

第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 175UG974 (v2014.2) 2014 年 6 月 4 日

第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"

"ULTRASCALE" シミュレーションが正しく動作するよう"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 2014.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 output

UltraScale ライブラリ ガイド http://japan.xilinx.com 176UG974 (v2014.2) 2014 年 6 月 4 日

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

I => I, -- 1-bit input: Buffer inputIBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, low=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 2014.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, low=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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 177UG974 (v2014.2) 2014 年 6 月 4 日

第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 178UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 179UG974 (v2014.2) 2014 年 6 月 4 日

第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, low=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 2014.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, low=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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 180UG974 (v2014.2) 2014 年 6 月 4 日

第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) を参照してください。

ポートの説明

ポート名 方向 幅 機能

DCITERMDISABLE 入力 1 DCI 終端をイネーブルまたはディスエーブルにします。これは通常、長期間アイドル状態になったときに消費電力を削減するために使用します。

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

IBUFDISABLE 入力 1 バッファーを介する入力パスをディスエーブルにし、Low にします。この機能は、I/O が長時間アイドル状態になったときに消費電力を削減するために使用します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 181UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

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 2014.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 DisableI => I, -- 1-bit input: Buffer inputIBUFDISABLE => IBUFDISABLE, -- 1-bit input: Buffer disable input, low=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

);

UltraScale ライブラリ ガイド http://japan.xilinx.com 182UG974 (v2014.2) 2014 年 6 月 4 日

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

-- End of IOBUFE3_inst instantiation

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

// IOBUFE3: Bidirectional I/O Buffer with Offset Calibration and VREF Tuning// UltraScale// Xilinx HDL Libraries Guide, version 2014.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, low=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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 183UG974 (v2014.2) 2014 年 6 月 4 日

第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 184UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 flag

UltraScale ライブラリ ガイド http://japan.xilinx.com 185UG974 (v2014.2) 2014 年 6 月 4 日

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

INTERNAL_DIVCLK => INTERNAL_DIVCLK, -- 1-bit output: Internally divided down clock used when FIFO is-- disabled (do not connect)

Q => Q, -- 8-bit registered outputCLK => 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 2014.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 186UG974 (v2014.2) 2014 年 6 月 4 日

第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 187UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- KEEPER: I/O Weak Keeper-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 188UG974 (v2014.2) 2014 年 6 月 4 日

第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 189UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 可

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

マクロのサポート 不可

使用可能な属性

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

INIT 2 進数 1’b0、1’b1 1’b0 コンフィギュレーション後および STARTUP ブロックで GSR がアサートされた時の Q 出力の初期値を指定します。

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 2014.2

LDCE_inst : LDCEgeneric map (

INIT => 0, -- Initial value of latch, 1’b0, 1’b1-- 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 190UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// LDCE: Transparent Latch with Clock Enable and Asynchronous Clear// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

LDCE #(.INIT(0), // 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 191UG974 (v2014.2) 2014 年 6 月 4 日

第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 192UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 可

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

マクロのサポート 不可

使用可能な属性

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

INIT 2 進数 1’b1、1’b0 1’b1 コンフィギュレーション後および STARTUP ブロックでGSR がアサートされた時の Q 出力の初期値を指定します。

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 2014.2

LDPE_inst : LDPEgeneric map (

INIT => 1, -- Initial value of latch, 1’b0, 1’b1-- 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 193UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// LDPE: Transparent Latch with Clock Enable and Asynchronous Preset// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

LDPE #(.INIT(1), // 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 194UG974 (v2014.2) 2014 年 6 月 4 日

第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 195UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 196UG974 (v2014.2) 2014 年 6 月 4 日

第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 197UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 198UG974 (v2014.2) 2014 年 6 月 4 日

第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 199UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 200UG974 (v2014.2) 2014 年 6 月 4 日

第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]

0 1 1 1 INIT[7]

1 0 0 0 INIT[8]

UltraScale ライブラリ ガイド http://japan.xilinx.com 201UG974 (v2014.2) 2014 年 6 月 4 日

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

入力 出力

I3 I2 I1 I0 O

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 2014.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 202UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// LUT4: 4-Bit Look-Up Table// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 203UG974 (v2014.2) 2014 年 6 月 4 日

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

LUT5

プリミティブ : 5-Bit Look-Up Table

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

概要

このデザイン エレメントは、5 ビット ルックアップ テーブル (LUT) です。任意の 5 入力ロジック ファンクションを作成できます。

LUT プリミティブでは、INIT パラメーターで論理値が設定されます。デフォルトは 0 で、入力値にかかわらず出力が 0 に駆

動されます (グランドとして機能)。ただし多くの場合、LUT プリミティブのロジック ファンクションを指定するため、INIT の値を

設定する必要があります。LUT の値を指定する方法には、次の 2 つがあります。

論論論理理理表表表ををを使使使用用用すすするるる方方方法法法 ::: LUT の INIT 値を決定する一般的な方法。すべての入力をリストした 2 進数の論理表を作成し、

出力の論理値を指定して、これらの出力値から INIT 文字列を作成します。

論論論理理理式式式ををを使使使用用用すすするるる方方方法法法 ::: リストされた論理表の値に対応する LUT の各入力にパラメーターまたはジェネリックを定義し、パ

ラメーターを基にロジックの論理式を生成します。概念を理解してしまえばこの方法の方が簡単ですが、コードで最初に適切

なパラメーターまたはジェネリックを指定する必要があります。

LUT5 をほかの LUT1、LUT2、LUT3、LUT4、LUT5 と組み合わせて、1 つの LUT6 リソースに配置できます。ただし、組み

合わせた後の固有の入力信号数が 5 つ以下になるようにする必要があります。Vivado ツールでは、必要な場合または有益

な場合、LUT が自動的に組み合わせられますが、LUT コンポーネントに LUTNM または HLUTNM を指定することにより、

1 つの LUT リソースへの組み合わせを手動で制御できます。

論理表

入力 出力

I4 I3 I2 I1 I0 LO

0 0 0 0 0 INIT[0]

0 0 0 0 1 INIT[1]

0 0 0 1 0 INIT[2]

0 0 0 1 1 INIT[3]

0 0 1 0 0 INIT[4]

0 0 1 0 1 INIT[5]

0 0 1 1 0 INIT[6]

0 0 1 1 1 INIT[7]

UltraScale ライブラリ ガイド http://japan.xilinx.com 204UG974 (v2014.2) 2014 年 6 月 4 日

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

入力 出力

I4 I3 I2 I1 I0 LO

0 1 0 0 0 INIT[8]

0 1 0 0 1 INIT[9]

0 1 0 1 0 INIT[10]

0 1 0 1 1 INIT[11]

0 1 1 0 0 INIT[12]

0 1 1 0 1 INIT[13]

0 1 1 1 0 INIT[14]

0 1 1 1 1 INIT[15]

1 0 0 0 0 INIT[16]

1 0 0 0 1 INIT[17]

1 0 0 1 0 INIT[18]

1 0 0 1 1 INIT[19]

1 0 1 0 0 INIT[20]

1 0 1 0 1 INIT[21]

1 0 1 1 0 INIT[22]

1 0 1 1 1 INIT[23]

1 1 0 0 0 INIT[24]

1 1 0 0 1 INIT[25]

1 1 0 1 0 INIT[26]

1 1 0 1 1 INIT[27]

1 1 1 0 0 INIT[28]

1 1 1 0 1 INIT[29]

1 1 1 1 0 INIT[30]

1 1 1 1 1 INIT[31]

INIT = INIT 属性で指定された 16 進数値を 2 進数で表した値

ポートの説明

ポート名 方向 幅 機能

I0 入力 1 LUT 入力

I1 入力 1 LUT 入力

I2 入力 1 LUT 入力

I3 入力 1 LUT 入力

I4 入力 1 LUT 入力

O 出力 1 LUT 出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 205UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

使用可能な属性

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

INIT 16 進数 32’h00000000 ~32’hffffffff

32’h00000000 このエレメントの論理値を指定します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- LUT5: 5-Bit Look-Up Table-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

LUT5_inst : LUT5generic map (

INIT => X"00000000" -- 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: LUTI4 => I4 -- 1-bit input: LUT

);

-- End of LUT5_inst instantiation

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

// LUT5: 5-Bit Look-Up Table// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

LUT5 #(.INIT(32’h00000000) // Logic function

)LUT5_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

.I4(I4) // 1-bit input: LUT);

// End of LUT5_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 206UG974 (v2014.2) 2014 年 6 月 4 日

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

LUT6

プリミティブ : 6-Bit Look-Up Table

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

概要

このデザイン エレメントは、6 ビット ルックアップ テーブル (LUT) です。任意の 6 入力ロジック ファンクションを作成できます。

LUT プリミティブでは、INIT パラメーターで論理値が設定されます。デフォルトは 0 で、入力値にかかわらず出力が 0 に駆

動されます (グランドとして機能)。ただし多くの場合、LUT プリミティブのロジック ファンクションを指定するため、INIT の値を

設定する必要があります。LUT の値を指定する方法には、次の 2 つがあります。

論論論理理理表表表ををを使使使用用用すすするるる方方方法法法 ::: LUT の INIT 値を決定する一般的な方法。すべての入力をリストした 2 進数の論理表を作成し、

出力の論理値を指定して、これらの出力値から INIT 文字列を作成します。

論論論理理理式式式ををを使使使用用用すすするるる方方方法法法 ::: リストされた論理表の値に対応する LUT の各入力にパラメーターまたはジェネリックを定義し、パ

ラメーターを基にロジックの論理式を生成します。概念を理解してしまえばこの方法の方が簡単ですが、コードで最初に適切

なパラメーターまたはジェネリックを指定する必要があります。

論理表

入力 出力

I5 I4 I3 I2 I1 I0 O

0 0 0 0 0 0 INIT[0]

0 0 0 0 0 1 INIT[1]

0 0 0 0 1 0 INIT[2]

0 0 0 0 1 1 INIT[3]

0 0 0 1 0 0 INIT[4]

0 0 0 1 0 1 INIT[5]

0 0 0 1 1 0 INIT[6]

0 0 0 1 1 1 INIT[7]

UltraScale ライブラリ ガイド http://japan.xilinx.com 208UG974 (v2014.2) 2014 年 6 月 4 日

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

入力 出力

I5 I4 I3 I2 I1 I0 O

0 0 1 0 0 0 INIT[8]

0 0 1 0 0 1 INIT[9]

0 0 1 0 1 0 INIT[10]

0 0 1 0 1 1 INIT[11]

0 0 1 1 0 0 INIT[12]

0 0 1 1 0 1 INIT[13]

0 0 1 1 1 0 INIT[14]

0 0 1 1 1 1 INIT[15]

0 1 0 0 0 0 INIT[16]

0 1 0 0 0 1 INIT[17]

0 1 0 0 1 0 INIT[18]

0 1 0 0 1 1 INIT[19]

0 1 0 1 0 0 INIT[20]

0 1 0 1 0 1 INIT[21]

0 1 0 1 1 0 INIT[22]

0 1 0 1 1 1 INIT[23]

0 1 1 0 0 0 INIT[24]

0 1 1 0 0 1 INIT[25]

0 1 1 0 1 0 INIT[26]

0 1 1 0 1 1 INIT[27]

0 1 1 1 0 0 INIT[28]

0 1 1 1 0 1 INIT[29]

0 1 1 1 1 0 INIT[30]

0 1 1 1 1 1 INIT[31]

1 0 0 0 0 0 INIT[32]

1 0 0 0 0 1 INIT[33]

1 0 0 0 1 0 INIT[34]

1 0 0 0 1 1 INIT[35]

1 0 0 1 0 0 INIT[36]

1 0 0 1 0 1 INIT[37]

1 0 0 1 1 0 INIT[38]

1 0 0 1 1 1 INIT[39]

1 0 1 0 0 0 INIT[40]

1 0 1 0 0 1 INIT[41]

1 0 1 0 1 0 INIT[42]

UltraScale ライブラリ ガイド http://japan.xilinx.com 209UG974 (v2014.2) 2014 年 6 月 4 日

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

入力 出力

I5 I4 I3 I2 I1 I0 O

1 0 1 0 1 1 INIT[43]

1 0 1 1 0 0 INIT[44]

1 0 1 1 0 1 INIT[45]

1 0 1 1 1 0 INIT[46]

1 0 1 1 1 1 INIT[47]

1 1 0 0 0 0 INIT[48]

1 1 0 0 0 1 INIT[49]

1 1 0 0 1 0 INIT[50]

1 1 0 0 1 1 INIT[51]

1 1 0 1 0 0 INIT[52]

1 1 0 1 0 1 INIT[53]

1 1 0 1 1 0 INIT[54]

1 1 0 1 1 1 INIT[55]

1 1 1 0 0 0 INIT[56]

1 1 1 0 0 1 INIT[57]

1 1 1 0 1 0 INIT[58]

1 1 1 0 1 1 INIT[59]

1 1 1 1 0 0 INIT[60]

1 1 1 1 0 1 INIT[61]

1 1 1 1 1 0 INIT[62]

1 1 1 1 1 1 INIT[63]

INIT = INIT 属性で指定された 16 進数値を 2 進数で表した値

ポートの説明

ポート名 方向 幅 機能

I0 入力 1 LUT 入力

I1 入力 1 LUT 入力

I2 入力 1 LUT 入力

I3 入力 1 LUT 入力

I4 入力 1 LUT 入力

I5 入力 1 LUT 入力

O 出力 1 LUT 出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 210UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

使用可能な属性属性 データ型 値 デフォルト 説明

INIT 16 進数 64’h0000000000000000 ~ 64’hffffffffffffffff

64’h0000000000000000

このエレメントの論理値を指定します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- LUT6: 6-Bit Look-Up Table-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

LUT6_inst : LUT6generic map (

INIT => X"0000000000000000" -- 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: LUTI4 => I4, -- 1-bit input: LUTI5 => I5 -- 1-bit input: LUT

);

-- End of LUT6_inst instantiation

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

// LUT6: 6-Bit Look-Up Table// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

LUT6 #(.INIT(64’h0000000000000000) // Logic function

)LUT6_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

.I4(I4), // 1-bit input: LUT

.I5(I5) // 1-bit input: LUT);

UltraScale ライブラリ ガイド http://japan.xilinx.com 211UG974 (v2014.2) 2014 年 6 月 4 日

第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 213UG974 (v2014.2) 2014 年 6 月 4 日

第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 214UG974 (v2014.2) 2014 年 6 月 4 日

第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 215UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 216UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// LUT6_2: 6-input, 2 output Look-Up Table// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 217UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 218UG974 (v2014.2) 2014 年 6 月 4 日

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

-- End of MASTER_JTAG_inst instantiation

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

// MASTER_JTAG: JTAG Port Access// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 219UG974 (v2014.2) 2014 年 6 月 4 日

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

MMCME3_ADV

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

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

概要

MMCME3 は、周波数合成、クロック ネットワークのスキュー調整、ジッター低減をサポートする混合信号ブロックです。各ク

ロック出力に対して、同じ VCO 周波数を基準に分周、位相シフト、デューティ サイクルを個別に設定できます。ダイナミック

位相シフトおよび分数分周もサポートされます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 220UG974 (v2014.2) 2014 年 6 月 4 日

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

ポートの説明

ポート名 方向 幅 機能

CDDCDONE 出力 1 出力クロックの分周値の変更が完了し、出力が有効になったことを示す信号

CDDCREQ 入力 1 出力クロックの分周値をダイナミックに変更することを要求するアクティブ High の信号

CLKFBIN 入力 1 MMCM へのフィードバック クロック ピン

CLKFBOUT 出力 1 専用 MMCM フィードバック クロック出力

CLKFBOUTB 出力 1 CLKFBOUT を反転したクロック出力

CLKFBSTOPPED 出力 1 フィードバック クロックが停止したことを示すステータス ピン

CLKINSEL 入力 1 入力マルチプレクサーのステートを制御する信号で、High の場合はCLKIN1、Low の場合は CLKIN2 です。

CLKINSTOPPED 出力 1 入力クロックが停止したことを示すステータス ピン

CLKIN1 入力 1 プライマリ クロック入力

CLKIN2 入力 1 MMCM 基準クロックを動的に切り替えるためのセカンダリ クロック入力

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 出力

DADDR<6:0> 入力 7 ダイナミック リコンフィギュレーション用のリコンフィギュレーション アドレスを供給する入力バス。このバスを使用しない場合は、すべてのビットを0 にする必要があります。

DCLK 入力 1 ダイナミック リコンフィギュレーション ポートの基準クロック

DEN 入力 1 ダイナミック リコンフィギュレーション機能にアクセスするためのイネーブル制御信号。ダイナミック リコンフィギュレーションを使用しない場合は、Low に接続する必要があります。

DI<15:0> 入力 16 リコンフィギュレーション データを供給するデータ入力バス。このバスを使用しない場合は、すべてのビットを 0 にする必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 221UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

DO<15:0> 出力 16 ダイナミック リコンフィギュレーションを使用する場合の MMCM データ出力バス

DRDY 出力 1 MMCM のダイナミック リコンフィギュレーション機能の DEN 信号への応答を供給する READY 出力です。

DWE 入力 1 DADDR アドレスへの DI データの書き込みを制御するライト イネーブル信号。使用しない場合は、Low に接続する必要があります。

LOCKED 出力 1 位相アライメントが定義されている時間内で完了し、周波数が定義されている PPM 範囲内で一致したことを示します。MMCM は電源投入時に自動的にロックされるので、リセットは必要ありません。入力クロックが停止した場合、または位相アライメントに違反が発生した場合 (入力クロックの位相シフトなど) は、LOCKED がディアサートされます。LOCKED がディアサートされると、自動的にロックが達成されます。

PSCLK 入力 1 位相シフト クロック

PSDONE 出力 1 位相シフト終了

PSEN 入力 1 位相シフト イネーブル

PSINCDEC 入力 1 位相シフト インクリメント/デクリメント制御

PWRDWN 入力 1 生成されたクロックが長時間使用されない場合に、MMCM コンポーネントをオフにして消費電力を削減します。PWRDWN が解放された後は、MMCMを使用する前にロック状態にする必要があります。

RST 入力 1 非同期リセット信号。この信号が解放されると、MMCM はクロックに同期して再びイネーブルになります。入力クロックの条件 (周波数など) を変更する場合、リセットが必要です。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

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 の出力クロックがすべて負の値に位相シフトします。

UltraScale ライブラリ ガイド http://japan.xilinx.com 222UG974 (v2014.2) 2014 年 6 月 4 日

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

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

CLKIN1_PERIOD、CLKIN2 _PERIOD

浮動小数点(nS)

0.000 ~ 100.000 0.000 CLKIN の入力周期を ns で指定します。精度は ps です。たとえば、値 33.333は 30MHz の入力クロックを示します。この値は必ず設定する必要があります。CLKIN1_PERIOD は CLKIN1 入力の入力クロック周期、CLKIN2_PERIOD はCLKIN2 入力の入力クロック周期を指定します。

CLKOUT0_DIVIDE_F 3 上位ビット浮動小数点

1.000 ~ 128.000 1.000 CLKOUT クロック出力を分数分周する値を指定します。この値と、CLKFBOUT_MULT_F 値およびDIVCLK_DIVIDE 値により出力周波数が決まります。

CLKOUT0_DUTY_CYCLE、CLKOUT1_DUTY_CYCLE、CLKOUT2_DUTY_CYCLE、CLKOUT3_DUTY_CYCLE、CLKOUT4_DUTY_CYCLE、CLKOUT5_DUTY_CYCLE、CLKOUT6_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT クロック出力のデューティ サイクルをパーセントで指定します。0.50 に設定すると、デューティ サイクルは 50%になります。

CLKOUT0 _PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKOUT1_DIVIDE、CLKOUT2_DIVIDE、CLKOUT3_DIVIDE、CLKOUT4_DIVIDE、CLKOUT5_DIVIDE、CLKOUT6_DIVIDE

10 進数 1 ~ 128 1 CLKOUT クロック出力を分周する値を指定します。この値と、CLKFBOUT_MULT_F値および DIVCLK_DIVIDE 値により出力周波数が決まります。

CLKOUT1 _PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKOUT2 _PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKOUT3 _PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

UltraScale ライブラリ ガイド http://japan.xilinx.com 223UG974 (v2014.2) 2014 年 6 月 4 日

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

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

CLKOUT4_CASCADE 文字列 "FALSE"、"TRUE"

"FALSE" クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKOUT4 _PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKOUT5 _PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKOUT6 _PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

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 を分周します。

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 ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 224UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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_JITTER1、REF_JITTER2

3 上位ビット浮動小数点

0.000 ~ 0.999 0.010 MMCM のパフォーマンスを最適化するため、CLKIN 入力に予測されるジッター値を指定します。BANDWIDTH が"OPTIMIZED" に設定されている場合、値が既知でないときに入力クロックに最適なパラメーターが選択されます。値が既知である場合は、値を入力クロックに予測されるジッターの UI パーセント (最大ピーク トゥ ピーク値) で指定する必要があります。REF_JITTER1 は CLKIN1 の入力ジッター、REF_JITTER2 は 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" スペクトラム拡散の周波数偏差および拡散タイプを指定します。

STARTUP_WAIT 文字列 "FALSE"、"TRUE"

"FALSE" コンフィギュレーション DONE 信号がアサートされるのを、MMCM がロックされるまで遅延します。

CLKFBOUT_USE_FINE_PS、CLKOUT0_USE_FINE_PS、CLKOUT1_USE_FINE_PS、CLKOUT2_USE_FINE_PS、CLKOUT3_USE_FINE_PS、CLKOUT4_USE_FINE_PS、CLKOUT5_USE_FINE_PS、CLKOUT6_USE_FINE_PS

文字列 "FALSE"、"TRUE"

"FALSE" カウンター可変ファイン位相シフト イネーブル

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

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 225UG974 (v2014.2) 2014 年 6 月 4 日

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- MMCME3_ADV: Advanced Mixed Mode Clock Manager (MMCM)-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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_CASCADE => "FALSE",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_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 outputs

UltraScale ライブラリ ガイド http://japan.xilinx.com 226UG974 (v2014.2) 2014 年 6 月 4 日

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

CLKOUT0 => 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-- 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 2014.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),

UltraScale ライブラリ ガイド http://japan.xilinx.com 227UG974 (v2014.2) 2014 年 6 月 4 日

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

// 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_CASCADE("FALSE"),.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_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"),.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

UltraScale ライブラリ ガイド http://japan.xilinx.com 228UG974 (v2014.2) 2014 年 6 月 4 日

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

// 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 229UG974 (v2014.2) 2014 年 6 月 4 日

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

MMCME3_BASE

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

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

概要

MMCME3 は、周波数合成、クロック ネットワークのスキュー調整、位相調整、およびジッター低減をサポートする混合信号ブ

ロックです。MMCME3_BASE では MMCME3_ADV の機能のうちより一般的な一部の機能がサポートされるので、インスタンシ

エーションおよび使用が比較的簡単です。

ポートの説明

ポート名 方向 幅 機能

CLKFBIN 入力 1 MMCM へのフィードバック クロック ピン

CLKFBOUT 出力 1 専用 MMCM フィードバック クロック出力

CLKFBOUTB 出力 1 CLKFBOUT の反転出力

CLKIN1 入力 1 汎用クロック入力

CLKOUT0 出力 1 CLKOUT0 出力

CLKOUT0B 出力 1 CLKOUT0 の反転出力

UltraScale ライブラリ ガイド http://japan.xilinx.com 230UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

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 出力

LOCKED 出力 1 位相アライメントが定義されている時間内で完了し、周波数が定義されている PPM 範囲内で一致したことを示します。MMCM は電源投入時に自動的にロックされるので、リセットは必要ありません。入力クロックが停止した場合、または位相アライメントに違反が発生した場合 (入力クロックの位相シフトなど) は、LOCKEDがディアサートされます。LOCKED がディアサートされると、自動的にロックが達成されます。

PWRDWN 入力 1 インスタンシエートされているが未使用の MMCM をパワー ダウンします。

RST 入力 1 非同期リセット信号。この信号が解放されると、MMCM はクロックに同期して再びイネーブルになります。入力クロックの条件 (周波数など) を変更する場合、リセットが必要です。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

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 の出力クロックがすべて負の値に位相シフトします。

UltraScale ライブラリ ガイド http://japan.xilinx.com 231UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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 値により出力周波数が決まります。

CLKOUT1_DIVIDE、CLKOUT2_DIVIDE、CLKOUT3_DIVIDE、CLKOUT4_DIVIDE、CLKOUT5_DIVIDE、CLKOUT6_DIVIDE

10 進数 1 ~ 128 1 CLKOUT クロック出力を分周する値を指定します。この値と、CLKFBOUT_MULT_F 値および DIVCLK_DIVIDE 値により出力周波数が決まります。

CLKOUT0_DUTY_CYCLE、CLKOUT1_DUTY_CYCLE、CLKOUT2_DUTY_CYCLE、CLKOUT3_DUTY_CYCLE、CLKOUT4_DUTY_CYCLE、CLKOUT5_DUTY_CYCLE、CLKOUT6_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT クロック出力のデューティ サイクルをパーセントで指定します。0.50 に設定すると、デューティ サイクルは 50% になります。

CLKOUT0 _PHASE、CLKOUT1 _PHASE、CLKOUT2 _PHASE、CLKOUT3 _PHASE、CLKOUT4 _PHASE、CLKOUT5 _PHASE、CLKOUT6 _PHASE

3 上位ビット浮動小数点

-360.000 ~360.000

0.000 クロック フィードバック出力の位相オフセットを度数で指定します。フィードバック クロックをシフトすると、MMCM の出力クロックがすべて負の値に位相シフトします。

CLKOUT4_CASCADE 文字列 "FALSE"、"TRUE"

"FALSE" 出力クロック分周が 128 よりも大きい場合、出力分周 (カウンター) CLKOUT6 をCLKOUT4 分周の入力にカスケード接続します。

DIVCLK_DIVIDE 10 進数 1 ~ 106 1 すべての出力クロックの入力クロックに対する分周比を指定し、PFD に入力されるCLKIN を分周します。

IS_CLKFBIN_INVERTED

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

IS_CLKIN1_INVERTED

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

IS_PWRDWN_INVERTED

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

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 232UG974 (v2014.2) 2014 年 6 月 4 日

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

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

REF_JITTER1 3 上位ビット浮動小数点

0.000 ~ 0.999 0.010 MMCM のパフォーマンスを最適化するため、CLKIN1 に予測されるジッター値を指定します。BANDWIDTH が "OPTIMIZED"に設定されている場合、値が既知でないときに入力クロックに最適なパラメーターが選択されます。値が既知である場合は、値を入力クロックに予測されるジッターの UIパーセント (最大ピーク トゥ ピーク値) で指定する必要があります。

STARTUP_WAIT 文字列 "FALSE"、"TRUE"

"FALSE" コンフィギュレーション DONE 信号がアサートされるのを、MMCM がロックされるまで遅延します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- MMCME3_BASE: Base Mixed Mode Clock Manager (MMCM)-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 - 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,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,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)

)

UltraScale ライブラリ ガイド http://japan.xilinx.com 233UG974 (v2014.2) 2014 年 6 月 4 日

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

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: CLKOUT3CLKOUT3B => 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 2014.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 - 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),.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),.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

UltraScale ライブラリ ガイド http://japan.xilinx.com 234UG974 (v2014.2) 2014 年 6 月 4 日

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

.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.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 235UG974 (v2014.2) 2014 年 6 月 4 日

第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) 入力を選択します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 236UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- MUXF7: CLB MUX to connect two LUT6’s Together-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 237UG974 (v2014.2) 2014 年 6 月 4 日

第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) 入力を選択します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 238UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- MUXF8: CLB MUX to connect two MUXF7’s Together-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 239UG974 (v2014.2) 2014 年 6 月 4 日

第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) 入力を選択します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 240UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- MUXF9: CLB MUX to connect two MUXF8’s Together-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 241UG974 (v2014.2) 2014 年 6 月 4 日

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

OBUF

プリミティブ : Output Buffer

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

概要

デバイスから外部出力パッドに信号を駆動するには、出力バッファー (OBUF) を使用する必要があります。

IOSTANDARD、DRIVE、SLEW などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロパティを

使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design Suite プロパ

ティ リファレンス ガイド』 (UG912) を参照してください。

ポートの説明ポート名 方向 幅 機能

I 入力 1 OBUF の入力。出力ポートを駆動するロジックに接続します。

O 出力 1 最上位出力ポートに直接接続される OBUF の出力

デザインの入力方法

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

推論 推奨

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

マクロのサポート 不可

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- OBUF: Output Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

OBUF_inst : OBUFport map (

O => O, -- 1-bit output: Buffer output (connect directly to top-level port)I => I -- 1-bit input: Buffer input

);

-- End of OBUF_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 242UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// OBUF: Output Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

OBUF OBUF_inst (.O(O), // 1-bit output: Buffer output (connect directly to top-level port).I(I) // 1-bit input: Buffer input

);

// End of OBUF_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 243UG974 (v2014.2) 2014 年 6 月 4 日

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

OBUFDS

プリミティブ : Differential Output Buffer

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

概要

OBUFDS は差動出力バッファー プリミティブです。

IOSTANDARD、DRIVE、SLEW などのコンポーネントのロジック ファンクションに影響しない I/O 属性は、適切なプロパティを

使用して最上位ポートに設定する必要があります。ポートに関連するプロパティの設定方法は、『Vivado Design Suite プロパ

ティ リファレンス ガイド』 (UG912) を参照してください。

論理表

入力 出力

I O OB

0 0 1

1 1 0

ポートの説明

ポート名 方向 幅 機能

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

O 出力 1 Diff_p 出力。デザインの最上位ポートに直接接続します。

OB 出力 1 Diff_n 出力。デザインの最上位ポートに直接接続します。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 244UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- OBUFDS: Differential Output Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

OBUFDS_inst : OBUFDSport 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 input

);

-- End of OBUFDS_inst instantiation

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

// OBUFDS: Differential Output Buffer// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

OBUFDS OBUFDS_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

);

// End of OBUFDS_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 245UG974 (v2014.2) 2014 年 6 月 4 日

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

OBUFDS_GTE3

プリミティブ : Gigabit Transceiver Buffer

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : GT

概要

OBUFDS_GTE3 は、UltraScale デバイスのギガビット トランシーバーの出力パッド バッファー コンポーネントです。REFCLK

信号をシリアル トランシーバーの専用基準クロック出力ピンに配線し、ユーザー デザインに OBUFDS_GTE3 プリミティブを

インスタンシエートする必要があります。基準クロックの要件を含む PCB レイアウトの要件は、トランシーバー ユーザー ガ

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

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 246UG974 (v2014.2) 2014 年 6 月 4 日

第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 247UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- OBUFDS_GTE3_ADV: Gigabit Transceiver Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 248UG974 (v2014.2) 2014 年 6 月 4 日

第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 249UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- OBUFT: 3-State Output Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 250UG974 (v2014.2) 2014 年 6 月 4 日

第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 251UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- OBUFTDS: Differential 3-state Output Buffer-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 252UG974 (v2014.2) 2014 年 6 月 4 日

第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 253UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 (1’b0, 1’b1)

)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 2014.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(0) // 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);

UltraScale ライブラリ ガイド http://japan.xilinx.com 254UG974 (v2014.2) 2014 年 6 月 4 日

第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 256UG974 (v2014.2) 2014 年 6 月 4 日

第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 の値

はタップ数で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 257UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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" : 遅延は ODATAIN の

エッジに同期してアップデートさ

れます。

• "MANUAL" : LD および

CNTVALUEIN 信号を使用して

新しい CNTVALUE を読み込ん

だ後、LD および CE の両方をア

サートしたときに、遅延値がアップ

デートされます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 258UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- ODELAYE3: Output Fixed or Variable Delay Element-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 DATAOUTCE => 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

UltraScale ライブラリ ガイド http://japan.xilinx.com 259UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// ODELAYE3: Output Fixed or Variable Delay Element// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 260UG974 (v2014.2) 2014 年 6 月 4 日

第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 261UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 262UG974 (v2014.2) 2014 年 6 月 4 日

第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 263UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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

UltraScale ライブラリ ガイド http://japan.xilinx.com 264UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// OSERDESE3: Output SERial/DESerializer// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

OSERDESE3 #(.DATA_WIDTH(8), // Parallel Data Width (4-8).INIT(0), // 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

.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 265UG974 (v2014.2) 2014 年 6 月 4 日

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

PCIE_3_1

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

プリミティブ グループ : ADVANCEDプリミティブ サブグループ : PCIE

概要

PCI Express 用の統合ブロックは、PCIe 仕様に準拠したハード マクロ プリミティブです。ファブリック インターコネクトを使用

する GT および FPGA クロック リソースと統合して使用するよう設計されています。このコンポーネントの詳細は、Integrated

Block for PCI Express のユーザー ガイドを参照してください。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 266UG974 (v2014.2) 2014 年 6 月 4 日

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

PLLE3_ADV

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

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

概要

PLLE3 は、Bitslice コンポーネントを使用する高速 I/O クロッキングおよび汎用クロッキング要件に使用されます。通常、

PLLE3 は MMCME3 よりもジッターが小さく、消費電力も少ないので、MMCME3 のみで使用可能な機能が不要な場合のク

ロック動作に適しています。

ポートの説明

ポート名 方向 幅 機能

CLKFBIN 入力 1 PLL へのフィードバック クロック ピン

CLKFBOUT 出力 1 専用 PLL フィードバック クロック出力

CLKIN 入力 1 クロック入力

CLKOUTPHY 出力 1 I/O Bitslice コンポーネントに接続される汎用クロック出力

CLKOUTPHYEN 入力 1 CLKOUTPHY のイネーブル信号

CLKOUT0 出力 1 汎用クロック出力。通常グローバル バッファーに接続されます。

CLKOUT0B 出力 1 CLKOUT0 の反転出力。通常グローバル バッファーに接続されます。

CLKOUT1 出力 1 汎用クロック出力。通常グローバル バッファーに接続されます。

CLKOUT1B 出力 1 CLKOUT1 の反転出力。通常グローバル バッファーに接続されます。

DADDR<6:0> 入力 7 ダイナミック リコンフィギュレーション用のリコンフィギュレーション アドレスを供給する入力バス。このバスを使用しない場合は、すべてのビットを 0 にする必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 267UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

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 に接続する必要があります。

LOCKED 出力 1 位相アライメントが定義されている時間内で完了し、周波数が定義されている PPM 範囲内で一致したことを示します。PLL は電源投入時に自動的にロックされるので、リセットは必要ありません。入力クロックが停止した場合、または位相アライメントに違反が発生した場合 (入力クロックの位相シフトなど) は、LOCKED がディアサートされます。LOCKED がディアサートされた場合は、PLL をリセットする必要があります。

PWRDWN 入力 1 インスタンシエートされているが未使用の PLL をパワー ダウンします。

RST 入力 1 PLL の非同期リセットです。この信号が解放されると 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 の入力クロックを示します。この値は必ず設定する必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 268UG974 (v2014.2) 2014 年 6 月 4 日

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

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

CLKOUTPHY_MODE

文字列 "VCO_2X"、"VCO"、"VCO_HALF"

"VCO_2X" CLKOUTPHY クロック出力の周波数を指定します。

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 出力の位相オフセットを指定します。

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 出力の位相オフセットを指定します。

COMPENSATION 文字列 "AUTO"、"BUF_IN"、"INTERNAL"

"AUTO" クロック入力の補正を指定します。通常は"AUTO" に設定してください。PLL フィードバック補正のコンフィギュレーション方法を定義します。

• "AUTO" : PLL フィードバック パスの

接続方法に基づいて、適切な補正設

定が自動的に選択されます。

• "INTERNAL" : PLL の内部フィード

バック パスを使用します。遅延は補

正されません。

• "BUF_IN" : いずれの補正モードにも

一致していないことを示し、遅延は補

正されません。クロック入力が BUFG

で駆動される場合などです。

DIVCLK_DIVIDE 10 進数 1 ~ 15 1 すべての出力クロックの入力クロックに対する分周比を指定し、PFD に入力されるCLKIN を分周します。

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 ピンにオプションの反転を使用するかどうかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 269UG974 (v2014.2) 2014 年 6 月 4 日

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

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

REF_JITTER 3 上位ビット浮動小数点

0.000 ~ 0.999 0.010 CLKIN のパフォーマンスを最適化するため、CLKIN1 に予測されるジッター値を指定します。BANDWIDTH が "OPTIMIZED"に設定されている場合、値が既知でないときに入力クロックに最適なパラメーターが選択されます。値が既知である場合は、値を入力クロックに予測されるジッターのUI パーセント (最大ピーク トゥ ピーク値)で指定する必要があります。

STARTUP_WAIT 文字列 "FALSE"、"TRUE" "FALSE" コンフィギュレーション DONE 信号がアサートされるのを、PLL がロックされるまで遅延します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- PLLE3_ADV: Advanced Phase-Locked Loop (PLL)-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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-256)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-256)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-11)-- 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 enable

UltraScale ライブラリ ガイド http://japan.xilinx.com 270UG974 (v2014.2) 2014 年 6 月 4 日

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

PWRDWN => 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 271UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// PLLE3_ADV: Advanced Phase-Locked Loop (PLL)// UltraScale// Xilinx HDL Libraries Guide, version 2014.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-256).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-256).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-11)// 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 272UG974 (v2014.2) 2014 年 6 月 4 日

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

PLLE3_BASE

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

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

概要

PLLE3 は、Bitslice コンポーネントを使用する高速 I/O クロッキングおよび汎用クロッキング要件に使用されます。通常、

PLLE3 は MMCME3 よりもジッターが小さく、消費電力も少ないので、MMCME3 のみで使用可能な機能が不要な場合のク

ロック動作に適しています。

ポートの説明

ポート名 方向 幅 機能

CLKFBIN 入力 1 PLL へのフィードバック クロック ピン

CLKFBOUT 出力 1 専用 PLL フィードバック クロック出力

CLKIN 入力 1 クロック入力

CLKOUTPHY 出力 1 I/O Bitslice コンポーネントに接続される汎用クロック出力

CLKOUTPHYEN 入力 1 CLKOUTPHY のイネーブル信号

CLKOUT0 出力 1 汎用クロック出力。通常グローバル バッファーに接続されます。

CLKOUT0B 出力 1 CLKOUT0 の反転出力。通常グローバル バッファーに接続されます。

CLKOUT1 出力 1 汎用クロック出力。通常グローバル バッファーに接続されます。

CLKOUT1B 出力 1 CLKOUT1 の反転出力。通常グローバル バッファーに接続されます。

LOCKED 出力 1 位相アライメントが定義されている時間内で完了し、周波数が定義されている PPM 範囲内で一致したことを示します。PLL は電源投入時に自動的にロックされるので、リセットは必要ありません。入力クロックが停止した場合、または位相アライメントに違反が発生した場合 (入力クロックの位相シフトなど) は、LOCKED がディアサートされます。LOCKED がディアサートされた場合は、PLL をリセットする必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 273UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

PWRDWN 入力 1 インスタンシエートされているが未使用の PLL をパワー ダウンします。

RST 入力 1 PLL の非同期リセットです。この信号が解放されると 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 クロック出力の周波数を指定します。

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 出力の位相オフセットを指定します。

CLKOUT1 _DIVIDE 10 進数 1 ~ 128 1 CLKOUT1 出力の分周値を指定します。この値と、CLKFBOUT_MULT_F 値およびDIVCLK_DIVIDE 値により出力周波数が決まります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 274UG974 (v2014.2) 2014 年 6 月 4 日

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

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

CLKOUT1_DUTY_CYCLE

3 上位ビット浮動小数点

0.001 ~ 0.999 0.500 CLKOUT1 クロック出力のデューティ サイクルをパーセントで指定します。0.500 に設定すると、デューティ サイクルは 50% になります。

CLKOUT1 _PHASE 3 上位ビット浮動小数点

-360.000 ~360.000

0.000 CLKOUT1 出力の位相オフセットを指定します。

DIVCLK_DIVIDE 10 進数 1 ~ 15 1 すべての出力クロックの入力クロックに対する分周比を指定し、PFD に入力されるCLKIN を分周します。

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 ピンにオプションの反転を使用するかどうかを指定します。

REF_JITTER 3 上位ビット浮動小数点

0.000 ~ 0.999 0.010 CLKIN のパフォーマンスを最適化するため、CLKIN1 に予測されるジッター値を指定します。BANDWIDTH が "OPTIMIZED"に設定されている場合、値が既知でないときに入力クロックに最適なパラメーターが選択されます。値が既知である場合は、値を入力クロックに予測されるジッターの UIパーセント (最大ピーク トゥ ピーク値) で指定する必要があります。

STARTUP_WAIT 文字列 "FALSE"、"TRUE"

"FALSE" コンフィギュレーション DONE 信号がアサートされるのを、PLL がロックされるまで遅延します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- PLLE3_BASE: Base Phase-Locked Loop (PLL)-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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-256)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-256)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-11)

UltraScale ライブラリ ガイド http://japan.xilinx.com 275UG974 (v2014.2) 2014 年 6 月 4 日

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

-- 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 276UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// PLLE3_BASE: Base Phase-Locked Loop (PLL)// UltraScale// Xilinx HDL Libraries Guide, version 2014.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-256).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-256).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-11)// 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 277UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 278UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// PULLDOWN: I/O Pulldown// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 279UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 280UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// PULLUP: I/O Pullup// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 281UG974 (v2014.2) 2014 年 6 月 4 日

第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 282UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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

UltraScale ライブラリ ガイド http://japan.xilinx.com 283UG974 (v2014.2) 2014 年 6 月 4 日

第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 カタログ 不可

マクロのサポート 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 285UG974 (v2014.2) 2014 年 6 月 4 日

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

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力をクロック ソースに、D 入力を格納するデータ ソースに、O 出力を FDCE の D 入力などの適切なデ

スティネーションに接続します。

• ライト イネーブル ピン WE を適切なライト イネーブル ソースに接続します。

• 7 ビット バス A を読み出し/書き込みのソースに接続します。

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 2014.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

UltraScale ライブラリ ガイド http://japan.xilinx.com 286UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// RAM128X1S: 128 x 1 positive edge write, asynchronous read single-port distributed RAM (Mapped to two LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2014.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.WE(WE) // Write enable input

);

// End of RAM128X1S_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 287UG974 (v2014.2) 2014 年 6 月 4 日

第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 288UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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

UltraScale ライブラリ ガイド http://japan.xilinx.com 289UG974 (v2014.2) 2014 年 6 月 4 日

第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 カタログ 不可

マクロのサポート 不可

UltraScale ライブラリ ガイド http://japan.xilinx.com 291UG974 (v2014.2) 2014 年 6 月 4 日

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

インスタンシエートする場合は、このコンポーネントを次のように接続します。

• WCLK 入力をクロック ソースに、D 入力を格納するデータ ソースに、O 出力を FDCE の D 入力などの適切なデ

スティネーションに接続します。

• ライト イネーブル ピン WE を適切なライト イネーブル ソースに接続します。

• 8 ビット バス A を読み出し/書き込みのソースに接続します。

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 2014.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 2014.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

);

UltraScale ライブラリ ガイド http://japan.xilinx.com 292UG974 (v2014.2) 2014 年 6 月 4 日

第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 294UG974 (v2014.2) 2014 年 6 月 4 日

第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 295UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 296UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 297UG974 (v2014.2) 2014 年 6 月 4 日

第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 298UG974 (v2014.2) 2014 年 6 月 4 日

第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 ライト クロック (読み出しは非同期)

UltraScale ライブラリ ガイド http://japan.xilinx.com 299UG974 (v2014.2) 2014 年 6 月 4 日

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

デザインの入力方法

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

推論 推奨

IP カタログ 不可

マクロのサポート 不可

このエレメントは、同期書き込みと非同期読み出し機能を備えた 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 300UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 301UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// RAM32M16: 32-deep by 16-wide Multi Port LUT RAM (Mapped to eight LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 302UG974 (v2014.2) 2014 年 6 月 4 日

第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 303UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 304UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 305UG974 (v2014.2) 2014 年 6 月 4 日

第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 306UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 307UG974 (v2014.2) 2014 年 6 月 4 日

第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 を読み出し/書き込みのソースに接続します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 308UG974 (v2014.2) 2014 年 6 月 4 日

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

INIT 属性を使用すると、RAM の初期値を指定できます。指定しない場合は、初期値はすべて 0 になります。

使用可能な属性

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

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 2014.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 2014.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 309UG974 (v2014.2) 2014 年 6 月 4 日

第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 310UG974 (v2014.2) 2014 年 6 月 4 日

第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 バスを読み出しアドレスに接続します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 311UG974 (v2014.2) 2014 年 6 月 4 日

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

オプションで 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 になります。

使用可能な属性

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

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 2014.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 312UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// RAM64M: 64-deep by 4-wide Multi Port LUT RAM (Mapped to four LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 313UG974 (v2014.2) 2014 年 6 月 4 日

第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 314UG974 (v2014.2) 2014 年 6 月 4 日

第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 315UG974 (v2014.2) 2014 年 6 月 4 日

第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 316UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 317UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// RAM64M8: 64-deep by 8-wide Multi Port LUT RAM (Mapped to eight LUT6s)// UltraScale// Xilinx HDL Libraries Guide, version 2014.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 318UG974 (v2014.2) 2014 年 6 月 4 日

第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 319UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 320UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 321UG974 (v2014.2) 2014 年 6 月 4 日

第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 322UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 2014.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 323UG974 (v2014.2) 2014 年 6 月 4 日

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

RAMB18E2

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

プリミティブ グループ : BLOCKRAMプリミティブ サブグループ : BRAM

UltraScale ライブラリ ガイド http://japan.xilinx.com 325UG974 (v2014.2) 2014 年 6 月 4 日

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

概要

RAMB18E2 を使用すると、18Kb のブロック RAM にアクセスできます。このエレメントは、1 ビット X 16K ワード~ 18 ビット X

1024 ワードの完全なデュアル ポート RAM としてコンフィギュレーションできます。また 36 ビット幅 X 512 ワードのシンプル

デュアル ポート RAM にコンフィギュレーションすることもできます。読み出しと書き込みは、コンポーネントに供給されるクロッ

クに同期して実行されますが、読み出しポートと書き込みポートは完全に独立しており、お互いに非同期で、同じメモリ アレ

イにアクセスします。広いデータ幅でコンフィギュレーションすると、バイト イネーブルの書き込みが可能になり、オプションの

出力レジスタを使用して RAM の clock-to-out タイムを短縮できます。カスケード機能もあり、複数の RAMB18E2 コンポーネ

ントをチェーン接続して、ワード数が大きく、電力効率のよいメモリ コンフィギュレーションを作成できます。

ポートの説明

ポート名 方向 幅 機能

ADDRARDADDR<13:0> 入力 14 ポート A アドレス入力バス/読み出しアドレス入力バス

ADDRBWRADDR<13:0> 入力 14 ポート B アドレス入力バス/書き込みアドレス入力バス

ADDRENA 入力 1 アクティブ High のポート A アドレス入力バス/読み出しアドレス入力バス

ADDRENB 入力 1 アクティブ High のポート B アドレス入力バス/書き込みアドレス入力バス

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)を選択します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 326UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

CASOREGIMUXB 入力 1 ポート B のマルチプレクサー制御入力。ブロック RAM からのレジスタ付き出力データまたは CASCADE データ入力 (CASDINB)を選択します。

CASOREGIMUXEN_A 入力 1 ポート A のレジスタ付き出力データ レジスタ イネーブル

CASOREGIMUXEN_B 入力 1 ポート B のレジスタ付き出力データ レジスタ イネーブル

CLKARDCLK 入力 1 ポート A クロック入力/読み出しクロック入力

CLKBWRCLK 入力 1 ポート B クロック入力/書き込みクロック入力

DINADIN<15:0> 入力 16 ポート A のデータ入力バス。WRITE_WIDTH=36 の場合、DINADIN の論理値は DI<15:0> です。

DINBDIN<15:0> 入力 16 ポート B のデータ入力バス。WRITE_WIDTH=36 の場合、DINBDIN の論理値は DI<31:16> です。

DINPADINP<1:0> 入力 2 ポート A パリティ データ入力バス/WRADDR でアドレス指定されるデータ パリティ入力バス。WRITE_WIDTH=36 の場合、DINPADINP の論理値は DIP<1:0> です。

DINPBDINP<1:0> 入力 2 ポート B パリティ データ入力バス/WRADDR でアドレス指定されるデータ パリティ入力バス。WRITE_WIDTH=36 の場合、DINPBDINP の論理値は DIP<3:2> です。

DOUTADOUT<15:0> 出力 16 ポート A のデータ入力バス。READ_WIDTH=36 の場合、DOUTADOUT の論理値は DO<15:0> です。

DOUTBDOUT<15:0> 出力 16 ポート B のデータ入力バス。READ_WIDTH=36 の場合、DOUTBDOUT の論理値は DO<31:16> です。

DOUTPADOUTP<1:0> 出力 2 ポート A のデータ入力バス。READ_WIDTH=36 の場合、DOUTPADOUT の論理値は DOP<1:0> です。

DOUTPBDOUTP<1:0> 出力 2 ポート B のデータ入力バス。READ_WIDTH=36 の場合、DOUTPBDOUTP の論理値は DOP<3:2> です。

ENARDEN 入力 1 ポート A RAM イネーブル/リード イネーブル

ENBWREN 入力 1 ポート B RAM イネーブル/ライト イネーブル

REGCEAREGCE 入力 1 ポート A 出力レジスタ クロック イネーブル入力/出力レジスタ クロック イネーブル入力 (DOA_REG=1 の場合のみ有効)。

REGCEB 入力 1 ポート B 出力レジスタ クロック イネーブル (DOB_REG=1 およびRAM_WIDTH<=18 の場合のみ有効)

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 出力全体がリセットされます。

RSTRAMB 入力 1 同期データ ラッチを SRVAL_B で指定された値にセット/リセットします。DO_REG=0 または 1 のときに BRAM データ出力ラッチをセット/リセットします。DO_REG=1 の場合、RSTRAMB でリセットされる内部データ ラッチ ノードと BRAM の DO 出力の間に 1 サイクルのレイテンシがあります。READ_WIDTH=36 の場合は使用されません。

UltraScale ライブラリ ガイド http://japan.xilinx.com 327UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

RSTREGARSTREG 入力 1 同期出力レジスタを SRVAL_A で指定された値にセット/リセットします。DO_REG=1 のときに出力レジスタをセット/リセットします。RSTREG_PRIORITY_A は、この信号と REGCEAREGCE の優先順位を指定します。READ_WIDTH が 18 以下の場合はポート A の出力がリセットされ、READ_WIDTH が 36 の場合は RAM出力全体がリセットされます。

RSTREGB 入力 1 同期出力レジスタを SRVAL_B で指定された値にセット/リセットします。DO_REG=1 のときに出力レジスタをセット/リセットします。RSTREG_PRIORITY_B は、この信号と REGCEB の優先順位を指定します。READ_WIDTH=36 の場合は使用されません。

SLEEP 入力 1 消費電力を削減するためのダイナミック シャットダウン。High の場合、ブロックは消費電力削減モードです。SLEEP_ASYNC=FALSEの場合は RDCLK に同期し、それ以外は非同期です。

WEA<1:0> 入力 2 ポート A のバイト幅ライト イネーブル。RAM_MODE が "SDP" の場合は使用されません。異なるポート幅の WEA マップについてはユーザー ガイドを参照してください。

WEBWE<3:0> 入力 4 ポート B のバイト幅ライト イネーブル/ライト イネーブル。異なるポート幅の WEBWE マップについてはユーザー ガイドを参照してください。

デザインの入力方法

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

推論 推奨

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

マクロのサポート 可

使用可能な属性

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

CASCADE_ORDER_A、CASCADE_ORDER_B

文字列 "NONE"、"FIRST"、"LAST"、"MIDDLE"

"NONE" カスケード接続されたブロックRAM の位置を指定します。カスケードの最下位のブロック RAMには "FIRST"、最上位のブロック RAM には "LAST"、最上位と最下位の間にあるブロック RAMには "MIDDLE" を設定します。

CLOCK _DOMAINS 文字列 "INDEPENDENT"、"COMMON"

"INDEPENDENT" シミュレーションで使用し、アドレス競合状況のモデリングしたり、共通クロック モードで低消費電力操作をイネーブルにします。

• "COMMON" : 共通クロック

/シングル クロック

• "INDEPENDENT" : 独立ク

ロック/デュアル クロック

UltraScale ライブラリ ガイド http://japan.xilinx.com 328UG974 (v2014.2) 2014 年 6 月 4 日

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

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

DOA_REG、DOB_REG

10 進数 1、0 1 1 に設定すると、RAM の出力レジスタがイネーブルになり、RAMからの clock-to-out タイムが短縮されます。ただし、読み出しレイテンシのクロック サイクルは増加します。0 に設定すると、1 クロック サイクルで読み出すことができますが、clock-to-out タイムが長くなります。

ENADDRENA、ENADDRENB

文字列 "FALSE"、"TRUE" "FALSE" アドレス イネーブル ピンがイネーブルの場合に指定します。

INIT_A、INIT_B 16 進数 18’h00000 ~18’h3ffff 18’h0000 コンフィギュレーション後のポート出力の初期値を指定します。

INIT_FILE 文字列 文字列 なし RAM の初期内容を記述するファイルの名前を指定します。

INIT_00 ~ INIT_3F 16 進数 256’h0000000000000000000000000000000000000000000000000000000000000000 ~ 256’hffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

256’h0000000000000000000000000000000000000000000000000000000000000000

16Kb のデータ メモリ アレイの初期値を指定します。

INITP_00、INITP_01、INITP_02、INITP_03、INITP_04、INITP_05、INITP_06、INITP_07

16 進数 256’h0000000000000000000000000000000000000000000000000000000000000000 ~ 256’hffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

256’h0000000000000000000000000000000000000000000000000000000000000000

2Kb のパリティ データ メモリ アレイの初期値を指定します。

IS_CLKARDCLK_INVERTED、IS_CLKBWRCLK_INVERTED、IS_ENARDEN_INVERTED、IS_ENBWREN_INVERTED、IS_RSTRAMARSTRAM_INVERTED、IS_RSTRAMB_INVERTED、IS_RSTREGARSTREG_INVERTED、IS_RSTREGB_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLK または RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブ Low になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_designの実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

UltraScale ライブラリ ガイド http://japan.xilinx.com 329UG974 (v2014.2) 2014 年 6 月 4 日

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

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

RDADDRCHANGEA、RDADDRCHANGEB

文字列 "FALSE"、"TRUE" "FALSE" 読み出しアドレスの変更は、出力値が変更しないときにメモリへのアクセスを回避し、消費電力を削減します。この属性を"TRUE" に設定すると、この消費電力削減機能がイネーブルになります。"FALSE" に設定すると RAM へのセットアップ タイムが向上し、ブロック RAM のパフォーマンスが向上する可能性があります。

READ_WIDTH_A、READ_WIDTH_B、WRITE_WIDTH_A、WRITE_WIDTH_B

10 進数 0、1、2、4、9、18、36 0 ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

RSTREG_PRIORITY_A、RSTREG_PRIORITY_B

文字列 "RSTREG"、"REGCE" "RSTREG" RSTREG または REGCE のレジスタ優先順位を選択します。

SIM _COLLISION_CHECK

文字列 "ALL" 、"GENERATE_X_ONLY"、"NONE"、"WARNING_ONLY"

"ALL" メモリの競合が発生した場合のシミュレーションの動作を指定します。

• "ALL" : 警告メッセージが

出力され、関連する出力お

よびメモリの値が不定 (X)

になります。

• "WARNING_ONLY" : 警告

メッセージのみが出力され、

関連する出力およびメモリ

の値はそのまま保持されま

す。

• "GENERATE_X_ONLY" :

警告メッセージは出力され

ず、関連する出力およびメ

モリの値が不定 (X) になり

ます。

• "NONE" : 警告メッセージ

は出力されず、関連する出

力およびメモリの値はその

まま保持されます。

注記 : この属性を使用する際には、注意が必要です。"ALL"以外の値に設定すると、シミュレーション中にデザインの問題を認識できない可能性があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 330UG974 (v2014.2) 2014 年 6 月 4 日

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

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

SLEEP_ASYNC 文字列 "FALSE"、"TRUE" "FALSE" SLEEP ピンを CLKARDCLK ピンに同期させるか ("FALSE")、非同期にするかを指定します。

SRVAL_A、SRVAL_B 16 進数 18’h00000 ~18’h3ffff 18’h0000 同期リセット信号 (RST/RSTREG)がアサートされたときの RAM の出力値を指定します。

WRITE_MODE_A、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 2014.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",

UltraScale ライブラリ ガイド http://japan.xilinx.com 331UG974 (v2014.2) 2014 年 6 月 4 日

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

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",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",

UltraScale ライブラリ ガイド http://japan.xilinx.com 332UG974 (v2014.2) 2014 年 6 月 4 日

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

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’,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/reset

UltraScale ライブラリ ガイド http://japan.xilinx.com 333UG974 (v2014.2) 2014 年 6 月 4 日

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

WEA => 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-- 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 2014.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),

UltraScale ライブラリ ガイド http://japan.xilinx.com 334UG974 (v2014.2) 2014 年 6 月 4 日

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

.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),

.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),

UltraScale ライブラリ ガイド http://japan.xilinx.com 335UG974 (v2014.2) 2014 年 6 月 4 日

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

.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.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 336UG974 (v2014.2) 2014 年 6 月 4 日

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

RAMB36E2

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

プリミティブ グループ : BLOCKRAMプリミティブ サブグループ : BRAM

UltraScale ライブラリ ガイド http://japan.xilinx.com 337UG974 (v2014.2) 2014 年 6 月 4 日

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

概要

RAMBRAMB36E2 を使用すると、36Kb のブロック RAM にアクセスできます。このエレメントは、1 ビット X 32K ワード~ 36 ビッ

ト X 1024 ワードの完全なデュアル ポート RAM としてコンフィギュレーションできます。また 72 ビット幅 X 512 ワードのシンプ

ル デュアル ポート RAM にコンフィギュレーションすることもできます。読み出しと書き込みは、コンポーネントに供給される

クロックに同期して実行されますが、読み出しポートと書き込みポートは完全に独立しており、お互いに非同期で、同じメモ

リ アレイにアクセスします。広いデータ幅でコンフィギュレーションすると、バイト イネーブルの書き込みが可能になり、オプ

ションの出力レジスタを使用して RAM の clock-to-out タイムを短縮できます。カスケード機能もあり、複数の RAMB36E2 コ

ンポーネントをチェーン接続して、ワード数が大きく、電力効率のよいメモリ コンフィギュレーションを作成できます。

ポートの説明

ポート名 方向 幅 機能

ADDRARDADDR<14:0> 入力 15 ポート A アドレス入力バス/読み出しアドレス入力バス

ADDRBWRADDR<14:0> 入力 15 ポート B アドレス入力バス/書き込みアドレス入力バス

ADDRENA 入力 1 アクティブ High のポート A アドレス入力バス/読み出しアドレス入力バス

ADDRENB 入力 1 アクティブ High のポート B アドレス入力バス/書き込みアドレス入力バス

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)

UltraScale ライブラリ ガイド http://japan.xilinx.com 338UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

CASOREGIMUXA 入力 1 ポート A のマルチプレクサー制御入力。ブロック RAM からのレジスタ付き出力データまたは CASCADE データ入力 (CASDINA) を選択します。

CASOREGIMUXB 入力 1 ポート B のマルチプレクサー制御入力。ブロック RAM からのレジスタ付き出力データまたは CASCADE データ入力 (CASDINB) を選択します。

CASOREGIMUXEN_A 入力 1 ポート A のレジスタ付き出力データ レジスタ イネーブル

CASOREGIMUXEN_B 入力 1 ポート B のレジスタ付き出力データ レジスタ イネーブル

CASOUTDBITERR 出力 1 カスケード チェーンの次のブロック RAM にカスケードされるダブル ビット エラー信号 (DBITERR)

CASOUTSBITERR 出力 1 カスケード チェーンの次のブロック RAM にカスケードされるシングル ビット エラー信号 (SBITERR)

CLKARDCLK 入力 1 ポート A クロック入力/読み出しクロック入力

CLKBWRCLK 入力 1 ポート B クロック入力/書き込みクロック入力

DBITERR 出力 1 読み出し中にダブル ビット エラーが検出されたことを示す ECC ファンクションからのステータス出力。ECC 機能を使用する場合は、EN_ECC_READ を TRUE に設定する必要があります。RDCLK に同期しています。

DINADIN<31:0> 入力 32 ポート A のデータ入力バス。WRITE_WIDTH=72 の場合、DINADINの論理値は DI<31:0> です。

DINBDIN<31:0> 入力 32 ポート B のデータ入力バス。WRITE_WIDTH=72 の場合、DINBDINの論理値は DI<63:32> です。

DINPADINP<3:0> 入力 4 ポート A パリティ データ入力バス/WRADDR でアドレス指定されるデータ パリティ入力バス。WRITE_WIDTH=72 の場合、DINPADINPの論理値は DIP<3:0> です。

DINPBDINP<3:0> 入力 4 ポート B パリティ データ入力バス/WRADDR でアドレス指定されるデータ パリティ入力バス。WRITE_WIDTH=72 の場合、DINPBDINPの論理値は DIP<7:4> です。

DOUTADOUT<31:0> 出力 32 ポート A のデータ入力バス。READ_WIDTH=72 の場合、DOUTADOUT の論理値は DO<31:0> です。

DOUTBDOUT<31:0> 出力 32 ポート B のデータ入力バス。READ_WIDTH=72 の場合、DOUTBDOUT の論理値は DO<63:32> です。

DOUTPADOUTP<3:0> 出力 4 ポート A のデータ入力バス。READ_WIDTH=72 の場合、DOUTPADOUT の論理値は DOP<3:0> です。

DOUTPBDOUTP<3:0> 出力 4 ポート B のデータ入力バス。READ_WIDTH=72 の場合、DOUTPBDOUTP の論理値は DOP<7:4> です。

ECCPARITY<7:0> 出力 8 ECC デコーダーでメモリの誤りを検出および訂正するために使用される、ECC エンコーダーで生成された 8 ビット データ。EN_ECC_WRITE=1 の場合に適用されます。WRCLK に同期しています。

ECCPIPECE 入力 1 ECC パイプライン レジスタのクロック イネーブル

ENARDEN 入力 1 ポート A RAM イネーブル/リード イネーブル

ENBWREN 入力 1 ポート B RAM イネーブル/ライト イネーブル

INJECTDBITERR 入力 1 EN_ECC_WRITE=1 の場合に適用されます。書き込み中に DI のビット 30 と 62 にダブル ビット エラーを挿入します。WRCLK に同期しています。

UltraScale ライブラリ ガイド http://japan.xilinx.com 339UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

INJECTSBITERR 入力 1 EN_ECC_WRITE=1 の場合に適用されます。書き込み中に DI のビット 30 にシングル ビット エラーを挿入します。

RDADDRECC<8:0> 出力 9 ECC 機能の読み出しアドレス

REGCEAREGCE 入力 1 ポート A 出力レジスタ クロック イネーブル入力/出力レジスタ クロック イネーブル入力 (DOA_REG=1 の場合のみ有効)。

REGCEB 入力 1 ポート B 出力レジスタ クロック イネーブル (DOB_REG=1 およびRAM_WIDTH<=18 の場合のみ有効)

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 出力全体がリセットされます。

RSTRAMB 入力 1 同期データ ラッチを SRVAL_B で指定された値にセット/リセットします。DO_REG=0 または 1 のときに BRAM データ出力ラッチをセット/リセットします。DO_REG=1 の場合、RSTRAMB でリセットされる内部データ ラッチ ノードと BRAM の DO 出力の間に 1 サイクルのレイテンシがあります。READ_WIDTH=72 の場合は使用されません。

RSTREGARSTREG 入力 1 同期出力レジスタを SRVAL_A で指定された値にセット/リセットします。DO_REG=1 のときに出力レジスタをセット/リセットします。RSTREG_PRIORITY_A は、この信号と REGCEAREGCE の優先順位を指定します。READ_WIDTH が 36 以下の場合はポート A の出力がリセットされ、READ_WIDTH が 72 の場合は RAM 出力全体がリセットされます。

RSTREGB 入力 1 同期出力レジスタを SRVAL_B で指定された値にセット/リセットします。DO_REG=1 のときに出力レジスタをセット/リセットします。RSTREG_PRIORITY_B は、この信号と REGCEB の優先順位を指定します。READ_WIDTH=36 の場合は使用されません。

SBITERR 出力 1 読み出し中にシングル ビット エラーが検出されたことを示す ECC 出力。RDCLK に同期しています。

SLEEP 入力 1 消費電力を削減するためのダイナミック シャットダウン。High の場合、ブロックは消費電力削減モードです。SLEEP_ASYNC=FALSE の場合は RDCLK に同期し、それ以外は非同期です。

WEA<3:0> 入力 4 ポート A のバイト幅ライト イネーブル。RAM_MODE が "SDP" の場合は使用されません。異なるポート幅の WEA マップについてはユーザー ガイドを参照してください。

WEBWE<7:0> 入力 8 ポート B のバイト幅ライト イネーブル/ライト イネーブル。異なるポート幅の WEBWE マップについてはユーザー ガイドを参照してください。

デザインの入力方法

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

推論 推奨

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

マクロのサポート 可

UltraScale ライブラリ ガイド http://japan.xilinx.com 340UG974 (v2014.2) 2014 年 6 月 4 日

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

使用可能な属性

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

CASCADE_ORDER_A、CASCADE_ORDER_B

文字列 "NONE"、"FIRST"、"LAST"、"MIDDLE"

"NONE" カスケード接続されたブロックRAM の位置を指定します。カスケードの最下位のブロック RAMには "FIRST"、最上位のブロック RAM には "LAST"、最上位と最下位の間にあるブロック RAMには "MIDDLE" を設定します。

CLOCK _DOMAINS 文字列 "INDEPENDENT"、"COMMON"

"INDEPENDENT" シミュレーションで使用し、アドレス競合状況のモデリングしたり、共通クロック モードで低消費電力操作をイネーブルにします。

• "COMMON" : 共通クロック

/シングル クロック

• "INDEPENDENT" : 独立ク

ロック/デュアル クロック

DOA_REG 10 進数 1、0 1 1 に設定すると、RAM の出力レジスタがイネーブルになり、RAMからの clock-to-out タイムが短縮されます。ただし、読み出しレイテンシのクロック サイクルは増加します。0 に設定すると、1クロック サイクルで読み出すことができますが、clock-to-out タイムが長くなります。

DOB_REG 10 進数 1、0 1 シミュレーションで使用し、アドレス競合状況のモデリングしたり、共通クロック モードで低消費電力操作をイネーブルにします。

• "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 に設定されている場合にのみ有効です。

ENADDRENA、ENADDRENB

文字列 "FALSE"、"TRUE" "FALSE" アドレス イネーブル ピンがイネーブルの場合に指定します。

INIT_A、INIT_B 16 進数 36’h000000000 ~36’hfffffffff

36’h000000000 コンフィギュレーション後のポート出力の初期値を指定します。

INIT_FILE 文字列 文字列 なし RAM の初期内容を記述するファイルの名前を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 341UG974 (v2014.2) 2014 年 6 月 4 日

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

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

INIT_00 ~ INIT_7F 16 進数 256’h0000000000000000000000000000000000000000000000000000000000000000 ~ 256’hffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

256’h0000000000000000000000000000000000000000000000000000000000000000

32Kb のデータ メモリ アレイの初期値を指定します。

INITP_00 ~INITP_0F

16 進数 256’h0000000000000000000000000000000000000000000000000000000000000000 ~ 256’hffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

256’h0000000000000000000000000000000000000000000000000000000000000000

4Kb のパリティ データ メモリ アレイの初期値を指定します。

IS_CLKARDCLK_INVERTED、IS_CLKBWRCLK_INVERTED、IS_ENARDEN_INVERTED、IS_ENBWREN_INVERTED、IS_RSTRAMARSTRAM_INVERTED、IS_RSTRAMB_INVERTED、IS_RSTREGARSTREG_INVERTED、IS_RSTREGB_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 対応するピンにオプションの反転を使用してアクティブ極性を変更するかどうかを指定します。クロック ピン (WRCLK または RDCLK) に対して 1 に設定すると、このコンポーネントはクロックの立下りエッジで動作します。ほかのピンに対して 1 に設定すると、そのピンはアクティブLow になります。バスのピンに対しては、この属性のビット幅はそのピンのビット幅に一致している必要があり、2 進値によって使用するインバーターを指定します。これらのピンに外部インバーターが指定されている場合は、Vivado ツールで opt_designの実行時にこの属性が自動的に設定されるので、ロジックを追加して入力の極性を変更する必要はありません。

RDADDRCHANGEA、RDADDRCHANGEB

文字列 "FALSE"、"TRUE" "FALSE" 読み出しアドレスの変更は、出力値が変更しないときにメモリへのアクセスを回避し、消費電力を削減します。この属性を"TRUE" に設定すると、この消費電力削減機能がイネーブルになります。"FALSE" に設定すると RAM へのセットアップ タイムが向上し、ブロック RAM のパフォーマンスが向上する可能性があります。

READ_WIDTH_A、READ_WIDTH_B、WRITE_WIDTH_A、WRITE_WIDTH_B

10 進数 0、1、2、4、9、18、36、72 0 ポート A/B の読み出し/書き込みデータ幅を指定します (パリティ ビットを含む)。ポートを使用しない場合は、0 に設定する必要があります。ポートを使用する場合は、適切なポート幅に設定してください。

RSTREG_PRIORITY_A、RSTREG_PRIORITY_B

文字列 "RSTREG"、"REGCE" "RSTREG" RSTREG または REGCE のレジスタ優先順位を選択します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 342UG974 (v2014.2) 2014 年 6 月 4 日

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

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

SIM _COLLISION_CHECK

文字列 "ALL" 、"GENERATE_X_ONLY"、"NONE" 、"WARNING_ONLY"

"ALL" メモリの競合が発生した場合のシミュレーションの動作を指定します。

• "ALL" : 警告メッセージが

出力され、関連する出力お

よびメモリの値が不定 (X)

になります。

• "WARNING_ONLY" : 警

告メッセージのみが出力さ

れ、関連する出力およびメ

モリの値はそのまま保持さ

れます。

• "GENERATE_X_ONLY" :

警告メッセージは出力され

ず、関連する出力およびメ

モリの値が不定 (X) になり

ます。

• "NONE" : 警告メッセージ

は出力されず、関連する出

力およびメモリの値はその

まま保持されます。

注記 : この属性を使用する際には、注意が必要です。"ALL"以外の値に設定すると、シミュレーション中にデザインの問題を認識できない可能性があります。

SLEEP_ASYNC 文字列 "FALSE"、"TRUE" "FALSE" SLEEP ピンを CLKARDCLK ピンに同期させるか ("FALSE")、非同期にするかを指定します。

SRVAL_A、SRVAL_B 16 進数 36’h000000000 ~36’hfffffffff

36’h000000000 同期リセット信号 (RST/RSTREG)がアサートされたときの RAM の出力値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 343UG974 (v2014.2) 2014 年 6 月 4 日

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

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

WRITE_MODE_A、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 2014.2

RAMB36E2_inst : RAMB36E2generic 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",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 array

UltraScale ライブラリ ガイド http://japan.xilinx.com 344UG974 (v2014.2) 2014 年 6 月 4 日

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

INITP_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",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",

UltraScale ライブラリ ガイド http://japan.xilinx.com 345UG974 (v2014.2) 2014 年 6 月 4 日

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

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",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",

UltraScale ライブラリ ガイド http://japan.xilinx.com 346UG974 (v2014.2) 2014 年 6 月 4 日

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

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 inversion on-- specific pinsIS_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 dataDOUTPBDOUTP => 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

UltraScale ライブラリ ガイド http://japan.xilinx.com 347UG974 (v2014.2) 2014 年 6 月 4 日

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

-- 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 2014.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"),.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),

UltraScale ライブラリ ガイド http://japan.xilinx.com 348UG974 (v2014.2) 2014 年 6 月 4 日

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

.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),.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),

UltraScale ライブラリ ガイド http://japan.xilinx.com 349UG974 (v2014.2) 2014 年 6 月 4 日

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

.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),

.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 on// specific pins.IS_CLKARDCLK_INVERTED(1’b0),.IS_CLKBWRCLK_INVERTED(1’b0),

UltraScale ライブラリ ガイド http://japan.xilinx.com 350UG974 (v2014.2) 2014 年 6 月 4 日

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

.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.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

UltraScale ライブラリ ガイド http://japan.xilinx.com 351UG974 (v2014.2) 2014 年 6 月 4 日

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

.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 352UG974 (v2014.2) 2014 年 6 月 4 日

第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 353UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- RIU_OR: Register Interface Unit Selection Block-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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 354UG974 (v2014.2) 2014 年 6 月 4 日

第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 355UG974 (v2014.2) 2014 年 6 月 4 日

第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 読み出しイネーブル

FIFO_WRCLK_OUT 出力 1 デバイス ロジックへの FIFO ソース同期書き込みクロック。RX_BITSLICE が 0 の場合のみ有効です。現在のところサポートされてないので、接続しないでください。

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 への出力バス

UltraScale ライブラリ ガイド http://japan.xilinx.com 356UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

TX_BIT_CTRL_IN<39:0> 入力 40 BITSLICE_CONTROL からの入力バス

TX_BIT_CTRL_OUT<39:0> 出力 40 BITSLICE_CONTROL への出力バス

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

CASCADE 文字列 "FALSE"、"TRUE" "FALSE" • "TRUE" : IDELAY および

ODELAY ラインをカスケード接続

し、最大 2.5ns の遅延を使用でき

るようにします。拡張遅延は _EXT

ピンにより制御されます。

• "FALSE" : 最大遅延が 1.25ns の

IDELAY 遅延ラインのみを使用し

ます。

DATA_TYPE 文字列 "NONE"、"CLOCK"、"DATA"、"DATA_AND_CLOCK"

"NONE" 入力ピンにクロック信号、データ信号、データとしても使用されるクロック信号のいずれが入力されるかを指定します。

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 の値

をタップ数で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 357UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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 で指定します。

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 で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 358UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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 の両方をア

サートしたときに、遅延値がアップ

デートされます。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- RX_BITSLICE: RX_BITSLICE for input using Native Mode-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

RX_BITSLICE_inst : RX_BITSLICEgeneric map (

CASCADE => "FALSE", -- Enables cascading of IDELAY and ODELAY linesDATA_TYPE => "NONE", -- Defines what the input pin is carrying (CLOCK, DATA, DATA_AND_CLOCK,

-- NONE)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 RST

UltraScale ライブラリ ガイド http://japan.xilinx.com 359UG974 (v2014.2) 2014 年 6 月 4 日

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

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))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 flagFIFO_WRCLK_OUT => FIFO_WRCLK_OUT, -- 1-bit output: FIFO source synchronous write clock out to the

-- device logic (currently unsupported, do not connect)

Q => 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

-- 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 2014.2

RX_BITSLICE #(.CASCADE("FALSE"), // Enables cascading of IDELAY and ODELAY lines.DATA_TYPE("NONE"), // Defines what the input pin is carrying (CLOCK, DATA, DATA_AND_CLOCK,

// NONE).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

UltraScale ライブラリ ガイド http://japan.xilinx.com 360UG974 (v2014.2) 2014 年 6 月 4 日

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

.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

.FIFO_WRCLK_OUT(FIFO_WRCLK_OUT), // 1-bit output: FIFO source synchronous write clock out to the device// logic (currently unsupported, do not connect)

.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

.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 361UG974 (v2014.2) 2014 年 6 月 4 日

第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 362UG974 (v2014.2) 2014 年 6 月 4 日

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

ポートの説明

ポート名 方向 幅 機能

D<7:0> 入力 8 デバイス ロジックからのデータ

DATAIN 入力 1 IOBUF からの入力信号

FIFO_EMPTY 出力 1 FIFO が空であることを示すフラグ

FIFO_RD_CLK 入力 1 FIFO 読み出しクロック

FIFO_RD_EN 入力 1 FIFO 読み出しイネーブル

FIFO_WRCLK_OUT 出力 1 デバイス ロジックへの FIFO ソース同期書き込みクロック。RX_BITSLICE が 0 の場合のみ有効です。現在のところサポートされてないので、接続しないでください。

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カウンター値

UltraScale ライブラリ ガイド http://japan.xilinx.com 363UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

TX_EN_VTC 入力 1 High の場合、VT が変動した場合に遅延が一定に保たれるようにする TX イネーブル。Low の場合、VT 変動の補正はディスエーブルになります。

TX_INC 入力 1 TX の遅延タップ設定をインクリメントします。

TX_LOAD 入力 1 TX の CNTVALUEIN タップ設定を読み込みます。

TX_RST 入力 1 RXTX_BITSLICE OSERDES の TX の非同期アサート、同期ディアサート

TX_RST_DLY 入力 1 TX の DELAY_VALUE への内部遅延値をリセットします。

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

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 にするかを指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 364UG974 (v2014.2) 2014 年 6 月 4 日

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

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

IS_TX_RST_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 TX_RST リセット ピンをアクティブ Highにするかアクティブ Low にするかを指定します。

PRE_EMPHASIS 文字列 "OFF"、"ON" "OFF" IOB と共に使用して、プリエンファシスをイネーブル/ディスエーブルにします。

RX_DATA_TYPE 文字列 "NONE"、"CLOCK"、"DATA"、"DATA_AND_CLOCK"

"NONE" RX 入力ピンにクロック信号、データ信号、データとしても使用されるクロック信号のいずれが入力されるかを指定します。

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 で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 365UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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 です。

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 度遅らせます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 366UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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;

use UNISIM.vcomponents.all;

-- RXTX_BITSLICE: RXTX_BITSLICE for bidirectional I/O using Native Mode-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

RXTX_BITSLICE_inst : RXTX_BITSLICEgeneric map (

FIFO_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_RSTPRE_EMPHASIS => "OFF", -- Enable/Disable the pre-emphasisRX_DATA_TYPE => "NONE", -- Defines what the RX input pin is carrying (CLOCK, DATA, DATA_AND_CLOCK,

-- NONE)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 flagFIFO_WRCLK_OUT => FIFO_WRCLK_OUT, -- 1-bit output: FIFO source synchronous write clock out to the

UltraScale ライブラリ ガイド http://japan.xilinx.com 367UG974 (v2014.2) 2014 年 6 月 4 日

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

-- device logic (currently unsupported, do not connect)

O => 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 settingTX_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 2014.2

RXTX_BITSLICE #(.FIFO_SYNC_MODE("FALSE"), // Internal write clock and FIFO_RD_CLK are coming from a common source.INIT(1), // 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.PRE_EMPHASIS("OFF"), // Enable/Disable the pre-emphasis.RX_DATA_TYPE("NONE"), // Defines what the RX input pin is carrying (CLOCK, DATA, DATA_AND_CLOCK,

// NONE).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)

UltraScale ライブラリ ガイド http://japan.xilinx.com 368UG974 (v2014.2) 2014 年 6 月 4 日

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

.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

.FIFO_WRCLK_OUT(FIFO_WRCLK_OUT), // 1-bit output: FIFO source synchronous write clock out to the device// logic (currently unsupported, do not connect)

.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

.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 369UG974 (v2014.2) 2014 年 6 月 4 日

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

SRL16E

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

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

概要

このデザイン エレメントは、シフト レジスタ ルックアップ テーブル (LUT) です。シフト レジスタの深さは、入力 A3、A2、A1、

A0 の値によって決定されます。

シフト レジスタの深さは、固定することも、変動させることもできます。

固定の深さのシフト レジスタを作成するには、入力 A3 ~ A0 の値を一定にします。シフト レジスタは 1 ~ 16 ビットの深さに

設定できます。アドレス入力の値によるシフト レジスタの深さは、

深さ = (8 x A3) +(4 x A2) + (2 x A1) + A0 1 という式で算出できます。

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 370UG974 (v2014.2) 2014 年 6 月 4 日

第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 データ入力

A0 ~ A3 入力 1 シフト レジスタの深さを指定します。シフト レジスタの深さ = (8 x A3) + (4 x A2) + (2 x A1) + A0 + 1

Q 出力 1 SRL データ出力

デザインの入力方法

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

推論 推奨

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 371UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- SRL16E: 16-Bit Shift Register Look-Up Table (LUT)-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 372UG974 (v2014.2) 2014 年 6 月 4 日

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

SRLC32E

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

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

概要

このデザイン エレメントは、シフト レジスタ ルックアップ テーブル (LUT) です。シフト レジスタの深さは、入力 A4、A3、A2、

A1、A0 の値によって決定されます。

シフト レジスタの深さは、固定することも、変動させることもできます。

固定の深さのシフト レジスタを作成するには、入力 A4 ~ A0 の値を一定にします。シフト レジスタは 1 ~ 32 ビットの深さに

設定できます。アドレス入力の値によるシフト レジスタの深さは、

深さ = (16 x A4) + (8 x A3) +(4 x A2) + (2 x A1) + A0 1 という式で算出できます。

A4、A3、A2、A1、A0 がすべて 0 の場合 (00000) はシフト レジスタの深さは 1 ビットになり、すべて 1 の場合 (11111) は 32

ビットになります。

シフト レジスタ長を動的に変更するには、入力 A4 ~ A0 の値を変更します。たとえば、A3、A2、A1、A0 がすべて 1 の場合

(1111) に A4 を 1 から 0 に切り替えると、シフト レジスタの深さは 32 ビットから 16 ビットに変更されます。内部的には、シフト

UltraScale ライブラリ ガイド http://japan.xilinx.com 373UG974 (v2014.2) 2014 年 6 月 4 日

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

レジスタの深さは常に 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’h00000000 ~32’hffffffff

32’h00000000 コンフィギュレーション後のシフト レジスタの初期値を指定します。

IS_CLK_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 クロック ピン (CLK) にオプションの反転を使用するかどうかを指定します。1 に設定すると、立下りエッジがアクティブ エッジになります。このピンに外部インバーターが接続されている場合は、Vivado ツールで opt_design の実行時にこの属性が自動的に設定されるので、ロジックを追加してクロックの極性を変更する必要はありません。

UltraScale ライブラリ ガイド http://japan.xilinx.com 374UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- SRLC32E: 32-Bit Shift Register Look-Up Table (LUT)-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.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 2014.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

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 375UG974 (v2014.2) 2014 年 6 月 4 日

第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 は使用不可)

GTS 入力 1 グローバル トライステート入力 (ポート名に GTS は使用不可)

KEYCLEARB 入力 1 バッテリ充電 RAM (BBRAM) からのクリア AES デクリプタ キー入力

UltraScale ライブラリ ガイド http://japan.xilinx.com 376UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

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 2014.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 377UG974 (v2014.2) 2014 年 6 月 4 日

第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 2014.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 378UG974 (v2014.2) 2014 年 6 月 4 日

第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 379UG974 (v2014.2) 2014 年 6 月 4 日

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

ポートの説明

ポート名 方向 幅 機能

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。このグループ内でいずれかの警告が発生していることを示すのに使用できます。

BUSY 出力 1 SYSMON ビジー信号。ADC 変換中に High になります。ADC またはセンサーのキャリブレーション中にも長期で High になります。

CHANNEL<5:0> 出力 6 チャネル選択出力。これらの出力では、ADC 変換の終わりに変換用のSYSMON 入力 MUX チャネルが選択されます。

CONVST 入力 1 変換開始入力。SYSMON 入力のサンプリングを制御し、イベント モードタイミングでのみ使用されます。FPGA ロジックの汎用インターコネクトから供給されます。

CONVSTCLK 入力 1 変換開始クロック入力。クロック ネットに接続されます。CONVST と同様、SYSMON 入力のサンプリングを制御し、イベント モード タイミングでのみ使用されます。FPGA ロジックのローカル クロック分配ネットワークから供給されます。そのため、サンプリング インスタンス (遅延およびジッター) を制御するには、グローバル クロック入力を CONVST のソースとして使用するのが最適です。

DADDR<7:0> 入力 8 ダイナミック リコンフィギュレーション ポートのアドレス バス

DCLK 入力 1 ダイナミック リコンフィギュレーション ポートのクロック入力

DEN 入力 1 ダイナミック リコンフィギュレーション ポートのイネーブル信号

DI<15:0> 入力 16 ダイナミック リコンフィギュレーション ポートの入力データ バス

DO<15:0> 出力 16 ダイナミック リコンフィギュレーション ポートの出力データ バス

DRDY 出力 1 ダイナミック リコンフィギュレーション ポートの Data Ready 信号

DWE 入力 1 ダイナミック リコンフィギュレーション ポートのライト イネーブル

EOC 出力 1 変換終了 (End of Conversion) 信号。ADC 変換が終了し、測定データがステータス レジスタに書き込まれると、High に遷移します。

EOS 出力 1 シーケンス終了 (End of Sequence) 信号。自動 チャネル シーケンスの最後のチャネルから測定データがステータス レジスタに書き込まれると、High に遷移します。

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パッケージ ピンに接続する必要があります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 380UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

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パッケージ ピンに接続する必要があります。

JTAGBUSY 出力 1 JTAG DRP トランザクションが実行されていることを示します。

JTAGLOCKED 出力 1 JTAG インターフェイスにより DRP ポート ロックが要求されたことを示します。DRP がアクセス可能になったこと (Low の場合) を示すためにも使用されます。

JTAGMODIFIED 出力 1 DRP に対して JTAG 書き込みが発生したことを示します。

MUXADDR<4:0> 出力 5 外部マルチプレクサー モードで使用され、シーケンスで次に変換されるチャネルのアドレスを示します。外部マルチプレクサーにチャネル アドレスを供給します。

OT 出力 1 温度超過警告出力

RESET 入力 1 SYSMON 制御ロジックのリセット信号

VAUXN<15:0> 入力 16 N 側補助アナログ入力

VAUXP<15:0> 入力 16 P 側補助アナログ入力

VN 入力 1 N 側アナログ入力

VP 入力 1 P 側アナログ入力

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 381UG974 (v2014.2) 2014 年 6 月 4 日

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

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

INIT_4F 16 進数 16’h0000 ~16’hffff

16’h0000 シーケンス レジスタ 9

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

INIT_5E 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 14

INIT_5F 16 進数 16’h0000 ~16’hffff

16’h0000 警告制限レジスタ 15

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_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_45 16 進数 16’h0000 ~16’hffff

16’h0000 アナログ バス レジスタ

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 382UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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_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

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_73、INIT_74、INIT_75、INIT_76、INIT_77

16 進数 16’h0000 ~16’hffff

16’h0000 システム モニター テスト レジスタ (カスタマー用)

IS_CONVSTCLK_INVERTED

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

UltraScale ライブラリ ガイド http://japan.xilinx.com 383UG974 (v2014.2) 2014 年 6 月 4 日

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

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

IS_DCLK_INVERTED

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

INIT_70 ~ INIT_7F 16 進数 16’h0000 ~16’hffff

16’h0000 今後の使用のために予約

SIM_MONITOR_FILE

文字列 文字列 "design.txt" SYSMON シミュレーション ビヘイビアー用のアナログ電圧および温度データを含むファイルの名前 (およびシミュレーション ディレクトリと異なる場合はディレクトリ) を指定します。

SYSMON_VUSER0_BANK

10 進数 0 ~ 999 0 User0 で監視用に使用する I/O バンク番号を指定します。

SYSMON _VUSER0_MONITOR

文字列 文字列 なし User0 で監視する電圧を指定します。

SYSMON_VUSER1_BANK

10 進数 0 ~ 999 0 User1 で監視用に使用する I/O バンク番号を指定します。

SYSMON _VUSER1_MONITOR

文字列 文字列 なし User1 で監視する電圧を指定します。

SYSMON_VUSER2_BANK

10 進数 0 ~ 999 0 User2 で監視用に使用する I/O バンク番号を指定します。

SYSMON _VUSER2_MONITOR

文字列 文字列 なし User2 で監視する電圧を指定します。

SYSMON_VUSER3_BANK

10 進数 0 ~ 999 0 User3 で監視用に使用する I/O バンク番号を指定します。

SYSMON _VUSER3_MONITOR

文字列 文字列 なし User3 で監視する電圧を指定します。

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- SYSMONE1: Xilinx Analog-to-Digital Converter and System Monitor-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

SYSMONE1_inst : SYSMONE1generic map (

-- INIT_40 - INIT_44: SYSMON configuration registersINIT_40 => X"0000",INIT_41 => X"0000",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",

UltraScale ライブラリ ガイド http://japan.xilinx.com 384UG974 (v2014.2) 2014 年 6 月 4 日

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

-- 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 portsBUSY => 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

UltraScale ライブラリ ガイド http://japan.xilinx.com 385UG974 (v2014.2) 2014 年 6 月 4 日

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

-- 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 2014.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),.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),

UltraScale ライブラリ ガイド http://japan.xilinx.com 386UG974 (v2014.2) 2014 年 6 月 4 日

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

.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

);

// End of SYSMONE1_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 387UG974 (v2014.2) 2014 年 6 月 4 日

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

TX_BITSLICE

プリミティブ : TX_BITSLICE for output using Native Mode

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

概要

ネイティブ モードの TX_BITSLICE には、シリアライザー ロジックと、VT の変動に応じて継続的に調整可能な 512 タップ出

力遅延 (ODELAY) が含まれます。TX_BITSLICE には、4:1 または 8:1 シリアライザーをインプリメントするシリアライゼーショ

ン ロジックが含まれます。

ポートの説明ポート名 方向 幅 機能

CE 入力 1 TX_BITSLICE ODELAY レジスタ クロックのクロック イネーブル

CLK 入力 1 LOAD、CE、INC のサンプリングに使用されるクロック

CNTVALUEIN<8:0> 入力 9 タップ値を動的に読み込むための内部デバイス ロジックからのカウンター値

CNTVALUEOUT<8:0> 出力 9 タップ値モニター用に内部デバイス ロジックに送信されるカウンター値

D<7:0> 入力 8 デバイス ロジックからのデータ

EN_VTC 入力 1 High の場合、VT が変動した場合に遅延が一定に保たれるようにするイネーブル。Low の場合、VT 変動の補正はディスエーブルになります。

UltraScale ライブラリ ガイド http://japan.xilinx.com 388UG974 (v2014.2) 2014 年 6 月 4 日

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

ポート名 方向 幅 機能

INC 入力 1 タップ遅延設定をインクリメントします。

LOAD 入力 1 CNTVALUEIN タップ設定を読み込みます。

O 出力 1 出力バッファーに供給されるシリアライズされた出力

RST 入力 1 TX_BITSLICE OSERDES の非同期アサート、同期ディアサート

RST_DLY 入力 1 DELAY_VALUE への内部遅延値をリセットします。

RX_BIT_CTRL_IN<39:0> 入力 40 BITSLICE_CONTROL からの入力バス

RX_BIT_CTRL_OUT<39:0> 出力 40 BITSLICE_CONTROL への出力バス

T 入力 1 デバイス ロジックからのレガシ T バイト入力

T_OUT 出力 1 バイト グループのトライステート出力

TBYTE_IN 入力 1 TX_BITSLICE_TRI からのバイト グループ トライステート入力

TX_BIT_CTRL_IN<39:0> 入力 40 BITSLICE_CONTROL からの入力バス

TX_BIT_CTRL_OUT<39:0> 出力 40 BITSLICE_CONTROL への出力バス

デザインの入力方法

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

推論 不可

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

マクロのサポート 不可

使用可能な属性

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

DATA_WIDTH 10 進数 8、4 8 パラレル データ入力の幅を指定します。有効な値は 4 ~ 8 です。

DELAY_FORMAT 文字列 "TIME"、"COUNT" "TIME" TX_BITSLICE ODELAY のDELAY_VALUE の単位を設定します。DELAY_TYPE が "FIXED" の場合は "TIME" に設定し、"VARIABLE"または "VAR_LOAD" の場合は"COUNT" に設定します。

• "TIME" : TX_BITSLICE ODELAY

の DELAY_VALUE の値を ps で

指定します。

• "COUNT" : TX_BITSLICE

ODELAY の DELAY_VALUE の値

をタップ数で指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 389UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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 にするかを指定します。

IS_RST_INVERTED

2 進数 1’b0 ~ 1’b1 1’b0 RST リセット ピンをアクティブ High にするかアクティブ Low にするかを指定します。

OUTPUT_PHASE_90

文字列 "FALSE"、"TRUE" "FALSE" 出力の位相を 90 度遅らせます。

PRE_EMPHASIS 文字列 "OFF"、"ON" "OFF" IOB と共に使用して、プリエンファシスをイネーブル/ディスエーブルにします。

REFCLK_FREQUENCY

1 上位ビット浮動小数点

200.0 ~ 2400.0 300.0 基準クロックの周波数を MHz で指定します。

TBYTE_CTL 文字列 "TBYTE_IN"、"T" "TBYTE_IN" OSERDES モードの場合のみ、T または TBYTE_IN 入力のいずれかを選択します。

UPDATE_MODE 文字列 "ASYNC"、"MANUAL"、"SYNC"

"ASYNC" • "ASYNC" : 受信されるデータとは

独立して遅延値がインクリメントま

たはディクリメントされます。

• "SYNC" : 遅延は入力データの

エッジに同期してアップデートさ

れます。

• "MANUAL" : LOAD および

CNTVALUEIN 信号を使用して新

しい CNTVALUE を読み込んだ

後、LOAD および CE の両方をア

サートしたときに、遅延値がアップ

デートされます。

UltraScale ライブラリ ガイド http://japan.xilinx.com 390UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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

Library UNISIM;

use UNISIM.vcomponents.all;

-- TX_BITSLICE: TX_BITSLICE for output using Native Mode-- UltraScale-- Xilinx HDL Libraries Guide, version 2014.2

TX_BITSLICE_inst : TX_BITSLICEgeneric 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-degreesPRE_EMPHASIS => "OFF", -- Enable/Disable the pre-emphasisREFCLK_FREQUENCY => 300.0, -- Specification of the reference clock frequency in MHz (200.0-2400.0)TBYTE_CTL => "TBYTE_IN", -- Select between T and TBYTE_IN inputsUPDATE_MODE => "ASYNC" -- Determines when updates to the delay will take effect (ASYNC, MANUAL,

-- SYNC))port map (

CNTVALUEOUT => CNTVALUEOUT, -- 9-bit output: Counter value to device logicO => O, -- 1-bit output: Serialized output going to output bufferRX_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_CONTROLT_OUT => T_OUT, -- 1-bit output: Byte group 3-state outputCE => CE, -- 1-bit input: Clock enable for ODELAYCLK => CLK, -- 1-bit input: Clock used to sample LOAD, CE, INCCNTVALUEIN => CNTVALUEIN, -- 9-bit input: Counter value from device logicD => D, -- 8-bit input: Data from device logicEN_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 deassert for

-- TX_BITSLICE OSERDES

RST_DLY => RST_DLY, -- 1-bit input: Reset the internal DELAY value to DELAY_VALUERX_BIT_CTRL_IN => RX_BIT_CTRL_IN, -- 40-bit input: Input bus from BITSLICE_CONTROLT => 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: Input bus from BITSLICE_CONTROL

);

-- End of TX_BITSLICE_inst instantiation

UltraScale ライブラリ ガイド http://japan.xilinx.com 391UG974 (v2014.2) 2014 年 6 月 4 日

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

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

// TX_BITSLICE: TX_BITSLICE for output using Native Mode// UltraScale// Xilinx HDL Libraries Guide, version 2014.2

TX_BITSLICE #(.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), // 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.PRE_EMPHASIS("OFF"), // Enable/Disable the pre-emphasis.REFCLK_FREQUENCY(300.0), // Specification of the reference clock frequency in MHz (200.0-2400.0).TBYTE_CTL("TBYTE_IN"), // Select between T and TBYTE_IN inputs.UPDATE_MODE("ASYNC") // Determines when updates to the delay will take effect (ASYNC, MANUAL,

// SYNC))TX_BITSLICE_inst (

.CNTVALUEOUT(CNTVALUEOUT), // 9-bit output: Counter value to device logic

.O(O), // 1-bit output: Serialized output going to output buffer

.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

.T_OUT(T_OUT), // 1-bit output: Byte group 3-state output

.CE(CE), // 1-bit input: Clock enable for ODELAY

.CLK(CLK), // 1-bit input: Clock used to sample LOAD, CE, INC

.CNTVALUEIN(CNTVALUEIN), // 9-bit input: Counter value from device logic

.D(D), // 8-bit input: Data from device logic

.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 for// TX_BITSLICE OSERDES

.RST_DLY(RST_DLY), // 1-bit input: Reset the internal DELAY value to DELAY_VALUE

.RX_BIT_CTRL_IN(RX_BIT_CTRL_IN), // 40-bit input: Input bus from BITSLICE_CONTROL

.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: Input bus from BITSLICE_CONTROL);

// End of TX_BITSLICE_inst instantiation

詳細情報

UltraScale の資料

UltraScale ライブラリ ガイド http://japan.xilinx.com 392UG974 (v2014.2) 2014 年 6 月 4 日

第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 393UG974 (v2014.2) 2014 年 6 月 4 日

第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 の初期値を指定します。

UltraScale ライブラリ ガイド http://japan.xilinx.com 394UG974 (v2014.2) 2014 年 6 月 4 日

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

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

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 にするかを指定します。

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 2014.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_CONTROL

UltraScale ライブラリ ガイド http://japan.xilinx.com 395UG974 (v2014.2) 2014 年 6 月 4 日

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

CNTVALUEOUT => 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

);

-- 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 2014.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), // 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 396UG974 (v2014.2) 2014 年 6 月 4 日

付録 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.

UltraScale ライブラリ ガイド http://japan.xilinx.com 397UG974 (v2014.2) 2014 年 6 月 4 日

付録 A : その他のリソースおよび法的通知

© 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 398UG974 (v2014.2) 2014 年 6 月 4 日