90
Spartan-6 FPGA SelectIO リソース ユーザー ガイド UG381 (v1.3) 2010 3 15

Spartan-6 FPGA SelectIO リソース - Xilinx · 2019-10-13 · 日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

ユーザー ガイド [optional]

UG381 (v1.3) 2010 年 3 月 15 日 [optional]

Spartan-6 FPGA SelectIO リソース

ユーザー ガイド

UG381 (v1.3) 2010 年 3 月 15 日

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com UG381 (v1.3) 2010 年 3 月 15 日

Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in thedevelopment of designs to operate with Xilinx hardware devices. You may not reproduce, distribute, republish, download,display, post, or transmit the Documentation in any form or by any means including, but not limited to, electronic, mechanical,photocopying, recording, or otherwise, without the prior written consent of Xilinx. Xilinx expressly disclaims any liabilityarising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the Documentationwithout notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise youof any corrections or updates. Xilinx expressly disclaims any liability in connection with technical support or assistance that maybe provided to you in connection with the Information.

THE DOCUMENTATION IS DISCLOSED TO YOU "AS-IS" WITH NO WARRANTY OF ANY KIND. XILINX MAKESNO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THEDOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULARPURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANYCONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOSS OFDATA OR LOST PROFITS, ARISING FROM YOUR USE OF THE DOCUMENTATION.

© 2009-2010 Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, ISE, and other designated brands included herein aretrademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners.

UG381 (v1.3) 2010 年 3 月 15 日 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

改訂履歴

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

本資料は英語版 (v1.3) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。

資料によっては英語版の更新に対応していないものがあ り ます。

日本語版は参考用と してご使用の上、 新情報につきましては、 必ず 新英語版をご参照ください。

日付 バージョ ン 改訂内容

2009 年 6 月 24 日 1.0 初期リ リース

2010 年 1 月 5 日 1.1 「差動終端の利点」 をアップデート。 PCI66_3 を表 1-4 に追加。 図 1-6 を変更。

16、 17、 18 ページのテキス ト をわかりやすく変更。 IBUFDS_DIFF_OUT および IBUFGDS_DIFF_OUT を 「Spartan-6 FPGA の SelectIO プ リ ミ ティ

ブ」 セクシ ョ ンに追加し、 図 1-13 をアップデート。 28 および 29 ページでバン

クで使用可能な LVDS_25、 LVDS_33、 Mini-LVDS、 RSDS、 TMDS、 および PPDS の説明をわかりやすく変更。 図 1-19 のタイ トルをわかりやすく変更し、 図 1-20 を追加。 図 1-29 および 「TMDS_33」 に 2.5V VCCO を追加。 図 1-30 をアッ

プデート。 図 1-32 を修正。 「HSTL/SSTL VREF 参照電圧」 セクシ ョ ンを移動。

「PCI I/O 規格での内部ダイオードを使用した電圧クランプ」 セクシ ョ ンを削除。

表 2-3 で SYNC および SRTYPE の説明を変更。 図 2-6 で C0 と C1 入力を入れ替

え。 「出力 DDR の概要 (ODDR2)」 にメモを追加。 図 2-17 周辺の説明をアップ

デート。 「I/O 遅延のキャ リブレーシ ョ ンおよびリセッ ト 」 の説明をアップデート。

「DATA_RATE」 の説明を変更。 「カスケード接続した場合の動作」 の説明をアッ

プデート。 「位相検出器の概要」 をアップデート。 77 ページの図 3-4 の MASTER ISERDES2 をアップデート。 79 ページのサンプル タイ ミ ングをわかりやすく変

更。 表 3-6 の属性の説明を変更。 「カスケード接続した場合の動作」 の説明をアッ

プデート。 88 ページの図 3-12 をアップデート。

2010 年 2 月 2 日 1.2 第 1 章 の 「電源投入時およびコンフ ィギュレーシ ョ ン中のI/O ピン」 から無効な M2 モードを削除。 表 1-4 をバンク制限の情報でアップデート。

図 2-1 をアップデート。 「I/O ロジッ クで使用可能なクロ ッ ク リ ソース」 (図 2-2 および表 2-1 を含む) を追加。

「ISERDES2 の概要」 および 「OSERDES2 の概要」 で SerDes 比を修正。 「位相検

出器の概要」 の 初の説明をアップデート。 図 3-4 を修正。 「OSERDES2 の動作」

によ りわかりやすい説明を追加。 表 3-7 を追加し、 図 3-10 をアップデート。

2010 年 3 月 15 日 1.3 表 1-4 を修正。 「シングルエンド I/O の互換性」 に 「推奨される動作条件は 、Spartan-6 FPGA データシート (DS162) を参照してください」 という文を追加。

「SSO の影響を低減するピン配置」 セクシ ョ ンを追加。

図 2-1 をアップデート。 「I/O 遅延の概要」 および 「I/O 遅延モード」 をわかりや

すく変更。 図 2-18 および表 2-8 の INC をアップデート。

表 3-1 で CE0、 BITSLIP、 および IOCE の説明をアップデート。 図 3-1 および図 3-10 で I/O ク ロ ッ ク イネーブル ラインにフ リ ップフロ ップを追加。 表 3-5 の IOCE をアップデート。 表 3-6 の OUTPUT_MODE をアップデート。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com UG381 (v1.3) 2010 年 3 月 15 日

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 5UG381 (v1.3) 2010 年 3 月 15 日

改訂履歴. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

このユーザー ガイ ドについてその他の資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9その他のリ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

第 1 章 : SelectIO リソースI/O タイルの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11SelectIO リ ソースの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12SelectIO リ ソースの一般的なガイ ド ラ イン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Spartan-6 FPGA の SelectIO バンク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13出力駆動ソース電圧 (VCCO) ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

内部終端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14差動終端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

差動終端の利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14オンチップ終端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

オンチップ終端の利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15プログラム可能な出力ド ライバ インピーダンス (ソース終端) . . . . . . . . . . . . . . . . . . . .16プログラム可能な入力終端抵抗 (分割終端) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

Spartan-6 FPGA の SelectIO プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18IBUF および IBUFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18OBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19OBUFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19IOBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19IBUFDS および IBUFGDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20IBUFDS_DIFFOUT および IBUFGDS_DIFFOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20OBUFDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20OBUFTDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21IOBUFDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21Spartan-6 FPGA の SelectIO の属性および制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

ロケーシ ョ ン制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22IOSTANDARD 属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22出力スルー レートの属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22出力駆動電流の属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23IBUF、 OBUFT、 および IOBUF の PULLUP/PULLDOWN/KEEPER . . . . . . . . . . . . .23差動終端属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23入力終端および出力終端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

SelectIO 信号規格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24I/O 規格の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

LVTTL - 低電圧 TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26LVCMOS - 低電圧 CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26LVCMOS_JEDEC - JEDEC 準拠の入力を持つ低電圧 CMOS . . . . . . . . . . . . . . . . . . . .26PCI - ペリ フェラル コンポーネン ト インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . .26I2C - Inter-Integrated Circuit バス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26SMBUS - システム管理バス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27SDIO - SD メモ リ カード インターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27MOBILE_DDR - 低消費電力 DDR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27HSTL - 高速ト ランシーバ ロジッ ク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27SSTL3 - 3.3V 用 SSTL (Stub Series Terminated Logic) . . . . . . . . . . . . . . . . . . . . . . . . .27SSTL2 - 2.5V 用 SSTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27SSTL18 - 1.8V 用 SSTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

目次

6 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

SSTL15 - 1.5V 用 SSTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27LVDS_25 - 低電圧差動信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28LVDS_33 - 低電圧差動信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28BLVDS - バス LVDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28DISPLAY_PORT - DisplayPort 用の AUX CH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28Mini-LVDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28RSDS - 低振幅差動信号. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28TMDS - 遷移時間 短差動信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28PPDS - ポイン ト ト ゥ ポイン ト差動信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

I/O タイ ミ ング解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29IBIS モデルを使用した負荷条件のシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29LVCMOS/LVTTL スルー レート制御および駆動電流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30同時スイ ッチ出力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

SSO の影響を低減するピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31シングルエンド I/O の終端手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32差動 I/O 規格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

TMDS_33 での終端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36BLVDS 出力の終端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

IOB の電源電圧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36HSTL/SSTL VREF 参照電圧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37ESD 耐性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38I/O 規格のバンクでの互換性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38

シングルエンド I/O の互換性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38差動 I/O 規格のバンクでの互換性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

I/O バンクの規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42振幅が大きな信号の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

変圧器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42オープン ドレインのインターフェイス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43

電源投入時およびコンフ ィギュレーシ ョ ン中のI/O ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43コンフ ィギュレーシ ョ ン後の未使用 I/O ピン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44

第 2 章 : SelectIO ロジック リソース概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45I/O インターフェイス タイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46I/O ロジッ クで使用可能なクロ ッ ク リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47ILOGIC2 リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

組み合わせ入力パス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50入力 DDR プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50IDDR2 の VHDL および Verilog テンプレート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53ILOGIC2 のタイ ミ ング モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54

ILOGIC2 のタイ ミ ング特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54ILOGIC2 のタイ ミ ング特性 (DDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54

OLOGIC2 リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56組み合わせ出力データおよびト ライステート制御パス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57出力 DDR の概要 (ODDR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

NONE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58C0 - クロ ッ ク C0 で入力を取り込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58C1 - クロ ッ ク C1 で入力を取り込み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58

ODDR2 プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59ODDR2 の VHDL および Verilog テンプレート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59OLOGIC2 のタイ ミ ング モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60

タイ ミ ング特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60I/O 遅延の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

I/O 遅延モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65I/O 遅延のキャ リブレーシ ョ ンおよびリセッ ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

キャ リブレーシ ョ ンの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66遅延のアップデート と BUSY のタイ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 7UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジッ ク リソースISERDES2 の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

ISERDES2 のポートおよび属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69ISERDES2 の動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71

NETWORKING モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74NETWORKING_PIPELINED モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74RETIMED モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74カスケード接続した場合の動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74Bitslip の動作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

位相検出器の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76位相検出器のキャ リブレーシ ョ ン機構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78位相検出器の動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79

遅延のアップデート と BUSY のタイ ミ ング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81位相検出器のシ ミ ュレーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82

OSERDES2 の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83OSERDES2 のポートおよび属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83OSERDES2 の動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85

カスケード接続した場合の動作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87ト レーニング機能の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89

8 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 9UG381 (v1.3) 2010 年 3 月 15 日

このユーザー ガイドについて

このユーザー ガイ ドでは、Spartan®-6 FPGA の入力/出力特性および SelectIO™ ロジッ ク リ ソース

について詳細に説明します。

第 1 章 「SelectIO リ ソース」 では、出力ド ライバおよび入力レシーバの電気的動作について説明し、

一般的なインターフェイスの例を紹介します。第 2 章 「SelectIO ロジッ ク リ ソース」 では、入力お

よび出力データ レジスタ、DDR (ダブル データ レート ) 動作、プログラマブル入力遅延 (IDELAY)について説明します。 第 3 章 「アドバンス SelectIO ロジッ ク リ ソース」 では、 データ シ リアライ

ザ/デシ リ アライザについて説明します。

その他の資料

Spartan-6 に関するその他の情報は、 http://japan.xilinx.com/support/documentation/spartan-6.htm から次を参照してください。

• 『Spartan-6 ファ ミ リ概要』

Spartan-6 ファ ミ リの機能とデバイスの概要を示します。

• 『Spartan-6 FPGA データシート : DC 特性およびスイ ッチ特性』

Spartan-6 ファ ミ リの DC 特性およびスイ ッチ特性が記載されています。

• 『Spartan-6 FPGA Packaging and Pinout Specification』

デバイス/ピンの組み合わせと 大 I/O 数、 ピン定義、 ピン配置図、 機械的図面、 熱仕様が記載

されています。

• 『Spartan-6 FPGA コンフ ィギュレーシ ョ ン ユーザー ガイ ド』

コンフ ィギュレーシ ョ ン インターフェイス (シ リ アルおよびパラレル)、複数のビッ ト ス ト リー

ムの管理、 ビッ ト ス ト リームの暗号化、 バウンダ リ スキャンおよび JTAG コンフ ィギュレー

シ ョ ン、 リ コンフ ィギュレーシ ョ ン手法など、 コンフ ィギュレーシ ョ ンについて詳細に説明し

ます。

• 『Spartan-6 FPGA ク ロ ッ ク リ ソース ユーザー ガイ ド』

DCM および PLL を含め、 Spartan-6 デバイスのクロ ッ ク リ ソースについて説明します。

• 『Spartan-6 FPGA ブロ ッ ク RAM リ ソース ユーザー ガイ ド』

Spartan-6 デバイスのブロ ッ ク RAM の機能について説明します。

• 『Spartan-6 FPGA コンフ ィギャブル ロジッ ク ブロ ッ ク ユーザー ガイ ド』

すべての Spartan-6 デバイスで使用可能なコンフ ィギャブル ロジッ ク ブロ ッ ク (CLB) の機能

について説明します。

10 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

このユーザー ガイ ドについて

• 『Spartan-6 FPGA GTP Transceivers User Guide』

Spartan-6 LXT FPGA で使用可能な GTP ト ランシーバについて説明します。

• 『Spartan-6 FPGA DSP48A1 Slice User Guide』

Spartan-6 FPGA の DSP48A1 スライスのアーキテクチャについて説明し、 コンフ ィギュレー

シ ョ ン例を示します。

• 『Spartan-6 FPGA メモ リ コン ト ローラ ユーザー ガイ ド』

Spartan-6 FPGA のメモリ コン ト ローラ ブロ ッ クについて説明します。メモ リ コン ト ローラ ブロ ッ クは、 Spartan-6 FPGA をよ く使用される メモ リ規格に接続する際のインターフェイスを

簡略化するエンベデッ ド マルチポート メモ リ コン ト ローラです。

• 『Spartan-6 FPGA PCB Design Guide』

PCB およびインターフェイス レベルでデザインを決定するためのス ト ラテジに焦点を置いて、

Spartan-6 デバイスの PCB デザインに関する情報を示します。

その他のリソース

シ リ コンおよびソフ ト ウェアに関するアンサー データベースを検索したり、テクニカル サポートの

ウェブケースを開く場合は、 次の Web サイ トにアクセスしてください。

http://japan.xilinx.com/support

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 11UG381 (v1.3) 2010 年 3 月 15 日

第 1 章

SelectIO リソース

I/O タイルの概要

Spartan®-6 FPGA の I/O タイルには、 IOB が 2 つ、 ILOGIC が 2 つ、 OLOGIC が 2 つ含まれてい

ます。 図 1-1 に I/O タイルを示します。

X-Ref Target - Figure 1-1

図 1-1 : Spartan-6 FPGA の I/O タイル

ug381_c1_01_041709

ILOGIC2( 2 )

ISERDES2

( 3 )

OLOGIC2( 2 )

OSERDES2

( 3 )

IODELAY2( 2 )

IODELAY2( 2 )

IOB( 1 )

ILOGIC2( 2 )

ISERDES2

( 3 )

OLOGIC2( 2 )

OSERDES2

( 3 )

IOB( 1 )

12 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

SelectIO リソースの概要

すべての Spartan-6 FPGAにはコンフ ィギュレーシ ョ ン可能な高性能の SelectIO™ ド ライバおよび

レシーバが含まれており、 さまざまなインターフェイス規格に対応しています。 出力の駆動電流お

よびスルー レートのプログラマブル制御、 オンチップ終端などの機能があ り ます。

各 IOB には、入力、出力、およびト ラ イステート SelectIO ド ライバがあ り ます。 これらのド ライバ

は、さまざまな I/O 規格にコンフ ィギュレーシ ョ ンできます。 差動 I/O は、1 つのタイルに含まれる

2 つの IOB を使用します。

• シングルエンド I/O 規格 (LVCMOS、 LVTTL、 HSTL、 SSTL、 PCI)

• 差動 I/O 規格 (LVDS、 RSDS、 TMDS、 差動 HSTL および SSTL)

• VREF に依存する差動入力には VCCAUX から電力を供給

Spartan-6 FPGA の各 I/O タイルには、 IOB が2 つ、 ILOGIC ブロ ッ クが 2 つ、 OLOGIC ブロ ッ ク

が 2 つ含まれています (第 2 章 「SelectIO ロジッ ク リ ソース」 を参照)。

図 1-2 に、 IOB の基本図と内部ロジッ クおよびデバイス パッ ドへの接続を示します。

各 IOB は、 IOB のデータ用およびト ラ イステート制御用の入力/出力ロジッ ク リ ソースを含む ILOGIC/OLOGIC ペアに直接接続されています。 ILOGIC および OLOGIC は、それぞれ ISERDESおよび OSERDES と してコンフ ィギュレーシ ョ ンできます (第 3 章「アドバンス SelectIO ロジッ ク

リ ソース」 を参照)。

X-Ref Target - Figure 1-2

図 1-2 : IOB の基本図

ug381_c1_02_111309

PADOUT

DIFFO_IN

DIFFO_OUT

I

T

O

DIFFI_IN

OUTBUFINBUF

PAD

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 13UG381 (v1.3) 2010 年 3 月 15 日

SelectIO リソースの一般的なガイドライン

SelectIO リソースの一般的なガイ ドライン

このセクシ ョ ンでは、 Spartan-6 FPGA の SelectIO リ ソースを使用して設計する際の一般的なガイ

ド ラインを示します。

Spartan-6 FPGA の SelectIO バンク

各 Spartan-6 デバイスには、デバイス サイズおよびパッケージに応じて 4 つまたは 6 つの I/O バン

クがあ り ます (図 1-3)。 Spartan-6 ファ ミ リに含まれる各デバイスの詳細は、 『Spartan-6 ファ ミ リ概

要』 を参照してください。

• XC6SLX45/XC6SLX45T およびこれらよ り小型のデバイス、 484 ピン パッケージのすべての

デバイスには、 デバイスの各辺に 1 つずつ、 合計 4 つのバンクがあ り ます。

• XC6SLX75/XC6SLX75T およびこれらよ り大型のデバイス (484 ピン パッケージを除く ) には、 右辺と左辺にバンクが 2 つずつ、 合計 6 つの I/O バンクがあ り ます。

出力駆動ソース電圧 (VCCO) ピン

Spartan-6 デバイスで使用できる低電圧 I/O 規格の多くでは、異なる出力駆動ソース電圧 (VCCO) が必要なので、 通常 1 つのデバイスで複数の出力駆動ソース電圧を使用できるよ うになっています。

1 つの VCCO バンク内では、 すべての出力バッファの出力駆動ソース電圧を同じにする必要があ り

ます。 次の I/O 規格の入力バッファでは、 VCCO 電源も使用します。

• LVCMOS25 (VCCAUX = 3.3V の場合)

• LVCMOS18_JEDEC

• LVCMOS15_JEDEC

• LVCMOS12_JEDEC

• PCI

• MOBILE_DDR

X-Ref Target - Figure 1-3

図 1-3 : Spartan-6 FPGA の I/O バンク

ug381_c1_03_111209

0

2

3 1

LX4 LX9 LX16 LX25 LX25T LX45 LX45T 484

0

23 1

4 5

LX75 LX75T LX100 LX100T LX150 LX150T(484 )

14 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

内部終端

高速 I/O 規格を使用する場合は、 スイ ッチ レベルの 適化およびシグナル インテグ リティのため、

通常終端抵抗が必要です。 終端抵抗はできるだけレシーバの近くに配置し、 シグナル インテグ リ

ティの問題を 小限に抑える必要があ り ます。 レイアウ トが緊密な幅の広いバスとのインターフェ

イスには、特定のデザイン ガイ ド ラ インが必要です。 PCB レイアウ トは離散抵抗によ り調整できま

すが、 離散抵抗とデバイスの入力バッファの間には常にスタブがあ り ます。

Spartan-6 FPGA では、差動インターフェイス (LVDS など) およびシングルエンド インターフェイ

ス (SSTL など) の両方に対して終端抵抗が提供されます。 IOB 内に終端抵抗を配置する と、 外部終

端抵抗を使用する必要がなくなり ます。

差動終端

差動終端の利点

• 差動入力用の 100Ω 並列終端抵抗

オプシ ョ ンの Spartan-6 FPGA オンチップ入力差動終端を使用する と、 差動レシーバ回路で通常使

用される外部 100Ω 終端抵抗を使用する必要がなくな り ます (図 1-4 を参照)。 調整は必要あり ませ

ん。 差動終端は、 LVDS、 mini-LVDS、 PPDS、 および RSDS に適しています。

オンチップ差動終端は、 VCCAUX = 3.3V の場合、 公称値 100Ω に指定されます。 オンチップ差動終

端は VCCAUX = 2.5V の場合にも使用できますが、 指定される抵抗の範囲は広くな り ます。 具体的

な値は、 Spartan-6 FPGA データシート を参照して ください。 図 1-5 に、 Spartan-6 FPGA にインプ

リ メン ト した差動レシーバにオプシ ョ ンの差動終端を使用する例と外部終端抵抗を使用する例を示

します。

X-Ref Target - Figure 1-4

図 1-4 : 差動入力および出力

100W

100W

ug381_c1_04_041709

Z0 = 50W

Z0 = 50W

Z0 = 50W

Z0 = 50W

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 15UG381 (v1.3) 2010 年 3 月 15 日

内部終端

DIFF_TERM 属性を TRUE に設定する と、差動 I/O ピン ペアで差動終端がイネーブルになり ます。

この属性を UCF で制約と して指定する場合は、 次の構文を使用します。

NET <I/O_NAME> DIFF_TERM = "<TRUE/FALSE>";

差動ド ライバ、 レシーバ、およびオプシ ョ ンのオンチップ差動終端のバンクの互換性は、 40 ページ

の表 1-5 を参照してください。

オンチップ終端

• シングルエンド規格でプログラム可能な入力終端抵抗および出力ド ライバ インピーダンス

オンチップ終端の利点

Spartan-6 FPGA のオンチップ終端機能を使用する と、 メモ リ インターフェイスなどでよ く使用さ

れる、 高速シングルエンド信号用の複雑な外部ボード終端は必要なくな り ます。 図 1-6 に、 アドレ

ス ピンおよび制御ピン用の DDR2 SDRAM インターフェイスなどの単一方向 SSTL18 インター

フェイスで使用される外部終端抵抗を、 オンチップ終端を使用するこ とによ り削除する例を示しま

す。 オンチップ終端は、プログラム可能な入力終端抵抗と して使用するか、プログラム可能な出力ド

ライバ インピーダンス (ソース終端) と して使用できます。I/O インターフェイスの解析および 適

化、 プログラマブル I/O 規格、 オプシ ョ ンの内部終端機能、 外部終端コンポーネン トの 適な組み

合わせを判断するには、 シグナル インテグ リティ シ ミ ュレーシ ョ ンを実行するこ とをお勧めしま

す。ザイ リ ンクス IBIS モデルをボード上のほかのコンポーネン ト と共に使用し、 IBIS シグナル インテグ リティ シ ミ ュレーシ ョ ンを実行するのが、 適な方法の 1 つです。

X-Ref Target - Figure 1-5

図 1-5 : LVDS、 RSDS、 MINI_LVDS、 および PPDS I/O 規格の入力終端抵抗オプシ ョ ン

Z0 = 50W

Z0 = 50W

Z0 = 50W

Z0 = 50W

100W

ug381_1_05_041709

a) DIFF_TERM = FALSE

b) DIFF_TERM = TRUE

DIFF_TERM = FALSE

DIFF_TERM = TRUE

RDT

0

2

0

2

4

3

5

1

0 2

16 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

プログラム可能な出力ド ライバ インピーダンス (ソース終端)

プログラム可能な出力ド ライバ インピーダンスを使用する と、 高速シングルエンド信号アプリケー

シ ョ ンにおいて、 反射を除去できるだけでなく、 外部ソース終端抵抗を使用する必要もな くな り ま

す。 ド ライバ インピーダンスは OUT_TERM 属性を使用して設定し、 出力ド ライバのインピーダン

スを PCB 信号ト レースの送信ラインのインピーダンスに一致させます。設定可能な値は NONE (デフォルト )、 UNTUNED_25、 UNTUNED_50、 および UNTUNED_75 です。 OUT_TERM 属性をデ

フォルトの NONE 以外の値に設定する と、指定の I/O 規格用に通常出力バッファに設定される駆動

電流およびスルー レート も使用されなくなり ます。 たとえば、LVCMOS25、駆動電流 12mA、スルー

レートが SLOW に設定された双方向 I/O の場合、 OUT_TERM = UNTUNED_50 に設定する と、 入力

バッファは LVCMOS25 のままですが、出力バッファは駆動電流 12mA およびスルー レート SLOWに設定されなくなり ます。 バンク 0 またはバンク 2 の では、 VCCO が 1.2V または 1.5V の場合、

