spartan-6 fpga コンフィギャブル ロジック ブロックspartan-6 fpga...

50
Spartan-6 FPGA コンフィギャブル ロジック ブロック ユーザー ガイド UG384 (v1.0) 2009 6 24

Upload: others

Post on 13-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA CLB [optional]

UG384 (v1.0) 2009 年 6 月 24 日 [optional]

Spartan-6 FPGA コンフ ィギャブル ロジック ブロック

ユーザー ガイド

UG384 (v1.0) 2009 年 6 月 24 日

Page 2: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジック ブロック ユーザー ガイド

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 Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, ISE, and other designated brands included herein are trademarksof Xilinx in the United States and other countries. All other trademarks are the property of their respective owners.

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

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

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

改訂履歴

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

日付 バージョ ン 説明

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

Page 3: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 3ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

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

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

Spartan-6 FPGA コンフ ィギャブル ロジック ブロック (CLB)CLB の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

スライスの説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8CLB およびスライスのタイ ミ ング モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

スライス (LUT およびス ト レージ エレ メン ト ) タイ ミ ング モデル . . . . . . . . . . . . . . . . . . . . .34スライスの分散 RAM のタイ ミ ング モデル (SLICEM のみ) . . . . . . . . . . . . . . . . . . . . . . . . . .38スライスのシフ ト レジスタのタイ ミ ング モデル (SLICEM のみ) . . . . . . . . . . . . . . . . . . . . . .40スライス キャ リーチェーンのタイ ミ ング モデル (SLICEM および SLICEL のみ) . . . . . . . .43

CLB プリ ミ ティブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44分散 RAM プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44シフ ト レジスタ (SRL) プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46その他のシフ ト レジスタ アプリ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48マルチプレクサのプリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49キャ リー チェーン プリ ミ ティブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49

目次

Page 4: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

4 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

Page 5: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 5ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

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

このユーザー ガイ ドは、Spartan®-6 FPGA コンフ ィギャブル ロジッ ク ブロ ッ ク (CLB) のテクニカ

ル リ ファレンスです。 通常、ロジッ ク合成ソフ ト ウェアでは、システム設計者の介入なしに CLB リソースが割り当てられます。 ルッ クアップ テーブル (LUT) の多様な機能、キャ リー伝搬の物理的方

向、使用可能なフ リ ップフロ ップの数および分布、および効率的なシフ ト レジスタの使用可能性な

ど、一部の CLB の詳細を理解するこ とは設計者にとって有利になる可能性があ り ます。 このガイ ド

では、 これらの説明および CLB のその他の機能について詳細に説明します。

その他の資料

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

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

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

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

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

• 『Spartan-6 FPGA パッケージおよびピン配置の仕様』

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

されています。

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

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

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

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

ます。

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

すべての Spartan-6 デバイスに含まれている SelectIO™ について説明します。

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

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

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

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

• 『Spartan-6 FPGA GTP ト ランシーバ ユーザー ガイ ド』

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

Page 6: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

ヘッダ/フ ッ タ 3

6 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

• 『Spartan-6 FPGA DSP48A1 スライス ユーザー ガイ ド』

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

シ ョ ン例を示します。

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

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

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

• 『Spartan-6 FPGA PCB デザイナーズ ガイ ド』

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

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

その他のリソース

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

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

http://japan.xilinx.com/support

Page 7: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 7ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

Spartan-6 FPGA コンフ ィギャブル ロジック ブロック (CLB)

CLB の概要

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

する際の主要ロジッ ク リ ソースです。 各 CLB エレ メン トはスイ ッチ マ ト リ ッ クスに接続して、 汎

用配線マ ト リ ッ クスにアクセスします (図 1 を参照)。 1 つの CLB エレ メン トには、2 つのスライス

があ り ます。 この 2 つのスライスは、 直接相互接続しておらず、 各スライスは 1 つの列と して配置

されています。 各 CLB 内の下位に配置しているスライスを SLICE(0)、 上位に配置しているスライ

スを SLICE(1) と します。

ザイ リ ンクス ツールでは、スライスは次のよ うに定義されています。 「X」 の後に続く数字は、各ペ

アでのスライスの位置およびスライスの列位置を示します。 この数字は、最初の CLB 列ではスライ

スの下位から 0、 1 と定義し、 2 番目の CLB 列の下位から 2、 3 などのよ うに定義します。 「Y」 の後に続く数字は、 スライスの行を示します。 この数字は、同じ CLB 内では同一になり、上部に位置

するに従って CLB 内のスライスに定義される数が大き くな り ます。図 2 に、ダイの左下に配置され

た 4 つの CLB を示します。

X-Ref Target - Figure 1

図 1 : CLB 内のスライス配置

(1)

COUT

CIN

(0)

CLB

ug384_01_042309

Page 8: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

8 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

スライスの説明

各スライスには、 4 個のロジッ ク ファンクシ ョ ン ジェネレータ (ルッ クアップ テーブル (LUT)) および 8 個のス ト レージ エレ メン トがあ り ます。 スライスでは、 これらのエレ メン ト を使用してロ

ジッ クおよび ROM 機能を提供します。 SLICEL と呼ばれるスライスには、 スライス列で垂直方向

に連結可能な演算キャ リー構造および多入力マルチプレクサも含まれています。 SLICEM には、

キャ リー構造、マルチプレクサ、および 64 ビッ ト分散 RAM および可変長シフ ト レジスタ (最大 32ビッ ト ) と して使用する LUT が含まれています。

CLB の各列には 2 つのスライス列が含まれています。 そのうちの 1 列は SLICEX 列で、 も う 1 列は SLICEL または SLICEM のいずれかです。つま り、使用可能なスライスの約 50% は SLICEX、

残りの 25% ずつが SLICEL および SLICEM にな り ます。 XC6SLX4 デバイスには SLICEL があ

り ません (表 2 を参照)。

SLICEM のエレ メン トおよび接続 図 3 に、SLICEL のエレ メン トおよび接続を図 4 に、SLICEX のエレ メン トおよび接続を図 5 に示します。 8 個の SR、 CE、 CLK 入力すべてが共通の制御入力によ

り駆動されます。

X-Ref Target - Figure 2

図 2 : CLB とスライス間における行と列の関係

SLICEXX1Y1

COUT

CIN

X0Y1

CLB

ug384_02_042309

SLICEXX1Y0

COUT

X0Y0

CLB

SLICEXX3Y1

COUT

CIN

X2Y1

CLB

SLICEXX3Y0

COUT

X2Y0

CLB

Page 9: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 9ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

X-Ref Target - Figure 3

図 3 : SLICEM の図

A6:A1B6:B1

C6:C1

D6:D1

DI

CI

A6:A1

AX

CIN

1

WA6:WA1

BI

CLK

CX

WE

CESR

AI

BX

A6:A1WA6:WA1

A6:A1 O6O5

WA7

DI1

WA8

MC31

CED Q

ug384_03_042309

CK

SR

WA6:WA1

DI2 CLK

CARRY4

COUT

WE

A6:A1WA6:WA1

O6O5

WA7

DI1

WA8

MC31

DI2 CLK WE

O6O5

WA7

DI1

WA8

MC31

DI2 CLK WE

O6O5

WA7

DI1

WA8

MC31

DI2 CLK WE

LUTRAMROM SRINIT0

SRINIT1

CED Q

CK

SR

SRINIT0SRINIT1

CED Q

CK

SR

SRINIT0SRINIT1

CED Q

CK

SR

SRINIT0SRINIT1

CED AQ

A

BQ

Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

CED Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

D5QMC31CYXORO5O6

MC31CYXORDXO5O6

C5QF7CYXORO5O6

F7CYXORCXO5O6

B5QF8CYXORO5O6

F8CYXORBXO5O6

A5QF7CYXORO5O6

F7CYXORAXO5O6

CED Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

CED Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

DPRAM64DPRAM32SPRAM64SPRAM32SRL16SRL32

LUTRAMROM

DPRAM64DPRAM32SPRAM64SPRAM32SRL16SRL32

LUTRAMROM

DPRAM64DPRAM32SPRAM64SPRAM32SRL16SRL32

LUTRAMROM

DPRAM64DPRAM32SPRAM64SPRAM32SRL16SRL32

DX

B

AMUX

BMUX

CMUX

C

D

DMUX

CQ

DQ

Page 10: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

10 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

X-Ref Target - Figure 4

図 4 : SLICEL の図

A6:A1B6:B1

C6:C1

D6:D1

A6:A1

AX

CIN

1

CLK

CX

CESR

BX

A6:A1

A6:A1 O6O5

CED Q

ug384_04_042309

CK

SR

CARRY4

COUT

A6:A1

O6O5

O6O5

O6O5

SRINIT0SRINIT1

CED Q

CK

SR

SRINIT0SRINIT1

CED Q

CK

SR

SRINIT0SRINIT1

CED Q

CK

SR

SRINIT0SRINIT1

CED AQ

A

BQ

Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

CED Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

D5Q

CYXORO5O6

CYXORDXO5O6

C5QF7CYXORO5O6

F7CYXORCXO5O6

B5QF8CYXORO5O6

F8CYXORBXO5O6

A5QF7CYXORO5O6

F7CYXORAXO5O6

CED Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

CED Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1DX

B

AMUX

BMUX

CMUX

C

D

DMUX

CQ

DQ

Page 11: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 11ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

X-Ref Target - Figure 5

図 5 : SLICEX の図

A6:A1B6:B1

C6:C1

D6:D1

A6:A1

AX

CLK

CX

CESR

BX

A6:A1

A6:A1 O6O5

CED Q

ug384_05_121108

CK

SR

A6:A1

O6O5

O6O5

O6O5

SRINIT0SRINIT1

CED Q

CK

SR

SRINIT0SRINIT1

CED Q

CK

SR

SRINIT0SRINIT1

CED Q

CK

SR

SRINIT0SRINIT1

CED AQ

A

BQ

Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

CED Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

D5Q

O5O6

DX

O6

C5Q

O5O6

CX

O6

B5Q

O5O6

BX

O6

A5Q

O5O6

AX

O6

CED Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

CED Q

CK

SR

FFLATCHAND2LOR2LSRINIT0SRINIT1

DX

B

AMUX

BMUX

CMUX

C

D

DMUX

CQ

DQ

Page 12: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

12 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

CLB およびスライスのコンフ ィギュレーシ ョ ン

表 1 に 1 つの CLB に含まれるロジッ ク リ ソースを示します。 各スライスまたは CLB は、次のいず

れかのコンフ ィギュレーシ ョ ンにインプリ メン トできます。

表 2 に Spartan-6 FPGA の使用可能な CLB リ ソースを表示します。 6 入力 LUT 数と ロジッ ク セル

の比率は 1.6 です。 この比率は、従来の 4 入力 LUT に比べて新しい 6 入力 LUT アーキテクチャで

機能が向上しているこ とを反映しています。

ルックアップ テーブル (LUT)Spartan-6 FPGA のファンクシ ョ ン ジェネレータは、6 入力のルッ クアップ テーブル (LUT) と して

インプリ メン ト されています。 各スライス (A、B、C、および D) の 4 つのファンクシ ョ ン ジェネレー

タには、6 つの独立した入力 (A 入力 : A1~A6) と 2 つの独立した出力 (O5 および O6) があ り ます。

これらのファンクシ ョ ン ジェネレータでは、任意に定義された 6 入力のブール関数をインプ リ メン

トできます。 また、 各ファンクシ ョ ン ジェネレータでは、 2 つの任意に定義された 5 入力のブール

関数をインプリ メン トできます (この 2 つのファンクシ ョ ンが入力を共有している場合のみ)。 6 入力ファンクシ ョ ンがインプリ メン ト される場合は、 ファンクシ ョ ン ジェネレータの O6 出力のみが

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

スライス LUT フリ ップ

フロップ数

演算およびキャリー チェーン(2) 分散 RAM(1) シフ ト レジスタ (1)

2 8 16 1 256 ビッ ト 128 ビッ ト

メモ : 1. SLICEM にのみ該当します。SLICEL および SLICEX には分散 RAM またはシフ ト レジスタはあり ません。

2. SLICEM および SLICEL のみに該当します。

表 2 : Spartan-6 FPGA ロジック リソース

デバイスロジック

セル

合計

スライス

SLICEM SLICEL SLICEX 6 入力 LUT 数

最大

分散 RAM (Kb)

シフ ト レジスタ

(Kb)

フリ ップ

フロップ数

XC6SLX4 3,840 600 300 0 300 2,400 75 38 4,800

XC6SLX9 9,152 1,430 360 355 715 5,720 90 45 11,440

XC6SLX16 14,579 2,278 544 595 1,139 9,112 136 68 18,224

XC6SLX25 24,051 3,758 916 963 1,879 15,032 229 115 30,064

XC6SLX45 43,661 6,822 1,602 1,809 3,411 27,288 401 200 54,576

XC6SLX75 74,637 11,662 2,768 3,063 5,831 46,648 692 346 93,296

XC6SLX100 101,261 15,822 3,904 4,007 7,911 63,288 976 488 126,576

XC6SLX150 147,443 23,038 5,420 6,099 11,519 92,152 1,355 678 184,304

XC6SLX25T 24,051 3,758 916 963 1,879 15,032 229 115 30,064

XC6SLX45T 43,661 6,822 1,602 1,809 3,411 27,288 401 200 54,576

XC6SLX75T 74,637 11,662 2,768 3,063 5,831 46,648 692 346 93,296

XC6SLX100T 101,261 15,822 3,904 4,007 7,911 63,288 976 488 126,576

XC6SLX150T 147,443 23,038 5,420 6,099 11,519 92,152 1,355 678 184,304

Page 13: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 13ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

使用されます。 5 入力ファンクシ ョ ン ジェネレータのインプリ メン トには、O5 および O6 の両方が

使用されます。 この場合、A6 は High に駆動されます。 LUT の伝搬遅延は、 インプリ メン ト される

ファンクシ ョ ンとは無関係であ り、 1 個の 6 入力ジェネレータまたは 2 個の 5 入力ジェネレータを

インプリ メン ト した場合でも関係あ り ません。 また、ファンクシ ョ ン ジェネレータからの信号は、ス

ライス (O6 の場合は A、B、C、および D 出力から、O5 の場合は、AMUX、BMUX、CMUX、DMUX出力から ) から出力でき、O6 出力からは XOR 専用ゲート ( 「高速ルッ クアヘッ ド キャ リー ロジッ

ク」を参照) へ、O5 出力からはキャ リー ロジッ ク チェーン (「高速ルッ クアヘッ ド キャ リー ロジッ

ク」 を参照) へ入力できます。 また、 O6 出力からはキャ リー ロジッ ク マルチプレクサのセレク ト

ラ イン ( 「高速ルッ クアヘッ ド キャ リー ロジッ ク」 を参照)、 記憶エレ メン トの D 入力、 または

F7AMUX/F7BMUX へ入力できます。

SLICEL および SLICEM には、 基本的な LUT のほかにも、 3 つのマルチプレクサ (F7AMUX、

F7BMUX、 および F8MUX) が含まれています。 これらのマルチプレクサを使用して、 1 つの スラ

イス内で最大 4 個のファンクシ ョ ン ジェネレータを組み合わせ、 7 入力または 8 入力のファンク

シ ョ ンを構成できます。 F7AMUX および F7BMUX ではスライス A と B または C と D を使用し

て 7 入力のファンクシ ョ ンを構成でき、F8MUX ではすべてのスライスを組み合わせて 8 入力ファ

ンクシ ョ ンを構成できます。 9 入力以上のファンクシ ョ ンは、複数のスライスを使用してインプ リ メ

ン トできますが、スライス間は直接接続がないため、CLB 内またはスライス間で 8 入力以上のファ

ンクシ ョ ン ジェネレータは生成できません。

スト レージ エレメン ト

各スライスには、 8 個のス ト レージ エレ メン トがあ り ます。 1 つのスライスには 4 個のス ト レージ

エレ メン トがあ り、 エッジ ト リガ型 D タイプ フ リ ップフロ ップまたはレベル センシティブ型ラ ッ

チと してコンフ ィギュレーシ ョ ンできます。 D 入力は、 AFFMUX、 BFFMUX、 CFFMUX、 または

DFFMUX を通る LUT 出力で直接駆動するか、 または AX、BX、CX、 または DX 入力からファン

クシ ョ ン ジェネレータをバイパスする BYPASS スライス入力で駆動できます。 ラ ッチと してコン

フ ィギュレーシ ョ ンする場合、 ラ ッチは CLK が Low のと きに透過になり ます。

Spartan-6 デバイスでは、 さ らにエッジ ト リガ型 D タイプ フ リ ップフロ ップと してのみコンフ ィ

ギュレーシ ョ ン可能なス ト レージ エレ メン トが 4 個あ り ます。 D 入力は、LUT の O5 出力で駆動で

きます。 従来の 4 個のス ト レージ エレ メン トがラ ッチと してコンフ ィギュレーシ ョ ンされる場合、

これらの 4 個のス ト レージ エレ メン トは使用できません。

1 つのスライス内のス ト レージ エレ メン ト間では、ク ロ ッ ク (CLK)、ク ロ ッ ク イネーブル (CE)、およびセッ ト / リセッ ト (SR) 制御信号が共有されます。 スライス内の 1 つのフ リ ップフロ ップで SRまたは CE がイネーブルのと き、 スライスで使用される残りのフ リ ップフロ ップでも共有の信号に

よ り SR または CE がイネーブルになり ます。 CLK 信号のみ独立した極性があ り ますが、 この極性

も 8 個すべてのス ト レージ エレ メン トに適用されます。 ク ロ ッ ク信号上に配置されているインバー

タは、すべて自動的に吸収されます。 CE および SR 信号は、アクティブ High です。 すべてのフ リ ッ

プフロ ップおよびラ ッチ プリ ミ ティブには、 CE 付きまたは CE なしの 2 種類があ り ます。

SR 信号は、強制的にス ト レージ エレ メン ト を SRINIT1 属性または SRINIT0 属性で指定されたス

テートにします。 SR がアサート される と、 SRINIT1 ではス ト レージ エレ メン トの出力のロジッ ク

レベルが強制的に High になり、 SRINIT0 では Low になり ます (表 3 を参照)。

表 3 : SPINIT 属性を使用したときの真理値表

SR SRINIT ファンクシ ョ ン

0 SRINIT0 (デフォルト ) ロジッ ク レベル変更なし

1 SRINIT0 (デフォルト ) 0

Page 14: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

14 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

図 6 にスライスでレジスタのみを使用したコンフ ィギュレーシ ョ ンおよびレジスタ と ラ ッチの両方

を使用したコンフ ィギュレーシ ョ ンを示します。

SRINIT0 および SRINIT1 はスライス内の各ス ト レージ エレ メン トで個々に設定できます。 同期

(SYNC) または非同期 (ASYNC) のセッ ト / リセッ ト (SRTYPE) は、 個々に設定できません。

コンフ ィギュレーシ ョ ン後の初期ステート またはグローバル初期ステートは、同じ SRINIT 属性で

定義されます。

レジスタまたは 4 個のス ト レージ エレ メン ト (ラ ッチと して機能) のセッ トおよびリセッ トのコン

フ ィギュレーシ ョ ン オプシ ョ ンを次に示します。

0 SRINIT1 ロジッ ク レベル変更なし

1 SRINIT1 1

表 3 : SPINIT 属性を使用したときの真理値表 (続き)

SR SRINIT ファンクシ ョ ン

X-Ref Target - Figure 6

図 6 : スライス内のコンフ ィギュレーシ ョ ン : レジスタ 4 個のみ (左側) およびレジスタ /ラ ッチ 4 個 (右側)

ug384_06_042309

DX

CX

BX

AX

DQ

CQ

BQ

AQ

D

SR

DFF/LATCHLUT D O6

LUT C O6

CECK

D

SR

CECK

D

SR

CECK

D

SR

Q

CECK

FFLATCHSRINIT1SRINIT0

FFLATCHSRINIT1SRINIT0

FFLATCHSRINIT1SRINIT0

FFLATCHSRINIT1SRINIT0

Q

Q

Q

LUT B O6

LUT A O6 AFF/LATCH

BFF/LATCH

CFF/LATCH

Sync

Async

Sync

Async

DQ

CQ

BQ

AQ

D

SR

DFF

LUT D O5

LUT C O5

LUT B O5

LUT A O5

CECK

SRINIT1SRINIT0

SRINIT1SRINIT0

SRINIT1SRINIT0

SRINIT1SRINIT0

D

SR

CECK

D

SR

CECK

D

SR

Q

CECK

Q

Q

Q

AFF

BFF

CFF

Page 15: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 15ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

• セッ ト / リセッ ト なし

• 同期セッ ト

• 同期リセッ ト

• 非同期セッ ト (プリセッ ト )

• 非同期リセッ ト (ク リ ア)

分散 RAM およびメモリ (SLICEM のみ)SLICEM の 複数の LUT をさまざまな方法で組み合わせる と、格納できるデータ容量を増やすこ と

ができます。

SLICEM 内のファンクシ ョ ン ジェネレータ (LUT) は、 分散 RAM エレ メン ト と してインプ リ メン

トできます。 RAM エレ メン トは SLICEM 内にコンフ ィギュレーシ ョ ンして、表 4 に示すよ うに分

散 RAM をインプリ メン トできます。

分散 RAM モジュールは、同期 (書き込み) および非同期 (読み出し) リ ソースです。 ただし、同期読

み出し リ ソースは、同スライス内のス ト レージ エレ メン ト またはフ リ ップフロ ップを使用してイン

プ リ メ ン ト でき ます。 このよ う にフ リ ップフロ ップを使用する場合には、 フ リ ップフロ ップの

Clock-to-Out 遅延値が低減されるため、分散 RAM のパフォーマンスが向上します。 ただし、ク ロ ッ

ク レイテンシが追加されます。 分散エレ メン トでは、 同じクロ ッ ク入力が共有されます。 書き込み

を実行する場合、 SLICEM の CE または WE ピンで駆動される書き込みイネーブル (WE) 入力を

High にする必要があ り ます。

表 4 に各分散 RAM のコンフ ィギュレーシ ョ ンで使用する LUT (各スライスに 4 つ) 数を示します。