OUT_TERM に設定可能な値は NONE (デフォルト )、UNTUNED_50、 または UNTUNED_75 のみ

です。

Spartan-6 FPGA のプログラム可能な出力ド ライバ インピーダンスの機能は、 その他のザイ リ ンク

ス FPGA ファ ミ リで使用可能な DCI 機能に似ていますが、 プログラム可能な出力ド ライバのイン

ピーダンスはキャ リブレーシ ョ ンされないので、 プロセス、 温度、 電圧によって、 ターゲッ ト出力

インピーダンス値に多少の変動があ り ます。 システムの評価には、 シグナル インテグ リティ解析 (理想的にはザイ リ ンクス IBIS モデルを使用して IBIS シ ミ ュレーシ ョ ンを実行) を常に含めるよ う

にしてください。

図 1-7 に、 Spartan-6 デバイスでのインピーダンス制御されたド ライバを示します。

X-Ref Target - Figure 1-6

図 1-6 : オンチップ終端を使用した単一方向 SSTL18 インターフェイス

SSTL18SSTL18

ug381_1_06_110509

VTT

50W

50W

100W

100W

VCCO

SSTL18SSTL18

+

+

SSTL18

Spartan-6 FPGA

20WZ0 = 50W

Z0 = 50W

OUT_TERM = UNTUNED_50 IN_TERM = UNTUNED_SPLIT_50

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 17UG381 (v1.3) 2010 年 3 月 15 日

内部終端

出力ピンにプログラマブル出力ドライバ インピーダンスをインプリ メン トするには、OUT_TERM 属性を適切な値に設定します。 この属性を UCF で制約と して指定する場合は、次の構文を使用します。

NET <NET NAME> OUT_TERM = <NONE/ UNTUNED_25 / UNTUNED_50 / UNTUNED_75>;

プログラム可能な入力終端抵抗 (分割終端)

HSTL や SSTL などの一部の I/O 規格では、高速シングルエンド信号のシグナル インテグ リティを

向上するため入力終端が必要です (図 1-8 を参照)。 Spartan-6 FPGA の I/O にはオンチップ入力終

端抵抗が含まれており、 外部抵抗を使用する必要はあ り ません。 このプログラム可能な入力終端抵

抗は、 シングル エンドの I/O 規格のすべてで使用できます。 プルアップ抵抗およびプルダウン抵抗

を並列に配置した構造で、VCCO/2 レベルにテブナン等価終端抵抗を供給します。 IN_TERM 属性に

設定可能な値は NONE (デフォルト )、 UNTUNED_SPLIT_25、 UNTUNED_SPLIT_50、 および

UNTUNED_SPLIT_75 です。入力終端抵抗は、 I/O が ト ラ イステートの場合は常にオンになり、出

力バッファがイネーブルになる とオフになり ます。

Spartan-6 FPGA のプログラム可能な入力終端の機能は、 その他のザイ リ ンクス FPGA ファ ミ リで

使用可能な DCI 機能に似ていますが、 プログラム可能な入力終端はキャ リブレーシ ョ ンされない

ので、ターゲッ ト抵抗値に多少の変動があ り ます。 詳細は、Spartan-6 FPGA データシートの DC 特性の表を参照してください。システムを正し く評価するには、必ずシグナル インテグ リティ解析を

実行してください。ザイ リ ンクス IBIS モデルを使用して IBIS シ ミ ュレーシ ョ ンを実行するのが理

想的な方法です。

入力ピンにプログラマブル入力終端抵抗をインプ リ メン トするには、 IN_TERM 属性を適切な値に

設定します。 この属性を UCF で制約と して指定する場合は、 次の構文を使用します。

NET <NET NAME> IN_TERM = <NONE / UNTUNED_SPLIT_25 / UNTUNED_SPLIT_50 / UNTUNED_SPLIT_75>;

X-Ref Target - Figure 1-7

図 1-7 : プログラム可能な出力ドライバ インピーダンス

ug381_c1_07_060509

R

OUT_TERM = UNTUNED_<25,50,75>25 50 75 R (Ω)

X-Ref Target - Figure 1-8

図 1-8 : 分割終端での入力終端

2R

2R

UG381_c1_08_060509

VCCO

R

VCCO/2

IN_TERM = UNTUNED_SPLIT_<25,50,75>25 50 75 R (Ω)

18 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

メモ : バンク 0 およびバンク 2 で 1.2V または 1.5V の I/O 規格 (VCCO = 1.2V または 1.5V) を使用

する場合、 IN_TERM = UNTUNED_SPLIT_25 を使用するこ とはできません。

Spartan-6 FPGA の SelectIO プリ ミテ ィブ

ザイ リ ンクスのソフ ト ウェア ライブラ リには多数のプリ ミティブが含まれており、 Spartan-6 FPGAの I/O プリ ミティブで使用可能なさまざまな I/O 規格に対応できます。 シングルエンド I/O 規格で使

用可能な 5 つの汎用プリ ミティブ名は次のとおりです。

• IBUF (入力バッファ )

• IBUFG (クロ ッ ク入力バッファ )

• OBUF (出力バッファ )

• OBUFT ( ト ラ イステート出力バッファ )

• IOBUF (入力/出力バッファ )

差動 I/O 規格で使用可能な 7 つの汎用プリ ミ ティブ名は次のとおりです。

• IBUFDS (入力バッファ )

• IBUFGDS (クロ ッ ク入力バッファ )

• IBUFDS_DIFF_OUT (差動出力付き入力バッファ )

• IBUFGDS_DIFF_OUT (差動出力付きク ロ ッ ク入力バッファ )

• OBUFDS (出力バッファ )

• OBUFTDS ( ト ラ イステート出力バッファ )

• IOBUFDS (入力/出力バッファ )

IBUF および IBUFGSpartan-6 デバイスの入力と して使用される信号には、入力バッファ (IBUF) が必要です。 図 1-9 に、

Spartan-6 FPGA の汎用 IBUF プリ ミ ティブを示します。

IBUF プリ ミ ティブと IBUFG プリ ミ ティブは同一です。 入力バッファをク ロ ッ ク入力と して使用

する場合、 IBUFG を使用します。 ザイ リ ンクス ソフ ト ウェア ツールを使用する と、 IBUFG がク

ロ ッ ク入力に自動的に配置されます。

適なパフォーマンスを達成するためのクロ ッ ク要件は、『Spartan-6 FPGA クロ ッ ク リ ソース ユー

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

X-Ref Target - Figure 1-9

図 1-9 : 入力バッファ (IBUF/IBUFG) プリ ミティブ

ug381_c1_09_051209

IBUF/IBUFG

FPGA O ( )I ( )

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 19UG381 (v1.3) 2010 年 3 月 15 日

Spartan-6 FPGA の SelectIO プリ ミテ ィブ

OBUFSpartan-6 デバイスから外部出力パッ ドへ信号を送信するには、出力バッファ (OBUF) が必要です。

図 1-10 に、 Spartan-6 FPGA の汎用 OBUF プリ ミ ティブを示します。

OBUFT汎用ト ライステート出力バッファ OBUFT (図 1-11) は、通常ト ラ イステート出力または双方向 I/Oをインプ リ メン ト します。

IOBUF

双方向信号に入力バッファおよびアクティブ High のト ライステート ピンを持つト ライステート出

力バッファの両方が必要な場合は、 IOBUF プリ ミ ティブが必要です。図 1-12 に、Spartan-6 FPGAの汎用 IOBUF を示します。

X-Ref Target - Figure 1-10

図 1-10 : 出力バッファ (OBUF) プリ ミテ ィブ

ug381_c1_10_051209

OBUF

O ( )FPGA

I ( )

X-Ref Target - Figure 1-11

図 1-11 : ト ライステート出力バッファ (OBUFT) プリ ミテ ィブ

ug381_c1_11_051209

OBUFT

O ( )FPGA

I ( )

T

X-Ref Target - Figure 1-12

図 1-12 : 入力/出力バッファ (IOBUF) プリ ミティブ

ug381_c1_12_051209

IOBUF

I/OFPGA

I ( )

FPGA O ( )

T

20 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

IBUFDS および IBUFGDS差動プリ ミ ティブ (名前に「DS」が含まれる) の使用方法および規則は、シングルエンド SelectIO プリ ミ ティブと類似しています。 差動 SelectIO プリ ミ ティブにはデバイス パッ ドに接続されるピン

が 2 つあり、差動ペアの P チャネルおよび N チャネルとな り ます。 N チャネル ピンには接尾辞「B」

が付いています。

図 1-13 に、 差動入力バッファ プリ ミ ティブを示します。

IBUFDS_DIFFOUT および IBUFGDS_DIFFOUT図 1-14 に、 FPGA ロジッ クへの差動出力を持つ差動入力バッファを示します。

OBUFDS 図 1-15 に、 差動出力バッファ プリ ミ ティブを示します。

X-Ref Target - Figure 1-13

図 1-13 : 差動入力バッファ プリ ミテ ィブ (IBUFDS および IBUFGDS)

ug381_c1_13_111909

+

I

IB

O

IBUFDS IBUFGDS

FPGA

X-Ref Target - Figure 1-14

図 1-14 : 差動出力を持つ差動入力バッファ プリ ミテ ィブ

(IBUFDS_DIFFOUT および IBUFGDS_DIFFOUT)

ug381_c1_13new_111909

+

I

IB

IBUFDS_DIFFOUT IBUFGDS_DIFFOUT

FPGA

OB

O

X-Ref Target - Figure 1-15

図 1-15 : 差動出力バッファ プリ ミテ ィブ (OBUFDS)

ug381_c1_14_051209

+

– OB

OI

OBUFDS

FPGA

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 21UG381 (v1.3) 2010 年 3 月 15 日

Spartan-6 FPGA の SelectIO プリ ミテ ィブ

OBUFTDS 図 1-16 に、 差動ト ライステート出力バッファ プリ ミ ティブを示します。

IOBUFDS 図 1-17 に、 差動入力/出力バッファ プリ ミ ティブを示します。

Spartan-6 FPGA の SelectIO の属性および制約

Spartan-6 FPGA の I/O リ ソースの機能 (ロケーシ ョ ン制約、入力遅延、出力駆動電流、スルー レー

ト など) を使用するには、対応する属性および制約を設定します。 構文例、VHDL/Verilog のリ ファ

レンス コードを含むこれらの属性および制約の詳細は、ザイ リ ンクスの Web サイ トから 『制約ガイ

ド』 を参照してください。 このガイ ドには、 次のサイ トからアクセスできます。

http://japan.xilinx.com/support/documentation/dt_ise.htm

I/O リ ソースのすべての機能は、少なく と も次の 2 つの方法でデザインにインプリ メン トできます。

• VHDL/Verilog デザインで、 入力または出力プリ ミ ティブのインスタンシエーシ ョ ン行あるい

は I/O ポート ネッ トに属性と して追加する。

• UCF ファ イルで I/O ポート ネッ トに制約と して追加する。

このセクシ ョ ンの例では、 機能を UCF ファ イルに制約と して追加する方法を示します。 VHDL または Verilog デザインに属性と して追加する方法は、 『制約ガイ ド』 を参照して ください。

X-Ref Target - Figure 1-16

図 1-16 : 差動ト ライステート出力バッファ プリ ミテ ィブ (OBUFTDS)

ug381_c1_15_051209

+

– OB

OI

T

OBUFTDS

FPGA

X-Ref Target - Figure 1-17

図 1-17 : 差動入力/出力バッファ プリ ミテ ィブ (IOBUFDS)

ug381_c1_16_111309

IOBUFDS

I/OI ( )FPGA

O ( )FPGA

T

+

+

IO

IOB

22 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

PULLUP/PULLDOWN/KEEPER 機能は、 ソース VHDL/Verilog デザインに PULLUP、PULLDOWN、 または KEEPER プリ ミ ティブを直接インスタンシエートするこ とによ り インプ リ

メン トできます。 これが適切な方法であ り、 これらの機能 (PULLUP、 PULLDOWN、 または KEEPER) の効果をデザインの HDL シ ミ ュレーシ ョ ンに含めるための唯一の方法です。 詳細は、

『Spartan-6 ラ イブラ リ ガイ ド (HDL 用)』 を参照して ください。

ロケーシ ョ ン制約

ロケーシ ョ ン制約 (LOC) は、インスタンシエート した I/O プリ ミ ティブの I/O ロケーシ ョ ンを指定

する際に使用します。 ロケーシ ョ ン制約に設定可能な値は、 すべての外部ポート識別子 (A8、 M5、AM6 など) です。 これらの値は、 デバイスおよびパッケージのサイズによって異なり ます。

UCF ファ イルで LOC 制約を設定するには、 次の構文を使用します。

NET <I/O_NAME> LOC = "<EXTERNAL_PORT_IDENTIFIER>";

例 :

NET MY_IO LOC=R7;

IOSTANDARD 属性

IOSTANDARD 属性を使用する と、 I/O バッファに I/O 規格を指定できます。 UCF ファ イルで

IOSTANDARD 属性を設定するには、 次の構文を使用します。

NET <I/O_NAME> IOSTANDARD="<IOSTANDARD VALUE>";

IOSTANDARD 属性のデフォルト値は、 シングルエンド I/O では LVCMOS25、 差動 I/O では

LVDS_25 です。

出力スルー レートの属性

シングルエンド I/O 出力バッファに適切なスルー レート を選択するため、さまざまな属性値があ り

ます。 LVTTL および LVCMOS 出力バッファ (OBUF、 OBUFT、 IOBUF) の場合、 スルー レート

を設定するには SLEW 属性を使用します。

SLEW 属性に設定可能な値は次のとおりです。

• SLEW = SLOW (デフォルト )

• SLEW = FAST

• SLEW = QUIETIO

SLEW 属性を設定するには、 UCF ファ イルで次の構文を使用します。

NET <I/O_NAME> SLEW = "<SLEW_VALUE>";

各出力バッファのデフォルトのスルー レートは SLOW です。 ク リ ティカルでない信号をスイ ッチ

する際に発生するバスの過渡電力を 小限に抑えるため、 このデフォルト値が使用されます。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 23UG381 (v1.3) 2010 年 3 月 15 日

Spartan-6 FPGA の SelectIO プリ ミテ ィブ

出力駆動電流の属性

LVTTL および LVCMOS 出力バッファ (OBUF、OBUFT、IOBUF) の場合、駆動電流 (mA) を設定

するには DRIVE 属性を使用します。

DRIVE 属性に設定可能な値は次のとおりです。

• DRIVE = 2

• DRIVE = 4

• DRIVE = 6

• DRIVE = 8

• DRIVE = 12 (デフォルト )

• DRIVE = 16

• DRIVE = 24

DRIVE に設定可能な値は、 LVCMOS12 では 2、 4、 6、 8、 12mA のみで、 LVCMOS15 では 2、 4、6、 8、 12、 16mA のみです。

UCF ファ イルでDRIVE 属性を設定するには、 次の構文を使用します。

NET <I/O_NAME> DRIVE = "<DRIVE_VALUE>";

バンクによる制限は、 表 1-2 を参照してください。

IBUF、 OBUFT、 および IOBUF の PULLUP/PULLDOWN/KEEPER

ト ラ イステート出力バッファ (OBUFT) または双方向バッファ (IOBUF) を使用する場合、出力に弱

いプルアップ抵抗、 弱いプルダウン抵抗、 またはウ ィーク キーパ回路を付けるこ とができます。 入力バッファ (IBUF) を使用する場合は、 入力に弱いプルアップ抵抗または弱いプルダウン抵抗を付

けるこ とができます。 この機能を使用するには、 バッファのネッ トに次の制約値を追加します。

• PULLUP

• PULLDOWN

• KEEPER

UCF ファ イルでこれらの値を設定するには、 次の構文を使用します。

NET <I/O_NAME> <PULLUP/PULLDOWN/KEEPER>;

差動終端属性

差動終端属性 (DIFF_TERM) は Spartan-6 FPGA でサポート される差動入力 I/O 規格用で、 ビルト

インの 100Ω 終端抵抗のオン/オフを切り替えるために使用します。

DIFF_TERM 属性に設定可能な値は次のとおりです。

• TRUE

• FALSE (デフォルト )

UCF ファ イルで DIFF_TERM 属性を設定するには、 次の構文を使用します。

NET <IO_NAME> DIFF_TERM = "<TRUE/FALSE>";

入力終端および出力終端

UCF ファ イルで IN_TERM および OUT_TERM を指定する構文は、「オンチップ終端」 を参照して

ください。

24 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

SelectIO 信号規格

入力/出力ブロッ ク (IOB) の入力および出力では、広範なシングルエンド I/O 信号規格がサポート さ

れています。 差動信号規格をサポートするための差動ペアの作成に、 ほとんどの I/O を使用できま

す。 この柔軟性によ り、 アプ リ ケーシ ョ ンのインターフェイスおよびシグナル インテグ リティ要件

を満たすのに 適な I/O 規格をピンごとに選択できます。

I/O ピンは、 独立したバンクに分けられています。 バンクは 1 つのデバイスに 4 つまたは 6 つあり

ます。 各バンクには、HSTL 規格と SSTL 規格に共通の出力電源 (VCCO) および参照電源 (VREF) があ り ます。 バンクには、 図 1-3 に示すよ うに番号が付けられています。

I/O 規格の概要

デジタル電子機器業界では一般的に、新しいバス アプリケーシ ョ ンの開発時にそのアプリケーシ ョ

ン専用の新しい I/O 規格も開発されます。 このアプリ ケーシ ョ ンに接続される製品は、 バスの I/O規格の仕様に基づいて製造されます。 各規格には、電流、電圧、 I/O バッファ、および終端に関する

独自の仕様があ り ます。

プログラマブル ロジッ クの柔軟性およびタイム ト ゥ マーケッ トが短いという利点を十分に活かせ

るかど うかは、プログラマブル ロジッ ク デバイスで増加し続ける I/O 規格をどれだけサポート して

いるかによって決ま り ます。 SelectIO リ ソースは、 入力バッファおよび出力バッファの設定自由度

が高く、 さまざまな I/O 規格をサポート しています。

表 1-1 に、Spartan-6 FPGA でサポート される I/O 規格の概要を、そのスポンサーおよび用途を含め

て示します。 規格番号は該当する場合に示します。

表 1-1 : I/O 信号規格

規格 説明 業界仕様 用途/スポンサー 入力バッファ 出力バッファ

シングルエンド規格

LVTTL 低電圧 TTL JESD8C 汎用 3.3V LVTTL プッシュプル

LVCMOS 低電圧 CMOS JESD8C-01 汎用 CMOS プッシュプル

PCI ペリ フェラル コンポーネン ト インターコネク ト

PCI SIG PCI バス LVTTL プッシュプル

I2C Inter Integrated Circuit I2C NXP CMOS オープン ド レイン

SMBUS システム管理バス www.smbus.org Intel CMOS オープン ド レイン

SDIO Secure Digital Input Output

SDIO

JESD8-1A

SD Card Assoc、メモ リ カード

CMOS プッシュプル

Mobile DDR 低消費電力 DDR JESD209A CMOS プッシュプル

HSTL 高速ト ランシーバ ロジッ ク

JESD8-6 日立 SRAM、 IBM、

4 ク ラスの うち 3 ク ラ

スをサポート

VREF ベース プッシュプル

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 25UG381 (v1.3) 2010 年 3 月 15 日

SelectIO 信号規格

HSTL18 高速ト ランシーバ ロジッ ク

JESD8-6 日立 SRAM、 IBM、

4 ク ラスの うち 3 ク ラ

スをサポート

VREF ベース

SSTL3 3.3V 用 SSTL (Stub Series Terminated Logic)

JESD8-8 SDRAM バス、

日立および IBM、

2 つのクラス

VREF ベース プッシュプル

SSTL2 2.5V 用 SSTL JESD8-9 DDR SDRAM VREF ベース プッシュプル

SSTL18 1.8V 用 SSTL JESD79-2C DDR2 SDRAM VREF ベース プッシュプル

SSTL15 1.5V 用 SSTL JESD79-3 DDR3 SDRAM VREF ベース プッシュプル

差動規格

LVDS25LVDS33

低電圧差動信号 ANSI/TIA/EIA-644-A

高速インターフェイ

ス、 バッ クプレーン、

ビデオ、 National、 TI

差動ペア 差動ペア

BLVDS バス LVDS ANSI/TIA/EIA-644-A

双方向、 マルチポイン

ト LVDS差動ペア 擬似差動ペア

DISPLAY PORT DISPLAY PORT 用補助チャネル インターフェイス

www.vesa.org フラ ッ ト パネル ディ スプレイ

差動ペア 擬似差動ペア

LVPECL 低電圧 PECL Freescale

Semiconductor 社 (旧 Motorola 社)

高速クロ ッ ク 差動ペア なし

MINI_LVDS mini-LVDS TI、ディ スプレイ パネル インター

フェイス

フラ ッ ト パネル ディ スプレイ

差動ペア 差動ペア

RSDS 低振幅差動信号 National Semiconductor

フラ ッ ト パネル ディ スプレイ

差動ペア 差動ペア

TMDS 遷移時間 短差動信号 National、 ディ ス

プレイ パネル インターフェイス

Silicon Image、DVI/HDMI

差動ペア 差動ペア

PPDS ポイン ト ト ゥ ポイン ト差動信号

National、 ディ ス

プレイ パネル インターフェイス

LCD 差動ペア 差動ペア

差動 Mobile DDR CK/CK# 用差動 LPDDR

JESD209A 差動ペア 擬似差動ペア

表 1-1 : I/O 信号規格 (続き)

規格 説明 業界仕様 用途/スポンサー 入力バッファ 出力バッファ

26 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

LVTTL - 低電圧 TTL

LVTTL 入力バッファおよびプッシュプル出力バッファを使用する、 3.3V アプリケーシ ョ ン用の汎

用 EIA/JESD 規格です。 3.3V の出力ソース電圧 (VCCO) が必要ですが、 参照電圧 (VREF) および終

端電圧 (VTT) は不要です。

LVCMOS - 低電圧 CMOS

電圧 1.2V ~ 3.3V の汎用アプリ ケーシ ョ ンに使用されます。 参照電圧 (VREF) またはボード終端電

圧 (VTT) は必要あ り ません。

LVCMOS_JEDEC - JEDEC 準拠の入力を持つ低電圧 CMOS

LVCMOS_JEDEC は、 1.2V、 1.5V、および 1.8V LVCMOS インターフェイスの代替バージ ョ ンで

す。入力バッファには VCCO レールから電源が供給され、VINL および VINH で JEDEC 入力要件が

満たされるよ うになっています。 VINL および VINH の仕様は、 Spartan-6 FPGA データシートに記

載されています。 ASSP または ASIC では LVCMOS_JEDEC 規格が適切なインターフェイスであ

る場合があ り ますが、ほかのザイ リ ンクス FPGA と接続する場合は JEDEC ではない LVCMOS 規格を使用してください。

PCI - ペリフェラル コンポーネン ト インターフェイス

33MHz の PCI バス アプリ ケーシ ョ ンをサポートするための仕様を定義します。 LVTTL 入力バッ

ファおよびプッシュプル出力バッファが使用されます。 参照電圧 (VREF) またはボード終端電圧

(VTT) は必要あ り ませんが、 3.3V 出力ソース電圧 (VCCO) が必要です。

I2C - Inter-Integrated Circuit バス

マルチマスタ インターフェイスで、複数のデバイスを単純な 4 ワイヤ インターフェイスに接続で

きるよ うにします。 Philips 社によ り開発された規格で、低速 (100kb/s)、中速 (400kb/s)、および高

速 (3.4Mb/s) データ レート をサポート します。 外部プルアップ抵抗が必要なオープン ド レイン出

力です。

DIFF_HSTL_I

DIFF_HSTL_III

DIFF_HSTL_IV

DIFF_HSTL_I_18

DIFF_HSTL_III_18

DIFF_HSTL_IV_18

擬似差動 HSTL JESD8-6 SRAM 差動ペア 擬似差動ペア

DIFF_SSTL3_I

DIFF_SSTL3_II

DIFF_SSTL2_I

DIFF_SSTL2_II

DIFF_SSTL18_I

DIFF_SSTL18_II

DIFF_SSTL15_II

擬似差動 SSTL JESD8-9JESD79-2C JESD79-3

DDR、 DDR2、DDR3 SDRAM

差動ペア 擬似差動ペア

表 1-1 : I/O 信号規格 (続き)

規格 説明 業界仕様 用途/スポンサー 入力バッファ 出力バッファ

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 27UG381 (v1.3) 2010 年 3 月 15 日

SelectIO 信号規格

SMBUS - システム管理バス

Intel 社および SBS-IF によ り定義された規格で、一般的に使用される単純な電源へのインターフェ

イスです。 I2C に基づいており、 100kb/s までのデータ レート をサポート します。 VTT = 3.3V に終

端された外部プルアップ抵抗を必要とするオープン ドレイン出力です。

SDIO - SD メモリ カード インターフ ェイス