シングル ポート コンフ ィギュレーシ ョ ンの場合、分散 RAM には、同期書き込みと非同期読み出し

用に共通アドレス ポートが 1 つあ り ます。 デュアル ポート コンフ ィギュレーシ ョ ンでは、 分散

RAM に同期書き込みおよび非同期読み出し用のアドレス ポートが 1 つ、非同期読み出し用のポー

トが 1 つあ り ます。 シンプル デュアル ポート コンフ ィギュレーシ ョ ンでは、書き込みポートからの

表 4 : 分散 RAM コンフ ィギュレーシ ョ ン

RAM LUT 数 説明

32 X 2Q(2) 4 クワ ッ ド ポート 32 X 2 ビッ ト RAM

32 X 6SDP(2) 4 シンプル デュアル ポート 32 X 6 ビッ ト RAM

64 X 1S 1 シングル ポート 64 X 1 ビッ ト RAM

64 X 1D 2 デュアル ポート 64 X 1 ビッ ト RAM

64 X 1Q(3) 4 クワ ッ ド ポート 64 X 1 ビッ ト RAM

64 X 3SDP(3) 4 シンプル デュアル ポート 64 X 3 ビッ ト RAM

128 X 1S 2 シングル ポート 128 X 1 ビッ ト RAM

128 X 1D 4 デュアル ポート 128 X 1 ビッ ト RAM

256 X 1S 4 シングル ポート 256 X 1 ビッ ト RAM

メモ : 1. S = シングル ポート コンフ ィギュレーシ ョ ン、D = デュアル ポート コンフ ィギュレーシ ョ ン、Q = クワ ッ

ド ポート コンフ ィギュレーシ ョ ン、 SDP = シンプル デュアル ポート コンフ ィギュレーシ ョ ン

2. このコンフ ィギュレーシ ョ ンの関連プリ ミ ティブは RAM32M です。

3. このコンフ ィギュレーシ ョ ンの関連プリ ミ ティブは RAM64M です。

Page 16: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

16 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

データ出力 (読み出しポート ) はあ り ません。 クワ ッ ド ポート コンフ ィギュレーシ ョ ンの場合、分散

RAM に同期書き込みおよび非同期読み出し用のアドレス ポートが 1 つ、非同期読み出し用のポー

トが 3 つあ り ます。

シングル ポート モードでは読み出しアドレス と書き込みアドレスで同じアドレス バスが共有さ

れ、 デュアル ポート モードでは1つ目のファンクシ ョ ン ジェネレータが共有の読み出しおよび書

き込みポート アドレスに接続されます。 2 つ目のファンクシ ョ ン ジェネレータには、読み出し専用

ポート アドレスに接続される A 入力と 1 つ目の読み出し /書き込みポート アドレス と共有する WA入力があ り ます。

図 7 ~ 図 15 に、1 つの SLICEM を使用してコンフ ィギュレーシ ョ ンする分散 RAM の例を示しま

す。 x2 コンフ ィギュレーシ ョ ン (RAM32X2Q) を使用する場合は、A6 および WA6 をソフ ト ウェア

で High に駆動して、 O5 と O6 を独立させます。

X-Ref Target - Figure 7

図 7 : 分散 RAM (RAM32X2Q)

ug384_07_042309

DI1 DOD[0]

DOC[0]

DOD[1]

DOC[1]

DOB[0]

DOB[1]

DOA[0]

DOA[1]

DI2

DID[1]DID[0]

ADDRD[4:0]

ADDRC[4:0]

ADDRB[4:0]

ADDRA[4:0]

WCLK

WED

(CLK)

(WE)

5

5

DPRAM32

RAM 32X2Q

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

O6

O5

DI1DI2

5

5

DPRAM32

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

O6

DI1DI2

DI2

B[5:1]

C[5:1]

D[5:1](AI/BI/CI/DI)

(DX)

A[5:1]

5

5

DPRAM32

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

O6

DI1

5

5

DPRAM32

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

O6

O5

O5

O5

Page 17: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 17ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

X-Ref Target - Figure 8

図 8 : 分散 RAM (RAM32X6SDP)

ug384_08_042309

DI1

O[1]

O[2]

O[3]

O[4]

O[5]

O[6]

DI2

unusedunused

WADDR[5:1]WADDR[6] = 1

RADDR[5:1]RADDR[6] = 1

DATA[1]DATA[2]

DATA[3]DATA[4]

DATA[5]DATA[6]

WCLK

WED

(CLK)

(WE)

5

5

DPRAM32

RAM 32X6SDP

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

DI1DI2

5

5

DPRAM32

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

O6

DI1DI2

DI2

B[5:1]

C[5:1]

D[5:1]

A[5:1]

5

5

DPRAM32

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

O6

DI1

5

5

DPRAM32

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

O6

O5

O5

O5

Page 18: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

18 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

シングル ポート 64 X 1 ビッ ト モジュールを 4 個構築する場合は、 4 個の RAM64X1S プリ ミ ティ

ブで SLICEM を 1 つ使用できます。ただし、 これらのプリ ミ ティブではクロ ッ ク、書き込みイネー

ブル、 読み出しおよび書き込みポート アドレス入力を共有する必要があ り ます。 このコンフ ィギュ

レーシ ョ ンは、 64 X 4 ビッ ト のシングル ポート分散 RAM と同等です。

2 個のデュアル ポート 64 X 1 ビッ ト モジュールを構築するには、 2 個の RAM64X1D プリ ミ ティ

ブで SLICEM を 1 つ使用できます。ただし、 これらのプリ ミ ティブではクロ ッ ク、書き込みイネー

ブル、 共有読み出しおよび書き込みポート アドレス入力を共有する必要があ り ます。 このコンフ ィ

ギュレーシ ョ ンは、 64 X 2 ビッ ト デュアル ポート分散 RAM と同等です。

X-Ref Target - Figure 9

図 9 : 分散 RAM (RAM64X1S)

X-Ref Target - Figure 10

図 10 : 分散 RAM (RAM64X1D)

ug384_09_042309

レジスタ付き

( )

DI1

D Q

(DX)D

A[5:0]

WCLKWE

(D[6:1])

(CLK)

(WE/CE)

6

SPRAM64

RAM64X1S

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

O6O

6

ug384_10_042309

DI1(DX)

D

A[5:0]

WCLKWE

(D[6:1])

(CLK)

(WE/CE)

6

6

DPRAM64

RAM64X1D

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

O6

DI1

DPRA[5:0](C[6:1]) 6

6

DPRAM64

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

O6

( )

D Q

SPO

( )

D Q

DPO

Page 19: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 19ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

X-Ref Target - Figure 11

図 11 : 分散 RAM (RAM64X1Q)

ug384_11_042309

DI1DID

ADDRD

ADDRC

ADDRB

ADDRA

WCLK

WE

(CLK)

(WE)

DPRAM64

RAM64X1Q

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

O6

DI1

DPRAM64

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

O6

DI1

(B[6:1])

(C[6:1])

(D[6:1])

(DX)

(A[6:1])

DPRAM64

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

O6

DI1

DPRAM64

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

O6

DOD

DOC

DOB

DOA

( )

D Q

( )

D Q

( )

D Q

( )

D Q

Page 20: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

20 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

ワード数 64 以上の分散 RAM コンフ ィギュレーシ ョ ンをインプリ メン トするには、多入力マルチプ

レクサ (F7AMUX、 F7BMUX、 および F8MUX) を使用する必要があ り ます。

X-Ref Target - Figure 12

図 12 : 分散 RAM (RAM64X3SDP)

ug384_12_042309

DI1

O[1]

O[2]

O[3]

DI2

unusedunused

WADDR[6:1]

RADDR[6:1]

DATA[1]

DATA[2]

DATA[3]

WCLK

WED

(CLK)

(WE)

6

6

DPRAM32

RAM 64X3SDP

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

DI1DI2

6

6

DPRAM32

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

O6

DI1DI2

DI2

B[6:1]

C[6:1]

D[6:1]

A[6:1]

6

6

DPRAM32

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

O6

DI1

6

6

DPRAM32

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

O6

O5

O5

O5

Page 21: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 21ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

2 個のシングル ポート 128 X 1 ビッ ト モジュールを構築するには、 RAM128X1S プリ ミ ティブで

SLICEM を 1 つ使用できます。ただし、これらのプリ ミ ティブではクロ ッ ク、書き込みイネーブル、

読み出しおよび書き込みポート アドレス入力を共有する必要があ り ます。 このコンフ ィギュレー

シ ョ ンは、 128 X 2 ビッ ト シングル ポート分散 RAM と同等です。

X-Ref Target - Figure 13

図 13 : 分散 RAM (RAM128X1S)

ug384_13_042309

DI1(DX)

A6 (CX)

D

A[6:0]

WCLK

WE

(CLK)

(WE/CE)

[5:0]

[5:0]

7

SPRAM64

RAM128X1S

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

O6

DI1

7

SPRAM64

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

O6F7BMUX

( )

D Q

0

Page 22: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

22 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

X-Ref Target - Figure 14

図 14 : 分散 RAM (RAM128X1D)

ug384_14_042309

DI1DDX

AX

A[6:0]

WCLK

DPRA[6:0]

WE

(CLK)

(WE)

7

DPRAM64

RAM128X1D

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

O6

DI1

6

7

DPRAM64

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

O6F7BMUX

( )

D Q

SPO

DI1

6

7

DPRAM64

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

O6

DI1

6

7

DPRAM64

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

O6F7AMUX

( )

D Q

DPO

A6 (CX)

6

Page 23: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 23ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

図 7 ~ 図 15 に示した例よ り も大きい分散 RAM コンフ ィギュレーシ ョ ンが必要な場合は、

SLICEM が 2 個以上必要ですが、 CLB 内またはスライス間は直接接続がないため、これ以上大規模

な分散 RAM コンフ ィギュレーシ ョ ンは構築できません。

分散 RAM のデータ フロー

同期書き込み

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

ジで実行されます。 WE が High のと き、入力 (D) がアドレス A のメモ リ ロケーシ ョ ンへ読み込ま

れます。

X-Ref Target - Figure 15

図 15 : 分散 RAM (RAM256X1S)

ug384_15_042309

DI1D

A[7:0]

WCLK

WE

(CLK)

(WE/CE)

6

8

SPRAM64

RAM256X1S

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

O6

DI1

6

8

SPRAM64

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

O6F7BMUX

F8MUX

( )

D Q

O

DI1

6

8

SPRAM64

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

O6

DI1

6

8

SPRAM64

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

O6F7AMUX

A6 (CX)

A6 (AX)

A7 (BX)

Page 24: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

24 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

非同期読み出し

出力は、 アドレス A (シングル ポート モード出力またはデュアル ポート モードの SPO 出力の場合)またはアドレス DPRA (デュアル ポート モードの DPO 出力の場合) で決定されます。 新しいアド

レスがアドレス ピンに読み込まれる と、LUT にアクセスする時間分遅れて、メモ リ位置のデータ値

が出力に現れます。 この動作はクロ ッ ク信号とは関係なく非同期で実行されます。

分散 RAM のまとめ

• SLICEM にはシングル ポート モード とデュアル ポート モードがある

• 書き込み操作には、 クロ ッ ク エッジが 1 つ必要

• 読み出し操作は非同期に行われる (Q 出力)

• データ入力は、 setup-to-clock タイ ミ ング仕様に従っている

ROM (読み出し専用メモリ )各ファンクシ ョ ン ジェネレータでは 64 X 1 ビッ ト ROM をインプリ メン トでき、 ROM 64 X 1、ROM 128 X 1、および ROM 256 X 1 の 3 つのコンフ ィギュレーシ ョ ンを構成できます。 また、ROMの内容はデバイスのコンフ ィギュレーシ ョ ン時に読み込まれます。 表 5 にそれぞれの ROM コン

フ ィギュレーシ ョ ンで使用される LUT 数を示します。

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

ト シフ ト レジスタ と してもコンフ ィギュレーシ ョ ンできます。 シフ ト レジスタ と して使用した場

合、 各 LUT でシ リ アル データを 1 ~ 32 ク ロ ッ ク サイクル遅延させるこ とができます。 シフ ト イ

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

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

LUT をカスケード接続する と、最大 128 ク ロ ッ ク サイクルの遅延を生成できます。複数の SLICEMのシフ ト レジスタを組み合わせるこ と もできますが、 スライス間には直接接続がなく、LUT B/C/Dに MC31 出力がないため、これよ り長いシフ ト レジスタは構成できません。 生成されたプログラマ

ブル遅延を使用して、 データ パイプラインのタイ ミ ングのバランスを取るこ とが可能です。

このよ うなシフ ト レジスタを使用する と、遅延やレイテンシ補正を必要とするアプリ ケーシ ョ ンを

効果的にデザインできます。 シフ ト レジスタは、 同期 FIFO および CAM (Content AddressableMemory) デザインでも有用です。

書き込み操作は、 クロ ッ ク (CLK) 入力およびオプシ ョ ンのクロ ッ ク イネーブルと同期して実行さ

れます。 ダイナミ ッ ク読み出しは、5 ビッ ト アドレス バス A[4:0] を使用して実行されます。 LUT のLSB は未使用になり、 ソフ ト ウェアによって自動的に High に駆動されます。 このコンフ ィギュ

レーシ ョ ン可能シフ ト レジスタは、セッ ト / リセッ トできません。 読み出しは非同期ですが、同期読

み出しをインプリ メン トするには、 ス ト レージ エレ メン ト またはフ リ ップフロ ップを使用できま

す。 この場合、 フ リ ップフロ ップの clock-to-out によ り全体の遅延が決定されパフォーマンスが改

善されますが、 ク ロ ッ ク レイテンシが 1 ク ロ ッ ク サイ クル分追加されます。 5 ビッ ト アドレスを変

表 5 : ROM コンフ ィギュレーシ ョ ン

ROM LUT 数

64 X 1 1

128 X 1 2

256 X 1 4

Page 25: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 25ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

更する と、32 ビッ トの任意のビッ ト を O6 LUT 出力に非同期で読み出すこ とができます。 この方法

は、32 ビッ ト未満の小規模シフ ト レジスタを構築する際に役立ちます。 たとえば、13 ビッ トのシフ

ト レジスタを構築する場合は、13 番目のビッ トにアドレスを指定します。 図 16 に 32 ビッ トのシフ

ト レジスタのブロ ッ ク図を示します。

図 17 にファンクシ ョ ン ジェネレータ 1 つを使用したシフ ト レジスタ コンフ ィギュレーシ ョ ンの

例を示します。

図 18 に、 2 個の 16 ビッ ト シフ ト レジスタを示します。 この例は、 1 つの LUT にインプリ メン ト

可能です。

X-Ref Target - Figure 16

図 16 : 32 ビッ ト シフ ト レジスタのコンフ ィギュレーシ ョ ン

X-Ref Target - Figure 17

図 17 : シフ ト レジスタ コンフ ィギュレーシ ョ ン

ug384_16_042309

(Q)

( )

(AQ)

DI1

D Q

(AX)

SHIFTIN ( )

SHIFTIN (D)

A[4:0]

CLKCE

(A[6:2])

(CLK)

(WE/CE)

SRL32

SRLC32E

A[6:2]

CLKCE

O6

MC31SHIFTOUT (Q31)

5

ug384_17_042309

SHIFTIN (D)

SHIFTOUT(Q31)WE

CLK

(A[4:0])

32

MUX

Q

5

Page 26: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

26 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

前述のとおり、出力 (MC31) を 1 つ追加してシフ ト レジスタ間に専用配線を使用する と、 LUT O6出力を使用せずに、 そのレジスタの最終ビッ ト を次のレジスタの最初のビッ トに接続できます。 長いシフ ト レジスタを作成する場合は、チェーン内のどのビッ トへもダイナミ ッ クにアクセスできる

よ うに構築できます。 シフ ト レジスタのチェーン接続、 そして F7AMUX、 F7BMUX、 および

F8MUX マルチプレクサを使用する と、1 つの SLICEM で最大 128 ビッ トのアドレス指定可能なシ

フ ト レジスタをインプ リ メン トできます。図 19 ~ 図 21 に、1 つの SLICEM を使用したシフ ト レジスタのコンフ ィギュレーシ ョ ン例を示します。

X-Ref Target - Figure 18

図 18 : 2 個の 16 ビッ ト シフ ト レジスタ コンフ ィギュレーシ ョ ン

X-Ref Target - Figure 19

図 19 : 64 ビッ ト シフ ト レジスタのコンフ ィギュレーシ ョ ン

ug384_18_042309

DI1SHIFTIN1 (AX)

SHIFTIN2 (AI)

A[3:0]

CLK

CE

4

SRL16

A[5:2]

CLKWE

O5

MC31

DI2

4

SRL16

A[5:2]CLKWE

O6

ug384_19_042309

DI1SHIFTIN (D)

A[5:0]

CLK

WE

(CLK)

(WE/CE)

5

SRL32

A[6:2]

CLKWE

O6

MC31

MC31

DI1

5

SRL32

A[6:2]CLKWE

O6

(Q)

F7AMUX

( )

D Q

A5 (AX)

(AQ)

SHIFTOUT (Q63)

(MC31)

Page 27: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 27ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

X-Ref Target - Figure 20

図 20 : 96 ビッ ト シフ ト レジスタのコンフ ィギュレーシ ョ ン

UG384_20_042309

DI1SHIFTIN (D)

A[6:0]

CLK

WE

AX (A5)

(CLK)

(WE/CE)

5

SRL32

A[6:2]

CLKWE

O6

MC31

MC31

DI1

5

SRL32

A[6:2]

CLKWE

O6

F7BMUX

F8MUX

(Q)

( )

D Q(BQ)

(BMUX)

DI1

5

SRL32

A[6:2]

CLKWE

O6F7AMUX

CX (A5)

BX (A6)

Page 28: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

28 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

2 個以上の SLICEM を使用する と 128 ビッ ト よ り長いシフ ト レジスタを構築できますが、 スライ

ス間は直接接続がないため、 これよ り長いシフ ト レジスタは構築できません。

シフ ト レジスタのデータ フロー

シフ ト操作

シフ トは、アクティブ High のクロ ッ ク イネーブルを使用してシングル ク ロ ッ ク エッジで実行され

ます。 イネーブル信号が High のと き、 入力 (D) がシフ ト レジスタの最初のビッ トに読み込まれま

す。 そして各ビッ ト も次の高位ビッ トにシフ ト します。 カスケード接続可能なシフ ト レジスタのコ

ンフ ィギュレーシ ョ ンでは、 最後のビッ トが M31 出力にシフ ト アウ ト されます。

5 ビッ ト アドレス ポート (A[4:0]) で選択されたビッ トは、 Q 出力に現れます。

X-Ref Target - Figure 21

図 21 : 128 ビッ ト シフ ト レジスタのコンフ ィギュレーシ ョ ン

ug384_21_042309

DI1SHIFTIN (D)

A[6:0]

CLK

WE

(CLK)

(WE/CE)

5

SRL32

A[6:2]

CLKWE

O6

MC31

MC31

MC31

MC31

DI1

SRL32

A[6:2]

CLKWE

O6F7BMUX

F8MUX

CX (A5)

BX (A6)

(Q)

( )

D Q

(BMUX)

SHIFTOUT (Q127)

(MC31)

(BQ)

DI1

SRL32

A[6:2]

CLKWE

O6

DI1

SRL32

A[6:2]

CLKWE

O6F7AMUX

AX (A5)

Page 29: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 29ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

ダイナミ ック読み出し操作

Q 出力の値は、5 ビッ トのアドレス入力によ り決定します。 新しいアドレスが 5 ビッ トの入力アドレ

ス ピンに読み込まれる と、LUT にアクセスする時間分遅れて、Q 出力にこの新しい値が出力されま

す。 この操作は非同期で、 クロ ッ ク信号およびクロ ッ ク イネーブル信号とは関係なく行われます。

スタテ ィ ック読み出し操作

5 ビッ ト アドレス入力が固定されている場合、 Q 出力は常に同じアドレスの値になり ます。 この

モードでは、1 つの LUT に 1 ~ 16 ビッ トのシフ ト レジスタをインプリ メン ト します。 シフ ト レジ

スタ長は (N+1) です (N は、 0~31 の入力アドレス)。

Q 出力は、 シフ ト操作と同期して変化します。 ビッ トが次の位置にシフ ト し、 Q に出力されます。

シフ ト レジスタのまとめ

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

• ダイナミ ッ ク読み出しは非同期に行われる (Q 出力)

• スタティ ッ ク読み出しは同期に行われる (Q 出力)

• データ入力は、 setup-to-clock タイ ミ ング仕様に従っている

• カスケード接続可能なコンフ ィギュレーシ ョ ンでは、常に Q31 出力に最後のビッ ト値が含まれ

ている

• Q31 出力はシフ ト動作後に同期して変化する

マルチプレクサ

SLICEL または SLICEM ファンクシ ョ ン ジェネレータおよびマルチプレクサは、 次をインプ リ メ

ン トできます。

• LUT を 1 つ使用する 4:1 マルチプレクサ

• LUT を 2 つ使用する 8:1 マルチプレクサ

• LUT を 4 つ使用する 16:1 マルチプレクサ

これらの多入力マルチプレクサは、 専用の F7AMUX、 F7BMUX、 および F8MUX を使用して、 1レベルまたはロジッ ク (LUT) にインプリ メン ト されます。 このよ うなマルチプレクサは、 1 つのス

ライスで最大 4 個の LUT を組み合わせるこ とができます。

大型マルチプレクサの設計

4:1 マルチプレクサ

すべての LUT は、 4:1 マルチプレクサにコンフ ィギュレーシ ョ ンできます。 この 4:1 マルチプレク

サは、同じスライス内のフ リ ップフロ ップを 1 つ使用してインプリ メン トできます。 1 つのスライス

内に最大 4 個の 4:1 マルチプレクサをインプリ メン トできます (図 22 を参照)。

Page 30: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

30 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

8:1 マルチプレクサ

各 SLICEL または SLICEM には、F7AMUX と F7BMUX が 1 つずつあ り ます。 この 2 つのマルチ

プレクサでは、2 つの LUT の出力を組み合わせて最大 13 入力の組み合わせファンクシ ョ ン (8:1 マルチプレクサ) を構築します。 1 つのスライス内には最大 2 個の 8:1 マルチプレクサをインプリ メン