3.3V アプリ ケーシ ョ ンで SD メモ リ カードの接続に使用されます。 参照電圧 (VREF) またはボード

終端電圧 (VTT) は必要あ り ません。

MOBILE_DDR - 低消費電力 DDR

JEDEC 規格 JESD209A によ り定義された、1.8V LPDDR または Mobile DDR メモ リで使用するた

めの低消費電力メモ リ バス インターフェイスです。 VREF および VTT は不要です。

HSTL - 高速ト ランシーバ ロジック

IBM が推進する 1.5V または 1.8V の汎用高速バス規格です。 ク ラス I、 II、 III、 および IV の 4 つのク ラスがあ り ます。 この規格には、 差動増幅入力バッファおよびプッシュプル出力バッファが必

要です。

DIFF_HSTL は、 差動入力および擬似差動出力を組み合わせるこ とによ りサポート されます。

SSTL3 - 3.3V 用 SSTL (Stub Series Terminated Logic)

SSTL 規格は、 日立および IBM が推進する汎用メモリ バス規格 (JESD8-8) です。 1.8V ~ 3.3V の複数の電圧と、I および II の 2 つのクラスがあ り ます。 この規格には、差動増幅入力バッファおよび

プッシュプル出力バッファが必要です。

DIFF_SSTL3 は、 差動入力および擬似差動出力を組み合わせるこ とによ りサポート されます。

SSTL2 - 2.5V 用 SSTL

SSTL 規格は、 日立および IBM が推進する汎用メモリ バス規格 (JESD8-8) です。 1.8V ~ 3.3V の複数の電圧と、I および II の 2 つのクラスがあ り ます。 この規格には、差動増幅入力バッファおよび

プッシュプル出力バッファが必要です。

DIFF_SSTL2 は、 差動入力および擬似差動出力を組み合わせるこ とによ りサポート されます。

SSTL18 - 1.8V 用 SSTL

JEDEC 規格 JESD79-2C で指定された 1.8V の汎用メモリ バス規格です。 0.90V の参照電圧、1.8Vの入力/出力ソース電圧、0.90V の終端電圧が必要です。また、差動増幅入力バッファおよびプッシュ

プル出力バッファが必要です。 高速 SDRAM インターフェイスに使用されます。

DIFF_SSTL18 は、 差動入力および擬似差動出力を組み合わせるこ とによ りサポート されます。

SSTL15 - 1.5V 用 SSTL

JEDEC 規格 JESD79-3 で指定された 1.5V の汎用メモリ バス規格です。 0.75V の参照電圧、1.5V の入力/出力ソース電圧、 0.75V の終端電圧が必要です。 また、 差動増幅入力バッファおよびプッシュ

プル出力バッファが必要です。 高速 SDRAM インターフェイスに使用されます。

DIFF_SSTL15 は、 差動入力および擬似差動出力を組み合わせるこ とによ りサポート されます。

28 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

LVDS_25 - 低電圧差動信号

2.5V の VCCO から電源が供給されるバンクの TIA/EIA644 LVDS レベルを駆動するために使用さ

れる差動 I/O 規格です。 ほかの差動信号規格と同様、 1 データ ビッ トが 2 つの信号ラインを介して

送信され、シングルエンドの I/O 規格に比べノ イズ耐性が高いという特徴があ り ます。 2 つの信号ラ

イン間の電圧幅はおよそ 350mV です。 参照電圧 (VREF) やボード終端電圧 (VTT) を使用する必要

はあ り ません。 1 入力または 1 出力とごにピンが 2 本必要です。 LVDS の入力には、 PCB 上の離散

抵抗を使用するか、 DIFF_TERM 属性を使用して内部終端を有効にするこ とによ り、並列終端抵抗

を追加する必要があ り ます。 LVDS の入力は任意の I/O バンクに配置できますが、 LVDS の出力は

I/O バンク 0 および 2 にのみ配置可能です。

LVDS_33 - 低電圧差動信号

3.3V の VCCO から電源が供給されるバンクの TIA/EIA644 LVDS レベルを駆動するために使用さ

れる差動 I/O 規格です。 電気的には LVDS_25 と同じです。 LVDS の入力には、 PCB 上の離散抵抗

を使用するか、 DIFF_TERM 属性を使用して内部終端を有効にするこ とによ り、並列終端抵抗を追

加する必要があ り ます。LVDS の入力は任意の I/O バンクに配置できますが、LVDS の出力は I/O バンク 0 および 2 にのみ配置可能です。

BLVDS - バス LVDS

複数のデバイス間の双方向 LVDS 通信を可能にします。 36 ページの図 1-29 に示すよ う な外部抵抗

終端が必要です。 ほかの差動規格とは異なり、使用できるバンクに制限はあ り ません。 BLVDS は、

差動入力と擬似差動出力の組み合わせによ りサポート されます。

DISPLAY_PORT - DisplayPort 用の AUX CH

DisplayPort™ で DisplayPort デバイス間の接続を識別、 コンフ ィギュレーシ ョ ン、管理するために

使用される 1Mb/s の差動信号規格です。 AUX CH は、メ イン リ ンク PHY を網羅しない専用差動ペ

アです。 この双方向規格は、DisplayPort 仕様で定義された終端トポロジに接続される擬似差動出力

を使用します。

Mini-LVDS

シ リアルのフラ ッ トパネル内部ソ リ ューシ ョ ンで、 タイ ミ ング制御ファンクシ ョ ンと LCD ソース

ド ライバ間のインターフェイス と して機能します。Mini-LVDS の入力には、PCB 上の離散抵抗を使

用するか、 DIFF_TERM 属性を使用して内部終端を有効にするこ とによ り、並列終端抵抗を追加す

る必要があ り ます。 Mini-LVDS の入力は任意の I/O バンクに配置できますが、 Mini-LVDS の出力

は I/O バンク 0 および 2 にのみ配置可能です。

RSDS - 低振幅差動信号

ト ランス ミ ッ タの出力特性およびレシーバの入力を定義する信号規格です。フラ ッ ト パネルのタイ

ミ ング コン ト ローラ と列ド ラ イバ間のチップ間インターフェイス プロ ト コルも定義します。RSDSの入力には、PCB 上の離散抵抗を使用するか、DIFF_TERM 属性を使用して内部終端を有効にする

こ とによ り、 並列終端抵抗を追加する必要があ り ます。 RSDS の入力は任意の I/O バンクに配置で

きますが、 RSDS の出力は I/O バンク 0 および 2 にのみ配置可能です。

TMDS - 遷移時間最短差動信号

DVI および HDMI ビデオ インターフェイスで使用される高速シ リアル データの送信技術で、 外部

50Ω 抵抗で入力を 3.3V にプルアップする必要があ り ます。TMDS の入力には並列入力終端抵抗は

不要で、任意の I/O バンクに配置できます。 TMDS の出力は、 I/O バンク 0 および 2 にのみ配置可

能です。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 29UG381 (v1.3) 2010 年 3 月 15 日

SelectIO 信号規格

PPDS - ポイン ト ト ゥ ポイン ト差動信号

次世代 LCD の行ド ライバおよび列ド ライバへのインターフェイス用の差動規格です。PPDS の入力

には、PCB 上の離散抵抗を使用するか、DIFF_TERM 属性を使用して内部終端を有効にするこ とに

よ り、 並列終端抵抗を追加する必要があ り ます。 PPDS の入力は任意の I/O バンクに配置できます

が、 PPDS の出力は I/O バンク 0 および 2 にのみ配置可能です。

I/O タイ ミング解析

IOSTANDARD の設定によ り、 I/O ピンのタイ ミ ングが変化します。 この調整は、Timing Analyzerで生成されるタイ ミ ング解析レポートに自動的に含められます。

プログラマブル I/O でタイ ミ ング パラ メータを計測する場合、信号規格によ りテス ト条件が異なり

ます。 データシートに各規格で使用するテス ト条件が記載されています。

このセクシ ョ ンでは、Low ロジッ クレベル VL と High ロジッ ク レベル VH 間で変化する信号の入

力タイ ミ ングを計測する方法を示します。 規格によっては、 入力スイ ッチしきい値を正し く設定す

るために、バイアス電圧をバンクの VREF ピンに適用する必要があ り ます。 入力信号の計測点 (VM)は、 通常 VL と VH の中間です。

出力テス トのセッ ト アップでは、終端抵抗 RT の一端は終端電圧 VT に、も う一端は出力に接続され

ます。 通常は、RT および VT には信号の反射を 小限に抑えるために各規格に対して推奨される標

準値が使用されます。 規格で通常終端が使用されない場合 (LVCMOS、LVTTL など) は、RT は接続

がオープンであるこ とを示すために 1MΩに設定され、 VT は 0 に設定されます。 入力で使用された

計測点 (VM) が出力にも使用されます。

CL (容量性負荷) は、出力と GND の間に接続されます。 すべての規格の出力タイ ミ ングは、 スピー

ド仕様およびデータシートに記載されているよ うに、常に CL 値が 0 の場合に基づいています。 ハイ

インピーダンス プローブ (1pF 未満) がすべての計測に使用されます。 スピード仕様およびデータ

シートに記載された 終的なタイ ミ ング値を算出する際には、 テス ト計測結果に影響するテス ト

フ ィ クスチャによる遅延は差し引かれます。

IBIS モデルを使用した負荷条件のシミ ュレーシ ョ ン

IBIS モデルを使用する と、アプリ ケーシ ョ ンのタイ ミ ング遅延を正確に予測できます。 IBIS モデル

で使用されるパラ メータ (VREF、 RREF、 および VMEAS) は、 データシートのパラ メータ (VT、 RT、

および VM) に直接対応しています。 IBIS モデルの VREF (終端電圧) を、 表の VREF (入力スイ ッチ

しきい値) と混同しないよ うに注意して ください。 4 番目のパラ メータ CREF は常に 0 です。 4 つの

パラ メータで、 出力テス ト条件がすべて記述されます。 IBIS モデルは、 ザイ リ ンクス開発ソフ ト

ウェアおよび次のリ ンクから入手できます。

http://japan.xilinx.com/support/download/index.htm

アプリケーシ ョ ンの遅延は、 特定の負荷条件に従って次のよ うにシ ミ ュレーシ ョ ンします。

1. 使用する信号規格を、データシートに示されたテス ト セッ ト アップに出力ド ライバを接続して

シ ミ ュレーシ ョ ンします。 データシートのパラ メータ値 VT、 RT、 および VM を使用します。

CREF は 0 です。

2. VM への時間を記録します。

3. 同じ信号規格を、 負荷のある PCB ト レースに出力ド ライバを接続してシ ミ ュレーシ ョ ンしま

す。 VREF、 RREF、 CREF、 および VMEAS 値も含め適切な IBIS モデルを使用するか、 負荷を表

す容量値を使用してください。

4. VMEAS への時間を記録します。

30 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

5. 手順 2 と 4 の結果を比較します。適切な出力規格調整に遅延を加算または減算し、PCB ト レー

スのワース ト ケースの遅延を算出します。

LVCMOS/LVTTL スルー レート制御および駆動電流

各 IOB にはスルー レート制御があ り、 LVCMOS 出力および LVTTL 出力の出力スイ ッチ エッジ

レート を設定します。 スルー レートは SLEW 属性で制御され、 SLOW (デフォルト )、 FAST、 また

は QUIETIO に設定できます。 QUIETIO ( 低のスルー レート ) に設定する と ノ イズと消費電力量

が 小となり、 スルー レート を高くする と タイ ミ ングが向上します。

表 1-2 に示すよ うに、 各 LVCMOS 出力および LVTTL 出力では、 これに加えて 大 7 つの異なる

駆動電流がサポート されます。 各出力の駆動電流を調整するには、 DRIVE 属性を 2、 4、 6、 8、 12、16、 または 24 のいずれかに設定します。 FPGA アプリケーシ ョ ンで特に指定のない限り、 ソフ ト

ウェアのデフォルト値は IOSTANDARD は LVCMOS25、 スルー レートは SLOW、 出力駆動電流

は 12 mA です。

IOSTANDARD を設定できる回路図、HDL、制約ファイル、PlanAhead™ ツールのすべての方法で、

LVCMOS/LVTTL の DRIVE および SLEW オプシ ョ ンを指定できます。

出力駆動電流が高く、出力スルー レートが FAST に設定されている場合、通常 I/O パフォーマンス

が 速になり ます。 ただし、同じ設定で、PCB 上の 短でないボード ト レースに対して伝送ライン

効果が発生するこ とがあ り ます。 各 IOB のスルー レートおよび駆動電流は個別に制御されます。 アプリケーシ ョ ンのパフォーマンス要件を満たす範囲で、 低のスルー レートおよび駆動電流を使用

してください。

表 1-2 : Spartan-6 FPGA の各 I/O 規格でサポート される出力駆動電流

I/O 規格出力駆動電流 (mA)

2 4 6 8 12 16 24

LVTTL すべて すべて すべて すべて すべて すべて すべて

LVCMOS33 すべて すべて すべて すべて すべて すべて すべて

LVCMOS25 すべて すべて すべて すべて すべて すべて バンク

1、 3、 4、 5

LVCMOS18、LVCMOS18_JEDEC

すべて すべて すべて すべて すべて すべて バンク

1、 3、 4、 5

LVCMOS15、LVCMOS15_JEDEC

すべて すべて すべて すべて バンク

1、 3、 4、 5バンク

1、 3、 4、 5なし

LVCMOS12、LVCMOS12_JEDEC

すべて すべて すべて バンク

1、 3、 4、 5バンク

1、 3、 4、 5なし なし

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 31UG381 (v1.3) 2010 年 3 月 15 日

SelectIO 信号規格

同時スイッチ出力

高速で高駆動の出力を使用する場合、 リード インダクタンスのため、パッケージでサポート される

同時スイ ッチ出力 (SSO) の数は制限されます。 高速で高駆動の出力は、 アプ リケーシ ョ ンで必要な

場合にのみ使用してください。

Spartan-6 FPGA データシートの同時スイ ッチ出力のセクシ ョ ンに推奨される SSO の 大数が記載

されています。 これらのガイ ド ラインは、 各出力信号規格に対して、 スイ ッチ ノ イズを安全なレベ

ルに保ったまま同方向に同時にスイ ッチできるユーザー I/O ピンの 大数を示します。 記述されて

いるテス ト条件で上記のガイ ド ラインに従う と、グランド バウンスや電源バウンスなしで FPGA を動作させるこ とができます。

グランド バウンスや電源バウンスは、 多数の出力が同時に同方向にスイ ッチする と発生します。 すべての出力駆動ト ランジスタからの電流は、 同相電圧レールに流れます。 Low から High に遷移す

る と VCCO レールに、 High から Low に遷移する と GND レールに流れます。 このため過渡電流が

蓄積し、ダイ パッ ド と電源またはグランド リ ターンの間に存在するインダク タンス全体の電圧に相

違が生じます。 インダク タンスは、ボンディング ワイヤ、パッケージ リード フレーム、およびパッ

ケージ内のその他のすべての信号配線に関連しています。 PCB の浮遊インダクタンスやレシーバ

の容量負荷などの要因も、SSO のノ イズ レベルに影響を与えます。 SSO によって発生する電圧は内

部スイ ッチ ノ イズのマージンに影響し、 信号の質が低下します。

データシートには、各デバイス/パッケージの組み合わせに対する VCCO/GND ペア数が示されてお

り、 各出力信号規格および駆動電流に対して、 I/O バンク内の VCCO/GND ペアあたり、同方向に同

時にスイ ッチ可能な 大 SSO 数が示されています。 これらのガイ ド ラインは、 パッケージ スタイ

ル、 スルー レート、 および出力駆動電流別に示されています。 SSO 数は、 I/O バンクごとに指定さ

れています。 各表の適切な値を乗算する と、I/O バンクで許容される SSO の 大数を算出できます。

これらの SSO 大数を超える と、 電源バウンスやグランド バウンスの増加、 シグナル インテグ リ

ティの低下、 およびシステム ジッ タの増加を招きます。

推奨される SSO の 大数は、FPGA がプリ ン ト基板にはんだ付けされており、適切なデザイン手法

が使用されている場合の値で、 ソケッ トに取り付けられた FPGA にはリード インダク タンスが発

生するため適用されません。

クワ ッ ド フラ ッ ト パッケージ (TQ) の方がリード インダクタンスが大きいため、 大 SSO 数は

ボール グ リ ッ ド アレイ パッケージ (FG) よ り も少なくな り ます。 このため、同時スイ ッチ出力数が

多いアプリケーシ ョ ンでは、 ボール グ リ ッ ド アレイ パッケージが推奨されます。

SSO の影響を低減するピン配置

デザインのピンを配置する場合、駆動電流の高い出力および同時スイ ッチ出力を、 SSO の影響を受

けやすい入力および出力 (特に非同期入力) から分離する I/O ピン配置を選択するこ とが重要です。

HSTL および SSTL のクラス II、PCI 関連、駆動電流が 8mA を超える LVCMOS または LVTTL などが駆動電流の高い出力となり ます。 Spartan-6 FPGA データシートの同時スイ ッチ出力の表では、

これらの I/O 規格に対する VCCO/GND ペアあたりの SSO の 大値は小さ くなっています。影響を

受けやすい入力および出力はノ イズに対するマージンが小さ く、 多くの場合、 高速信号または並列

レシーバ終端によ り振幅が削減されている信号です。Spartan-6 FPGA の局所的な SSO ノ イズは信

号ワイヤ ボンド間の距離に基づいているので、パッケージのはんだボールの位置ではなく、ダイの

エッジ周辺のダイ パッ ドの位置に基づいて信号を分離する必要があ り ます。SSO によ り発生する可

能性のある ノ イズをさ らに削減するには、 出力を 1 つのエリ アに集中させるのではなく、 均等に分

配するよ うにします。バンク内の SSO は、できる限りバンク全体に分散します。可能であれば、SSOを複数のバンクに分配します。

32 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

ISE® ソフ ト ウェアに含まれる PlanAhead™ ツールは、SSO の影響を低減するピン配置を達成する

のに役立ちます。 [Package] ウ ィンド ウでパッケージ ピンをク リ ッ クする と、 対応する IOBS また

は IOBM パッ ドが [Device] ウ ィンド ウでハイライ ト されます。これらの IOBM および IOBS サイ

ト タイプはダイ パッ ドを表しており、ダイ エッジ周辺の相対的な物理位置を示します。PlanAheadツールを使用するこ とによ り、高度なピン配置を使用してピンのダイ パッ ドを分離できます。 これ

は、駆動電流の高い出力および同時スイ ッチ出力のピンのダイ パッ ドを、影響を受けやすい入力お

よび出力から分離するこ とによ り インプ リ メン ト されます。

SSO の影響は、仮想グランド ピンおよび仮想 VCCO ピンを追加するこ とによっても 小限に抑える

こ とができます。 仮想グランドを作成するには、 高の駆動電流でロジッ ク 0 に駆動する出力ピン

を定義し、 ボードのグランドに接続します。 同様に、 仮想 VCCO を作成するには、 高の駆動電流

でロジッ ク 1 に駆動する出力ピンを定義し、 ボードの VCCO に接続します。

シングルエンド I/O の終端手法

ワイヤ伝送される電気信号の遅延は、 伝送距離が短い場合は、 立ち上がりおよび立ち下がりの時間

によって決ま り ます。 伝送ライン遅延は、インダク タンスや容量によって変化しますが、 適切に設計

されたボードでは 1 インチあたり約 180ps です。

伝送ライン効果 (反射) は、立ち上がりおよび立ち下がりの時間が速い場合 (1.5ns)、通常 1.5 インチ

から現れます。 終端が適切でない場合や終端されていない場合、 伝送ラインのインピーダンスが変

化した場合、反射が発生し、長いト レースで遅延が大き くなる原因となり ます。 システム速度が上昇

するにつれ、 I/O の遅延が制限要因となるため、 伝送ラインの終端の重要性も増します。

伝送ライン効果の影響を減少させる終端方法は多数あり ます。 出力終端の手法には次のものがあ り

ます。

• なし

• 直列

• 並列 (分流)

• 直列および並列 (直列分流)

入力終端の手法には次のものがあ り ます。

• なし

• 並列 (分流)

これらの終端手法は、どのよ うに組み合わせてもかまいません。 図 1-18 に、終端方法の組み合わせ

の標準的な例を示します。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 33UG381 (v1.3) 2010 年 3 月 15 日

SelectIO 信号規格

図 1-19 ~図 1-28 に、HSTL 規格および SSTL 規格で使用できる終端手法の回路図の例を示します。

LVTTL、 LVCMOS、 および PCI 規格では、 終端は必要あ り ません。

X-Ref Target - Figure 1-18

図 1-18 : 入力および出力の標準的な終端方法

X-Ref Target - Figure 1-19

図 1-19 : HSTL Class I : 終端なし (左) と対称終端 (右)

X-Ref Target - Figure 1-20

図 1-20 : HSTL クラス II での終端

ug381_c1_18_051209

VTTVTT

VREF

VTT

VREF

VTT

VREF

VTTVTT

VREF

VREF

Z=50

Z=50

Z=50

Z=50

Z=50

Z=50

VREF = 0.75V

VCCO = 1.5V

HSTL Class I

VREF = 0.75V

VTT = 0.75V

50Ω

VCCO = 1.5V

Z = 50

ug381_c1_19_100209

HSTL Class II

50Ω

ug381_c1_20new_100209

VREF = 0.75V

VTT = 0.75V

50Ω

VTT = 0.75VVCCO = 1.5V

Z = 50

VREF = 0.75V

VCCO = 1.5V

Z = 5025Ω

34 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

X-Ref Target - Figure 1-21

図 1-21 : HSTL クラス III での終端

X-Ref Target - Figure 1-22

図 1-22 : SSTL3 クラス I での終端

X-Ref Target - Figure 1-23

図 1-23 : SSTL3 クラス II での終端

X-Ref Target - Figure 1-24

図 1-24 : SSTL2 クラス I での終端

X-Ref Target - Figure 1-25

図 1-25 : SSTL2 クラス II での終端

VREF = 0.9V

VTT = 1.5V

50Ω

VCCO = 1.5V

Z = 50

HSTL Class III

ug381_c1_20_051209

50Ω

Z = 50

SSTL3 Class I

ug381_c1_22_051209

25Ω

VREF = 1.5V

VTT = 1.5VVCCO = 3.3V

50Ω

Z = 50

SSTL3 Class II

ug381_c1_23_051209

25Ω

VREF = 1.5V

VTT = 1.5V

50Ω

VTT = 1.5VVCCO = 3.3V

50Ω

Z = 50

SSTL2 Class I

ug381_c1_24_051209

25Ω

VREF

= 1.25V

VTT

= 1.25VV

CCO = 2.5V

50ΩZ = 50

SSTL2 Class II

ug381_c1_25_051209

25Ω50Ω

VREF = 1.25V

VTT= 1.25VVTT= 1.25VVCCO = 2.5V

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 35UG381 (v1.3) 2010 年 3 月 15 日

SelectIO 信号規格

差動 I/O 規格

差動規格では極性が互いに逆の信号ペアが使用されます。 これらの規格には、 同相信号除去などの

ノ イズ除去特性があるので、非常に高い転送レートでデータを送信できます。 このセクシ ョ ンでは、

Spartan-6 デバイスの差動信号伝送機能について説明します。

デバイス/パッケージの各組み合わせには、差動規格をサポートするよ うに 適化された I/O ペアが

あ り ます。 PlanAhead ツールを使用してピンを配置する場合、[Package] ウ ィンド ウで各パッケージ

ピンの内部名から差動ペアを判断できます。 内部名は IO_Lxx_x という形式で、 I/O ピンを表す円

の上部に表示されます。 P および N の文字は、それぞれ非反転ラインおよび反転ラインを表します。

たとえば、 内部名 IO_L43P_3 および IO_L43N_3 はバンク 3 のペア L43 を構成する非反転ライン

と反転ラインを表します。

X-Ref Target - Figure 1-26

図 1-26 : SSTL18 クラス I での終端

X-Ref Target - Figure 1-27

図 1-27 : SSTL18 クラス II での終端

X-Ref Target - Figure 1-28

図 1-28 : SSTL15 クラス II での終端

50Ω

Z = 50

SSTL18 Class I

ug381_c1_26_051509

20Ω

VREF

= 0.9V

VTT

= 0.9VV

CCO = 1.8V

50ΩZ = 50

SSTL18 Class II

ug381_c1_27_051509

20Ω50Ω

VREF = 0.9V

VTT= 0.9VVTT= 0.9VVCCO = 1.8V

50Ω

Z = 50

SSTL15 Class II

ug381_c1_28_051509

VREF

= 0.75V

VTT

= 0.75VV

CCO = 1.5V

36 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

TMDS_33 での終端

TMDS_33 規格には、 図 1-29 に示すよ うに、 プルアップ抵抗が必要です。

BLVDS 出力の終端