トできます (図 23 を参照)。

X-Ref Target - Figure 22

図 22 : 1 つのスライスに含まれる 4 個の 4:1 マルチプレクサ

ug384_22_042309

(D[6:1])

(C[6:1])

(B[6:1])

(A[6:1])

(CLK)CLK

6

LUT

LUT

LUT

LUT

A[6:1]

O6

6A[6:1]

O6

4:1 MUX

( )

D Q

(D)

(DQ)

4:1 MUX

( )

D Q

(C)

(CQ)

4:1 MUX

( )

D Q

(B)

(BQ)

4:1 MUX

( )

D Q

(A)

(AQ)

6A[6:1]

O6

6A[6:1]

O6

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

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

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

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

Page 31: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 31ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

16:1 マルチプレクサ

各 SLICEL または SLICEM には F8MUX があ り ます。 この F8MUX は、F7AMUX と F7BMUX の出力を組み合わせて、最大 27 入力 (または 16:1 マルチプレクサ) の組み合わせファンクシ ョ ンを構

築します。 1 つのスライスには 16:1 マルチプレクサ 1 つのみをインプ リ メ ン トできます (図 24 を参照)。

X-Ref Target - Figure 23

図 23 : 1 スライスに含まれる 2 個の 8:1 マルチプレクサ

ug384_23_042309

(D[6:1])

(C[6:1])

(CX)

(B[6:1])

(A[6:1])

(AX)

SELF7(1)(CLK)

CLK

SELF7(2)

SEL D [1:0] DATA D [3:0](1)

SEL C [1:0] DATA C [3:0](1)

SEL B [1:0] DATA B [3:0](2)

SEL A [1:0] DATA A [3:0](2)

6

LUT

LUT

LUT

LUT

A[6:1]

O6

6A[6:1]

O6

8:1 MUX(1)

( )

D Q

(CMUX)

(CQ)

8:1 MUX(2)

( )

D Q

(AMUX)

(AQ)

6A[6:1]

O6

6A[6:1]

O6

F7BMUX

F7AMUX

Page 32: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

32 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

複数の SLICEM を使用する と 16:1 よ り大規模なマルチプレクサを構築できますが、 スライス間は

直接接続がないため、 これよ り長いマルチプレクサは構築できません。

高速ルックアヘッ ド キャリー ロジック

SLICEM および SLICEL には、 ファンクシ ョ ン ジェネレータのほか、 高速加算/減算を実行するた

めに、スライスに専用キャ リー ロジッ クが含まれています (SLICEX には含まれません)。 CLB には

キャ リー チェーンが 1 つあ り ます (図 1 を参照)。 このキャ リー チェーンはカスケード接続が可能

なため、 大規模な加算/減算ロジッ クを構築できます (図 2 を参照)。

Spartan-6 デバイスのキャ リー チェーンでは上方向に演算が実行され、 各スライスの高さは 4 ビッ

トです。 各ビッ トには、 キャ リー マルチプレクサ (MUXCY) と専用 XOR ゲートが 1 つずつあ り、

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

キャ リー マルチプレクサ (MUXCY) を使用して、 ファンクシ ョ ン ジェネレータをカスケード接続

し、 多入力ロジッ ク ファンクシ ョ ンをインプ リ メン トするこ と もできます。

図 25 に、 1 つのスライスの関連ロジッ ク エレ メン ト を使用したキャ リー チェーンを示します。

X-Ref Target - Figure 24

図 24 : 1 つのスライスに含まれる 1 つの 16:1 マルチプレクサ

ug384_24_042309

(D[6:1])

(C[6:1])

(CX)

(B[6:1])

(A[6:1])

(AX)(BX)

(CLK)

SELF7

SELF7

SELF8

CLK

6

LUT

LUT

LUT

LUT

A[6:1]

O6

6A[6:1]

O6

16:1 MUX

( )

D Q

(BMUX)

(B)

6A[6:1]

O6

6A[6:1]

O6

F7BMUX

F8MUX

F7AMUX

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

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

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

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

Page 33: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 33ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

キャ リー チェーンは、 ファンクシ ョ ン ジェネレータ と共にルッ クアヘッ ド ロジッ クが含まれてい

ます。 独立した入力が 10 個 (S 入力 S0~S3、 DI 入力 DI1~DI4、 CYININT および CIN) と独立し

た出力が 8 個 (O 出力 O0~O3 および CO 出力 CO0~CO3) あ り ます。

S 入力は、キャ リー ルッ クアヘッ ド ロジッ クの伝搬信号に使用されます。 伝搬信号は、ファンクシ ョ

ン ジェネレータの O6 出力から入力されます。 DI 入力は、 キャ リー ルッ クアヘッ ド ロジッ クの生

成信号に使用されます。 生成信号は、 ファンクシ ョ ン ジェネレータの O5 出力またはスライスの

BYPASS 入力 (AX、BX、CX、および DX) から入力されます。 S 入力は乗算器を構築するために使

用されますが、 DI 入力は加算器/累算器を構築するために使用されます。 CYINIT は、 キャ リー

チェーンの最初のビッ トの CIN (キャ リー入力) です。 CYINIT 値は、 加算の場合は 0、 減算の場合

は 1、 またはダイナミ ッ ク高速キャ リー ビッ トの場合は AX 入力です。 CIN 入力を使用してスライ

スをカスケード接続し、よ り長いキャ リー チェーンを構築します。 O 出力には、加算/減算の和が含

X-Ref Target - Figure 25

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

ug384_25_042309

DMUX/DQ*

DMUX

DQDX

S3MUXCY

DI3

CO3

O3

COUT ( )

(CARRY4)

( )

D Q

CMUX/CQ*

CMUX

CQCX

S2MUXCY

DI2

CO2

CO1

CO0

O2

( )

D Q

BMUX/BQ*

BMUX

BQBX

S1MUXCY

DI1

O1

( )

D Q

AMUX/AQ*

AMUX

AQAX

S0MUXCY

DI0

CIN

CIN ( )

*

CYINIT

10

O0

( )

D Q

Page 34: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

34 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

まれ、CO 出力では各ビッ トのキャ リー アウ トが計算されます。 CO3 がスライスの COUT 出力に接

続されて、複数スライスをカスケード接続するこ とによって、 よ り長いキャ リー チェーンが構築さ

れます。 加算器の伝搬遅延は、 カスケード接続されるキャ リー チェーン数が増えるほど、 オペラン

ドのビッ ト数に相対して増加します。 キャ リー チェーンは、同じスライス内のス ト レージ エレ メン

ト またはフ リ ップフロ ップを使用してインプリ メン トできます。

CLB およびスライスのタイ ミング モデル

Spartan-6 FPGA はサイズが大き く、 かつ複雑なデバイスであるため、 多様なパスおよびファンク

シ ョ ン エレ メン トのタイ ミ ングを理解するこ とは困難かつ重要な課題です。 ザイ リ ンクス ソフ ト

ウェアを使用してデザインをインプリ メン トする場合は、さまざまなタイ ミ ング パラ メータをすべ

て理解する必要はあ り ませんが、 ク リ ティカル パスの分析や高速デザインを目指す上級設計者に

とっては、 タイ ミ ング モデルの理解が役立ちます。

次に示すタイ ミ ング モデルでは、 次の 3 つのセクシ ョ ンが含まれています。

• ファンクシ ョ ン エレ メン ト図 : ピンと接続を示した基本的なアーキテクチャの回路図

• タイ ミ ング パラ メータ : 『Spartan-6 FPGA データシート 』 に記載されているタイ ミ ング パラ

メータの定義

• タイ ミ ング図 : 各ファンクシ ョ ン エレ メン トのタイ ミ ング パラ メータの相互関係

こ こに記載するタイ ミ ング モデルを使用する場合は、ザイ リ ンクス Timing Analyzer ソフ ト ウェア

(TRCE) および 『Spartan-6 FPGA データシート 』 のスイ ッチ特性の章も併せて参照してください。

ピン名、パラ メータ名、およびパスはすべて、配線前および配線後のスタティ ッ ク タイ ミ ング レポー

トの表記と一致します。本章では、 スイ ッチ特性の章に記載されているほとんどのタイ ミ ング パラ

メータについて説明しています。

『Spartan-6 FPGA データシート 』 に記載されているすべてのタイ ミ ング パラ メータは、 スライスお

よび CLB と関連しています。 こ こで説明する次のセクシ ョ ンは、 『Spartan-6 FPGA データシート 』

のスイ ッチ特性の章と同じ内容です。

• スライス (LUT およびス ト レージ エレ メン ト ) タイ ミ ング モデル

• スライスの分散 RAM のタイ ミ ング モデル (SLICEM のみ)

• スライスのシフ ト レジスタのタイ ミ ング モデル (SLICEM のみ)

• スライス キャ リーチェーンのタイ ミ ング モデル (SLICEM および SLICEL のみ)

スライス (LUT およびスト レージ エレメン ト ) タイ ミング モデル

図 26 に Spartan-6 FPGA のスライスの簡略図を示します。 スライスのエレメン トの一部は省略されて

おり、 このセクシ ョ ンで説明されているタイ ミ ング パスに関連したエレメン トのみ記載しています。

Page 35: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 35ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

X-Ref Target - Figure 26

図 26 : Spartan-6 FPGA のスライスの簡略図

ug384_26_042309

LUT

O6

O5

6D

FF/LAT

D

CE

CLK

SR

Q

F7BMUX

F8MUX

DMUX

DQ

D Inputs

LUT

O6

O5

6C

FF/LAT

D

CE

CLK

SR

Q CQ

CMUX

C Inputs

DX

CX

LUT

O6

O5

6B

FF/LAT

D

CE

CLK

SR

Q BQ

BMUX

B Inputs

BX

FF/LAT

D

CE

CLK

SR

Q AQ

F7AMUXLUT

O6

O5

6A

AMUX

A Inputs

AX

CE

CLK

SR

D

CE

Q

CKSR

D

CE

Q

CKSR

D

CE

Q

CKSR

D

CE

Q

CKSR

Page 36: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

36 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

タイ ミ ング パラメータ

表 6 に図 26 に示されている主なパスに関連する一般的なスラ イスのタイ ミ ング パラ メータを示

します。

表 6 : スライス (LUT およびスト レージ エレメン ト ) のタイ ミング パラメータ

パラ メータ ファンクシ ョ ン 説明

組み合わせ遅延

TILO(1) A/B/C/D 入力から

A/B/C/D 出力

スライスの A/B/C/D 入力からルッ クアップ テーブル (LUT) を通り スライスの A/B/C/D 出力に出力されるまでの伝搬遅延 (6 入力 ファンクシ ョ ン)

TILO_2 A/B/C/D 入力から AMUX/CMUX 出力

スライスの A/B/C/D 入力から LUT と F7AMUX/F7BMUX を通

り、 AMUX/CMUX 出力に出力されるまでの伝搬遅延 (7 入力 ファンクシ ョ ン)

TILO_3 A/B/C/D 入力から BMUX 出力

スライスの A/B/C/D 入力から LUT、F7AMUX/F7BMUX、およ

び F8MUX を通り、 BMUX 出力に出力されるまでの伝搬遅延