BLVDS 出力には、図 1-30 に示すよ うに外部終端が必要です。 Spartan-6 FPGA では、BLVDS 出力

をどのバンクにでも配置できます。 入力には VCCO の制限はあ り ませんが、 出力では VCCO = 2.5Vのみがサポート されます。

IOB の電源電圧

IOB には、 ユーザー デザインに応じて、 VCCINT、 VCCO、 VCCAUX の 3 つの主要 FPGA 電源レー

ルの組み合わせ、 および場合によっては多目的 VCCO ピンから電源を供給できます。

VCCO は I/O バンクごとに 1 つあり、 出力ド ライバおよび一部の入力ド ライバの電源とな り ます。

VCCO ピンの電圧によ り、 出力信号の電圧幅が決ま り ます。 すべての VCCO ピンをボード上の電源

レールに接続する必要があ り ます。 使用しないバンクの VCCO ピンは、使用可能な VCCAUX または

VCCO レールに接続します。

VCCINT は FPGA の内部ロジッ クの主要電源です。 一部の入力ド ライバにも電源を供給します。

VCCAUX は一部の I/O 回路などのさまざまな Spartan-6 FPGA ファンクシ ョ ンに使用する補助電源

ソースです。

X-Ref Target - Figure 1-29

図 1-29 : TMDS_33 I/O 規格に必要な外部入力抵抗

50ΩVCCO = 2.5V or 3.3VVCCAUX = 3.3V

VCCAUX = 3.3V

ug381_c1_29_110509DVI/HDMI cable

50Ω

3.3V

TMDS_33 TMDS_33

Bank 0

Bank 2

Bank 0 and 2Bank 0

Bank 2

Ba

nk

3

Ba

nk 1

Any Bank

X-Ref Target - Figure 1-30

図 1-30 : Spartan-6 FPGA の BLVDS I/O の外部終端抵抗

Z0 = 50Ω

Z0 = 50Ω140Ω

165Ω

165Ω

100Ω

VCCO = 2.5V VCCO

ug381_c1_30_051509

BLVDS_25 BLVDS_25

Bourns CAT16-LV4F12

Bourns

CAT16-PT4F4

0

2

3

10

2

3

1

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 37UG381 (v1.3) 2010 年 3 月 15 日

IOB の電源電圧

すべての DC レベルを満たし、 電源を正し く供給するため、 一部の入力および出力回路では VCCAUX を正しい電圧レベルに制約する必要があ り ます。 VCCAUX の電圧レベルは、 2.5V または

3.3V に設定できます。 Spartan-6 FPGA データシートの DC 入力レベルおよび出力レベルの表を参

照してください。 VCCAUX を正しいレベルにするには、 UCF で次のユーザー制約を設定します。

CONFIG VCCAUX = "<2.5/3.3>";

HSTL/SSTL VREF 参照電圧

HSTL 入力および SSTL 入力では、図 1-31 に示すよ うに、参照電圧 (VREF) を使用して入力スイ ッ

チしきい値をバイアスします。 各入力には、 ボード終端電圧 (VTT) が関連付けられています。

参照電圧 VREF は、多目的 VREF ピンに接続できます。 1 つのバンク内の VREF 入力は、すべて同じ

電圧に接続する必要があ り ます。 そのため、 HSTL 入力および SSTL 入力は、 同じ VREF 電圧が使

用されている場合 (VREF = 0.9V である SSTL 規格と HSTL 規格の 1.8V バージ ョ ンなど) のみ、同

じバンク内に含めるこ とができます。

VREF はスイ ッチ レベルを設定するので、 HSTL/SSTL 入力はどのバンクにでも配置できます。 表

1-3 に、 各 I/O 規格の VREF および VTT の値を示します。

X-Ref Target - Figure 1-31

図 1-31 : SSTL2 クラス I での終端

表 1-3 : 各 I/O 規格での VREF および VTT の値

I/O 規格 VREF VTT

HSTL_I 0.75 0.75

HSTL_II 0.75 0.75

HSTL_III 0.9 1.5

HSTL_I_18 0.9 0.9

HSTL_II_18 0.9 0.9

HSTL_III_18 1.1 1.8

SSTL3_I 1.5 1.5

SSTL3_II 1.5 1.5

SSTL2_I 1.25 1.25

SSTL2_II 1.25 1.25

SSTL18_I 0.9 0.9

SSTL18_II 0.9 0.9

SSTL15_II 0.75 0.75

50Ω

Z = 50

SSTL2 Class I

ug381_c1_17_051209

25Ω

VREF

= 1.25V

VTT

= 1.25VV

CCO = 2.5V

38 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

ESD 耐性

Spartan-6 FPGA I/O の回路は、 ESD (静電気放電) や過電圧によ り破損しないよ うデバイス パッ ド

を保護します。 ESD 耐量仕様は通常、人体モデル用です。 詳細は、デバイス信頼性レポートに記載さ

れています。 Spartan-6 FPGA では、 この保護回路に I/O 電圧範囲の制限はあ り ません。

I/O 規格のバンクでの互換性

Spartan-6 FPGA では、複数の I/O 規格を 1 つのデバイス内で組み合わせて使用できます。 出力の電

源には常に VCCO が使用されますが、VCCO の 5 つの値のいずれか 1 つで複数の規格を使用できま

す。 また、 入力を VCCO の電圧と一致させる必要がない場合もあ り ます。 1 つのデバイスで複数の

VCCO レベルが使用できるため、 柔軟性がさらに増します。

I/O の各バンクに個別の VCCO および VREF 電源があるので、 ほかのバンクがどのよ うに設定され

ているかにかかわらず、 バンクに独自の VCCO および VREF レベルを供給できます。 VCCO は主に

I/O 出力バッファに電源を供給し、 VREF は HSTL および SSTL 入力に参照電圧を供給します。

VCCO ピンは専用の電源ピンであ り、 PCB の電圧レールから常に電源を供給する必要があ り ます。

VREF ピンは多目的ピンであ り、通常の I/O ピンまたは VREF 電源ピンと して使用できます。 バンク

で VREF から電源が供給されるピンを使用する場合 (SSTL または HSTL 規格など)、VREF ピンを使

用して FPGA の内部 VREF レールに参照電圧を供給できます。 バンクで SSTL または HSTL 入力

が使用されない場合、バンク内の VREF ピンは通常の I/O ピンと して使用できます。表 1-4 に、VCCOおよび VREF の要件を示します。

シングルエンド I/O の互換性

表 1-4 に、 特定の VCCO 電圧で組み合わせ可能なシングルエンド I/O 規格と、 I/O 規格が入力のみ

でサポート されているか、 入力と出力の両方で使用できるかを示します。 推奨される動作条件は、

Spartan-6 FPGA データシート (DS162) を参照してください。

表 1-2 に、LVSMOS の駆動電流に応じたバンクの制限が示されています。表 1-4 には、次の I/O 規格でバンク 1、 3、 4、 および 5 に制限されているシングルエンド出力も示します。

• HSTL_II

• HSTL_II_18

• SSTL15_II

• SSTL18_II

表 1-4 : Spartan-6 FPGA のシングルエンド I/O 規格のバンクでの互換性

シングルエンド I/O 規格

VCCO 電源と I/O の互換性 入力電圧要件

1.2V 1.5V 1.8V 2.5V 3.3V VREFボードの終端

電圧 (VTT)

LVTTL 入力 入力 入力 入力 入力/出力 不要(1) 不要

LVCMOS33 入力 入力 入力 入力 入力/出力 不要 不要

LVCMOS25 入力(2) 入力(2) 入力(2) 入力/出力 入力(2) 不要 不要

LVCMOS18 入力 入力 入力/出力 入力 入力 不要 不要

LVCMOS18_JEDEC なし なし 入力/出力 なし なし 不要 不要

LVCMOS15 入力 入力/出力 入力 入力 入力 不要 不要

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 39UG381 (v1.3) 2010 年 3 月 15 日

IOB の電源電圧

LVCMOS15_JEDEC なし 入力/出力 なし なし なし 不要 不要

LVCMOS12 入力/出力 入力 入力 入力 入力 不要 不要

LVCMOS12_JEDEC 入力/出力 なし なし なし なし 不要 不要

PCI33_3/PCI66_3 なし なし なし なし 入力/出力 不要 不要

I2C 入力/出力 入力/出力 入力/出力 入力/出力 入力/出力 不要 不要

SMBus 入力/出力 入力/出力 入力/出力 入力/出力 入力/出力 不要 不要

SDIO 入力 入力 入力 入力 入力/出力 不要 不要

MOBILE_DDR なし なし 入力/出力 なし なし 不要 不要

HSTL_I 入力 入力/出力 入力 入力 入力 0.75 0.75

HSTL_II(3) 入力 入力/出力 入力 入力 入力 0.75 0.75

HSTL_III 入力 入力/出力 入力 入力 入力 0.9 1.5

HSTL_I_18 入力 入力 入力/出力 入力 入力 0.9 0.9

HSTL_II_18(3) 入力 入力 入力/出力 入力 入力 0.9 0.9

HSTL_III_18 入力 入力 入力/出力 入力 入力 1.1 1.8

SSTL3_I 入力 入力 入力 入力 入力/出力 1.5 1.5

SSTL3_II 入力 入力 入力 入力 入力/出力 1.5 1.5

SSTL2_I 入力 入力 入力 入力/出力 入力 1.25 1.25

SSTL2_II 入力 入力 入力 入力/出力 入力 1.25 1.25

SSTL18_I 入力 入力 入力/出力 入力 入力 0.9 0.9

SSTL18_II(3) 入力 入力 入力/出力 入力 入力 0.9 0.9

SSTL15_II(3) 入力 入力/出力 入力 入力 入力 0.75 0.75

メモ :

1. 不要 : 入力操作には必要あ り ません。

2. VCCO が 2.5V でない場合に LVCMOS25 入力を使用するには、 VCCAUX を 2.5V に設定する必要があ り ます。

3. シングルエンド I/O 出力はバンク 0 および 2 では使用できません。

表 1-4 : Spartan-6 FPGA のシングルエンド I/O 規格のバンクでの互換性 (続き)

シングルエンド I/O 規格

VCCO 電源と I/O の互換性 入力電圧要件

1.2V 1.5V 1.8V 2.5V 3.3V VREFボードの終端

電圧 (VTT)

40 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

差動 I/O 規格のバンクでの互換性

ほとんどの差動 I/O 規格は、 1 つのバンク内で組み合わせるこ とができます (表 1-5 を参照)。 Spartan-6 FPGA では、出力ピンまたは双方向ピンに対して、バンク 0 および 2 で次の 2.5V 差動規

格のうち 2 つを使用できます。 入力専用ピンには制限はあ り ません。 2 つに制限されるのは、これら

の各規格で出力バッファに必要な内部バイアス電圧が若干異なるためです。 これらの内部バイアス

電圧は、 各バンクにあるプログラム可能な 2 つのバイアス電圧生成回路によ り供給されます。

• LVDS_25 出力

• MINI_LVDS_25 出力

• RSDS_25 出力

• PPDS_25 出力

Spartan-6 FPGA のバンク 0 および 2 では、次の 3.3V 差動出力のうち 2 つをサポートするこ と も可

能です。 2 つに制限されるのは、これらの各規格で出力バッファに必要な内部バイアス電圧が若干異

なるためです。 これらの内部バイアス電圧は、 各バンクにあるプログラム可能な 2 つのバイアス電

圧生成回路によ り供給されます。

• LVDS_33 出力

• MINI_LVDS_33 出力

• RSDS_33 出力

• PPDS_33 出力

• TMDS_33 出力

たとえば、 オンチップ差動終端を使用する場合、 LVDS_25 出力、 RSDS_25 出力、および任意の差

動入力を組み合わせて使用できます。 1 つのバンクで LVDS_25 出力、 RSDS_25 出力、 および

MINI_LVDS_25 出力を使用するこ とはできません。こ こに リ ス ト されているすべての差動規格は、

表 1-5 に示すよ うに、 入力と してはどのバンクでも使用できますが、 出力と してはバンク 0 および

2 でのみ使用可能です。

表 1-5 : 差動 I/O 規格のバンクでの互換性

差動 I/O 規格 I/O タイプ VCCAUX VCCO 使用可能なバンク

BLVDS_25入力 2.5/3.3 任意 すべて

出力 2.5/3.3 2.5 すべて

DISPLAY_PORT(AUXCH)

入力 2.5/3.3 任意 すべて

出力 2.5/3.3 3.3 すべて

LVDS_25

入力または DIFF_TERM を設定した入力

2.5/3.3 任意 すべて

出力 2.5/3.3 2.5 バンク 0、 2(1)

LVDS_33

入力または DIFF_TERM を設定した入力

2.5/3.3 任意 すべて

出力 2.5/3.3 3.3 バンク 0、 2(1)

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 41UG381 (v1.3) 2010 年 3 月 15 日

IOB の電源電圧

MINI_LVDS_25

入力または DIFF_TERM を設定した入力

2.5/3.3 任意 すべて

出力 2.5/3.3 2.5 バンク 0、 2(1)

MINI_LVDS_33

入力または DIFF_TERM を設定した入力

2.5/3.3 任意 すべて

出力 2.5/3.3 3.3 バンク 0、 2(1)

RSDS_25

入力または DIFF_TERM を設定した入力

2.5/3.3 任意 すべて

出力 2.5/3.3 2.5 バンク 0、 2(1)

RSDS_33

入力または DIFF_TERM を設定した入力

2.5/3.3 任意 すべて

出力 2.5/3.3 3.3 バンク 0、 2(1)

PPDS_25

入力または DIFF_TERM を設定した入力

2.5/3.3 任意 すべて

出力 2.5/3.3 2.5 バンク 0、 2(1)

PPDS_33

入力または DIFF_TERM を設定した入力

2.5/3.3 任意 すべて

出力 2.5/3.3 3.3 バンク 0、 2(1)

LVPECL_25入力 2.5/3.3 任意 すべて

出力 なし なし なし

LVPECL_33入力 3.3 任意 すべて

出力 なし なし なし

TMDS_33入力 3.3 任意 すべて

出力 2.5/3.3 3.3 バンク 0、 2(1)

DIFF_HSTL_I/ I_18/ II/II_18/ III/ III_18 入力/出力 2.5/3.3 シングルエンド

規格と同じシングルエンド規格と同じ

DIFF_SSTL_15/18/2/3 入力/出力 2.5/3.3 シングルエンド

規格と同じシングルエンド規格と同じ

DIFF_MOBILE_DDR 入力/出力 2.5/3.3 シングルエンド

規格と同じシングルエンド規格と同じ

メモ :

1. バンク 0 および 2 では、 2.5V 差動規格である LVDS_25 出力、 MINI_LVDS_25 出力、 RSDS_25 出力、 PPDS_25 出力のうちの 2 つ、または 3.3V 差動規格である LVDS_33 出力、 MINI_LVDS_33 出力、 RSDS_33 出力、 PPDS_33 出力、 TMDS_33 出力のう ちの 2 つがサポート されます。 I/O バンクのその他の制限が適用される場合もあ り ます。

2. VREF はこれらの I/O 規格では使用されません。

表 1-5 : 差動 I/O 規格のバンクでの互換性 (続き)

差動 I/O 規格 I/O タイプ VCCAUX VCCO 使用可能なバンク

42 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

I/O バンクの規則

I/O をバンクに割り当てる際は、 VCCO に関する次の規則に注意してください。

• バンクを使用しない場合でも、 FPGA 上のすべての VCCO ピンを接続する必要があ り ます。

• 1 つのバンクに関連付けられている VCCO ラインは、 すべて同じ電圧レベルに設定する必要が

あ り ます。

• バンクの I/O に割り当てられたすべての規格で使用される VCCO レベルが一致している必要

があ り ます。 これはザイ リ ンクス開発ソフ ト ウェアでチェッ クできます。

• バンクに VCCO 要件がない場合は、 VCCO を 2.5V や 3.3V などの使用可能な電圧に接続しま

す。 コンフ ィギュレーシ ョ ン モードによっては、 追加の VCCO 要件があ り ます。

バンクの入力に割り当てられている規格で VREF が使用されている場合は、 次の規則にも従う必要

があ り ます。

• すべての VREF ピンをバンク内で接続する必要があ り ます。

• 1 つのバンクに関連付けられている VREF ラインは、 すべて同じ電圧レベルに設定する必要が

あ り ます。

• バンクの I/O に割り当てられたすべての規格で使用される VREF レベルが一致している必要が

あ り ます。 これはザイ リ ンクス開発ソフ ト ウェアでチェッ クできます。

VREF を使用して入力スイ ッチしきい値をバイアスする必要がない場合は、バンク内の VREF ピンす

べてをユーザー I/O または入力ピンと して使用できます。

振幅が大きな信号の使用

I/O 規格の VCCO との互換性とは別に、 VIN 入力電圧が 大仕様を超えないよ う注意する必要があ

り ます。VIN 入力電圧は、VCCO に対して指定される場合もあ り ます。Spartan-6 FPGA の VIN の大値は、 PCI 規格を除き、 VCCO とは関連していません (Spartan-6 FPGA データシート を参照)。

アプリケーシ ョ ンによっては、 受信信号の電圧振幅が通常許容される I/O の電圧振幅よ り大き くな

る場合があ り ます。 もよ くあるのは、 3.3V I/O 規格に設定されたピンで 5V 信号を受信する場合

です。 振幅の大きい信号は、そのよ うに設計されている場合と、オーバーシュートが原因である場合

があ り ます。

Spartan-6 FPGA で信号の振幅が大きい規格をサポートする外部デバイスを駆動する必要がある場

合は、出力でも同様の状況が発生するこ とがあ り ます。 Spartan-6 FPGA の 3.3V での出力では、マー

ジンは小さ くなり ますが、ほとんどの 5V デバイスを直接駆動できます。 同様に、LVCMOS25 専用

にコンフ ィギュレーシ ョ ンされた出力でも、 ほとんどの 3.3V 外部デバイスを直接駆動できます。

このセクシ ョ ンでは、 振幅の大きい信号をインターフェイスする場合のオプシ ョ ンを示します。 いずれの場合でも、 Spartan-6 FPGA データシートに記載されている仕様 (特に VIN) に従う必要があ

り ます。

変圧器

振幅の大きい信号をインターフェイスする場合は、 変圧器を使用するこ とをお勧めします。 変圧器

は、 2 つの抵抗を使用する分圧器などの単純なものから、 PCI-to-PCI ブリ ッジなどの複雑なものま

でを使用できます。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 43UG381 (v1.3) 2010 年 3 月 15 日

IOB の電源電圧

オープン ドレインのインターフェイス

外部デバイスの出力は、オープン ドレイン出力と してコンフ ィギュレーシ ョ ンできます。プルアッ

プ抵抗を付けた出力を低電圧レールに接続するこ とによ り、 信号の振幅を制限し、 FPGA のパワー

ダイオードがオンになるのを防ぐこ とができます (図 1-32 を参照)。

電源投入時およびコンフ ィギュレーシ ョ ン中のI/O ピン

このセクシ ョ ンで説明する I/O ピンのビヘイビアは、選択されているコンフ ィギュレーシ ョ ン モー

ドでは使用されない多目的 I/O ピンにも適用されます。

VCCINT (1.2V)、VCCAUX、および VCCO 電源は、どの順序でも適用できます。 FPGA でコンフ ィギュ

レーシ ョ ンが開始する前に、VCCINT、バンク 2 の VCCO、および VCCAUX がデータシートに示され

ている推奨 低動作レベルに達している必要があ り ます。 この時点では、 出力ド ライバはすべてハ

イ インピーダンス ステートです。 VCCO バンク 2、VCCINT、および VCCAUX は、内部 POR (パワー

オン リセッ ト ) 回路への入力とな り ます。

HSWAPEN (コンフィギュレーシ ョ ン中プルアップ) 入力が Low になると、 電源投入からコンフィ

ギュレーショ ンの間中、ユーザー I/O ピンのプルアップ抵抗がイネーブルになり ます。 HSWAPEN がHigh になるとプルアップ抵抗がディスエーブルになり、 I/O がフロート状態になります。 HSWAPENにはウ ィーク プルアップが含まれ、 フロート状態のままであればデフォルトで High になり ます。

電源が供給される と、 FPGA でコンフ ィギュレーシ ョ ン メモ リの初期化が開始します。 同時に、

FPGA 内部で GSR (グローバル セッ ト / リセッ ト ) がアサート され、非同期で IOB 記憶エレ メン トす

べてがデフォルトの Low ステートに リセッ ト されます。

初期化が完了し、コンフ ィギュレーシ ョ ンが開始する と、INIT_B が High になり、コンフ ィギュレー

シ ョ ン モードを判断するために M0 および M1 入力がサンプリ ングされます。 その後、 コンフ ィ

ギュレーシ ョ ン データが FPGA に読み込まれます。 コンフ ィギュレーシ ョ ン中 I/O ド ラ イバは、プ

ルアップ抵抗の有無に関わらず、 HSWAPEN 入力で指定されているよ うにハイ インピーダンス ステートのままになり ます。

コンフ ィギュレーシ ョ ンが終了する と GSR ネッ トがディアサート され、 読み込まれたデザインで

SR 入力の極性が反転されていない限り、 IOB レジスタが Low ステートになり ます。

X-Ref Target - Figure 1-32

図 1-32 : FPGA の専用入力に接続された 3.3V のオープン ドレイン出力

VOHIOH

Open-Drain

3.3V µP

VCCAUX = 2.5V

VCCO

Input

UG381_c1_31_111609

Well Bias

Floating N-Well

N–VDG+

PCIClamp

ESD

P

InputBuffer

44 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 1 章 : SelectIO リソース

スタート アップ中に GTS (グローバル ト ラ イステート ) ネッ トがディアサート されてコンフ ィギュ

レーシ ョ ンが終了したこ とが示される と、 ユーザー モードでのデザイン動作が開始します。 GTSネッ トがディアサート される とユーザー I/O がすべてアクティブになり、未使用の I/O はすべてプル

ダウン (PULLDOWN) されます。 GTS をディアサート した後の未使用の I/O の終端方法を制御する

には、ビッ ト ス ト リーム生成ツール BitGen の UnusedPin オプシ ョ ンを PULLUP、PULLDOWN、ま

たは FLOAT に設定します。

デフォルトでは 1 クロ ッ クサイ クル後に GWE (グローバル ライ ト イネーブル) ネッ トが解放され、

RAM およびレジスタのステートが変化するよ うになり ます。 ユーザー モードになる と HSWAPENでイネーブルにされたプルアップ抵抗はユーザー設定に戻り、 HSWAPEN は汎用 I/O と して使用で

きるよ うになり ます。

電源投入およびコンフ ィギュレーシ ョ ン プロセスの詳細は、 『Spartan-6 FPGA コンフ ィギュレー

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

コンフ ィギュレーシ ョ ン後の未使用 I/O ピン

ザイ リ ンクス ISE 開発ソフ ト ウェアでは、デフォルトで未使用の I/O ピンがすべて GND への内部

プルダウン抵抗が付いた入力ピンと してコンフ ィギュレーシ ョ ンされます。

このデフォルトは、 BitGen の UnusedPin オプシ ョ ンで制御されます。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 45UG381 (v1.3) 2010 年 3 月 15 日

第 2 章

SelectIO ロジック リソース

概要

この章では、 第 1 章 「SelectIO リ ソース」 で説明した I/O ド ライバの前およびレシーバの後に配置

されるロジッ クについて説明します。

Spartan®-6 FPGA には、以前の Spartan FPGA に含まれるすべての基本的な I/O ロジッ ク リ ソース

がすべて含まれています。 これらの リ ソースは次のとおりです。

• 組み合わせ入力/出力

• ト ラ イステート出力制御

• レジスタ付き入力/出力

• レジスタ付き ト ライステート出力制御

• ダブル データ レート (DDR) 入力/出力

• DDR 出力ト ラ イステート制御

Spartan-6 FPGA では、上記に加え次のアドバンス アーキテクチャ機能もインプリ メン ト されます。

• 詳細な遅延制御が可能な IODELAY2 プリ ミ ティブ

• NONE、 C0、 および C1 出力 DDR モード

• NONE、 C0、 および C1 入力 DDR モード

• 第 3 章 「アドバンス SelectIO ロジッ ク リ ソース」 で説明されている ISERDES

• 第 3 章 「アドバンス SelectIO ロジッ ク リ ソース」 で説明されている OSERDES

『Spartan-6 FPGA PCB Design Guide』 (UG393) に、 ピン配置に役立つデザイン チェッ ク リ ス トが

掲載されています。

46 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

I/O インターフェイス タイル

Spartan-6 FPGA のすべての SelectIO™ リ ソースは、 図 2-1 に示すよ うに、 I/O インターフェイス

タイルにグループ化されています。

各 I/O 入力 (IOI) タイルでは、デバイス ピンと信号を送受信する 2 つの I/O ブロ ッ ク (IOB) が制御

されます。 各 IOI には、 2 つのシングルエンド入力/出力用あるいは 1 つの差動入力または出力用の

回路と、 インターコネク ト ブロ ッ クが含まれています。 IOI 内で 2 つの IOB を組み合わせる と、高

速差動インターフェイス規格用の追加機能を使用できます。

シングルエンド モードでは、 マスタ I/O ブロ ッ クでパッ ド (P) を駆動し、 スレーブ I/O ブロ ッ クで

パッ ド (N) を駆動します。 差動モードでは、 I/O ブロ ッ クの リ ソースを組み合わせて、1 つの I/O の2 倍までのレートでパラレルからシ リ アル、またはシ リ アルからパラレルへの変換を作成します。マ

スタ I/O がスレーブ I/O にカスケード接続され、データは LSB から順に出力されて下位データがス

レーブ ブロッ クに書き込まれます。

各 I/O 入力には、ラッチなしの I/O、ラ ッチ付き I/O、レジスタ付き I/O、または 2:1/3:1/4:1 のカスケー

ド可能な SerDes をサポートするのに必要な回路が含まれています (第 3 章 「アドバンス SelectIO ロジッ ク リ ソース」を参照)。 I/O 入力セルの SDR フ リ ップフロ ップ/ラ ッチには、SR 入力があ り ます。

その他すべてのフ リ ップフロ ップには、 非同期リセッ トのみがあ り ます。

グローバル ラ イ ト リセッ トの前に、すべてのフ リ ップフロ ップ/ラ ッチは 0 にリセッ ト されます (出力はト ライステート )。 すべてのフ リ ップフロップは、 立ち上がりエッジで ト リガされます。

X-Ref Target - Figure 2-1

図 2-1 : I/O 入力タイル内の SelectIO ロジック リソース

Master OLOGIC

IOI Tile

Serializer (T)

Serializer (D)

Master ILOGIC

De-serializer

odelay

idelay

Slave OLOGIC

Serializer (T)

Serializer (D)

Slave ILOGIC

De-serializer

odelay

idelay

MasterIOB (P)

SlaveIOB (N)

HighSpeed

I/O Clocks

HighSpeed

I/O Clocks

UG381_c2_01_022310

FPGAInterconnect

Logic

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 47UG381 (v1.3) 2010 年 3 月 15 日

I/O ロジックで使用可能なクロック リソース

ラ ッチ/レジスタのクロッ クは、グローバル クロ ッ ク (GCLK) ネッ ト ワークまたは高速 I/O クロ ッ ク

ネッ ト ワークから供給できます (『Spartan-6 FPGA ク ロ ッ ク リ ソース ユーザー ガイ ド』 を参照)。 通常 GCLK 信号は、 グローバル クロ ッ ク ネッ ト ワーク周波数の制限未満の低速から中速の出力レー

トでデータを出力します (Spartan-6 FPGA データシート を参照)。

入力および出力パスには、 オプシ ョ ンで IODELAY プリ ミ ティブを追加できます。 遅延量は、

IODELAY2 プリ ミ ティブを使用するこ とによ りプログラム可能です。 遅延は固定または可変にで

きます。 第 1 章 「SelectIO リ ソース」 を参照してください。典型的な遅延は、Spartan-6 FPGA デー

タシートに指定されています。

I/O ロジックで使用可能なクロック リソース

図 2-2 に、 SelectIO ロジッ クで使用可能なクロ ッ ク リ ソースを示します。 I/O データのサンプリ ン

グおよびデータ転送は、外部データが受信クロ ッ クに対する DDR であっても、送信および受信共す

べて内部 SDR クロ ッ クに同期して実行されます。このため、各 I/O ロ ッ クにローカル周波数 2 逓倍

器が含まれ、 必要な SDR サンプリ ング ク ロ ッ クまたは送信クロ ッ クを達成できるよ うになってい

ます。

X-Ref Target - Figure 2-2

図 2-2 : IOI ロジックのクロック リソース

( )

BUFPLL BUFPLL BUFG BUFG BUFIO2 BUFIO2

FF

IDDR2/2

ISERDESFF

3 ISERDES

FF

4 ISERDES

FF

4 OSERDES

FF

3 OSERDES

FF

ODDR2/2

OSERDESFF

FF

( )

ug381_c2_02new_011109

48 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

周波数 2 逓倍器は、DDR データのサンプリ ングまたは送信で使用する必要があ り、2 つのクロ ッ ク

入力を必要と します。 これら 2 つのクロ ッ ク入力には、 次のものを使用できます。

• グローバル ク ロ ッ ク と、 それをローカル反転した反転クロ ッ ク

• 180° の位相差がある 2 つのグローバル クロ ッ ク

• 180° の位相差がある 2 つの I/O ク ロ ッ ク

周波数 2 逓倍器には、 グローバル ク ロ ッ ク と I/O クロ ッ クなど、 2 種類のクロ ッ クを混合して使用

するこ とはできません。周波数 2 逓倍器は各 I/O ロジッ ク ブロ ッ クに 1 つ含まれており、イネーブ

ルにした場合、その入力クロ ッ ク信号は使用できなくな り ます。そのため、表 2-1 に示す双方向 I/O機能と ク ロ ッ ク フ ィードバッ ク接続が制限されます。特に外部クロ ッ ク入力が対応する ILOGIC ブロ ッ クの DDR レジスタに供給されている場合、 DDR に必要な 2 逓倍器を使用するこ とで、 DCMからの 2 つのオリジナル ク ロ ッ クのいずれかを BUFIO2FB を介して DCM にフ ィードバッ クする

こ とはできなくなり ます。 この場合、 DCM へのフ ィードバッ クはグローバル バッファから直接供

給する必要があ り ます。

I/O ロジッ クのクロ ッ ク構造では、 グローバル バッファからの 2 つのクロ ッ クを使用可能です。 こ

れらのク ロ ッ クは非反転クロ ッ クまたは反転クロ ッ ク と して使用するか (SDR 信号)、あるいはロー

カル周波数 2 逓倍器の入力と して使用し、 ローカル SDR サンプリ ング ク ロ ッ クを生成するか、

DDR 信号で必要な送信クロ ッ クを生成できます。1 つのグローバル ク ロ ッ クは、デバイスのすべて

のバンクにある I/O を同時に供給できます。

表 2-1 : 双方向 I/O で可能なクロック構造

出力

入力

SDR BUFPLL クロッ ク

SDR1 つの BUFG

SDR1 つの BUFIO2

DDR1 つの BUFG

DDR2 つの BUFG

DDR2 つの BUFIO2

SDR BUFPLL

クロッ ク

可能 可能 可能 可能

I/O ロジッ クで 2 つの BUFG が使用されている

場合のみ可能

可能

SDR1 つの BUFG

可能 可能 可能 不可能 不可能 不可能

SDR

1 つの BUFIO2

可能 可能 可能 不可能 不可能 不可能

DDR

1 つの BUFG

可能 不可能 不可能

入力と出力で BUFG が共有

される場合のみ

可能

不可能 不可能

DDR2 つの BUFG

I/O ロジッ クで 2 つの BUFG が使用されている

場合のみ可能

不可能 不可能 不可能

入力と出力で 2 つの BUFG が共有される場合

のみ可能

不可能

DDR

2 つの BUFIO2

可能 不可能 不可能 不可能 不可能

入力と出力で 2 つの BUFIO2 が共有される場合

のみ可能

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 49UG381 (v1.3) 2010 年 3 月 15 日

ILOGIC2 リソース

I/O ロジッ クのクロ ッ ク構造では、 BUFPLL を使用して PLL からの 2 つのクロ ッ ク も使用できま

す。 これらのク ロッ クは内部では常に SDR であ り、反転できません。外部 DDR 信号の場合、受信

クロ ッ クは PLL で 2 逓倍され、 PLL ク ロ ッ ク信号が周波数 2 逓倍器で使用されるこ とはあ り ませ

ん。 これらのクロ ッ ク入力は、 SerDes を使用する場合、 反転する と BUFPLL からの I/O ス ト ロー

ブ信号に対するタイ ミ ングが無効になるので、反転できません。 BUFPLL からのクロ ッ クは、デバ

イスの 1 つの辺全体の I/O を駆動でき、 各辺には BUFPLL が 2 つあり ます。

I/O ロジッ クのクロ ッ ク構造では、BUFIO2 I/O ク ロ ッ クからの 2 つのクロ ッ ク も使用できます。こ

れらのク ロ ッ クは非反転クロ ッ クまたは反転クロ ッ ク と して外部 SDR 信号に使用するか、 あるい

はローカル周波数 2 逓倍器の入力と して使用し、 ローカル SDR サンプリ ング ク ロ ッ クを生成する

か、 外部 DDR 信号で必要な送信クロ ッ クを生成できます。 BUFIO2 は、 ク ロ ッ クを供給するデー

タ ピンとデバイスの同じ半分に存在する必要があ り ます。 これらのク ロ ッ ク入力は、周波数 2 逓倍

器を使用する場合は反転できません。また、SerDes で使用する場合も、反転する と BUFIO2 からの

I/O ス ト ローブ信号に対するタイ ミ ングが無効になるので、 反転できません。

入力 DDR I/O ク ロ ッ クは、周波数 2 逓倍器用の非反転クロ ッ ク と反転クロ ッ クを生成するため、 2つの BUFIO2 ク ロ ッ ク バッファを使用して配線する必要があ り ます。一般的には、入力クロ ッ クで

は 2 つの 0 遅延の IODELAY2 プリ ミ ティブを使用して、 データ遅延のバランスを取り ます。 差動

クロ ッ ク信号の場合は、このバランスは問題となり ません。シングルエンドのク ロ ッ ク信号では、ク

ロ ッ ク信号は 2 つのクロ ッ ク入力ピンを介して FPGA に入力する必要があ り ます。このう ち 1 つの

ピンはクロ ッ ク信号を反転するよ う コンフ ィギュレーシ ョ ンし、 2 つの IODELAY2 プリ ミ ティブ

および 2 つの BUFIO2 ク ロ ッ クにアクセスできるよ うにします。

BUFIO2 または BUFPLL クロ ッキングにおいて入力パスまたは出力パスで SerDes を使用する場

合、 SerDes とのデータの送受信にグローバル クロ ッ クが必要です。 I/O ロジッ クに入力できるグ

ローバル ク ロ ッ クは 2 つのみなので、このグローバル バッファを使用する と、一部の双方向 I/O コンフ ィギュレーシ ョ ンのク ロ ッ ク機能が制限される場合があ り ます。

表 2-1 に、 双方向 I/O において入力および出力ロジッ クで混合可能なクロ ッ ク構造を示します。

ILOGIC2 リソース

図 2-3 に、 ILOGIC2 プリ ミ ティブのブロ ッ ク図を示します。

X-Ref Target - Figure 2-3

図 2-3 : ILOGIC2 のブロック図

DDLY2

DDLY

D

D Q0

Q1

Q0

DFBCFB0

CFB1

FABRICOUT

Q1CE

C0

SR

CE

C0

SR

ug381_c2_02_051109

C1C1

50 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

ILOGIC2 は次の動作をサポート します。

• エッジ ト リ ガ D 型フ リ ップフロ ップ

• IDDR2 モード (NONE、C0、または C1) (入力 DDR の詳細は「入力 DDR プリ ミ ティブ」を参照)

• レベル認識ラ ッチ

• 非同期/組み合わせ

ILOGIC2 には対応する IOB からのデータ入力 D が 1 つ、 ク ロ ッ ク入力 C0 および C1 (常に 180°の位相差)、 および共通のクロ ッ ク イネーブル CE0 (未接続の場合はデフォルトでアクティブ ステート ) があ り ます。 ILOGIC2 には SR ピンが 1 つあり、 同期または非同期の SET または RESETにコンフ ィギュレーシ ョ ンできます。 ILOGIC2 では、IODELAY2 からの遅延データ DDLY および

DDLY2 も受信できます ( 「I/O 遅延の概要」 を参照)。

出力では、FABRICOUT を使用して D または DDLY2 を送信します。 Q0 および Q1 は、 ILOGIC2レジスタの出力です。 また、 ク ロ ッ ク入力を BUFIO2 および CFB0/CFB1 を介して BUFIO2FB に配線するための専用クロ ッ ク出力ピン DFB もあ り ます。 詳細は、 『Spartan-6 FPGA クロ ッ ク リソース ユーザー ガイ ド』 を参照してください。

次のセクシ ョ ンで、 さまざまな ILOGIC2 リ ソースについて説明します。 ILOGIC2 リ ソース間の接

続は、 ザイ リ ンクスのソフ ト ウェアで制御されます。

組み合わせ入力パス

組み合わせ入力パスは、入力ド ライバから FPGA ロジッ クへの直接接続に使用します。 次のよ う な

場合、 ソフ ト ウェアで自動的にこのパスが使用されます。

• 入力データから FPGA のロジッ ク リ ソースまでが直接接続 (レジスタなし) である場合

• [Pack I/O Register/Latches into IOBs] がオフに設定されている場合

入力 DDR プリ ミテ ィブ

ILOGIC2 には専用 DDR レジスタがあ り、 IDDR2 プリ ミ ティブをインスタンシエートするこ とに

よ り使用できます。

IDDR2 プリ ミテ ィブ

図 2-4 に IDDR2 プリ ミ ティブのブロッ ク図、 表 2-2 に IDDR2 プリ ミ ティブのポート、 表 2-3 にIDDR2 プリ ミ ティブのポート属性とデフォルト値を示します。

X-Ref Target - Figure 2-4

図 2-4 : IDDR2 プリ ミテ ィブのブロック図

ug381_c2_03_031709

D

CE

Q0

Q1

IDDR2

C1C0

RS

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 51UG381 (v1.3) 2010 年 3 月 15 日

ILOGIC2 リソース

IDDR2 は、C0 の立ち上がりエッジで入力データを Q0 に出力し、C1 の立ち上がりエッジ (通常は C0の立ち下がりエッジ) で入力データを Q1 に出力します。 このデータが FPGA ロジッ クに転送されま

す。 図 2-5 に、 NONE モードでの入力 DDR のインプリ メンテーシ ョ ンと タイ ミ ングを示します。

表 2-2 : IDDR2 プリ ミテ ィブのポート

ポート名 機能 説明

D 入力 データ入力

C0 入力 クロ ッ ク入力

C1 入力 C0 と位相差が 180° の 2 番目のクロ ッ ク入力

CE 入力 クロ ッ ク イネーブル

R入力

リセッ ト。 R と S の両方を接続する と、 ソフ ト ウェアでエラーが発生

します。

S入力

セッ ト。 R と S の両方を接続する と、 ソフ ト ウェアでエラーが発生し

ます。

Q1、 Q2 出力 データ出力

表 2-3 : IDDR2 の属性

属性名 設定可能な値 デフォルト値 説明

DDR_ALIGNMENT NONE、C0、 C1

NONE DDR 出力のアライ メン ト モードを設

定します。

INIT_Q0 0、 1 0 Q0 の初期値。 INIT_Q0 と INIT_Q1 の値が異な る場合、 ソ フ ト ウ ェ アでエ

ラーが発生します。

INIT_Q1 0、 1 0 Q1 の初期値。 INIT_Q0 と INIT_Q1 の値が異な る場合、 ソ フ ト ウ ェ アでエ

ラーが発生します。

SRTYPE ASYNC、

SYNCSYNC セッ ト / リ セッ トの同期化タイプを設定

します。 ASYNC はすべてのモードで

使用可能で、SYNC は NONE モードで

のみ使用可能です。

52 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

デザインのある地点で、両方の信号を同じクロ ッ ク ド メ イン (通常 C0) に送信する必要があ り ます。

これは、高周波数で 50 % デューティ サイクルの場合 1/2 クロ ッ ク サイクル分しか時間がないため

困難です。 IDDR2 には、このク ロ ッ ク ド メ インの遷移を ILOGIC2 ブロ ッ ク内で行うための専用パ

スが含まれています。

DDR_ALIGNMENT = C0 (または C1) の場合、 信号 Q0 (Q1) は C1 (C0) で再度取り込まれ、 イン

ターコネク ト CLB ロジッ クにのみ供給されるので、出力が同じク ロ ッ ク ド メ インに保持されます。

図 2-6 に、インターコネク ト ロジッ クでク ロ ッ ク C0 (C1) のみを使用して受信データを処理する方

法を示します。

X-Ref Target - Figure 2-5

図 2-5 : DDR_ALIGNMENT = NONE の場合の入力 DDR

DD Q0Q

D Q1

To FPGALogic

C1C0

C0

C1

D

Q0

d + 1d

d + 2 d + 4 d + 6 d + 8d

d + 2 d + 3 d + 4 d + 5 d + 6 d + 7 d + 8

Q

Q1 d + 3d – 1 d + 5 d + 7d + 1

UG381_c2_04_051209

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 53UG381 (v1.3) 2010 年 3 月 15 日

ILOGIC2 リソース

IDDR2 の VHDL および Verilog テンプレート

IDDR2 プリ ミ ティブのインスタンシエーシ ョ ンの VHDL および Verilog テンプレートは、 ライブ

ラ リ ガイ ドに含まれています。

X-Ref Target - Figure 2-6

図 2-6 : DDR_ALIGNMENT = C0 の場合の入力 DDR

D Q0D Q

D Q1

To FPGALogic

C0C1

C0

C1

D

Q0

d + 1d

d + 2 d + 4 d + 6 d + 8d

d + 2 d + 3 d + 4 d + 5 d + 6 d + 7 d + 8

Q D Q

Q1 d + 3d – 1 d + 5 d + 7d + 1

UG381_c2_05_121609

54 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

ILOGIC2 のタイ ミング モデル

このセクショ ンでは、ILOGIC2 ブロッ ク内のさまざまなリ ソースのタイ ミ ングについて説明します。

ILOGIC2 のタイ ミ ング特性

図 2-7 に、 ILOGIC2 レジスタのタイ ミ ングを示します。 IDELAY を使用する場合、 TIDOCK は TIDOCKD に置き換えられます。

クロック イベン ト 1

ク ロ ッ ク イベン ト 1 の TICE1CK 時間前に、 入力レジスタの CE 入力で入力クロ ッ ク イネーブル信

号が High になり、 入力レジスタでのデータ受信が可能になり ます。

ク ロ ッ ク イベン ト 1 の TIDOCK 時間前に、入力レジスタの D 入力で入力信号が High になり、ク ロ ッ

ク イベン ト 1 の TICKQ 時間後に入力レジスタの Q 出力に反映されます。

クロック イベン ト 4

クロ ッ ク イベン ト 4 の TISRCK 時間前に、SR 信号 (この場合は同期リセッ ト ) が High になって入力

レジスタがリセッ ト され、 クロ ッ ク イベン ト 4 の TICKQ 時間後に IOB の Q 出力に反映されます。

ILOGIC2 のタイ ミ ング特性 (DDR)

図 2-8 に、 IDDR2 モードでの ILOGIC2 のタイ ミ ング特性を示します。 IDELAY を使用する場合、

TIDOCK は TIDOCKD に置き換えられます。 この例では、 DDR_ALIGNMENT = NONE モードの

IDDR2 を使用しています。 C0 または C1 モードでもタイ ミ ングの説明は同じですが、Q0 と Q1 は両方と も C0 または C1 に同期します。

X-Ref Target - Figure 2-7

図 2-7 : ILOGIC2 入力レジスタのタイ ミング特性

1 2 3 4 5

CLK

D

CE

SR

Q

TICKQ TICKQ

TIDOCK

TICECK

TISRCK

ug381_c2_06_061209

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 55UG381 (v1.3) 2010 年 3 月 15 日

ILOGIC2 リソース

クロック イベン ト 1

ク ロ ッ ク イベン ト 1 の TICECK 時間前に、両方の DDR 入力レジスタの CE 入力で入力クロ ッ ク イネーブル信号が High になり、入力レジスタでのデータ受信が可能になり ます。 CE および D 信号は

2 つの DDR レジスタで共有されているため、これらの信号を C0 の立ち上がりエッジと立ち下がり

エッジの間で ト グルするよ うにし、両方のクロ ッ クに対するレジスタのセッ ト アップ タイムを満た

すよ うにする必要があ り ます。

ク ロ ッ ク イベン ト 1 (C0 の立ち上がりエッジ) の TIDOCK 時間前に、両方のレジスタの D 入力で入

力信号が High になり、クロ ッ ク イベン ト 1 の TICKQ 時間後に入力レジスタの Q0 出力に反映され

ます。

クロック イベン ト 4

ク ロ ッ ク イベン ト 4 (C1 の立ち上がりエッジ) の TIDOCK 時間前に、両方のレジスタの D 入力で入

力信号が High になり、ク ロ ッ ク イベン ト 4 の TICKQ 時間後に入力レジスタ 2 の Q1 出力に反映さ

れます。

クロック イベン ト 9

ク ロ ッ ク イベン ト 9 の TISRCK 時間前に、R 信号 (この場合は同期リセッ ト ) が High になり、ク ロ ッ

ク イベン ト 9 の TICKQ 時間後に Q0 がリセッ ト され、ク ロ ッ ク イベン ト 10 の TICKQ 時間後に Q1がリセッ ト されます。

X-Ref Target - Figure 2-8

図 2-8 : IDDR2 モードでの ILOGIC2 のタイ ミング特性

1 2 3 4 5 6 7 8 9 10 11

TIDOCK

TICECK

TISRCK

TICKQ

TICKQ

TICKQ

TIDOCK

C0

C1

D

CE

R(Reset)

Q0

Q1

TICKQ

UG381_c2_07_0061209

56 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

表 2-4 に、Spartan-6 FPGA データシートに記載されている ILOGIC2 のスイ ッチ特性の機能および

制御信号を説明します。

メモ : DDLY のタイ ミ ング図とパラ メータは、 D のタイ ミ ング図およびパラ メータ と同一です。

OLOGIC2 リソース

OLOGIC2 プリ ミ ティブは、 出力データ パス コンフ ィギュレーシ ョ ン用のブロ ッ ク と、 ト ライス

テート制御パス コンフ ィギュレーシ ョ ン用のブロッ クで構成されています。図 2-9 に、ブロ ッ ク図

を示します。

出力パスおよびト ライステート パスは、 次のモードで個別にコンフ ィギュレーシ ョ ンできます。

• エッジ ト リ ガ D 型フ リ ップフロ ップ

• DDR (NONE、 C0、 または C1 アライ メン ト モード )

• レベル認識ラ ッチ

• 非同期/組み合わせ

表 2-4 : ILOGIC2 のスイッチ特性

シンボル 説明

セッ トアップ/ホールド

TICECK/TICKCE CE ピンの CLK に対するセッ ト アップ/ホールド

TISRCK/TICKSR SR ピンの CLK に対するセッ ト アップ/ホールド

TIODCK/TIOCKD D ピンの CLK に対するセッ ト アップ/ホールド

組み合わせ

TIDI D ピンから O ピンまでの伝搬遅延 (遅延なし )

シーケンシャル遅延

TIDLO フ リ ップフロ ップをラ ッチと して使用する場合の D ピンから Q0 ピンま

での遅延 (遅延なし)

TICKQ CLK から Q 出力までの遅延

TICEQ フ リ ップフロ ップをラ ッチと して使用する場合の CE ピンから Q0 ピン

までの伝搬遅延

TRQ SR ピンから Q 出力までの遅延

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 57UG381 (v1.3) 2010 年 3 月 15 日

OLOGIC2 リソース

OLOGIC2 ブロ ッ クには、ロジッ ク インターコネク トからのデータ入力 D0 および D1、ク ロ ッ ク入

力 C0 および C1 (常に 180° の位相差)、 および共通のクロ ッ ク イネーブル CE (未接続の場合はデ

フォルトでアクティブ ステート ) があ り ます。

OLOGIC2 には SR ピンが 1 つあり、同期または非同期の SET または RESET にコンフ ィギュレー

シ ョ ンできます。 OLOGIC2 リ ソース間の接続は、 ザイ リ ンクスのソフ ト ウェアで制御されます。

組み合わせ出力データおよびト ライステート制御パス

組み合わせ出力パスは、インターコネク ト ロジッ クから出力ド ライバまたは出力ド ライバ制御まで

の直接接続に使用します。 このパスは、 次のよ う な場合に使用されます。

• インターコネク ト ロジッ クのロジッ ク リ ソースから出力データまたはト ライステート制御ま

でが直接接続 (レジスタなし ) である場合

• [Pack I/O Register/Latches into IOBs] がオフに設定されている場合

出力 DDR の概要 (ODDR2)OLOGIC2 には専用 DDR レジスタがあ り、 ODDR2 プリ ミ ティブをインスタンシエートするこ と

によ り使用できます。 OLOGIC2 を使用する場合、DDR マルチプレクサ処理は自動的に実行されま

す。 MUX セレク ト制御はクロ ッ クから生成され、手動制御は必要あり ません。 各 ODDR2 レジスタ