(8 入力 ファンクシ ョ ン)

シーケンシャル遅延

TCKO フ リ ップフロ ップ/ラ ッチ エレ メン ト

FF ク ロ ッ ク (CLK) から AQ/BQ/CQ/DQ 出力

ク ロ ッ ク後にフ リ ップフロ ップと してコンフ ィギュレーシ ョ ン

されているスライス シーケンシャル エレ メン トの AQ/BQ/CQ/DQ 出力でデータが安定しなければいけない時間

TCKO フ リ ップフロ ップ エレ メン トのみ

FF ク ロ ッ ク (CLK) から AQ/BQ/CQ/DQ 出力

クロ ッ ク後にスライス シーケンシャル エレ メン トの AQ/BQ/CQ/DQ 出力でデータが安定しなければいけない時間

TCKLO ラ ッチ ク ロ ッ ク (CLK) から AQ/BQ/CQ/DQ 出力

ク ロ ッ ク後にラ ッチと してコンフ ィ ギュレーシ ョ ンされている

スライス シーケンシャル エレ メン トの AQ/BQ/CQ/DQ 出力で

データが安定しなければいけない時間

スライス シーケンシャル エレメン トのセッ トアップおよびホールド タイム(2)

TDICK/TCKDI フ リ ップ

フロップ/ラ ッチ エレ メン ト

AX/BX/CX/DX 入力 クロ ッ クの前 / 後にフ リ ップフロ ップと してコンフ ィギュレー

シ ョ ンされているスライス シーケンシャル エレ メン トの D 入力

でスライスの AX/BX/CX/DX 入力からのデータが安定しなけれ

ばいけない時間

TDICK/TCKDI フ リ ップ

フロ ップ エレ メン トのみ

AX/BX/CX/DX 入力 クロ ッ クの前/後にスライス シーケンシャル エレ メン トの D 入力でスライスの AX/BX/CX/DX 入力からのデータが安定しなけ

ればいけない時間

TDICK/TCKCE フ リ ップ

フロップ/ラ ッチ エレメン ト

CE 入力 クロ ッ クの前 / 後にフ リ ップフロ ップと してコンフ ィギュレー

シ ョ ンされるスライス シーケンシャル エレ メン トの CE 入力で

スライスの CE 入力が安定しなければいけない時間

TDICK/TCKCE フ リ ップ

フロ ップ エレ メン トのみ

CE 入力 クロ ッ クの前/後にスライス シーケンシャル エレ メン トの CE 入力でスライスの CE 入力が安定しなければいけない時間

Page 37: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 37ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

タイ ミ ング特性

図 27 に、 Spartan-6 FPGA のスライスの一般的なタイ ミ ング特性を示します。

• ク ロ ッ ク イベン ト (1) よ り も TCEO 時間前にクロ ッ ク イネーブル信号がスライス レジスタの

CE 入力が有効 (High) になり ます。

• ク ロ ッ ク イベン ト (1) よ り も TDICK 時間前に AX、BX、CX、 または DX 入力のいずれかから

のデータがスライス レジスタの D 入力で有効 (High) になり ます。 このデータは、 ク ロ ッ ク イベン ト (1) の後の TCKO 時間に AQ、 BQ、 CQ、 または DQ ピンに出力されます。

• ク ロ ッ ク イベン ト (3) よ り も TSRCK 時間前に同期リセッ ト と してコンフ ィギュレーシ ョ ンさ

れた SR 信号が有効 (High) になり、スライス レジスタが リセッ ト されます。 これは、 ク ロ ッ ク

イベン ト (3) の後の TCKO 時間に AQ、 BQ、 CQ、 または DQピンに反映されます。

TSRCK/TCKSR フ リ ップ

フロップ/ラ ッチ エレメン ト

SR 入力 クロ ッ クの前 / 後にフ リ ップフロ ップと してコンフ ィギュレー

シ ョ ンされているスライス シーケンシャル エレ メン トの SR (セッ ト / リセッ ト ) 入力でスライスの SR 入力が安定しなければ

いけない時間

TSRCK/TCKSR フ リ ップ

フロ ップ エレ メン トのみ

SR 入力 クロ ッ クの前/後にスライス シーケンシャル エレ メン トの SR (セッ ト / リセッ ト ) 入力でスライスの SR 入力が安定しなければ

いけない時間

セッ ト /リセッ ト

TRPW SR (セッ ト / リセッ ト ) の最小パルス幅

TRQ スライス シーケンシャル エレ メン トの非同期セッ ト / リセッ トの

伝搬遅延。 SR 入力から AQ/BQ/CQ/DQ 出力

FTOG ト グル周波数 : CLB フ リ ップフロ ップにクロ ッ クを供給できる

最大周波数 = 1 / (TCH + TCL).

メモ : 1. このパラ メータは、 2 個の 5 入力ファンクシ ョ ンと してコンフ ィギュレーシ ョ ンされた LUT を含みます。

2. TXXCK = セッ ト アップ タイム (ク ロ ッ ク エッジの前)、 TCKXX = ホールド タイム (ク ロ ッ ク エッジの後)

表 6 : スライス (LUT およびスト レージ エレメン ト ) のタイ ミング パラメータ (続き)

パラメータ ファンクシ ョ ン 説明

X-Ref Target - Figure 27

図 27 : 一般的なスライスのタイ ミング特性

ug384_27_042309

TCEO

1 2 3

CLK

CE

AX/BX/CX/DX(DATA)

SR (RESET)

AQ/BQ/CQ/DQ(OUT)

TDICK

TCKO

TSRCK

TCKO

Page 38: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

38 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

スライスの分散 RAM のタイ ミング モデル (SLICEM のみ)図 28 に、 Spartan-6 FPGA スライスにインプリ メン ト されている分散 RAM の詳細を示します。 スライスのエレ メン トの一部は省略されており、このセクシ ョ ンで説明されているタイ ミ ング パスに

関連したエレ メン トのみが記載されています。

分散 RAM のタイ ミング パラ メータ

表 7 に、図 28 に示した主なパスに関連する SLICEM に含まれる分散 RAM のタイ ミ ング パラ メー

タを示します。

X-Ref Target - Figure 28

図 28 : Spartan-6 FPGA の SLICEM に含まれる分散 RAM の簡略図

ug384_29_042309

6D

DXDI

D input

CXCI

C input

BXBI

B input

AXAI

A input

CLKWE

WA[6:0]

RAM

CLKWE

DI1DI2A[6:0]

O6

DMUXO5

6C

WA[6:0]

RAM

CLKWE

DI1DI2A[6:0]

O6

CMUXO5

6B

WA[6:0]

RAM

CLKWE

DI1DI2A[6:0]

O6

BMUXO5

6A

WA[6:0]

RAM

CLKWE

DI1DI2A[6:0]

O6

AMUXO5

表 7 : 分散 RAM のタイ ミング パラメータ

パラ メータ ファンクシ ョ ン 説明

RAM (分散 RAM) と してコンフ ィギュレーシ ョ ンされたスライス LUT のシーケンシャル遅延

TSHCKO(1) CLK から A/B/C/D 出力 書き込み操作のクロ ッ ク後に分散 RAM に書き込まれたデー

タがスライスの A/B/C/D 出力で安定しなければいけない時間

Page 39: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 39ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

分散 RAM のタイ ミング特性

図 29 に Spartan-6 FPGA のスライス (LUT は RAM と してコンフ ィギュレーシ ョ ン) にインプリ メ

ン ト された 16 ビッ ト分散 RAM のタイ ミ ング特性を示します。

RAM (分散 RAM)(2) と してコンフ ィギュレーシ ョ ンされたスライス LUT のセッ トアップおよびホールド タイム

TDS/TDH(3) データ入力 (DI1) と して

コンフ ィギュレーシ ョ ン

された AX/BX/CX/DX

ク ロ ッ クの前/後にスライスの AX/BX/CX/DX 入力でデータ

が安定しなければいけない時間

TACK/TCKA A/B/C/D アドレス入力 クロ ッ クの前/後に RAM と してコンフ ィギュレーシ ョ ンされ

ているスライス LUT の A/B/C/D 入力でアドレス信号が安定

しなければいけない時間

TWS/TWH WE 入力 クロ ッ クの前/後に RAM と しコンフ ィギュレーシ ョ ンされて

いるスライス LUT の WE 入力で書き込みイネーブル信号が安

定しなければいけない時間

クロック CLK

TWPH 最小パルス幅、 High

TWPL 最小パルス幅、 Low

TWC アドレス書き込みサイクル時間を満たす最小クロ ッ ク周期

メモ : 1. このパラ メータは、 2 ビッ トの分散 RAM と してコンフ ィギュレーシ ョ ンされた LUT を含みます。

2. TXXCK = セッ ト アップ タイム (ク ロ ッ ク エッジの前)、 TCKXX = ホールド タイム (ク ロ ッ ク エッジの後)3. このパラ メータは、 データ入力 (DI2) と してコンフ ィギュレーシ ョ ンされた AI/BI/CI/DI を含みます。

表 7 : 分散 RAM のタイ ミング パラメータ (続き)

パラメータ ファンクシ ョ ン 説明

X-Ref Target - Figure 29

図 29 : スライスに含まれる分散 RAM のタイ ミング特性

ug384_29_042309

TWPL

TWPH

TWC

1 2 3 4 5 6 7

CLK

WE

DATA_OUTA/B/C/D

A/B/C/D(ADDR)

AX/BX/CX/DX(DI)

TAS

2

1

1 0 01MEM(F)

WRITE WRITE WRITE WRITEREAD READ

MEM(E)

X X0 01

F 3 4 5 E

TDS

TWS TILO TILO

TSHCKO

Page 40: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

40 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

クロック イベン ト 1 : 書き込み

書き込み実行時に ADDR 入力のアドレス上にある メモ リの内容が変更されます。 このメモリに書

き込まれたデータは、 同期して A/B/C/D 出力に反映されます。

• ク ロ ッ ク イベン ト 1 よ り も TWS 時間前に書き込みイネーブル信号 (WE) が有効 (High) にな

り、 RAM が次の書き込みを実行できる状態になり ます。

• ク ロ ッ ク イベン ト 1 よ り も TAS 時間前にアド レス (2) が RAM の A/B/C/D 入力で有効にな

り ます。

• ク ロ ッ ク イベン ト 1 よ り も TDS 時間前に DATA が RAM の DI 入力で有効 (1) になり、ク ロ ッ

ク イベン ト 1 の後の TSHCKO 時間に A/B/C/D 出力に反映されます。

また、 ク ロ ッ ク イベン ト 1 よ り も TSHCKO および TWOSCO 時間後に AMUX、 BMUX、 CMUX、

DMUX、 および COUT 出力にも反映されます。

クロック イベン ト 2 : 読み出し

分散 RAM では、 すべての読み出しが非同期です。 WE が Low の場合は、 随時アドレス バスをア

サートできます。 そのアドレス バスにある RAM の内容は、TILO の遅延 (LUT を通過する場合の伝

搬遅延) 後に A/B/C/D 出力に反映されます。 ク ロ ッ ク イベン ト 2 の後に アドレス (F) はアサート さ

れ、 そのアドレスにある RAM の内容は、 TILO の遅延後に出力に反映されます。