には、 2 つのクロ ッ ク入力 (通常 180° の位相差) があ り ます。

メモ : ODDR2 プリ ミ ティブを ト ラ イステート出力と共に使用する場合、 T 制御ピンでデータ出力

に使用する ODDR2 プリ ミ ティブと同じモードでコンフ ィギュレーシ ョ ンされた ODDR2 プリ ミ

ティブも使用する必要があ り ます。

X-Ref Target - Figure 2-9

図 2-9 : OLOGIC2 のブロック図

D

CE

FF/LATCH

SR

Q QD0

D1

CE

C0

C1SR

OMUX

DOFFDDR

CE

SR

OFF3 OFF2

OFF1

QD

R

Q

UG381_c2_11_111209

SYNC/ASYNCINIT0/INIT1

58 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

ODDR2 プリ ミ ティブでは、 次の動作モードを使用できます。

• NONE

• C0

• C1

次のセクシ ョ ンで、 各モードについて説明します。

NONE

NONE モードでは、C0 および C1 ク ロ ッ ク両方の立ち上がりエッジを使用し、 それぞれ D0 および

D1 のデータを取り込みます。 これら 2 つのデータ ビッ トは、DDR マルチプレクサを介して出力ピ

ンに送信されます。 図 2-10 に、 この機能を示します。

C0 - クロック C0 で入力を取り込み

C0 モードでは、クロ ッ ク C0 の立ち上がりエッジで ODDR2 プリ ミティブからの両方のデータ ビッ

トが出力されます。 このモードは、 DDR_ALIGNMENT 属性を使用してインプリ メン ト されます。

C1 - クロック C1 で入力を取り込み

C1 モードでは、クロ ッ ク C1 の立ち上がりエッジで ODDR2 プリ ミティブからの両方のデータ ビッ

トが出力されます。 このモードは、 DDR_ALIGNMENT 属性を使用してインプリ メン ト されます。

X-Ref Target - Figure 2-10

図 2-10 : DDR_ALIGNMENT = NONE の場合の ODDR2

C0

D0

D1

C1

D Q

Q

D

FromFPGALogic

C0

C1

Q

D0

d + 1d

d + 2 d + 4 d + 6 d + 8 d + 10d

d + 2 d + 3 d + 4 d + 5 d + 6 d + 7 d + 8

Q

D1 d + 3 d + 5 d + 7 d + 9d + 1

UG381_c2_12_052709

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 59UG381 (v1.3) 2010 年 3 月 15 日

OLOGIC2 リソース

ODDR2 プリ ミテ ィブ

図 2-11 に ODDR2 プリ ミ ティブのブロッ ク図、 表 2-5 に ODDR2 プリ ミ ティブのポート信号、 表

2-6 に ODDR2 プリ ミ ティブの属性とデフォルト値を示します。

ODDR2 の VHDL および Verilog テンプレート

ODDR2 プリ ミ ティブのインスタンシエーシ ョ ンの VHDL および Verilog テンプレートは、ライブ

ラ リ ガイ ドに含まれています。

X-Ref Target - Figure 2-11

図 2-11 : ODDR2 プリ ミティブ

表 2-5 : ODDR2 のポート信号

ポート名 タイプ 説明

D0 入力 FPGA ロジッ クからの入力データ

D1 入力 FPGA ロジッ クからの入力データ

C0 入力 クロ ッ ク入力

C1 入力 C0 との位相差が 180° の 2 番目のクロ ッ ク入力

CE 入力 クロ ッ ク イネーブル

R 入力リセッ ト 。 R と S の両方が 1 に接続されている と、ソフ ト ウェアでエラー

が発生します。

S 入力セッ ト 。 R と S の両方が 1 に接続されている と、ソフ ト ウェアでエラーが

発生します。

Q 出力 データ出力

表 2-6 : ODDR2 の属性

属性名 設定可能な値 デフォルト値 説明

DDR_ALIGNMENT NONE、 C0、 C1 NONE DDR 出力のアライ メン ト モード

を設定します。

INIT 0、 1 0 出力 Q の初期値。

SRTYPE ASYNC、 SYNC SYNC セッ ト / リ セッ トの同期化タイプ

を設定します。

UG381_c2_13_031909

D0

C1 Q

ODDR2

C0D1

CERS

60 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

OLOGIC2 のタイ ミング モデル

このセクシ ョ ンでは、 OLOGIC ブロ ッ ク内のさまざまな リ ソースのタイ ミ ングについて説明しま

す。 表 2-7 に、 Spartan-6 FPGA データシートに記載されている OLOGIC2 のスイ ッチ特性を示し

ます。

タイ ミング特性

図 2-12 に、 OLOGIC2 出力レジスタのタイ ミ ングを示します。

クロック イベン ト 1

ク ロ ッ ク イベン ト 1 の TOOCECK 時間前に、出力レジスタの CE 入力で出力クロ ッ ク イネーブル信

号が High になり、 出力レジスタでのデータ受信が可能になり ます。

ク ロ ッ ク イベン ト 1 の TODCK 時間前に、出力レジスタの D 入力で出力信号が High になり、ク ロ ッ

ク イベン ト 1 の TOCKQ 時間後に Q 出力に反映されます。

表 2-7 : OLOGIC2 のスイッチ特性

シンボル 説明

セッ トアップ/ホールド

TODCK/TOCKD D1/D2 ピンの CLK に対するセッ ト アップ/ホールド

TOOCECK/TOCKOCE CE ピンの CLK に対するセッ ト アップ/ホールド

TOSRCK/TOCKSR SR ピンの CLK に対するセッ ト アップ/ホールド

TOTCK/TOCKT T1/T2 ピンの CLK に対するセッ ト アップ/ホールド

TOTCECK/TOCKTCE CE ピンの CLK に対するセッ ト アップ/ホールド

クロッ クから出力

TOCKQ C 0 から Q 出力までの遅延

TRQ SR ピンから Q 出力までの遅延

X-Ref Target - Figure 2-12

図 2-12 : OLOGIC2 出力レジスタのタイ ミング特性

1 2 3 4 5

C

D

CE

SR

Q

TOCKQ

TODCK

TOOCECK

TOSRCK

ug381_c2_14_051109

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 61UG381 (v1.3) 2010 年 3 月 15 日

OLOGIC2 リソース

クロック イベン ト 4

ク ロ ッ ク イベン ト 4 の TOSRCK 時間前に、 SR 信号 (この場合は同期リセッ ト ) が High になって出

力レジスタがリセッ ト され、 ク ロ ッ ク イベン ト 4 の TRQ 時間後に Q 出力に反映されます。

図 2-13 に、 DDR_ALIGNMENT = NONE モードでの OLOGIC2 ODDR レジスタのタイ ミ ングを

示します。

クロック イベン ト 1

ク ロ ッ ク イベン ト 1 の TOOCECK 時間前に、ODDR レジスタの CE 入力で ODDR クロ ッ ク イネー

ブル信号が High になり、ODDR でのデータ受信が可能になり ます。 ODDR レジスタの CE 信号は

C0 の立ち上がりエッジと立ち下がりエッジの間で ト グルするよ うにし、 両方のクロ ッ クに対する

レジスタのセッ ト アップ タイムを満たすよ うにする必要があ り ます。 高速アプリ ケーシ ョ ンでは、

通常 CE 信号は High に固定されます。

ク ロ ッ ク イベン ト 1 (C0 の立ち上がりエッジ) の TODCK 時間前に、 ODDR レジスタの D0 入力で

データ信号が High になり、 ク ロ ッ ク イベン ト 1 の TOCKQ 時間後に Q 出力に反映されます。

クロック イベン ト 2

ク ロ ッ ク イベン ト 2 (C1 の立ち上がりエッジ) の TODCK 時間前に、 ODDR レジスタの D1 入力で

データ信号が High になり、 ク ロ ッ ク イベン ト 2 の TOCKQ 時間後に Q 出力に反映されます (この

場合は Q 出力は変更なし )。

クロック イベン ト 9

ク ロ ッ ク イベン ト 9 (C0 の立ち上がりエッジ) の TOSRCK 時間前に、 SR 信号 (この場合は同期リ

セッ ト ) が High になって ODDR レジスタがリセッ ト され、 ク ロ ッ ク イベン ト 9 の TRQ 時間後に

Q 出力に反映され (この場合は Q 出力は変化なし)、ODDR レジスタが リセッ ト されてクロ ッ ク イベン ト 10 の TRQ 時間後に Q 出力に反映されます (この場合は Q 出力は変化なし)。

X-Ref Target - Figure 2-13

図 2-13 : OLOGIC2 ODDR レジスタのタイ ミング特性

1 2 3 4 5 6 7 8 9 10 11

TODCK

TOOCECK

TODCK

TOSRCK

TRQ

C1

C0

D0

D1

CE

SR

QTOCKQ

ug381_c2_15_042409

62 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

図 2-14 に、 OLOGIC2 ト ラ イステート レジスタのタイ ミ ングを示します。

クロック イベン ト 1

ク ロ ッ ク イベン ト 1 の TOTCECK 時間前に、 ト ラ イステート レジスタの TCE 入力でト ライステー

ト クロ ッ ク イネーブル信号が High になり、ト ラ イステート レジスタでのデータ受信が可能になり

ます。

ク ロ ッ ク イベン ト 1 の TOTCK 時間前に、ト ライステート レジスタの T 入力でト ライステート信号

が High になり、ク ロ ッ ク イベン ト 1 の TOCKQ 時間後にパッ ドが再びハイ インピーダンスになり

ます。

クロック イベン ト 2

ク ロ ッ ク イベン ト 2 の TOSRCK 時間前に、 SR 信号 (この場合は同期リセッ ト ) が High になり、 ク

ロ ッ ク イベン ト 2 の TRQ 時間後にト ライステート レジスタがリセッ ト されます。

X-Ref Target - Figure 2-14

図 2-14 : OLOGIC2 ト ライステート レジスタのタイ ミング特性

1 2 3 4 5

CLK

T1

TCE

SR

TQ

TOCKQ TRQ

TOTCK

TOTCECK

TOSRCK

UG381_c2_16_051209

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 63UG381 (v1.3) 2010 年 3 月 15 日

OLOGIC2 リソース

図 2-15 に IOB DDR ト ラ イステート レジスタのタイ ミ ングを示します。 この例では、

DDR_ALIGNMENT = NONE モードを使用しています。

クロック イベン ト 1

ク ロ ッ ク イベン ト 1 の TOTCECK 時間前に、ト ライステート ODDR レジスタの CE 入力でト ライス

テート クロ ッ ク イネーブル信号が High になり、ト ラ イステート レジスタでのデータ受信が可能に

なり ます。 ODDR ト ラ イステート レジスタの CE 信号は C0 の立ち上がりエッジと立ち下がりエッ

ジの間で ト グルするよ うにし、両方のクロ ッ クに対するレジスタのセッ ト アップ タイムを満たすよ

うにする必要があ り ます。

ク ロ ッ ク イベン ト 1 (C0 の立ち上がりエッジ) の TOTCK 時間前に、 ト ラ イステート レジスタの T0入力でト ライステート信号が High になり、 ク ロ ッ ク イベン ト 1 の TOCKQ 時間後に Q 出力に反映

されます。

クロック イベン ト 2

ク ロ ッ ク イベン ト 2 (C1 の立ち上がりエッジ) の TOTCK 時間前に、 ト ラ イステート レジスタの T1入力でト ライステート信号が High になり、 ク ロ ッ ク イベン ト 2 の TOCKQ 時間後に Q 出力に反映

されます (この場合は Q 出力は変化なし )。

クロック イベン ト 9

クロ ッ ク イベン ト 9 (C0 の立ち上がりエッジ) の TOSRCK 時間前に、SR 信号 (この場合は同期リセッ

ト ) が High になって ト ライステート レジスタがリセッ ト され、 クロ ッ ク イベン ト 9 の TRQ 時間後

に Q 出力に反映され (この場合は Q 出力は変化なし)、ト ライステート レジスタがリセッ ト されてク

ロッ ク イベン ト 10 の TRQ 時間後に Q 出力に反映されます (この場合は Q 出力は変化なし)。

X-Ref Target - Figure 2-15

図 2-15 : OLOGIC2 ト ライステート レジスタのタイ ミング特性

1 2 3 4 5 6 7 8 9 10 11

TOTCK

TOTCECK

TOTCK

TOSRCK

TRQ

C0

C1

T0

T1

CE

SR

QTOCKQ

ug381_c2_17_051109

64 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

I/O 遅延の概要

Spartan-6 FPGA の各 IOB には、 入力遅延または出力遅延と してコンフ ィギュレーシ ョ ン可能な遅

延ラインが含まれています。 Virtex-5 FPGA の構造とは異なり、Spartan-6 FPGA の遅延は温度や電

圧に対して調整されませんが、 遅延をダイナミ ッ クに正し くキャ リブレーシ ョ ンする機構が含まれ

ています。 遅延ブロッ クは入力遅延または出力遅延と して使用でき、 双方向ピンが使用されている

場合は、 T ピンを制御するこ とによ り入力遅延と出力遅延とを切り替えるこ とができます。 この場

合、 入力遅延および出力遅延は異なる値に設定できます。

図 2-16 に、遅延ラインの基本構造を示します。 8 ビッ トの遅延値によ り、 0 ~ 255 タ ップの遅延を

達成できます。 この値の下位 3 ビッ トは、 リ ング オシレータの開始点を制御します。 オシレータは

入力信号が到着する と ト リガされ、0 ~ 7 タ ップ後に 5 ビッ ト カウンタにク ロ ッ クを供給します。 5ビッ ト カウンタは遅延ライン値の上位 5 ビッ トでプ リセッ ト され、出力がブロ ッ クのプ リセッ ト値

になるまで 0 ~ 31 回ループします。 このよ うにして、1 タ ップの精度で 255 タ ップまでの遅延を達

成します。 リ ング オシレータの各タ ップの 大遅延は、Spartan-6 FPGA データシート (DS162) に定義されています。 小遅延はインプリ メンテーシ ョ ンのタイ ミ ング フェーズ中に算出され、 タイ

ミ ング レポート を作成する と参照できます。 キャ リブレーシ ョ ン ベースのモード (VARIABLE_FROM_ZERO、VARIABLE_FROM_HALF_MAX、および DIFF_PHASE_DETECTOR) を使用す

る場合、 小動作周波数 (FMINCAL) は 256 タ ップのフル遅延ブロッ クで達成される 小遅延によ り

決定されます。

遅延ラインには、2 つの制限があ り ます。 1 つ目は、信号の遅延は 1 ビッ ト周期以下にする必要があ

る という こ とです。この制限を超える と、ビッ ト エラーが発生するこ とがあ り ます。 2 つ目は、エッ

ジの処理は次のエッジが到着するまでに完了する必要がある という こ とです。 顕著なジッタを含む

高速データ ス ト リームでは、 エッジの処理が完了する前に次のエッジが到着するこ とがあ り ます。

1 つ目の制限は、 遅延を入力ビッ ト周期 (1UI) 未満にするこ とで回避できます。 通常は、 データのサ

ンプリ ングをアイの中心に揃えるこ とができるよ うに、遅延は 0.5UI に設定されます。 2 つ目の制限

は、 図 2-17 に示すよ うに各遅延ブロッ クに 2 つの遅延ラインに含まれるので、 回避されます。

1 つの遅延ラインは正の入力遷移を遅延し、も う 1 つの遅延ラインは負の入力遷移を遅延します。遅

延値を調整する際は、 両方のブロ ッ クを変更して正と負の変更が同等に遅延されるよ うにして くだ

さい。

X-Ref Target - Figure 2-16

図 2-16 : 遅延ラインの構築ブロック

UG381_c2_08_051209

FPGA

5

3 5

8

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 65UG381 (v1.3) 2010 年 3 月 15 日

I/O 遅延の概要

I/O 遅延モード

入力遅延または出力遅延は、 次のいずれかのモードで動作させるこ とができます。

• 出力遅延と して FIXED モードで使用する と、 遅延ステップ数がデザインの入力時に設定した

0 ~ 255 の固定値になり ます。

• 入力遅延と して使用する場合、さまざまなモードが可能であ り、IDELAY_TYPE 属性を使用し

て選択できます。

• DEFAUT モードは、 入力遅延をデータ入力のホールド タイムが 0 になるよ う な値に設定しま

す。 このモードでは、 入力クロ ッ クを適用する必要はあ り ません。

• DIFF_PHASE_DETECTOR モードは、差動データ信号に使用します。このモードは、遅延ライ

ンを入力信号に使用する場合にのみ使用可能です。 表 2-9 の IDELAY_TYPE を参照してくだ

さい。 差動位相検出モードでは、 常にマスタおよびスレーブ IODELAY2 の両方が使用されま

す。入力遅延値の変更時にデータ損失が発生しないよ うにするため、 スレーブ ユニッ トによ り

マスタ ユニッ トが完全に制御されます。

• FIXED モードでは、 入力遅延がデザインの入力時に設定した 0 ~ 255 の固定の遅延タップ数

に設定されます。 入力クロ ッ クを適用する必要はあ り ません。 このモードは、 入力信号、 出力

信号、または双方向信号の遅延に使用できます。遅延ラインの各方向に異なる FIXED 値を指定

できます (IDELAY_VALUE および ODELAY_VALUE)。

• VARIABLE_FROM_ZERO および VARIABLE_FROM_HALF_MAX モードは、 キャ リブ

レーシ ョ ンおよびリセッ ト コマンド後の入力遅延動作を指定します。

VARIABLE_FROM_ZERO は、キャ リブレーシ ョ ン後に遅延を 0 に設定し、その後遅延を 1 遅延タップごとにインク リ メン トできます (インク リ メン ト した後はディ ク リ メン ト も可能)。VARIABLE_FROM_HALF_MAX は、 遅延値を 1 入力クロ ッ ク周期に対応する 大ステップ

数の 1/2 に設定し、 その遅延値からインク リ メン トおよびディ ク リ メン ト可能です。 この機構

については、 「I/O 遅延のキャ リブレーシ ョ ンおよびリセッ ト 」 を参照してください。 これらの

モードは、 遅延ラインを入力信号を遅延するために使用している場合にのみ使用可能です。

X-Ref Target - Figure 2-17

図 2-17 : 1 つの遅延ブロックで 2 つの遅延ラインを使用

UG381_c2_09_051209

FPGA

5

3 5

8

S-R

5

3 5

8

66 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

• COUNTER_WRAPAROUND 属性は、遅延プリ ミ ティブが 大値 (入力ビッ ト周期に対応する

遅延タップ数で定義) にインク リ メン ト された場合の動作を定義します。 WRAPAROUND に設定する と、 大値にインク リ メン ト されたと きに遅延が 0 に戻り ます。 STAY_AT_LIMIT に設定する と、 インク リ メン ト コマンドが無視され、 遅延値は 大値に保持されます。 COUNTER_WRAPAROUND を使用する と、入力遅延が UI (ビッ ト周期) よ り長い場合にビッ

ト エラーが回避されます。

I/O 遅延のキャリブレーシ ョ ンおよびリセッ ト

キャ リブレーシ ョ ン機構は各 IOB に組み込まれており、 IODELAY2 ブロ ッ クの個々の遅延に対す

る温度、電圧、プロセスの影響を補正します。 この機構によ り、 IODELAY2 ブロ ッ クを既知の信号

に対してキャ リブレーシ ョ ンできます。 この機構では、 IODELAY2 ブロ ッ クに適用される I/O クロ ッ クが既知の信号と して使用されます。キャ リブレーシ ョ ンには、IODELAY2 プリ ミ ティブ上の

CAL および RST 入力ピンを使用します。

遅延ブロ ッ クに対してアクティブ High の CAL コマンドが発行される と、 遅延ブロ ッ クは I/O クロ ッ ク入力上の立ち上がりエッジ間の遅延ステップ数が算出される特別なモードになり ます。 キャ

リブレーシ ョ ンには、 グローバル ク ロ ッ ク と I/O クロ ッ クの比によって、 グローバル ク ロ ッ クの

12 ~ 20 サイクルかかり ます。 この間 BUSY がアサート され、ブロ ッ クのデータ出力は無効になり

ます。 算出された値は遅延ブロッ クに保存され、 アクティブ High の RST コマンドが受信された場

合にのみ読み込まれます。 初の CAL 操作が実行され、 RST コマンドが受信される と、 デザイン

入力時に指定された IDELAY_TYPE 属性の値によって、 遅延が 0 または算出値の 1/2 (HALFMAX) になり ます。 この後、CAL コマンドを定期的に発行できますが、 初のキャ リブレーシ ョ ン

シーケンスの後は RST コマンドを発行する必要はあ り ません。

遅延ラインを HALF MAX 遅延に設定する と、入力遅延が入力クロ ッ ク サイクルのちょ う ど 1/2 とな り、 入力データ アイの中央でデータをサンプリ ングするこ とが可能になり ます。

キャ リブレーシ ョ ンされても、 遅延エレ メン トは温度および電圧によって変動します。

キャリブレーシ ョ ンの例

この例では、 遅延タ ップの平均値は 80ps で、 250MHz (4,000ps) の I/O ク ロ ッ クが IODELAY2 に適用されます。 キャ リブレーシ ョ ン コマンドが発行される と、値 4,000 / 80 = 50 が内部的に戻され

ます。 入力遅延が VARIABLE_FROM_HALF_MAX に設定されている場合、 リセッ ト コマンドの

後、 入力遅延値は 25 タ ップ (入力クロ ッ ク周期の 1/2) に設定されます。

遅延のアップデート と BUSY のタイ ミング

遅延ラインが新しい値でアップデート される と、図 2-18 に示すよ うに、新しい値はすぐには適用さ

れません。 アップデート中に有効なデータを受信するこ とが必要なので、同期化が非常に重要です。

遅延値がアップデート される と BUSY 信号が High になり、同期化が進行中であるこ とが示されま

す。 2 つの入力データ遷移が受信されるまで、 BUSY は Low になり ません。 BUSY が Low になる

と、 新しい値が有効になり ます。 データ遷移がないと、 BUSY は長時間アサート されたままになり

ます。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 67UG381 (v1.3) 2010 年 3 月 15 日

I/O 遅延の概要

X-Ref Target - Figure 2-18

図 2-18 : 遅延のインクリ メン トまたはディ クリ メン トの調整タイ ミング

BUSY

INCDEC

CE

Global Clock

UG381_c2_10_021210

表 2-8 : IODELAY2 のポート と定義

ポート名 タイプ 説明

IDATAIN 入力 IOB からのデータ信号。

T 入力 OLOGIC2 または OSERDES2 からの ト ライステート入力信号。 Low の場合 IODELAY2 は出力遅延になり、 High の場合は入力遅延になり ます。

ODATAIN 入力 OLOGIC2 または OSERDES2 からのデータ入力信号。

CAL 入力 IODELAY2 キャ リブレーシ ョ ン シーケンスを開始します。 キャ リブレーシ ョ ン シーケンス

には、GCLK の 8 ~ 16 サイクルかかり ます。 キャ リブレーシ ョ ン シーケンスが完了する と、

BUSY が Low になり ます。

IOCLK0 入力 I/O クロ ッ ク ネッ ト ワークからの入力。 ク ロ ッ ク 2 逓倍回路が使用されていない場合のプラ

イマ リ ク ロ ッ ク入力です (DATA_RATE 属性を参照)。 反転可能です。

IOCLK1 入力 I/O クロ ッ ク ネッ ト ワーク入力。 ク ロ ッ ク 2 逓倍回路が使用されている場合にのみ使用され

るセカンダ リ ク ロ ッ ク入力です (DATA_RATE 属性を参照)。 反転可能です。

CLK 入力 グローバル ク ロ ッ ク ネッ ト ワーク入力。 FPGA ロジッ ク インターコネク ト ド メ インのク

ロ ッ クです。

INC 入力 インク リ メン ト /デク リ メン ト信号。 タ ップ設定をインク リ メン ト /ディ ク リ メン トするために

使用します。 INC は、 CE が High にアサート されている場合にのみ High にアサートするよ

うにしてください。

CE 入力 インク リ メン ト /ディ レク ト リ信号のクロ ッ ク イネーブル。

RST 入力 IODELAY2 を 0 または I/O ク ロ ッ ク周期の 1/2 にリセッ ト します。 どちらの値にリセッ トす

るかは、 IDELAY_TYPE 属性で制御します。

BUSY 出力 キャ リブレーシ ョ ンの完了、 または同期タップ遅延アップデートの完了を示す信号。

DATAOUT 出力 ILOGIC2 または ISERDES2 サイ トの D ピンへの遅延されたデータ信号。

DATAOUT2 出力 PCI アプリケーシ ョ ンで使用するセカンダ リ遅延。

TOUT 出力 出力遅延と して使用された場合の IOB への遅延された ト ラ イステート信号。

DOUT 出力 出力遅延と して使用された場合の IOB への遅延されたデータ信号。

68 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 2 章 : SelectIO ロジック リソース

表 2-9 : IODELAY2 属性

属性名 値 デフォルト値 説明

IDELAY_VALUE 整数 : 0 ~ 255 0 入力遅延モードでの遅延タップ値を定義します。

IDELAY2_VALUE 整数 : 0 ~ 255 0 セカンダ リ入力遅延モードでの遅延タ ップ値を

定義します。 IDELAY_MODE が PCI に設定さ

れている場合のみアクティブになり ます。

IDELAY_MODE 文字列 : NORMAL または PCI NORMAL 遅延モード設定を指定します。 PCI は、 PCI アプリ ケーシ ョ ン用です。 入力遅延にのみ影響し

ます。

ODELAY_VALUE 整数 : 0 ~ 255 0 出力遅延モードでの遅延タップ値を定義します。

IDELAY_TYPE 文字列 : FIXED、 DEFAULT、VARIABLE_FROM_ZERO、

VARIABLE_FROM_HALF_MAX、

DIFF_PHASE_DETECTOR

DEFAULT 遅延のタイプを指定します。 FIXED : 固定入力遅延を有効にします。 ブロ ッ

クにク ロ ッ クを供給する必要はあ り ません。 DEFAULT : ホールド タイムを 0 にします。

VARIABLE : インク リ メン ト /ディ ク リ メン ト

遅延モードを有効にし、 キャ リブレーシ ョ ンを

実行します。

VARIABLE_FROM_ZERO および VARIABLE_FROM_HALF_MAX : RST ピン

がアサート されたと きの リセッ ト動作を指定し

ます。

DIFF_PHASE_DETECTOR : オプシ ョ ンの位

相検出器を使用するためマスタおよびスレーブ

IODELAY2 および ISERDES2 をカスケード接

続します。

COUNTER_WRAPAROUND

文字列 : STAY_AT_LIMIT、WRAPAROUND

STAY_AT_LIMIT

大または 小タ ップ数を超えた場合の動作を

指定します。 タ ップ設定がインク リ メン ト され

たかディ ク リ メ ン ト されたかによって異なり ま

す。 タ ップ数を常に正しい動作範囲内に保持で

きます。

DELAY_SRC 文字列 : IO、 ODATAIN、

IDATAINIDATAIN IODELAY2 入力のソースを指定します。

ODATAIN : OSERDES2 または OLOGIC2 から

の ODATAIN ピンが遅延のソースとなり ます。 IDATAIN : 入力ピンが遅延のソースとなり ます。

IO : T ( ト ライステート ) 入力によって、信号ソー

スが IDATAIN および ODATAIN の間で切り替

えられます。

SERDES_MODE 文字列 : NONE、 MASTER、

SLAVENONE IODELAY2 を ISERDES2 と共に使用する場合

に、 ISERDES2 がスタンドアロンか、 カスケー

ド接続されたマスタまたはスレーブであるかを

示します。

SIM_TAP_DELAY 整数 : 20 ~ 100 50 シ ミ ュレーシ ョ ンのみの属性。シ ミ ュレーシ ョ ン

で標準タップ遅延の異なる値をテス トできます。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 69UG381 (v1.3) 2010 年 3 月 15 日

第 3 章

アドバンス SelectIO ロジック リソース

ISERDES2 の概要

各 IOB には入力デシリアライザ ブロッ クが含まれており、ISERDES2 プリ ミティブを使用してデザ

インにインスタンシエートできます。 ISERDES2 を使用する と、 SerDes 比 1:1 (SDR モードのみ)、1:2、 1:3、および 1:4 のシ リアル - パラレル変換が可能です。 SerDes 比は、データをキャプチャする

高速 I/O クロ ッ ク と、 それよ り低速のパラレル データの処理に使用する内部グローバル クロ ッ ク と

の比です。 たとえば、 500MHz で動作するシングル レート I/O クロ ッ クで 500Mb/s でデータを受信

する場合、ISERDES2 によ り 4 ビッ トのデータが 1/4 のレート (125MHz) で FPGA ロジッ クに転送

されます。

差動入力を使用する場合、 2 つの IOB に関連付けられた 2 つの ISERDES2 プリ ミ ティブをカス

ケード して、 SerDes 比 1:5、 1:6、 1:7、 および 1:8 を達成できます。

各 ISERDES2 には、 パラレル データをワードで揃えるロジッ ク も含まれています。 このロジッ ク

は、 Bitslip 操作を実行する場合に必要です。

ISERDES2 のポートおよび属性

表 3-1 に、 ISERDES2 プリ ミ ティブのポート を示します。

表 3-1 : ISERDES2 のポート と定義

ポート名 タイプ 説明

CLK0 入力I/O クロ ッ ク ネッ ト ワーク入力。 オプシ ョ ンで反転可能です。 ク ロ ッ ク 2 逓倍回路が使用さ

れていない場合のプライマ リ ク ロ ッ ク入力です (DATA_RATE 属性を参照)。

CLK1 入力I/O クロ ッ ク ネッ ト ワーク入力。 オプシ ョ ンで反転可能です。 ク ロ ッ ク 2 逓倍回路が使用さ

れている場合にのみ使用されるセカンダ リ ク ロ ッ ク入力です (DATA_RATE 属性を参照)。

CLKDIV 入力 グローバル ク ロ ッ ク ネッ ト ワーク入力。 FPGA ロジッ ク ド メ インのク ロッ クです。

CE0 入力 すべてのレジスタのクロ ッ ク イネーブル入力。

BITSLIP 入力High の場合、Bitslip が実行されます。 Bitslip 操作は、カスケード接続されているかど うかに

かかわらず、 どの DATA_WIDTH でも使用できます。

D 入力 入力データ。 IODELAY2 ブロ ッ クによ り遅延されたデータです。

RST 入力 非同期リセッ トのみ。

IOCE 入力

BUFIO2 または BUFPLL CE から生成されたデータ ス ト ローブ信号。 SerDes モードが選択

されている場合に、データ キャプチャが I/O およびグローバル クロ ッ クに対して正し く タイ

ミ ングが揃えられるよ うにス ト ローブします。 ISERDES2 に取り込まれます。

70 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース

SHIFTIN 入力

マスタ /スレーブ I/O のカスケード入力信号。 DATA_WIDTH が 5 以上でマスタ サイ トおよ

びスレーブ サイ トの両方を使用する場合に使用されます。 ブロ ッ クがマスタの場合、 位相検

出モードでのデータ入力とな り ます。 ブロ ッ クがスレーブの場合、 パラレル データに変換す

るシ リアル データを送信します。

CFB0 出力PLL または DCM で生成されたクロ ッ クを BUFIO2FB を介して PLL または DCM にフ ィー

ドバッ クするためのフ ィードバッ ク スルー配線。

CFB1 出力PLL または DCM で生成されたクロ ッ クを BUFIO2FB を介して PLL または DCM にフ ィー

ドバッ クするためのセカンダ リ フ ィードバッ ク スルー配線。

DFB 出力IODELAY2 エレ メン トで遅延された入力クロ ッ クを BUFIO2 を介して DCM、PLL、または

BUFG に送信するためのフ ィードバッ ク スルー配線。

SHIFTOUT 出力

マスタ /スレーブ I/O のカスケード出力信号。スレーブ モードでは、スレーブからサンプリ ン

グされたデータを送信します。 マスタ モードでは、入力シフ ト レジスタの 4 段目からシ リア

ル データをスレーブに送信します。

FABRICOUT 出力 FPGA ロジッ クで使用するための非同期データ。

Q4、Q3、Q2、Q1 出力 FPGA ロジッ クへのレジスタを介した出力。

VALID 出力

マスタ モードでの位相検出器の出力 (スレーブ モードではダ ミー )。 入力データにエッジが

ない (位相検出器で処理可能な情報がない) 場合、VALID 信号が Low になり、FPGA ロジッ

クで INCDEC 信号が無視されます。

INCDEC 出力マスタ モードでの位相検出器の出力 (スレーブ モードではダ ミー )。 受信データが早くサン

プ リ ングされたか遅くサンプ リ ングされたかを FPGA ロジッ クに示します。

表 3-1 : ISERDES2 のポート と定義 (続き)

ポート名 タイプ 説明

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 71UG381 (v1.3) 2010 年 3 月 15 日

ISERDES2 の概要

表 3-2 に、 関連する ISERDES2 属性をすべて示します。 これらの属性を UCF、 VHDL、 または

Verilog コードに適用する場合の詳細は、 ISE ソフ ト ウェア マニュアルを参照してください。

ISERDES2 の動作

図 3-1 に、ISERDES2 に含まれるロジッ クを示します。 シ リアル データは、通常 IODELAY2 ブロ ッ

クを介してピンから受信され、I/O ク ロ ッ クで 4 ビッ ト シフ ト レジスタ (A) に入力されます。 この

I/O クロ ッ クは、PLL またはローカル ク ロ ッ ク 2 逓倍機構を介する入力データ と同じ速度で動作し

ます。 ダブル データ レート (DDR) 手法は必要あり ません。

その後、I/O クロ ッ ク と Bitslip クロ ッ ク イネーブル信号を使用して、4 ビッ トのパラレル データが

パラレル レジスタ (B) に転送されます。 B の出力は、ISERDES2 が NETWORKING モードの場合

は FPGA ロジッ クで使用可能になり、 それ以外の場合は I/O ク ロ ッ クおよび入力 SerDes ス ト ロー

ブ信号 IOCE を使用してレジスタ セッ ト C に送信されます。 レジスタ セッ ト C の出力は

ISERDES2 が NETWORKING_PIPELINED モードの場合は FPGA ロジッ クで使用可能になり、そ

れ以外の場合はユーザー グローバル クロ ッ ク ド メ インのレジスタ セッ ト D に送信されます。レジ

スタ セッ ト D の出力は、ISERDES2 が RETIMED モードの場合は FPGA ロジッ クで使用可能にな

り ます。

表 3-2 : ISERDES2 ブロックの属性

属性名 設定可能な値 デフォルト値 説明

DATA_RATE SDR、 DDR SDR

データ レート設定。 SDR ク ロ ッ クは、BUFIO2ク ロ ッ ク、BUFPLL ク ロ ッ ク、または グローバ

ル ク ロ ッ クから供給できます。 DDR ク ロ ッ ク

は、 2 つの BUFIO2 ク ロ ッ ク、 あるいは 1 つま

たは 2 つのグローバル ク ロ ッ クから供給でき

ます。

DATA_WIDTH 2、 3、 4、 5、 6、 7、 8 2

データ幅。 シ リ アル - パラレル変換器のパラレ

ル データ出力幅を指定します。 5 以上の値を指

定する場合は、 2 つの ISERDES2 ブロッ クをカ

スケード接続する必要があ り ます。 この場合、マ

スタ ブロ ッ クおよびスレーブ ブロッ クの両方

に同じ値を設定する必要があ り ます。

BITSLIP_ENABLE TRUE、 FALSE FALSE

BITSLIP 入力ピンによ り制御される Bitslipファンクシ ョ ンをイネーブルまたはディ スエー

ブルにします。 ス リ ップされるビッ ト数は、

DATA_WIDTH の値よって決ま り ます。 ディ ス

エーブルにした場合、Bitslip CE は常にデフォル

ト値 (IOCE ク ロ ッ ク イネーブルの 1 I/O ク ロ ッ

ク前) に保持されます。

SERDES_MODE NONE、 MASTER、 SLAVE NONE

ISERDES2 をそれのみで使用するか、 2 つの ISERDES2 ブロッ クをカスケード接続したと き

のマスタまたはスレーブと して使用するかを指

定します。

INTERFACE_TYPENETWORKING、

NETWORKING_PIPELINED、

RETIMEDNETWORKING 動作モードを選択し、 FPGA ロジッ ク上でどの

パラレル データを使用可能かを指定します。

72 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース

図 3-2 に示すよ うに、 SerDes ス ト ローブのタイ ミ ングによ り、 正しいロスなしのデータ転送が可能

になり ます。 図 3-2 に示すタイ ミ ング図は、1:4 のデシリアル化を実行した場合のものです。 正し く機

能させるには、 SerDes ス ト ローブのタイ ミ ングが重要です。 この信号は、 BUFIO2 または BUFPLLで生成されます。これらについては、『Spartan-6 FPGA ク ロ ッ ク リ ソース ユーザー ガイ ド』 で説明

されています。

表 3-3 に、 さまざまな SerDes 比で有効な出力ピンを示します。

表 3-3 : 1 つの ISERDES2 プリ ミテ ィブを使用した場合のデータ接続

入力 SerDes の係数 FPGA ロジックへの入力として使用するピン (MSB ~ LSB)

2 Q4、 Q3

3 Q4、 Q3、 Q2

4 Q4、 Q3、 Q2、 Q1

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 73UG381 (v1.3) 2010 年 3 月 15 日

ISERDES2 の概要

X-Ref Target - Figure 3-1

図 3-1 : ISERDES ブロックに含まれるロジック

UG381_c3_01_021210

D

Bitslip Logic

IOCLK

Outputs to FPGA logic from B are used in NETWORKING modeOutputs to FPGA logic from C are used in NETWORKING + PIPELINED modeOutputs to FPGA logic from D are used in RETIMED mode

Input datafrom pin viainput delay

Q4

Q3

Q2

Q1

Cascade In

I/O Clock Enable(SerDes Strobe)

Bitslip enablefrom FPGA logic

Paralleldata inputsto FPGAlogic

Clock enablefrom FPGA logic

Global clock

Cascade Out

A B

C D

DCE

DCE

DCE

Q D

CE

D DCE

DCE

DCE

D DCE

DCE

DCE

D DCE

DCE

DCE

74 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース

NETWORKING モード

ISERDES2 を NETWORKING モードで使用している場合、 BITSLIP 機能はサポート されません。

NETWORKING_PIPELINED モード

IOCE イネーブル レジスタ バンク (C) の出力が FPGA ロジッ クで使用可能にな り ます。 このモー

ドでは、 Bitslip 機能を使用できます。 出力データは、 グローバル ク ロ ッ クの立ち上がりエッジの

(n - 1.5) I/O ク ロ ッ ク前に変化します。 このタイ ミ ングが許容される場合は、 RETIMED モード と

比較してデータ レイテンシの面で優れています。

RETIMED モード

終レジスタ バンク (D) の出力が FPGA ロジッ クで使用可能になり ます。 このレジスタには、 グ

ローバル クロ ッ ク入力にタイ ミ ングが揃えられたデータが含まれます。タイ ミ ングの問題は、SerDes比が次の場合にのみ発生します。

• 2:1 (=DDR) (I/O スピードが 500Mb/s に制限される場合)

• 3:1 (I/O スピードが 750Mb/s に制限される場合)

その他の SerDes 比では、 データシートで指定されたデータ レートがすべてサポート されます。 このモードで Bitslip を使用する場合、 問題は発生しません。

カスケード接続した場合の動作

シングルエン ド または差動データ受信を使用する場合、 正の入力ピンに関連付けられたマスタ

ISERDES2 を負の入力ピンに関連付けられたスレーブ ISERDES2 にカスケード接続できます。 カスケード接続するには、 マスタ ISERDES2 の SHIFTOUT ポート をスレーブ ISERDES2 の

SHIFTIN ポートに接続します。 カスケード接続は、 図 3-1 に示されています。

受信データは、前と同様フ リ ップフロ ップの 4 つのバンクにアクセスできるよ うになっていますが、

カスケード接続した場合、各バンクは 8 個のフ リ ップフロ ップで構成されます。 SerDes ス ト ローブ

は、 それに応じて BUFPLL または BUFIO2 属性を使用して変更します。 これらは、 カスケード接

続された 2 つの ISERDES2 の属性と一致させる必要があ り ます。 シングルエンド データを受信す

る場合、 このカスケード接続によ り近接するピンの同期入力ロジッ クが使用できなくなり ます。 ピ

ンを非同期入力または出力と して使用するこ とは可能です。

X-Ref Target - Figure 3-2

図 3-2 : ISERDES のタイ ミング図 (4:1 デシリアル化)

Input Serial Data

Parallel Register A

Bitslip Input

Parallel Register B

SerDes Strobe IOCE

Parallel Register C

I/O Clock

Global Clock

Parallel Register D

UG381_c3_02_111309

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 75UG381 (v1.3) 2010 年 3 月 15 日

ISERDES2 の概要

表 3-4 に、2 つのカスケード接続された ISERDES2 プリ ミ ティブを使用したデータ接続を示します。

Bitslip の動作

Bitslip 機能を使用して受信データのワード アライ メン ト を調整できます。 これには通常、 受信フ

レーミ ング信号を使用するか、ビデオ アプリケーシ ョ ンでインプ リ メン ト されるよ うに受信クロ ッ

クの立ち上がりエッジに関連付けます。 Bitslip は、Bitslip レジスタ (B) に供給するクロ ッ ク イネー

ブルのタイ ミ ングを変更するこ とによ り実行します。 このタイ ミ ングは、 『Spartan-6 FPGA ク ロ ッ

ク リ ソース ユーザー ガイ ド』 に説明されているよ うに、 初は BUFPLL または BUFIO2 から受

信される メ インの I/O ク ロ ッ ク イネーブル信号に設定されています。

図 3-3 に示す例には、n 個の入力データ ラインと一定のパターン 0001 を含む 1 つのフレーム ライ

ンがあ り ます。 1:4 のデシ リアル化はすべてのラインで必要であ り、 受信されたフレーム データ パターンが 0001 に一致したと きに正しいフレーム化が達成されます。

表 3-4 : 2 つの ISERDES2 プリ ミテ ィブをカスケード接続した場合のデータ接続

入力 SerDes の係数 FPGA ロジックへの入力として使用するピン (MSB ~ LSB)

5 マスタ (Q4、 Q3、 Q2、 Q1) およびスレーブ (Q4)

6 マスタ (Q4、 Q3、 Q2、 Q1) およびスレーブ (Q4、 Q3)

7 マスタ (Q4、 Q3、 Q2、 Q1) およびスレーブ (Q4、 Q3、 Q2)

8 マスタ (Q4、 Q3、 Q2、 Q1) およびスレーブ (Q4、 Q3、 Q2、 Q1)

X-Ref Target - Figure 3-3

図 3-3 : ISERDES ブロックの Bitslip 動作のタイ ミング図 (4:1 デシリアル化)

I/O

Bitslip

B

I/O Clock

Bitslip

4

Bitslip

()

Bitslip

4

Bitslip

()

Bitslip Bitslip

5

Bitslip Bitslip

5

01 0 0 1 0

0100 0100 0010 0010 0001

0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0

4

4

4

Bitslip IODELAY2 ISERDES2 Bitslip

0 IODELAY2 ISERDES2

n IODELAY2 ISERDES2

UG381_c3_03_061209

76 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース

Bitslip ステート マシンでは、フレーム ラインに入力される 4 ビッ ト データが 0001 と比較され、ワー

ドが正し くフレーム化されていない場合はすべての ISERDES2 レシーバ ラインに対して Bitslip コマ

ンドを発行します。 ここに示す例では、 初に受信されたフレーム化データは 0100 です。 Bitslip ステート マシンによ り Bitslip コマンドが発行されて受信データが 0010 になり、 も う 1 度 Bitslip コマ

ンドが発行されて必要なビッ ト パターン 0001 を得ます。 必要なビッ ト パターンが検出されると、シ

ステム アーキテクチャによって 2 つの結果が得られます。 論理的にはこれ以上の Bitslip コマンドは

必要ないのでステート マシンはディスエーブルにできますが、 Bitslip ステート マシンを継続して使

用すると、 不正なフレーム化データが検出された場合にデータが破損しているこ とがわかり、 これに

対処するこ とができます。

すべてのレシーバ ISERDES は Bitslip コマンドによ り同じよ うにシフ ト されるので、入力データの

各 4 ビッ ト ワードはフレーミ ング パターンに正し く揃えられます。

Bitslip コマンドが受信される と、 すべての ISERDES 内で Bitslip 機能が実行されます。 これは、

Bitslip クロ ッ ク イネーブルの繰り返し周期をコマンドごとに 1 回変更するこ とによ り達成されま

す。 図 3-3 に示す例では、 I/O ク ロ ッ クの 4 サイクルごとに Bitslip ク ロ ッ ク イネーブル ラインが

High になり、 後に受信される 4 つのシ リアル データがキャプチャされます。 Bitslip コマンドが受

信される と、 Bitslip ク ロ ッ ク イネーブルが、 I/O ク ロ ッ クの 5 サイクルごと、 コマンドごとに 1 回High になり ます。 受信された 後の 4 つのシ リ アル ビッ トはキャプチャされますが、受信された 1つのデータ ビッ トは事実上破棄されます。 一定のデータ パターンを含むシ リ アル ラ インの場合、受

信データが 1 ビッ ト右に回転されます。 Bitslip は、 デシ リアル化の係数 5:1、 6:1、 7:1、 および 8:1用にマスタおよびスレーブ ISERDES2 がカスケード接続されている場合にも使用できます。その場

合、 マスタおよびスレーブ ISERDES2 は確実に同期化されます。

Bitslip クロ ッ ク イネーブルの前に受信された 後のビッ トは、 パラレル ワードの 上位ビッ ト と

な り ます。

次に、 Bitslip ステート マシンの典型的な擬似コードを示します。

After resetIf input frame data ? required frame pattern thenBITSLIP <= ‘1’

Else BITSLIP <= ‘0’ BITSLIP_COMPLETE <= ‘1’

Wait one global clock cycleRepeat

位相検出器の概要

位相検出器は、IODELAY2 差動入力モードでのみ動作します。シングルエンド信号入力と して使用

できますが (_P ピンのみ)、 位相検出モードでは 2 つの IODELAY2 および 2 つの ISERDES2 プリ

ミ ティブが必要なので、 信号入力に隣接するピンを同期入力には使用できなくなり ます。 位相検出

器では、マスタおよびスレーブ ILOGIC ブロ ッ クのフ リ ップフロ ップが使用されます。 GCLK に同

期した 2 つの出力があ り ます。

• INCDEC : 遅延ライン値をインク リ メン ト /ディ ク リ メン トする必要があるこ とを示します。

• VALID : 1 つ以上の有効なエッジが検出されたこ とを示します。

位相検出器は、 データの立ち上がり遷移および立ち下がり遷移の両方を使用します。 遷移がない場

合は、 調整信号は生成されません。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 77UG381 (v1.3) 2010 年 3 月 15 日

位相検出器の概要

位相検出器では、 入力サンプリ ング フ リ ップフロップからの入力を使用します。

• S3 : マスタ フ リ ップフロ ップ出力

• S2 : マスタ フ リ ップフロ ップ出力を IOCLK の 1 ク ロ ッ ク サイクル シフ ト した出力

• E3 : スレーブ フ リ ップフロ ップ出力

信号 S3 でエッジが検出される と、イベン トが発生します。 このイベン トは、平均化カウンタのアッ

プデート を制御します。 このカウンタは、 長 IOCLK の 8 サイクル間サンプルを格納します。

E3 がアイの左側の場合は遅延ラインをインク リ メン ト 、 E3 がアイの右側の場合は遅延ラインを

ディ ク リ メン トする必要があ り ます。 位相検出器は E3 を S3 と比較し、直前の比較結果に基づいて

カウンタをインク リ メン ト またはディ ク リ メン ト します。

位相検出器は、入力差動データでのみ使用可能です。 この機構では、マスタおよびスレーブ入力遅延

エレ メン ト両方を特別なモード (IDELAY_TYPE = DIFF_PHASE_DETECTOR) に設定し、マスタ

およびスレーブ ISERDES2 ロジッ クを使用します。

マスタ SerDes には、位相検出器をイネーブルにするためのビルト イン ロジッ クが含まれています。

これによ り、受信データ ビッ トの位相をサンプリ ング I/O ク ロ ッ クに参照させるこ とができ、サン

プ リ ングがアイの中央よ り前または後で行われているかを判断できます。 これを達成するため、 ス

レーブ SerDes からマスタ SerDes へのカスケード パスがあ り、マスタ SerDes からスレーブに取り

込まれた情報が位相検出器に転送されます。位相検出器の出力が有効になる と、マスタおよびスレー

ブ入力遅延ブロッ クの遅延は適切に調整されます。

デシ リアル化のデータおよび FPGA ロジッ クへの入力は、 常にマスタ入力遅延から供給されます。

スレーブ入力遅延は、位相検出器ロジッ クを正し く機能させるためのものです。 図 3-4 に、位相検出

器のトポロジを示します。

X-Ref Target - Figure 3-4

図 3-4 : 差動データ位相検出器のトポロジ

IODELAY2

P

N

ug381_c3_04_010710

BUSY CE INC CAL RST

VALIDINCDEC

ISERDES2

ISERDES2

FPGA

IODELAY2

IOCLKGlobal CLK

FPGA BUSY CE INC CALRST

78 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース

位相検出器の動作は、データ ラインのステートに変化がある場合、各グローバル クロ ッ ク サイクル