スライスのシフ ト レジスタのタイ ミング モデル (SLICEM のみ)図 30 に、Spartan-6 FPGA のスライスに含まれるシフ ト レジスタのインプリ メンテーシ ョ ンを示し

ます。 スライスのエレ メン トの一部は省略されており、 このセクシ ョ ンで説明されているタイ ミ ン

グ パスに関連したエレ メン トのみ記載されています。

Page 41: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 41ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

スライスのシフ ト レジスタのタイ ミング パラメータ

表 8 に図 30 に示した主なパスに関連する SLICEM のシフ ト レジスタのタイ ミ ング パラ メータを

示します。

X-Ref Target - Figure 30

図 30 : Spartan-6 FPGA のスライスに含まれるシフ ト レジスタの簡略図

ug384_30_042309

6

DDX

CX

BX

AX

D

SRL

CLK WE

DI1

A

O6

MC31

WCLK

6

C

C

SRL

CLK WE

DI1

A

O6

MC31

6

B

B

SRL

CLK WE

DI1

A

O6

MC31

6

A

A

SRL

CLK WE

DI1

A

O6

DMUXMC31

表 8 : スライスのシフ ト レジスタのタイ ミング パラメータ

パラ メータ ファンクシ ョ ン 説明

シフ ト レジスタと してコンフ ィギュレーシ ョ ンされたスライス LUT のシーケンシャル遅延

TREG(1) CLK から A/B/C/D 出力 書き込み操作のクロ ッ ク後にシフ ト レジスタに書き込まれたデータ

がスライスの A/B/C/D 出力で安定しなければいけない時間

TREG_MUX(1) CLK から AMUX ~ DMUX 出力 書き込み動作のクロ ッ ク後にシフ ト レジスタに書き込まれたデータ

がスライスの DMUX 出力で安定しなければいけない時間

Page 42: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

42 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

スライスのシフ ト レジスタのタイ ミング特性

図 31 に Spartan-6 FPGA のスライス (LUT はシフ ト レジスタ と してコンフ ィギュレーシ ョ ン) にインプリ メン ト された 16 ビッ ト シフ ト レジスタのタイ ミ ング特性を示します。

クロック イベン ト 1 : Shift In

書き込み (Shift In) の実行中、 シフ ト レジスタを介してデータがシフ ト される と き、 A/B/C/D 入力

のアドレスにあるレジスタの 1 ビッ トの内容が変更されます。 ク ロ ッ ク イベン ト中にアドレスが変

更されない場合、このレジスタに書き込まれたデータが同期して A/B/C/D 出力に反映されます。 クロ ッ ク イベン ト中に A/B/C/D 入力が変更される場合、アドレス指定可能な出力 (A/B/C/D 出力) のデータ値は無効になり ます。

• ク ロ ッ ク イベン ト 1 よ り も TWS 時間前に書き込みイネーブル信号 (WE) が有効 (High) にな

り、 シフ ト レジスタが次の書き込みを実行できる状態になり ます。

• ク ロ ッ ク イベン ト 1 よ り も TDS 時間前にデータが シフ ト レジスタの DI 入力で有効 (0) にな

り、ク ロ ッ ク イベン ト 1 よ り遅延時間 TREG 後に A/B/C/D 出力に反映されます。アドレス 0 は

TREG_M31 CLK から MC31 出力を通り DMUX 出力

書き込み動作のクロ ッ ク後にシフ ト レジスタに書き込まれたデータ

が MC31 出力を通り DMUX 出力で安定しなければいけない時間

シフ ト レジスタと してコンフ ィギュレーシ ョ ンされたスライス LUT のセッ トアップおよびホールド タイム(2)

TWS/TWH CE 入力 (WE) ク ロ ッ クの前/後に書き込みイネーブル信号がシフ ト レジスタ と し

てコンフ ィギュレーシ ョ ンされたスライス LUT の WE 入力で安定

しなければいけない時間

TDS/TDH(3) データ入力 (DI) と してコンフ ィ

ギュレーシ ョ ンされた AX/BX/CX/DX

ク ロ ッ クの前にデータがシフ ト レジスタ と してコンフ ィギュレー

シ ョ ンされているスライス の AX/BX/CX/DX 入力で安定しなけれ

ばいけない時間

メモ : 1. このパラ メータには、 2 ビッ トのシフ ト レジスタ と してコンフ ィギュレーシ ョ ンされた LUT が含まれます。

2. TXXCK = セッ ト アップ タイム (ク ロ ッ ク エッジの前)、 TCKXX = ホールド タイム (ク ロ ッ ク エッジの後)3. このパラ メータには、 データ入力 (DI2) または共通シフ トの 2 ビッ ト と してコンフ ィギュレーシ ョ ンされた AI/BI/CI/DI が含まれています。

表 8 : スライスのシフ ト レジスタのタイ ミング パラメータ (続き)

パラメータ ファンクシ ョ ン 説明

X-Ref Target - Figure 31

図 31 : スライスのシフ ト レジスタのタイ ミング特性

ug384_31_04

1 2 3 4 5 6 32

CLK

(WE)

Shift_In (DI)

(A/B/C/D)

(A/B/C/D)

MSB(MC31/DMUX)

TDS

TILO TILO

0 1 1 0 1 0

20

X

X X X X X X X

0 1 1 1 1 10 0

TREG

TREG

TWS

1

Page 43: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 43ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

ク ロ ッ ク イベン ト 1 で指定されているため、 DI 入力のデータがレジスタ 0 に書き込まれ、

A/B/C/D 出力に反映されます。

クロック イベン ト 2 : Shift In

• ク ロ ッ ク イベン ト 2 よ り も TDS 時間前にシフ ト レジスタの DI 入力でデータが有効 (1) にな

り、ク ロ ッ ク イベン ト 2 よ り遅延時間 TREG 後に A/B/C/D 出力に反映されます。アドレス 0 はクロ ッ ク イベン ト 2 でもまだ指定されているため、 DI 入力のデータがレジスタ 0 に書き込ま

れ、 D 出力に反映されます。

クロック イベン ト 3 : Shift In/アドレス可能 (非同期) 読み出し

すべての読み出し操作は CLK 信号に非同期で実行されます。 ク ロ ッ ク イベン ト間でアドレスが変

更された場合、 そのアドレス上のレジスタの内容は TILO (LUT 通過時の伝搬遅延) 時間遅れてアド

レス指定可能な出力 (A/B/C/D 出力) に反映されます。

• ク ロ ッ ク イベン ト 3 よ り も TDS 時間前にデータがシフ ト レジスタの DI 入力で有効 (1) にな

り、 ク ロ ッ ク イベン ト 3 よ り遅延時間 TREG 後に A/B/C/D 出力に反映されます。

• アドレスは変更されます (0 から 2 )。 このと き、レジスタ 2 に格納されている値は 0 (この例で

は、 最初にシフ ト されるデータ ) で、 TILO 遅延後に A/B/C/D 出力に反映されます。

クロック イベン ト 32 : MSB (最上位ビッ ト ) の変化

ク ロ ッ ク イベン ト 32 の後の TREG 時間にシフ ト レジスタにシフ ト される最初のビッ トが、LUT A(シフ ト レジスタ) の MC31 出力を通ってスライスの DMUX 出力で有効 (この例ではロジッ ク 0)になり ます。 これは、 ク ロ ッ ク イベン ト 1 の後の TREG および TWOSCO 時間で、AMUX、BMUX、

CMUX、 DMUX、 および COUT 出力に対しても同様です。

スライス キャリーチェーンのタイ ミング モデル (SLICEM および SLICEL のみ)33 ページの図 25 に、Spartan-6 FPGA のスライスに含まれるキャ リー チェーンを示します。 スライ

スのエレ メン トの一部は省略されており、 このセクシ ョ ンで説明されているタイ ミ ング パスに関連

したエレ メン トのみが表示されています。

スライス キャリー チェーンのタイ ミング パラメータ

表 9 に 33 ページの図 25 に示した主なパスに関連するスライス キャ リー チェーンのタイ ミ ング パラ メータを示します。

表 9 : スライス キャリー チェーンのタイ ミング パラメータ

パラメータ ファンクシ ョ ン 説明

キャリー チェーンとしてコンフ ィギュレーシ ョ ンされたスライス LUT のシーケンシャル遅延

TAXCY/TBXCY/TCXCY/TDXCY AX/BX/CX/DX 入力

から COUT 出力

スライスの AX/BX/CX/DX 入力から COUT 出力までの伝

搬遅延

TBYP CIN 入力から COUT 出力までの遅延

スライスの CIN 入力から COUT 出力までの伝搬遅延

TOPCYA/TOPCYB/TOPCYC/TOPCYD A/B/C/D 入力から COUT 出力

スライスの A/B/C/D 入力から COUT 出力までの伝搬遅延

Page 44: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

44 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

スライス キャリー チェーンのタイ ミング特性

図 32 に Spartan-6 FPGA のスライスにインプリ メン ト されたスライス キャ リー チェーンのタイ ミ

ング特性を示します。

• ク ロ ッ ク イベン ト 1 よ り も TCINCK 時間前に CIN 入力からのデータがスライス レジスタの D入力で有効 (High) になり ます。 これは、 ク ロ ッ ク イベン ト 1 の後の TCKO 時間に

AQ/BQ/CQ/DQ ピンに出力されます。

• ク ロ ッ ク イベン ト 3 よ り も TSRCK 時間前に同期リセッ ト と してコンフ ィギュレーシ ョ ンされ

た SR 信号が有効 (High) になり、スライス レジスタがリセッ ト されます。 これは、ク ロ ッ ク イベン ト 3 の後 TCKO 時間に AQ/BQ/CQ/DQ ピンに反映されます。

CLB プリ ミテ ィブ

CLB プリ ミ ティブの詳細は、 ライブラ リ ガイ ドを参照して ください。

分散 RAM プリ ミテ ィブ

32 X 2 ビッ トから 256 X 1 ビッ トの 7 つのプリ ミ ティブがあ り ます。 表 10 に示すよ うに、3 つのプ

リ ミ ティブがシングル ポート RAM、 2 つのプリ ミ ティブがデュアル ポート RAM、 そして 2 つの

プリ ミ ティブがクワッ ド ポート RAM です。

TCINA/TCINB/TCINC/TCIND A/B/C/D 入力から AMUX/BMUX/CMUX/DMUX 出力

スライスの A/B/C/D 入力から XOR (和) を使用するスライ

スの AMUX/BMUX/CMUX/DMUX 出力までの伝搬遅延

キャリー チェーンとしてコンフ ィギュレーシ ョ ンされたスライス LUT のセッ トアップおよびホールド タイム(1)

TCINCK/TCKCIN CIN データ入力 クロ ッ クの前にスライスの CIN 入力からのデータがフ リ ッ

プフ ロ ップ と してコンフ ィ ギュ レーシ ョ ン したス ラ イ ス

シーケンシャル エレ メン トの D 入力で安定しなければなら

ない時間

メモ : 1. TXXCK = セッ ト アップ タイム (ク ロ ッ ク エッジの前)、 TCKXX = ホールド タイム (ク ロ ッ ク エッジの後)

表 9 : スライス キャリー チェーンのタイ ミング パラメータ (続き)

パラメータ ファンクシ ョ ン 説明

X-Ref Target - Figure 32

図 32 : スライス キャリー チェーンのタイ ミング特性

ug384_32_042309

TCINCK

1 2 3

CLK

CIN(DATA)

SR (RESET)

AQ/BQ/CQ/DQ(OUT)

TCKO

TSRCK

TCKO

Page 45: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 45ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

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

図 33 に標準的なシングル ポート、デュアル ポートおよびクワ ッ ド ポートの分散 RAM プリ ミ ティ

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

表 10 : シングル ポート、 デュアル ポート、 およびクワッ ド ポート分散 RAM

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

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

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

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

RAM32M 32 ビッ ト クワ ッ ド ポート ADDRA[4:0] (読み出し)

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

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

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

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

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

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

RAM64M 64 ビッ ト クワ ッ ド ポート ADDRA[5:0] (読み出し)

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

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

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

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

RAM128X1D 128 ビッ ト デュアル ポート A[6:0]、 (読み出し /書き込み)DPRA[6:0] (読み出し )

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

X-Ref Target - Figure 33

図 33 : シングル ポート、 デュアル ポート、 およびクワッ ド ポート分散 RAM プリ ミテ ィブ

RAM#X1S

ug384_33_042309

DO

WE

WCLK

A[#:0]

SPO DOD[#:0]

RAM#X1D

D

DPO

WE

WCLK

A[#:0]

DPRA[#:0]

RAM#M

DI[A:D][#:0]

DOC[#:0]

WE

WCLK

ADDRD[#:0]

ADDRC[#:0]

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

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

Page 46: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

46 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

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

きます。

ポート信号

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

ます。

クロック (WCLK)

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

ムは、 WCLK ピンを基準と しています。

イネーブル (WE/WED)

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

込みは実行されません。 WE が有効の場合、 クロ ッ ク エッジに同期してアドレス入力で指定したメ

モ リ位置にデータ入力信号が書き込まれます。

アドレス (A[#:0]、 DPRA[#:0]、 および ADDRA[#:0] - ADDRD[#:0])

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

の場合)、および ADDRA[#:0] - ADDRD[#:0] (クワ ッ ド ポートの場合) は、読み出し /書き込みを実

行する メモ リ セルを選択します。 必要となるアドレス入力の数は、 ポート幅によって決ま り ます。

VHDL または Verilog インスタンシエーシ ョ ンでは、一部のアドレス入力はバスではあ り ません。各

アドレス ファンクシ ョ ンは表 10を参照してください。

データ入力 (D、 DID[#:0])

データ入力 D (シングル ポートおよびデュアル ポートの場合) および DID[#:0] (クワ ッ ド ポートの

場合) には、 RAM に書き込む新しい値が入力されます。

データ出力 (O、 SPO、 DPO および DOA[#:0] - DOD[#:0])

データ出力 O (シングル ポート または SPO)、DPO (デュアル ポート )、および DOA[#:0] - DOD[#:0](クワ ッ ド ポート ) には、アドレス入力で指定したメモ リ セルの内容が反映されます。 次のアクティ

ブな書き込みクロ ッ ク エッジでデータ出力 (O、 SPO、 または DOD[#:0]) には新し く書き込まれた

データが反映されます。

クロック ピンの反転

ク ロ ッ ク ピン (CLK) には、個別に反転オプシ ョ ンがあ り ます。 ク ロ ッ ク信号は、ほかのロジッ ク リソースを使用せずに、 立ち下がりエッジまたは立ち上がりエッジでアクティブにできます。 デフォ

ルトでは、 立ち上がりエッジを使用します。

グローバル セッ ト /リセッ ト (GSR)

グローバル セッ ト / リセッ ト (GSR) 信号は分散 RAM モジュールには影響しません。

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

32 ビッ ト シフ ト レジスタ (SRLC32E) には 1 つのプリ ミ ティブを使用できます。図 34 に 32 ビッ

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

Page 47: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 47ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

専用のマルチプレクサ (F7AMUX、 F7BMUX、および F8MUX) を使用して複数の 32 ビッ ト シフ

ト レジスタをインスタンシエートする と、1 個のスライスで最大 128 ビッ トのカスケード接続可能

なシフ ト レジスタ チェーンを作成できます。 このユーザーガイ ドの シフ ト レジスタ (SLICEM のみ) の 図 19 ~ 図 21 に、32 ビッ ト以上のカスケード接続可能なシフ ト レジスタのさまざまなイン

プリ メンテーシ ョ ンが示されてます。

ポート信号

クロック (CLK)

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

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

アップ タイムがあ り ます。

データ入力 (D)

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

クロック イネーブル (CE)

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

のと きは、シフ ト レジスタにデータはシフ ト インされず、新しいデータは書き込まれません。 ク ロ ッ

ク イネーブルをアクティブにする と、データ入力 (D) の内容が最初のビッ トに書き込まれ、すべて

のデータが 1 つずつシフ ト します。 新しいデータが出力ピン (Q) およびカスケード接続可能な出力

ピン (Q31) に送信されます。

アドレス (A[4:0])

アドレス入力は、 読み出されるビッ ト (0 ~ 31) を選択します。 n 番目のビッ トが、 出力ピン (Q) に送信されます。 アドレス入力は、 カスケード接続可能な出力ピン (Q31) に影響せず、 常にシフ ト レジスタの最後のビッ ト (ビッ ト 31) に影響します。

データ出力 (Q)

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

データ出力 (Q31、 オプシ ョ ン)

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

に新しいデータが出力されます。

X-Ref Target - Figure 34

図 34 : 32 ビッ ト シフ ト レジスタ

SRLC32E

ug384_34_042309

DQ

A[4:0]6

CE

CLK

Q31

Page 48: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

48 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

クロック ピンの反転

ク ロ ッ ク ピン (CLK) には、個別に反転オプシ ョ ンがあ り ます。 ク ロ ッ ク信号は、ほかのロジッ ク リソースを使用せずに、 立ち下がりエッジまたは立ち上がりエッジでアクティブにできます。 デフォ

ルトでは、 立ち上がりエッジを使用します。

グローバル セッ ト /リセッ ト (GSR)

シフ ト レジスタは、 グローバル セッ ト / リセッ ト (GSR) 信号で制御されません。

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

同期シフ ト レジスタ

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

読み出し /書き込みシフ ト レジスタをインプリ メン トするには、 出力ピン Q をフ リ ップフロ ップに

接続する必要があ り ます。 図 35 に示すよ うに、シフ ト レジスタ とフ リ ップフロ ップでは同じクロ ッ

クが使用されます。

このコンフ ィギュレーシ ョ ンは、デザインが簡潔で、タイ ミ ングの点でも優れています。 フ リ ップフ

ロ ップはシフ ト レジスタ チェーンの最後のレジスタ と考え、固定長モードまたは可変長モードでの

アドレス指定は、必要な長さから 1 を引いた値にする必要があ り ます。 必要に応じて、カスケード接

続可能出力もフ リ ップフロ ップを介して出力できます。

固定長シフ ト レジスタ

カスケード接続可能な 32 ビッ トのシフ ト レジスタでは、 専用マルチプレクサ (F7AMUX、

F7BMUX、および F8MUX) を使用せずに任意の固定長モードのシフ ト レジスタをインプリ メン ト

できます。 図 36 に 72 ビッ トのシフ ト レジスタを示します。 最後の SRLC32E プリ ミ ティブのみ、

アドレス入力を 0b00111 に固定する必要があ り ます。 または、 シフ ト レジスタ長を 71 ビッ ト (アドレスは 0b00110 に固定) に制限し、 フ リ ップフロ ップを最後のレジスタ と して使用できます。

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

X-Ref Target - Figure 35

図 35 : 同期シフ ト レジスタ

D QD Q

CLK

()

CE

SRLC32E FF

Q31

ug384_35_042309

Page 49: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

Spartan-6 FPGA コンフ ィギャブル japan.xilinx.com 49ロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

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

各スライスの専用 F7AMUX、 F7BMUX、 および F8MU2 へアクセスするには、 2 つのプリ ミ ティ

ブ (MUXF7 および MUXF8) があ り ます。 これらのマルチプレクサ プリ ミ ティブは LUT と組み合

わせて使用して、 よ り ビッ ト幅の広いマルチプレクサ (8:1 ~ 16:1) を構築できます。 大型マルチプ

レクサの構築方法の詳細は、 「大型マルチプレクサの設計」 を参照して ください。

ポート信号

データ入力 (I0、 I1)

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

制御入力 (S)

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

ロジッ ク 1 では I1 入力が選択されます。

データ出力 (Q)

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

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

CARRY4 プリ ミ ティブは、 Spartan-6 アーキテクチャの SLICEM または SLICEL の高速キャ リー

ロジッ クです。 このプ リ ミ ティブは、 LUT と接続して加算器および乗算器を構築します。 通常、 こ

のプリ ミ ティブは合成ツールによ り標準 RTL コードから推論されます。 合成ツールでは、パフォー

マンスやエリ ア使用率においてこのロジッ クに最適にマッピングされる演算ファンクシ ョ ンおよび

X-Ref Target - Figure 36

図 36 : 固定長シフ ト レジスタの例

LUT

SRLC32E

D

Q31

LUT

SRLC32E

D

Q31

LUT

SRLC32E

DOUT(72

)A[4:0]

Q31

Q

500111

D

ug384_36_042309

LUT

SRLC32E

D

Q31

LUT

SRLC32E

D

Q31

LUT

SRLC32E

D OUT(72

)

A[4:0]

Q31

Q

FF

D Q

500110

D

Page 50: Spartan-6 FPGA コンフィギャブル ロジック ブロックSpartan-6 FPGA コンフィギャブル japan.xilinx.com UG384 (v1.0) 2009 年 6 月 24 日ロジックブロックユーザーガイド

50 japan.xilinx.com Spartan-6 FPGA コンフ ィギャブルロジック ブロック ユーザー ガイドUG384 (v1.0) 2009 年 6 月 24 日

ロジッ ク ファンクシ ョ ンを判断します。 また、 このファンクシ ョ ンを自動で使用し、 正し く接続し

ます。 33 ページの図 25 に CARRY4 ブロ ッ ク図を示します。

ポート信号

合計出力 (O[3:0])

合計出力からは、 加算/減算の結果が出力されます。

キャリー出力 (CO[3:0])

キャ リー出力には、 各ビッ トのキャ リーアウ トが送信されます。 CO[3] がほかの CARRY4 プリ イ

ティブの CI 入力へ接続されている場合は、 よ り長いキャ リー チェーンを構築できます。

データ入力 (DI[3:0])

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

LUT 出力から入力されます。

セレク ト入力 (S[3:0])

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

は、 LUT 出力から入力されます。

キャリー初期化 (CYINIT)

キャ リー初期化入力は、 キャ リー チェーンの最初のビッ ト を選択するのに使用されます。 CYINITピンの値は、 加算の場合は 0、 減算の場合は 1、 またはダイナミ ッ ク高速キャ リー ビッ トの場合は

AX 入力になり ます。

キャリー入力 (CI)

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

キャ リー チェーンを構築するには、 ほかの CARRY4 の CO[3] 出力をこのピンに接続します。