で VALID および INCDEC に出力されます。 VALID がアサート されている場合は 1 つ以上の遷移が

発生しているこ とを示し、 INCDEC はデータがアイの中央でサンプリ ングされるよ うに IODELAYを移動する方向を示します。 VALID がディアサート されている場合、 データ遷移が発生していない

か、 発生した遷移の数が後に発生した遷移の数と同じであるために発生した遷移が相殺されてし

まっているこ とを示します。

サンプ リ ング機構および入力遅延エレ メン ト (離散タップ) の特性によ り、サンプル ポイン トがアイ

のちょ う ど中央で発生するよ うにするこ とは事実上不可能なので、 調整が不要な場合でも VALID および INCDEC 信号がアクティブになるこ とがあ り ます。 遅延ラインをどのよ うにアップデート

するかは、 ユーザーが判断してください。 遅延ラインのアップデートは、 すぐに行うか、 平均化ス

テート マシンを使用します。 たとえば、グローバル クロ ッ クの 1 サイ クル間に発生した遷移が 1 つのみの場合、 VALID がアサート されます。

位相検出器のキャリブレーシ ョ ン機構

位相検出器は、 入力遅延のキャ リブレーシ ョ ン機能に依存しています。 位相検出器を正し く機能さ

せるため、 キャ リブレーシ ョ ンを周期的に実行する必要があ り ます。 この機構は第 2 章 の 「I/O 遅延のキャ リブレーシ ョ ンおよびリセッ ト 」 で詳細に説明されており、同じコン ト ローラ ステート マシンの一部です。 位相検出器が使用されているかによって、 キャ リブレーシ ョ ンは多少異なる 2 つの方法で実行されます。

まずステート マシンによ りマスタおよびスレーブ IODELAY2 エレメン ト両方に対して CAL コマン

ドが発行され、入力クロッ クを使用して各エレメン トが MAX 値にキャ リブレーシ ョ ンされます。 こ

の時点では、その値は遅延ラインには読み込まれません。 その後、マスタおよびスレーブ IODELAY2エレメン ト両方に対して RST コマンドが発行され、マスタ遅延が HALF MAX (入力データを直接ア

イの中央でサンプリングするのに適したもの) になり、スレーブ遅延が MAX になり ます。このモード

では、 スレーブ遅延は常にマスタ遅延に HALF MAX を加えたものになり ます。

遅延ライン値が電圧および温度で変動した場合にデータが破損しないよ うにするため、ステート マシンでスレーブ遅延を定期的にキャ リブレーシ ョ ンし直す必要があ り ます。 これには、CAL コマン

ドをスレーブ IODELAY2 に対してのみ発行してキャ リブレーシ ョ ンします。 この操作ではマスタ

遅延は変更されないので、データを受信し続けるこ とができます。 スレーブ IODELAY2 のみに対し

て CAL コマンドが発行される と、前と同様マスタの入力遅延に対応する値 (この操作では変更され

ていない) に HALF MAX を加えたものになり ます。 デバイスの動作条件が変わる と、MAX 値も変

化する可能性があ り ますが、 スレーブ遅延がマスタ遅延にクロ ッ ク周期の 1/2 を加えたものである

こ とは変わり ません。

この再キャ リブレーシ ョ ン中、 マスタ遅延は常に有効ですが、 スレーブ遅延はランダムなものにな

るので、 BUSY ピンがコマンドの完了を示すまで位相検出器の出力は無効です。

このキャ リブレーシ ョ ンと位相検出器を使用したマスタ遅延の動的な調整を組み合わせるこ とによ

り、 高ビッ ト レートでもデータを正し く受信できます。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 79UG381 (v1.3) 2010 年 3 月 15 日

位相検出器の概要

位相検出器の動作

前述のとおり、DIFF_PHASE_DETECTOR モードでは、マスタ入力遅延はキャ リブレーシ ョン (CAL)コマンドおよびリセッ ト (RST) コマンドの後に、入力遅延のキャ リブレーシ ョンによ り判断された入

力 I/O クロッ ク周期の 1/2 に設定されます。 この時点で、スレーブはマスタ入力遅延に入力 I/O クロッ

ク周期の 1/2 (HALF MAX) を加えたものに設定されます。 キャ リブレーシ ョ ンの完了後は、マスタ遅

延がインク リ メン ト またはディ ク リ メン ト される と、新しい値に HALF MAX を加えた値がスレーブ

遅延ラインにプログラムされ、スレーブ遅延値が常にマスタ遅延値に HALF MAX を加えたものにな

り ます。これによ り、スレーブ遅延がオーバーフロー (> MAX) するこ とがあり ます。 これを正し く処

理するため、位相検出器には追加のフ リ ップフロップが含まれており、 スレーブ遅延が 1 クロッ ク周

期よ り も大きい場合に正し く動作するよ うマルチプレクスされます。

位相検出器は、 マスタおよびスレーブ ISERDES からの 3 つの信号にアクセスします。

• マスタでサンプリ ングされたデータ (S3) (マスタ入力遅延ブロッ クで遅延されたデータ )

• この信号のレジスタを介した信号 (S2)

• スレーブでサンプリ ングされたデータ (E3) (スレーブ入力遅延ブロッ クで遅延されたデータ )

図 3-5 に、 この回路の簡略図を示します。

スレーブでのサンプルの取り込みは、 入力データ信号のスイ ッチ ポイン トの近くで発生します。 これは、スレーブ ISERDES2 入力のフ リ ップフロ ップでメ タステーブル状態が発生するこ とがあるの

で、 予測されるものです。 メ タステーブル状態は、 回路の動作には影響しません。

S3 および S2 信号によ り入力データの変更が示され、E3 信号によ り信号が早くサンプ リ ングされた

のか遅くサンプ リ ングされたのかを判断できます。 E3 信号は S3 信号の 1/2 ク ロ ッ ク サイクル後に

取り込まれ、2 つの値のうちいずれかになり ます。 E3 が S2 と同じである場合は S3 は早くサンプ リ

ングされており、 E3 が S3 と同じである場合は S3 は遅くサンプ リ ングされています。 サンプ リ ン

グがちょ う どのタ イ ミ ングで行われたこ とは示されないので、 常に早いか遅いかに判断されます。

サンプ リ ングが早い場合のタイ ミ ング図を図 3-6 に、 サンプ リ ングが遅い場合のタイ ミ ング図を図

3-7 に示します。

X-Ref Target - Figure 3-5

図 3-5 : 位相検出器の動作

UG381_C3_05_060509

S3

S2

I/O I/O

E3

FPGA

I/O

VALID

INCDEC

80 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース

カウンタは S3、S2、および E3 の比較結果によ り インク リ メン ト またはディ ク リ メン ト され、グロー

バル ク ロ ッ クに同期して 0 にリセッ ト されます。 たとえば、SerDes 係数が 7 の場合、 I/O ク ロ ッ ク

の 7 周期ごとに リセッ ト されます。 クロ ッ クが発生する と、 この平均化カウンタが 0 以外の場合、

VALID がアサート され、I/O ク ロ ッ クが入力データ ビッ トの中央になるよ うマスタ遅延を調整する

方向が INCDEC によ り示され、 データが正し く受信されるよ うにします。

I/O サンプリ ング クロ ッ クは、入力クロッ クが DDR または分周されたものであっても常に信号デー

タ レート クロ ッ クであり、ロジッ クはすべてこのクロッ クの立ち上がり レジスタに取り込まれます。

そのため、逓倍に PLL を使用している場合は、ダブル レート クロ ッ クで発生する可能性のある不正

確さ (デューティ サイクルの歪みなど) は影響しません。 入力 DDR クロ ッ クから BUFIO2_2CLK プリ ミティブを介してシングル レート I/O クロ ッ クを生成する場合は、 DDR クロ ッ クの入力歪みが

I/O クロ ッ クにジッタ と して現れます。 DCM を 2 つのグローバル バッファ と共に使用する場合

(CLK0 と CLK180 など)、 ク ロ ッ クのグローバル分配に少しでも不一致がある と、 I/O クロ ッ クに

ジッタ と して現れます。

X-Ref Target - Figure 3-6

図 3-6 : サンプリングが早い場合の位相検出器の内部タイ ミング データ (S3 ≠ S2、 E3 = S3)

I/O

S3

S2

I/O E3

UG381_C3_06_060509

Dn–1 Dn Dn+1

Dn–1 Dn Dn+1

Dn–1 Dn Dn+1

Dn–1 Dn Dn+1

Dn–1 Dn Dn+1

Dn–1 Dn Dn+1

X-Ref Target - Figure 3-7

図 3-7 : サンプリングが遅い場合の位相検出器の内部タイ ミング データ (S3 ≠ S2、 E3 = S3)

I/O

S3

S2

I/O E3

UG381_C3_07_060509

Dn–1 Dn Dn+1

Dn–1 Dn Dn+1

Dn–1 Dn Dn+1

Dn–1 Dn Dn+1

Dn-1 Dn Dn+1

Dn–1 Dn Dn+1

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 81UG381 (v1.3) 2010 年 3 月 15 日

位相検出器の概要

遅延のアップデート と BUSY のタイ ミ ング

各遅延エレ メン トには BUSY 出力があ り、ディアサート されている場合は、遅延エレ メン トがキャ

リブレーシ ョ ンまたは遅延ライン タ ップ設定をインク リ メン ト /ディ ク リ メン トするためのコマン

ドを受信できる状態であるこ とを示します。

遅延ラインが新しい値でアップデート される と、図 3-8 のインク リ メン ト /ディ ク リ メン トの例に示

すよ うに、 新しい値はすぐには適用されません。 これは、 アップデート プロセス中にも有効なデー

タが正し く受信されるよ うにする必要があるため、 同期化が非常に重要だからです。 遅延値がアッ

プデート される と、 BUSY 信号が High になって同期化が進行中であるこ とが示され、 入力データ

遷移が 2 つ受信されるまで Low になり ません。 BUSY が Low になる と、新しい値が有効になり ま

す。 データ遷移がないと、 BUSY は長時間アサート されたままにな り ます。

X-Ref Target - Figure 3-8

図 3-8 : IODELAY 調整のタイ ミング

CE

INCDEC

BUSY

Global Clock

UG381_c3_08_043009

82 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース

図 3-9 に、 位相検出器の動作の擬似コードを示します。

位相検出器のシミ ュレーシ ョ ン

IODELAY2 および ISERDES2 のデザイン入力モデルは個別のエンティティですが、シ リ コンでは

これら 2 つのユニッ トは密接に結合されています。 そのため、 スレーブ IODELAY2 からスレーブ

ISERDES2 へのネッ ト遅延が特定の条件では不正になり ます。 これはモデリ ング プロセスで発生

する回避できない問題ですが、マスタ ISERDES2 からの位相検出器の出力はシ ミ ュレーシ ョ ンおよ

びシ リ コンの両方で正確です。

X-Ref Target - Figure 3-9

図 3-9 : ステート マシンのダイアグラム例

UG381_C3_09_061209

BUSY?

CAL RST HALF MAXマスタ遅延 + HALF MAX = MAX

1マスタ遅延 + HALF MAX

マスタ遅延 + 新しい MAX の 1/2CAL

BUSY?

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 83UG381 (v1.3) 2010 年 3 月 15 日

OSERDES2 の概要

OSERDES2 の概要

各 IOB には出力シリアライザ ブロ ッ クが含まれており、 OSERDES2 プリ ミティブを使用してデザ

インにインスタンシエートできます。 OSERDES2 を使用する と、 SerDes 比 1:1 (SDR モードのみ)、2:1、3:1、および 4:1 のパラレル - シ リアル変換が可能です。SerDes 比は、データを送信する高速 I/Oクロ ッ ク と、それよ り低速のパラレル データの処理に使用する内部グローバル クロ ッ ク との比です。

たとえば、500MHz で動作する I/O クロ ッ クで 500Mb/s でデータを送信する場合、OSERDES2 によ

り 4 ビッ トのデータが 1/4 のレート (125MHz) で FPGA ロジッ クから転送されます。

差動入力を使用する場合、 2 つの IOB に関連付けられた 2 つの OSERDES2 プリ ミ ティブをカス

ケード して、 SerDes 比 5:1、 6:1、 7:1、 および 8:1 を達成できます。

OSERDES2 のポートおよび属性

表 3-5 に、 OSERDES2 プリ ミ ティブのポート を示します。

表 3-5 : OSERDES2 のポート信号

ポート名 タイプ 説明

CLK0 入力I/O クロ ッ ク ネッ ト ワーク入力。 オプシ ョ ンで反転可能です。 クロ ッ ク 2 逓倍回路が使用され

ていない場合のプライマ リ ク ロ ッ ク入力です (DATA_RATE 属性を参照)。

CLK1 入力I/O クロ ッ ク ネッ ト ワーク入力。 オプシ ョ ンで反転可能です。 クロ ッ ク 2 逓倍回路が使用され

ている場合にのみ使用されるセカンダ リ ク ロ ッ ク入力です (DATA_RATE 属性を参照)。

CLKDIV 入力 グローバル ク ロ ッ ク ネッ ト ワーク入力。 FPGA ロジッ ク ド メ インのクロ ッ クです。

IOCE 入力

BUFIO2 または BUFPLL CE から生成されたデータ ス ト ローブ信号。 SerDes モードが選択さ

れている場合に、データ キャプチャが I/O およびグローバル ク ロ ッ クに対して正し く タイ ミ ン

グが揃えられるよ うにス ト ローブします。 OSERDES2 に取り込まれます。

D4、D3、D2、D1 入力 データ入力。

OCE 入力 データ入力用のクロ ッ ク イネーブル。

RST 入力 共有データ、 ト ラ イステート リセッ ト ピン。 非同期のみです。

T1、T2、T3、T4 入力 ト ラ イステート制御入力。

TCE 入力 ト ラ イステート入力用のクロ ッ ク イネーブル。

SHIFTIN1 入力 カスケード データ入力信号 (マスタではダミー)。 DATA_WIDTH が 5 以上の場合に使用します。

SHIFTIN2 入力カスケード ト ラ イステート入力信号 (マスタではダ ミー )。 DATA_WIDTH が 5 以上の場合に

使用します。

SHIFTIN3 入力 差動データ入力信号 (スレーブではダ ミー )。

SHIFTIN4 入力 差動ト ラ イステート入力信号 (スレーブではダ ミー )。

TRAIN 入力

ト レーニング パターンの使用をイネーブルにします。 ト レーニング機能によ り、信号のレシー

バのキャ リブレーシ ョ ンに使用する固定の出力パターンを指定できます。 このポートは、 出力

が固定のパターンであるか、 ピンからの入力データであるかを制御します。

OQ 出力 パッ ドまたは IODELAY2 へのデータ パス出力。

TQ 出力 パッ ドまたは IODELAY2 への ト ラ イステート パス出力。

84 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース

表 3-6 に、 関連する OSERDES2 属性をすべて示します。 これらの属性を UCF、 VHDL、 または

Verilog コードに適用する場合の詳細は、 ISE ソフ ト ウェア マニュアルを参照してください。

SHIFTOUT1 出力カスケード データ出力信号 (スレーブではダ ミー )。 DATA_WIDTH が 5 以上の場合に使用し

ます。

SHIFTOUT2 出力カスケード ト ラ イステート出力信号 (スレーブではダ ミー )。 DATA_WIDTH が 5 以上の場合

に使用します。

SHIFTOUT3 出力 差動データ出力信号 (マスタではダ ミー )。

SHIFTOUT4 出力 差動ト ラ イステート出力信号 (マスタではダ ミー )。

表 3-5 : OSERDES2 のポート信号 (続き)

ポート名 タイプ 説明

表 3-6 : OSERDES2 ブロックの属性

属性名 設定可能な値 デフォルト値 説明

DATA_RATE_OQ SDR、 DDR DDR

データ レート設定。 SDR ク ロ ッ クは、BUFIO2 クロ ッ ク、BUFPLL ク ロ ッ ク、または グローバル クロ ッ クから供給できます。 DDR ク ロ ッ クは、 2 つの BUFIO2 ク ロ ッ ク、 あるいは 1 つまたは 2 つの

グローバル ク ロ ッ クから供給できます。

DATA_RATE_OT SDR、 DDR、 BUF DDR

データ レート設定。 SDR ク ロ ッ クは、BUFIO2 クロ ッ ク、BUFPLL ク ロ ッ ク、または グローバル クロ ッ クから供給できます。 DDR ク ロ ッ クは、 2 つの BUFIO2 ク ロ ッ ク、 あるいは 1 つまたは 2 つの

グローバル ク ロ ッ クから供給できます。

DATA_WIDTH [2 ... 8] 2

データ幅。 パラレル - シ リアル変換器のパラレル

データ入力幅を指定します。 5 以上の値を指定す

る場合は、2 つの OSERDES2 ブロ ッ クをカスケー

ド接続する必要があ り ます。 この場合、 マスタ ブロ ッ クおよびスレーブ ブロ ッ クの両方に同じ値を

設定する必要があ り ます。

OUTPUT_MODE SINGLE_ENDED、

DIFFERENTIALSINGLE_ENDED

出力モードを指定します。 シングルエン ドおよび

差 動 出 力 規 格 の 両 方 に 対 し て 常 に

SINGLE_ENDED に設定します。

DIFFERENTIAL 設定は、 OSERDES2 を SLAVEモードで使用し、DIFF_SSTL18_I などの擬似差動

出力規格を駆動する場合のみにしてください。

SERDES_MODE NONE、MASTER、SLAVE NONE

OSERDES2 をそれのみで使用するのか、 2 つの OSERDES2 ブロ ッ クをカスケード接続したと き

のマスタまたはスレーブと して使用するのかを指

定します。

TRAIN_PATTERN [0 ... 15] 0 TRAIN ポートがアクティブのと きに送信する ト

レーニング パターンを指定します。

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 85UG381 (v1.3) 2010 年 3 月 15 日

OSERDES2 の概要

OSERDES2 の動作

図 3-10 に、 OSERDES2 に含まれるロジッ クを示します。 パラレル データは FPGA ロジッ クから受

信され、 グローバル クロ ッ クで 4 ビッ ト シフ ト レジスタ (A) に入力されます。 その後、 I/O クロ ッ

ク と入力 SerDes ス ト ローブ信号を使用して、 4 ビッ トのパラレル データがパラレル入力、シ リ アル

出力のシフ ト レジスタ (B) に転送されます。 このレジスタのデータは、この後 I/O クロ ッ クを使用し

てシ リアルに出力ピンに送信されます。 SerDes 比が次の場合にのみタイ ミ ングが問題となり ます。

• 2:1 (DDR) : I/O クロ ッ ク スピードが 500Mb/s に制限されます。

• 3:1 : I/O ク ロ ッ ク スピードが 750Mb/s に制限されます。

その他の SerDes 比では、 指定されるすべてのデータ レートがサポート されます。

表 3-7 に、 図 3-10 に示すインターコネク ト ピンと対応する OSERDES2 ポート ピンを示します。

表 3-7 : IOSERDES2 をカスケード接続する際のインターコネク ト ピン

ピンの説明 OSERDES2 ポート名

D パラレル カスケード入力 SHIFTIN1

T パラレル カスケード入力 SHIFTIN2

D ピン カスケード入力 SHIFTIN3

T ピン カスケード入力 SHIFTIN4

D パラレル カスケード出力 SHIFTOUT1

T パラレル カスケード出力 SHIFTOUT2

D ピン カスケード出力 SHIFTOUT3

T ピン カスケード出力 SHIFTOUT4

86 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース

X-Ref Target - Figure 3-10

図 3-10 : OSERDES ブロックに含まれるロジック

UG381_c3_10_021210

Parallel3-stateinputsfromFPGAlogic

DCE

D

DCE

DCE

D

T4

T3

T2

T1

CE

Global ClockI/O Clock

To Pin

3-state Data

OutputData

T Parallel Cascade In

Train(3)

T Pin Cascade In

T Parallel Cascade Out

T Pin Cascade Out

Clock Enable

ParalleldatainputsfromFPGAlogic

DCE

DCE

Train(2)

Train(1)

Train(4)

Train

DCE

D

D4

D3

D2

D1

CE

D

D

D

D

D Parallel Cascade Out

D

D Parallel Cascade In

D Pin Cascade In

D Pin Cascade Out

D

D

D

D

I/O Clock Enable(SerDes Strobe)

D

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 87UG381 (v1.3) 2010 年 3 月 15 日

OSERDES2 の概要

SerDes ス ト ローブのタイ ミ ングによ り、正しいロスなしのデータ転送が可能になり ます。 図 3-11 に示すタイ ミ ング図は、 4:1 のシ リアル化を実行した場合のものです。 正し く機能させるには、 SerDesス ト ローブのタイ ミ ングが重要です。 この信号は、 BUFIO2 または BUFPLL で生成されます。 これ

らについては、 『Spartan-6 FPGA ク ロ ッ ク リ ソース ユーザー ガイ ド』 で説明されています。

表 3-8 に、 さまざまな SerDes 比で使用される FPGA ロジッ クからの有効なデータ入力ピンを示し

ます。 ト ラ イステート機能が必要な場合、 T ピンは同じ規則に従います。

カスケード接続した場合の動作

差動データ送信を使用する場合、 正の出力ピンに関連付けられたマスタ OSERDES2 を負の出力ピ

ンに関連付けられたスレーブ OSERDES2 にカスケード接続できます。 カスケード接続するには、

マスタ OSERDES2 の SHIFTOUT ポート をスレーブ OSERDES2 の SHIFTIN ポートに接続しま

す。 図 3-12 に、 差動出力または擬似差動出力の場合のカスケード接続を示します。

X-Ref Target - Figure 3-11

図 3-11 : OSERDES のタイ ミング図 (4:1 シリアル化)

A

I/O

Serdes

B

UG381_c3_11_043009

表 3-8 : 1 つの OSERDES2 プリ ミテ ィブを使用した場合のデータ接続 (シングルエンド信号転送)

出力 SerDes の係数 FPGA ロジックからの出力として使用するピン (MSB → LSB)

2 D2、 D1

3 D3、 D2、 D1

4 D4、 D3、 D2、 D1

88 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース

送信データは、前と同様フ リ ップフロ ップの両方のバンクにアクセスできるよ うになっていますが、

カスケード接続した場合、各バンクは 8 個のフ リ ップフロ ップで構成されます。 SerDes ス ト ローブ

は、 それに応じて BUFPLL または BUFIO2 属性を使用して変更します。

表 3-9 に、 さまざまな SerDes 比で有効な出力ピンを示します。 ト ラ イステート機能が必要な場合、

T ピンは同じ規則に従います。

X-Ref Target - Figure 3-12

図 3-12 : 差動出力を使用した場合に 8:1 と してコンフ ィギュレーシ ョ ンした OSERDES ブロック

表 3-9 : 2 つの OSERDES2 プリ ミテ ィブをカスケード接続した場合のデータ接続

出力 SerDes の係数 FPGA ロジックからの出力として使用するピン (MSB → LSB)

5 マスタ (D1) およびスレーブ (D4、 D3、 D2、 D1)

6 マスタ (D2、 D1) およびスレーブ (D4、 D3、 D2、 D1)

7 マスタ (D3、 D2、 D1) およびスレーブ (D4、 D3、 D2、 D1)

8 マスタ (D4、 D3、 D2、 D1) およびスレーブ (D4、 D3、 D2、 D1)

ug381_c3_12_100209

T

T

OBUFDS

T

SHIFTIN4SHIFTOUT2

SHIFTOUT4SHIFTIN2

SHIFTIN4SHIFTOUT2

SHIFTOUT4SHIFTIN2

TQ

T

TCE

FPGA

D

D

D

SHIFTIN3SHIFTOUT1

SHIFTOUT3SHIFTIN1

SHIFTIN3SHIFTOUT1

SHIFTOUT3SHIFTIN1

OQ

D

Clock Enable OCE

FPGA

11

1

Spartan-6 FPGA SelectIO リソース ユーザー ガイド japan.xilinx.com 89UG381 (v1.3) 2010 年 3 月 15 日

OSERDES2 の概要

ト レーニング機能の概要

各 OSERDES2 にはト レーニング機能が含まれており、 OSERDES2 プリ ミ ティブのグローバル クロ ッ クに同期した TRAIN 入力を使用してイネーブルにします。

TRAIN 入力をアサートする と、 OSERDES2 プリ ミ ティブの TRAIN_PATTERN 属性を使用して

OSERDES2 から固定のビッ ト パターン (設計中に指定) が送信され、入力パラレル データが無視さ

れます。

この機能は、 ト レーニング パターンを一定の間隔で送信する必要のあるシステムで使用されます。

90 japan.xilinx.com Spartan-6 FPGA SelectIO リ ソース ユーザー ガイ ド

UG381 (v1.3) 2010 年 3 月 15 日

第 3 章 : アドバンス SelectIO ロジック リソース