...

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

by user

on
Category: Documents
14

views

Report

Comments

Transcript

Spartan-6 FPGA コンフィギャブル ロジック ブロック ユーザー ガイド
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロジ ッ ク ブロ ッ ク
Spartan-6
ユーザー ガFPGA
イ ド CLB
[optional]
UG384 (v1.0) 2009 年 6 月 24 日 [optional]
Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the
development 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 liability
arising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the Documentation
without notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise you
of any corrections or updates. Xilinx expressly disclaims any liability in connection with technical support or assistance that may
be provided to you in connection with the Information.
THE DOCUMENTATION IS DISCLOSED TO YOU “AS-IS” WITH NO WARRANTY OF ANY KIND. XILINX MAKES
NO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE
DOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANY
CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOSS OF
DATA 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 trademarks
of 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
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
説明
初版 リ リ ース
japan.xilinx.com
UG384 (v1.0) 2009 年 6 月 24 日
目次
改訂履歴. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
このユーザー ガ イ ド について
その他の資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
その他の リ ソ ース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル ロ ジ ッ ク ブ ロ ッ ク (CLB)
CLB の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
ス ラ イ ス の説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
CLB お よ びス ラ イ ス の タ イ ミ ン グ モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
ス ラ イ ス (LUT お よ びス ト レージ エ レ メ ン ト ) タ イ ミ ン グ モデル . . . . . . . . . . . . . . . . . . . . .34
ス ラ イ ス の分散 RAM の タ イ ミ ン グ モデル (SLICEM のみ) . . . . . . . . . . . . . . . . . . . . . . . . . .38
ス ラ イ ス のシ フ ト レ ジ ス タ の タ イ ミ ン グ モデル (SLICEM のみ) . . . . . . . . . . . . . . . . . . . . . .40
ス ラ イ ス キ ャ リ ーチ ェーンの タ イ ミ ン グ モデル (SLICEM お よ び SLICEL のみ) . . . . . . . .43
CLB プ リ ミ テ ィ ブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
分散 RAM プ リ ミ テ ィ ブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
シ フ ト レ ジ ス タ (SRL) プ リ ミ テ ィ ブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
その他のシ フ ト レ ジ ス タ アプ リ ケーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
マルチプ レ ク サのプ リ ミ テ ィ ブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
キ ャ リ ー チ ェーン プ リ ミ テ ィ ブ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
3
4
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
こ のユーザー ガ イ ド について
こ のユーザー ガ イ ド は、Spartan®-6 FPGA コ ン フ ィ ギ ャ ブル ロ ジ ッ ク ブ ロ ッ ク (CLB) のテ ク ニ カ
ル リ フ ァ レ ン ス です。 通常、ロ ジ ッ ク 合成 ソ フ ト ウ ェ アでは、シ ス テ ム設計者の介入な し に CLB リ
ソ ース が割 り 当て ら れます。 ル ッ ク ア ッ プ テーブル (LUT) の多様な機能、キ ャ リ ー伝搬の物理的方
向、 使用可能な フ リ ッ プ フ ロ ッ プの数お よ び分布、 お よ び効率的なシ フ ト レ ジ ス タ の使用可能性な
ど、一部の CLB の詳細を理解する こ と は設計者に と っ て有利にな る 可能性があ り ます。 こ のガ イ ド
では、 こ れ ら の説明お よ び CLB のその他の機能について詳細に説明 し ます。
その他の資料
Spartan-6 フ ァ ミ リ に関する その他の情報は、 http://japan.xilinx.com/support/documentation/spartan6.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 ト ラ ン シーバについて説明 し ます。
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
5
ヘ ッ ダ/ フ ッ タ 3
•
『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
6
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
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-Ref Target - Figure 1
COUT
CLB
䝇䝷䜲䝇㻌(1)
䝇䜲䝑䝏
䝬䝖䝸䝑䜽䝇
䝇䝷䜲䝇㻌(0)
CIN
ug384_01_042309
図 1 : CLB 内のス ラ イ ス配置
ザ イ リ ン ク ス ツールでは、 ス ラ イ ス は次の よ う に定義 さ れてい ます。 「X」 の後に続 く 数字は、 各ペ
アでの ス ラ イ ス の位置お よ びス ラ イ ス の列位置を示 し ます。 こ の数字は、最初の CLB 列では ス ラ イ
ス の下位か ら 0、 1 と 定義 し 、 2 番目の CLB 列の下位か ら 2、 3 な ど の よ う に定義 し ます。 「Y」 の
後に続 く 数字は、 ス ラ イ ス の行を示 し ます。 こ の数字は、 同 じ CLB 内では同一にな り 、 上部に位置
す る に従っ て CLB 内の ス ラ イ ス に定義 さ れ る 数が大 き く な り ます。図 2 に、ダ イ の左下に配置 さ れ
た 4 つの CLB を示 し ます。
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
7
X-Ref Target - Figure 2
COUT
COUT
CLB
CLB
SLICEX
X1Y1
SLICEX
X3Y1
䝇䝷䜲䝇
䝇䝷䜲䝇
X0Y1
X2Y1
CIN
CIN
COUT
COUT
CLB
CLB
SLICEX
X1Y0
SLICEX
X3Y0
䝇䝷䜲䝇
䝇䝷䜲䝇
X0Y0
X2Y0
ug384_02_042309
図 2 : CLB と ス ラ イ ス間における行 と 列の関係
ス ラ イ スの説明
各ス ラ イ ス には、 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 入力すべてが共通の制御入力に よ
り 駆動 さ れます。
8
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 3
COUT
DI
D6:D1
DI2 CLK WE
A6:A1
O6
WA6:WA1 O5
LUT
RAM
ROM
DI1
D
D
CE
CK
CARRY4
Q
SRINIT0
SRINIT1
DPRAM64
DPRAM32
SPRAM64
SPRAM32
SRL16
SRL32 WA8
WA7
MC31
SR
D5Q
MC31
CY
XOR
O5
O6
MC31
CY
XOR
DX
O5
O6
DX
DMUX
D
CE
CK
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
DQ
CI
C6:C1
DI2 CLK WE
O6
A6:A1
WA6:WA1 O5
LUT
RAM
DI1
ROM
C
D
CE
CK
Q
SRINIT0
SRINIT1
DPRAM64
DPRAM32
SPRAM64
SPRAM32
SRL16
SRL32 WA8
WA7
MC31
SR
C5Q
F7
CY
XOR
O5
O6
F7
CY
XOR
CX
O5
O6
CX
CLK
CMUX
D
CE
CK
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
CQ
WE
CE
SR
BI
B6:B1
DI2 CLK WE
A6:A1
O6
WA6:WA1 O5
LUT
RAM
ROM
B
D
CE
CK
DI1
Q
SRINIT0
SRINIT1
DPRAM64
DPRAM32
SPRAM64
SPRAM32
SRL16 WA8
SRL32
WA7
MC31
SR
B5Q
F8
CY
XOR
O5
O6
F8
CY
XOR
BX
O5
O6
BX
BMUX
D
CE
CK
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
BQ
AI
A6:A1
DI2 CLK WE
O6
A6:A1
WA6:WA1 O5
LUT
RAM
DI1
ROM
A
D
CE
CK
Q
SRINIT0
SRINIT1
DPRAM64
DPRAM32
SPRAM64
SPRAM32
SRL16 WA8
SRL32
WA7
MC31
SR
A5Q
F7
CY
XOR
O5
O6
F7
CY
XOR
AX
O5
O6
AMUX
D
CE
CK
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
AQ
1
AX
CIN
ug384_03_042309
図 3 : SLICEM の図
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
9
X-Ref Target - Figure 4
COUT
D6:D1
A6:A1
D
O6
O5
D
CE
CK
CARRY4
Q
D5Q
SRINIT0
SRINIT1
SR
CY
XOR
DX
O5
O6
DX
C6:C1
CY
XOR
O5
O6
A6:A1
DMUX
D
CE
CK
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
DQ
C
O6
O5
D
CE
CK
Q
SRINIT0
SRINIT1
SR
C5Q
F7
CY
XOR
O5
O6
F7
CY
XOR
CX
O5
O6
CX
CLK
CMUX
D
CE
CK
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
CQ
CE
SR
B
B6:B1
A6:A1
O6
O5
D
CE
CK
Q
SRINIT0
SRINIT1
SR
B5Q
F8
CY
XOR
O5
O6
F8
CY
XOR
BX
O5
O6
BX
BMUX
D
CE
CK
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
BQ
A
A6:A1
A6:A1
O6
O5
D
CE
CK
Q
SRINIT0
SRINIT1
SR
A5Q
F7
CY
XOR
O5
O6
F7
CY
XOR
AX
O5
O6
AMUX
D
CE
CK
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
AQ
1
AX
CIN
ug384_04_042309
図 4 : SLICEL の図
10
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 5
D6:D1
A6:A1
O6
O5
D
D
CE
CK
Q
D5Q
SRINIT0
SRINIT1
SR
DMUX
O5
O6
D
CE
CK
DX
DX
O6
C6:C1
A6:A1
O6
O5
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
DQ
C
D
CE
CK
Q
SRINIT0
SRINIT1
C5Q
CMUX
O5
O6
SR
CX
CX
CLK
O6
D
CE
CK
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
CQ
CE
SR
B
B6:B1
A6:A1
O6
O5
D
CE
CK
Q
B5Q
SRINIT0
SRINIT1
SR
BMUX
O5
O6
D
CE
CK
BX
BX
O6
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
BQ
A
A6:A1
A6:A1
O6
O5
D
CE
CK
Q
A5Q
SRINIT0
SRINIT1
SR
AMUX
O5
O6
D
CE
CK
AX
O6
Q
FF
LATCH
AND2L
OR2L
SRINIT0
SRINIT1
SR
AQ
AX
ug384_05_121108
図 5 : SLICEX の図
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
11
CLB およびス ラ イ スの コ ン フ ィ ギ ュ レーシ ョ ン
表 1 に 1 つの CLB に含まれ る ロ ジ ッ ク リ ソ ース を示 し ます。 各ス ラ イ ス ま たは CLB は、次のいず
れかの コ ン フ ィ ギ ュ レーシ ョ ンに イ ンプ リ メ ン ト で き ます。
表 1 : 1 個の CLB に含まれる ロ ジ ッ ク リ ソ ース
スラ イス
LUT
2
8
フリ ップ
演算およびキ ャ リ ー
チ ェ ーン (2)
フ ロ ッ プ数
16
1
分散 RAM(1)
シ フ ト レ ジ ス タ (1)
256 ビ ッ ト
128 ビ ッ ト
メモ :
1. SLICEM にのみ該当し ます。 SLICEL および SLICEX には分散 RAM ま たはシ フ ト レ ジ ス タ はあ り ません。
2. SLICEM お よ び SLICEL のみに該当 し ます。
表 2 に Spartan-6 FPGA の使用可能な CLB リ ソ ース を表示 し ます。 6 入力 LUT 数 と ロ ジ ッ ク セル
の比率は 1.6 です。 こ の比率は、従来の 4 入力 LUT に比べて新 し い 6 入力 LUT アーキ テ ク チ ャ で
機能が向上 し てい る こ と を反映 し てい ます。
表 2 : Spartan-6 FPGA ロ ジ ッ ク リ ソ ース
ロジ ッ ク
セル
合計
スラ イス
数
XC6SLX4
3,840
600
300
0
300
XC6SLX9
9,152
1,430
360
355
XC6SLX16
14,579
2,278
544
XC6SLX25
24,051
3,758
XC6SLX45
43,661
XC6SLX75
最大
分散
シフ ト
レジス タ
RAM (Kb)
(Kb)
2,400
75
38
4,800
715
5,720
90
45
11,440
595
1,139
9,112
136
68
18,224
916
963
1,879
15,032
229
115
30,064
6,822
1,602
1,809
3,411
27,288
401
200
54,576
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
デバイ ス
SLICEM SLICEL SLICEX
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 出力のみが
12
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
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 属性を使用 し た と きの真理値表
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
SR
SRINIT
フ ァンクシ ョ ン
0
SRINIT0 (デフ ォ ル ト )
ロ ジ ッ ク レベル変更な し
1
SRINIT0 (デフ ォ ル ト )
0
japan.xilinx.com
13
表 3 : SPINIT 属性を使用 し た と きの真理値表 (続き )
SR
SRINIT
フ ァンクシ ョ ン
0
SRINIT1
ロ ジ ッ ク レベル変更な し
1
SRINIT1
1
図 6 に ス ラ イ ス で レ ジ ス タ のみを使用 し た コ ン フ ィ ギ ュ レーシ ョ ンお よ びレ ジ ス タ と ラ ッ チの両方
を使用 し た コ ン フ ィ ギ ュ レーシ ョ ン を示 し ます。
X-Ref Target - Figure 6
䝺䝆䝇䝍䛾䜏
䝺䝆䝇䝍䜎䛯䛿䝷䝑䝏
DFF
LUT D O5
ฟຊ
D
CE
CK
LUT D O6 ฟຊ
SRINIT1
SRINIT0 Q
DQ
D
CE
CK
DX
LUT C O6 ฟຊ
SRINIT1
SRINIT0 Q
D
CE
CK
D
CE
CK
DQ
SR
FF
LATCH Q
SRINIT1
SRINIT0
CQ
SR
䝸䝉䝑䝖㻌䝍䜲䝥
䝸䝉䝑䝖㻌䝍䜲䝥
Sync
Sync
SRINIT1
SRINIT0 Q
Async
LUT B O6 ฟຊ
D
CE
CK
BX
SR
SRINIT1 Q
SRINIT0
BFF/LATCH
BQ
AFF
LUT A O5
ฟຊ
D
CE
CK
CX
FF
LATCH Q
SRINIT1
SRINIT0
CFF/LATCH
CQ
SR
BFF
LUT B O5
ฟຊ
D
CE
CK
SR
CFF
LUT C O5
ฟຊ
DFF/LATCH
LUT A O6 ฟຊ
AX
BQ
SR
AFF/LATCH
AQ
SR
FF
LATCH Q
SRINIT1
SRINIT0
Async
D
CE
CK
FF
LATCH Q
SRINIT1
SRINIT0
AQ
SR
ug384_06_042309
図 6 : ス ラ イ ス内の コ ン フ ィ ギ ュ レーシ ョ ン : レ ジ ス タ 4 個のみ (左側) およびレ ジス タ / ラ ッ チ 4 個 (右側)
SRINIT0 お よ び SRINIT1 は ス ラ イ ス内の各ス ト レージ エ レ メ ン ト で個々に設定で き ます。 同期
(SYNC) ま たは非同期 (ASYNC) のセ ッ ト / リ セ ッ ト (SRTYPE) は、 個々に設定で き ません。
コ ン フ ィ ギ ュ レーシ ョ ン後の初期ス テー ト ま たはグ ロ ーバル初期ス テー ト は、 同 じ SRINIT 属性で
定義 さ れます。
レ ジ ス タ ま たは 4 個の ス ト レージ エ レ メ ン ト ( ラ ッ チ と し て機能) のセ ッ ト お よ び リ セ ッ ト の コ ン
フ ィ ギ ュ レーシ ョ ン オプシ ョ ン を次に示 し ます。
14
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
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 つ) 数を示 し ます。
表 4 : 分散 RAM コ ン フ ィ ギ ュ レーシ ョ ン
RAM
LUT 数
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
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
32 X
64 X
1Q(3)
説明
メモ :
1. S = シ ン グル ポー ト コ ン フ ィ ギ ュ レーシ ョ ン、 D = デ ュ アル ポー ト コ ン フ ィ ギ ュ レーシ ョ ン、 Q = ク ワ ッ
ド ポー ト コ ン フ ィ ギ ュ レーシ ョ ン、 SDP = シ ンプル デ ュ アル ポー ト コ ン フ ィ ギ ュ レーシ ョ ン
2. こ の コ ン フ ィ ギ ュ レーシ ョ ンの関連プ リ ミ テ ィ ブは RAM32M です。
3. こ の コ ン フ ィ ギ ュ レーシ ョ ンの関連プ リ ミ テ ィ ブは RAM64M です。
シ ン グル ポー ト コ ン フ ィ ギ ュ レーシ ョ ンの場合、分散 RAM には、同期書 き 込み と 非同期読み出 し
用に共通ア ド レ ス ポー ト が 1 つあ り ます。 デュ アル ポー ト コ ン フ ィ ギ ュ レーシ ョ ン では、 分散
RAM に同期書 き 込みお よ び非同期読み出 し 用のア ド レ ス ポー ト が 1 つ、 非同期読み出 し 用のポー
ト が 1 つあ り ます。 シ ンプル デュ アル ポー ト コ ン フ ィ ギ ュ レーシ ョ ン では、書 き 込みポー ト か ら の
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
15
デー タ 出力 (読み出 し ポー ト ) はあ り ません。 ク ワ ッ ド ポー ト コ ン フ ィ ギ ュ レーシ ョ ンの場合、分散
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
RAM 32X2Q
DID[1]
DID[0]
ADDRD[4:0]
(DX)
(AI/BI/CI/DI)
D[5:1] 5
5
(CLK)
(WE)
WCLK
WED
DPRAM32
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
O6
DOD[0]
O5
DOD[1]
DPRAM32
ADDRC[4:0]
C[5:1] 5
5
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
O6
DOC[0]
O5
DOC[1]
DPRAM32
ADDRB[4:0]
B[5:1] 5
5
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
O6
DOB[0]
O5
DOB[1]
DPRAM32
ADDRA[4:0]
A[5:1] 5
5
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
O6
DOA[0]
O5
DOA[1]
ug384_07_042309
図 7 : 分散 RAM (RAM32X2Q)
16
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 8
RAM 32X6SDP
DPRAM32
unused
unused
WADDR[5:1]
WADDR[6] = 1
D[5:1] 5
5
(CLK)
(WE)
WCLK
WED
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
DPRAM32
DATA[1]
DATA[2]
RADDR[5:1]
RADDR[6] = 1
C[5:1] 5
5
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
O6
O[1]
O5
O[2]
DPRAM32
DATA[3]
DATA[4]
B[5:1] 5
5
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
O6
O[3]
O5
O[4]
DPRAM32
DATA[5]
DATA[6]
A[5:1] 5
5
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
O6
O[5]
O5
O[6]
ug384_08_042309
図 8 : 分散 RAM (RAM32X6SDP)
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
17
X-Ref Target - Figure 9
RAM64X1S
D
A[5:0]
WCLK
WE
(DX)
6 (D[6:1])
6
(CLK)
(WE/CE)
SPRAM64
O
O6
DI1
ฟຊ
D Q
A[6:1]
WA[6:1]
CLK
WE
レジスタ
付きฟຊ
(䜸䝥䝅䝵䞁)
ug384_09_042309
図 9 : 分散 RAM (RAM64X1S)
シ ン グル ポー ト 64 X 1 ビ ッ ト モジ ュ ールを 4 個構築す る 場合は、 4 個の RAM64X1S プ リ ミ テ ィ
ブで SLICEM を 1 つ使用で き ます。 ただ し 、 こ れ ら のプ リ ミ テ ィ ブでは ク ロ ッ ク 、 書 き 込み イ ネー
ブル、 読み出 し お よ び書 き 込みポー ト ア ド レ ス入力を共有する 必要があ り ます。 こ の コ ン フ ィ ギ ュ
レーシ ョ ンは、 64 X 4 ビ ッ ト のシ ン グル ポー ト 分散 RAM と 同等です。
X-Ref Target - Figure 10
RAM64X1D
D
A[5:0]
WCLK
WE
DPRAM64
(DX)
O6
DI1
(D[6:1]) 6
6
(CLK)
(WE/CE)
D Q
A[6:1]
WA[6:1]
CLK
WE
(C[6:1]) 6
6
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
DPRAM64
DI1
DPRA[5:0]
SPO
O6
DPO
D Q
A[6:1]
WA[6:1]
CLK
WE
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
ug384_10_042309
図 10 : 分散 RAM (RAM64X1D)
2 個のデ ュ アル ポー ト 64 X 1 ビ ッ ト モジ ュ ールを構築す る には、 2 個の RAM64X1D プ リ ミ テ ィ
ブで SLICEM を 1 つ使用で き ます。 ただ し 、 こ れ ら のプ リ ミ テ ィ ブでは ク ロ ッ ク 、 書 き 込み イ ネー
ブル、 共有読み出 し お よ び書き 込みポー ト ア ド レ ス入力を共有する 必要があ り ます。 こ の コ ン フ ィ
ギ ュ レーシ ョ ンは、 64 X 2 ビ ッ ト デ ュ アル ポー ト 分散 RAM と 同等です。
18
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 11
RAM64X1Q
DID
ADDRD
WCLK
WE
(DX)
(D[6:1])
(CLK)
(WE)
DPRAM64
O6
DI1
DOD
A[6:1]
WA[6:1]
CLK
WE
D
Q
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
DPRAM64
DI1
ADDRC
(C[6:1])
O6
A[6:1]
WA[6:1]
CLK
WE
D
(B[6:1])
O6
D
(A[6:1])
Q
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
DPRAM64
ADDRA
䝺䝆䝇䝍
௜䛝ฟຊ
DOB
A[6:1]
WA[6:1]
CLK
WE
DI1
Q
(䜸䝥䝅䝵䞁)
DPRAM64
DI1
ADDRB
DOC
O6
DOA
A[6:1]
WA[6:1]
CLK
WE
D
Q
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
ug384_11_042309
図 11 : 分散 RAM (RAM64X1Q)
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
19
X-Ref Target - Figure 12
RAM 64X3SDP
DPRAM32
unused
unused
WADDR[6:1]
D[6:1] 6
6
(CLK)
(WE)
WCLK
WED
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
DPRAM32
DATA[1]
RADDR[6:1]
C[6:1] 6
6
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
O6
O[1]
O5
DPRAM32
DATA[2]
B[6:1] 6
6
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
O6
O[2]
O5
DPRAM32
DATA[3]
A[6:1] 6
6
DI1
DI2
A[6:1]
WA[6:1]
CLK
WE
O6
O[3]
O5
ug384_12_042309
図 12 : 分散 RAM (RAM64X3SDP)
ワー ド 数 64 以上の分散 RAM コ ン フ ィ ギ ュ レーシ ョ ン を イ ンプ リ メ ン ト す る には、多入力マルチプ
レ ク サ (F7AMUX、 F7BMUX、 お よ び F8MUX) を使用する 必要があ り ます。
20
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 13
RAM128X1S
A6 (CX)
D
SPRAM64
(DX)
O6
DI1
[5:0]
A[6:0]
WCLK
WE
7
(CLK)
(WE/CE)
A[6:1]
WA[7:1]
CLK
WE
0
SPRAM64
DI1
O6
F7BMUX
D Q
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
[5:0]
7
ฟຊ
A[6:1]
WA[7:1]
CLK
WE
ug384_13_042309
図 13 : 分散 RAM (RAM128X1S)
2 個のシ ン グル ポー ト 128 X 1 ビ ッ ト モジ ュ ールを構築す る には、 RAM128X1S プ リ ミ テ ィ ブで
SLICEM を 1 つ使用で き ます。ただ し 、 こ れ ら のプ リ ミ テ ィ ブでは ク ロ ッ ク 、書 き 込み イ ネーブル、
読み出 し お よ び書 き 込みポー ト ア ド レ ス入力を共有す る 必要があ り ます。 こ の コ ン フ ィ ギ ュ レー
シ ョ ンは、 128 X 2 ビ ッ ト シ ン グル ポー ト 分散 RAM と 同等です。
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
21
X-Ref Target - Figure 14
RAM128X1D
A6 (CX)
D
DPRAM64
DX
O6
DI1
6
A[6:0]
7
(CLK)
(WE)
WCLK
WE
A[6:1]
WA[7:1]
CLK
WE
SPO
DPRAM64
D Q
F7BMUX
O6
DI1
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
6
7
A[6:1]
WA[7:1]
CLK
WE
DPRAM64
O6
DI1
6
DPRA[6:0]
7
A[6:1]
WA[7:1]
CLK
WE
DPO
DPRAM64
DI1
D Q
F7AMUX
O6
(䜸䝥䝅䝵䞁)
6
7
䝺䝆䝇䝍
௜䛝ฟຊ
A[6:1]
WA[7:1]
CLK
WE
AX
ug384_14_042309
図 14 : 分散 RAM (RAM128X1D)
22
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 15
RAM256X1S
SPRAM64
D
6
A[7:0]
WCLK
WE
O6
DI1
8
(CLK)
(WE/CE)
A[6:1]
WA[8:1]
CLK
WE
A6 (CX)
SPRAM64
6
8
F7BMUX
O6
DI1
A[6:1]
WA[8:1]
CLK
WE
A7 (BX)
O
F8MUX
SPRAM64
O6
DI1
6
8
A[6:1]
WA[8:1]
CLK
WE
6
8
D Q
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
A6 (AX)
SPRAM64
DI1
ฟຊ
F7AMUX
O6
A[6:1]
WA[8:1]
CLK
WE
ug384_15_042309
図 15 : 分散 RAM (RAM256X1S)
図 7 ~ 図 15 に示 し た例 よ り も 大 き い分散 RAM コ ン フ ィ ギ ュ レーシ ョ ンが必要な場合は、
SLICEM が 2 個以上必要ですが、 CLB 内ま たは ス ラ イ ス間は直接接続がないため、こ れ以上大規模
な分散 RAM コ ン フ ィ ギ ュ レーシ ョ ンは構築で き ません。
分散 RAM のデー タ フ ロー
同期書き込み
同期書 き 込みは、 ア ク テ ィ ブ High の書 き 込み イ ネーブル (WE) を使用 し てシ ン グル ク ロ ッ ク エ ッ
ジで実行 さ れます。 WE が High の と き 、 入力 (D) がア ド レ ス A の メ モ リ ロ ケーシ ョ ンへ読み込ま
れます。
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
23
非同期読み出 し
出力は、 ア ド レ ス 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 数を示 し ます。
表 5 : ROM コ ン フ ィ ギ ュ レーシ ョ ン
ROM
LUT 数
64 X 1
1
128 X 1
2
256 X 1
4
シ フ ト レ ジ ス タ (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 Addressable
Memory) デザ イ ンで も 有用です。
書 き 込み操作は、 ク ロ ッ ク (CLK) 入力お よ びオプシ ョ ンの ク ロ ッ ク イ ネーブル と 同期 し て実行 さ
れます。 ダ イ ナ ミ ッ ク 読み出 し は、5 ビ ッ ト ア ド レ ス バス A[4:0] を使用 し て実行 さ れます。 LUT の
LSB は未使用にな り 、 ソ フ ト ウ ェ アに よ っ て自動的に High に駆動 さ れます。 こ の コ ン フ ィ ギ ュ
レーシ ョ ン可能シ フ ト レ ジ ス タ は、 セ ッ ト / リ セ ッ ト で き ません。 読み出 し は非同期ですが、 同期読
み出 し を イ ンプ リ メ ン ト す る には、 ス ト レージ エ レ メ ン ト ま たはフ リ ッ プ フ ロ ッ プ を使用で き ま
す。 こ の場合、 フ リ ッ プ フ ロ ッ プの clock-to-out に よ り 全体の遅延が決定 さ れパフ ォーマ ン ス が改
善 さ れますが、 ク ロ ッ ク レ イ テ ン シが 1 ク ロ ッ ク サ イ ク ル分追加 さ れます。 5 ビ ッ ト ア ド レ ス を変
24
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
更す る と 、32 ビ ッ ト の任意の ビ ッ ト を O6 LUT 出力に非同期で読み出す こ と がで き ます。 こ の方法
は、32 ビ ッ ト 未満の小規模シ フ ト レ ジ ス タ を構築する 際に役立ち ます。 た と えば、13 ビ ッ ト のシ フ
ト レ ジ ス タ を構築す る 場合は、13 番目のビ ッ ト にア ド レ ス を指定 し ます。 図 16 に 32 ビ ッ ト のシ フ
ト レ ジ ス タ のブ ロ ッ ク 図を示 し ます。
X-Ref Target - Figure 16
SRLC32E
SHIFTIN (㻝㻌䛴๓䛾㻌㻸㼁㼀㻌䛾㻌㻹㻯㻟㻝㻌䛛䜙ධຊ)
SRL32
(AX)
SHIFTIN (D)
DI1
MC31
5 (A[6:2])
A[4:0]
(CLK)
(WE/CE)
CLK
CE
SHIFTOUT (Q31)
A[6:2]
CLK
CE
ฟຊ㻌(Q)
O6
(AQ)
D Q
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
ug384_16_042309
図 16 : 32 ビ ッ ト シ フ ト レ ジ ス タ の コ ン フ ィ ギ ュ レーシ ョ ン
図 17 に フ ァ ン ク シ ョ ン ジ ェ ネ レー タ 1 つを使用 し た シ フ ト レ ジ ス タ コ ン フ ィ ギ ュ レーシ ョ ンの
例を示 し ます。
X-Ref Target - Figure 17
32 䝡䝑䝖㻌䝅䝣䝖㻌䝺䝆䝇䝍
SHIFTIN (D)
WE
SHIFTOUT(Q31)
CLK
䜰䝗䝺䝇㻌(A[4:0])
5
MUX
Q
ug384_17_042309
図 17 : シ フ ト レ ジ ス タ コ ン フ ィ ギ ュ レーシ ョ ン
図 18 に、 2 個の 16 ビ ッ ト シ フ ト レ ジ ス タ を示 し ます。 こ の例は、 1 つの LUT に イ ンプ リ メ ン ト
可能です。
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
25
X-Ref Target - Figure 18
SRL16
SHIFTIN1 (AX)
O5
DI1
4
A[3:0]
CLK
A[5:2]
CLK
WE
CE
SRL16
O6
DI2
SHIFTIN2 (AI)
4
A[5:2]
CLK
WE
MC31
ug384_18_042309
図 18 : 2 個の 16 ビ ッ ト シ フ ト レ ジ ス タ コ ン フ ィ ギ ュ レーシ ョ ン
前述の と お り 、 出力 (MC31) を 1 つ追加 し てシ フ ト レ ジ ス タ 間に専用配線を使用す る と 、 LUT O6
出力を使用せずに、 その レ ジ ス タ の最終ビ ッ ト を次の レ ジ ス タ の最初のビ ッ ト に接続で き ます。 長
いシ フ ト レ ジ ス タ を作成す る 場合は、チ ェーン内の ど のビ ッ ト へ も ダ イ ナ ミ ッ ク にア ク セ ス で き る
よ う に構築で き ます。 シ フ ト レ ジ ス タ のチ ェーン接続、 そ し て F7AMUX、 F7BMUX、 お よ び
F8MUX マルチプ レ ク サを使用す る と 、1 つの SLICEM で最大 128 ビ ッ ト のア ド レ ス指定可能なシ
フ ト レ ジ ス タ を イ ンプ リ メ ン ト で き ます。図 19 ~ 図 21 に、 1 つの SLICEM を使用 し たシ フ ト レ
ジ ス タ の コ ン フ ィ ギ ュ レーシ ョ ン例を示 し ます。
X-Ref Target - Figure 19
SRL32
SHIFTIN (D)
5
A[5:0]
CLK
WE
O6
DI1
A[6:2]
MC31
(CLK)
(WE/CE)
A5 (AX)
CLK
WE
ฟຊ㻌(Q)
SRL32
DI1
F7AMUX
D Q
(AQ)
O6
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
5
A[6:2]
CLK
WE
MC31
(MC31)
SHIFTOUT (Q63)
ug384_19_042309
図 19 : 64 ビ ッ ト シ フ ト レ ジ ス タ の コ ン フ ィ ギ ュ レーシ ョ ン
26
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 20
CX (A5)
SRL32
SHIFTIN (D)
5
A[6:0]
CLK
WE
O6
DI1
A[6:2]
F7BMUX
MC31
(CLK)
(WE/CE)
CLK
WE
BX (A6)
(BMUX)
F8MUX
D Q
(BQ)
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
SRL32
O6
DI1
5
ฟຊ㻌(Q)
A[6:2]
MC31
CLK
WE
AX (A5)
SRL32
DI1
O6
ᮍ౑⏝
F7AMUX
5
A[6:2]
CLK
WE
UG384_20_042309
図 20 : 96 ビ ッ ト シ フ ト レ ジ ス タ の コ ン フ ィ ギ ュ レーシ ョ ン
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
27
X-Ref Target - Figure 21
SRL32
SHIFTIN (D)
A[6:0]
CLK
WE
O6
DI1
5
(CLK)
(WE/CE)
A[6:2]
MC31
CX (A5)
CLK
WE
SRL32
F7BMUX
O6
DI1
A[6:2]
BX (A6)
MC31
CLK
WE
(BMUX)
F8MUX
D Q
SRL32
(BQ)
ฟຊ㻌(Q)
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
O6
DI1
A[6:2]
MC31
AX (A5)
CLK
WE
SRL32
O6
DI1
A[6:2]
MC31
CLK
WE
F7AMUX
(MC31)
SHIFTOUT (Q127)
ug384_21_042309
図 21 : 128 ビ ッ ト シ フ ト レ ジ ス タ の コ ン フ ィ ギ ュ レーシ ョ ン
2 個以上の SLICEM を使用する と 128 ビ ッ ト よ り 長いシ フ ト レ ジ ス タ を構築で き ますが、 ス ラ イ
ス間は直接接続がないため、 こ れ よ り 長いシ フ ト レ ジ ス タ は構築で き ません。
シ フ ト レ ジ ス タ のデー タ フ ロー
シ フ ト 操作
シ フ ト は、ア ク テ ィ ブ High の ク ロ ッ ク イ ネーブルを使用 し てシ ン グル ク ロ ッ ク エ ッ ジで実行 さ れ
ます。 イ ネーブル信号が High の と き 、 入力 (D) がシ フ ト レ ジ ス タ の最初のビ ッ ト に読み込まれま
す。 そ し て各ビ ッ ト も 次の高位ビ ッ ト にシ フ ト し ます。 カ ス ケー ド 接続可能なシ フ ト レ ジ ス タ の コ
ン フ ィ ギ ュ レーシ ョ ンでは、 最後のビ ッ ト が M31 出力にシ フ ト ア ウ ト さ れます。
5 ビ ッ ト ア ド レ ス ポー ト (A[4:0]) で選択 さ れた ビ ッ ト は、 Q 出力に現れます。
28
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
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 を参照)。
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
29
X-Ref Target - Figure 22
䝇䝷䜲䝇
LUT
(D)
O6
SEL D [1:0]䚸DATA D [3:0]
ධຊ
(D[6:1]) 6
D Q
A[6:1]
(DQ)
(C)
O6
SEL C [1:0]䚸DATA C [3:0]
ධຊ
D Q
A[6:1]
(CQ)
(B)
O6
SEL B [1:0]䚸DATA B [3:0]
ධຊ
D Q
A[6:1]
(BQ)
(A)
O6
(A[6:1])
6
A[6:1]
(CLK)
CLK
䝺䝆䝇䝍
௜䛝ฟຊ
4:1 MUX ฟຊ
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
LUT
SEL A [1:0]䚸DATA A [3:0]
ධຊ
4:1 MUX ฟຊ
(䜸䝥䝅䝵䞁)
LUT
(B[6:1]) 6
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
LUT
(C[6:1]) 6
4:1 MUX ฟຊ
D Q
(AQ)
4:1 MUX ฟຊ
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
ug384_22_042309
図 22 : 1 つのス ラ イ スに含まれる 4 個の 4:1 マルチ プ レ クサ
8:1 マルチ プ レ ク サ
各 SLICEL ま たは SLICEM には、F7AMUX と F7BMUX が 1 つずつあ り ます。 こ の 2 つのマルチ
プ レ ク サでは、2 つの LUT の出力を組み合わせて最大 13 入力の組み合わせフ ァ ン ク シ ョ ン (8:1 マ
ルチプ レ ク サ) を構築 し ます。 1 つの ス ラ イ ス内には最大 2 個の 8:1 マルチプ レ ク サを イ ンプ リ メ ン
ト で き ます (図 23 を参照)。
30
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 23
䝇䝷䜲䝇
LUT
O6
SEL D [1:0]䚸DATA D [3:0]
ධຊ(1)
(D[6:1]) 6
A[6:1]
F7BMUX
(CMUX)
LUT
O6
SEL C [1:0]䚸DATA C [3:0]
ධຊ(1)
SELF7(1)
CLK
(C[6:1]) 6
D Q
(CQ)
8:1 MUX
ฟຊ㻌(1)
䝺䝆䝇䝍
௜䛝ฟຊ
A[6:1]
(䜸䝥䝅䝵䞁)
(CX)
(CLK)
LUT
O6
SEL B [1:0]䚸DATA B [3:0]
ධຊ(2)
(B[6:1]) 6
A[6:1]
F7AMUX
(AMUX)
LUT
O6
SEL A [1:0]䚸DATA A [3:0]
ධຊ(2)
SELF7(2)
(A[6:1])
6
D Q
(AQ)
8:1 MUX
ฟຊ㻌(2)
䝺䝆䝇䝍
௜䛝ฟຊ
A[6:1]
(䜸䝥䝅䝵䞁)
(AX)
ug384_23_042309
図 23 : 1 ス ラ イ スに含まれる 2 個の 8:1 マルチ プ レ クサ
16:1 マルチ プ レ ク サ
各 SLICEL ま たは SLICEM には F8MUX があ り ます。 こ の F8MUX は、F7AMUX と F7BMUX の
出力を組み合わせて、最大 27 入力 ( ま たは 16:1 マルチプ レ ク サ) の組み合わせフ ァ ン ク シ ョ ン を構
築 し ます。 1 つの ス ラ イ ス には 16:1 マルチプ レ ク サ 1 つのみを イ ン プ リ メ ン ト で き ます (図 24 を
参照)。
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
31
X-Ref Target - Figure 24
䝇䝷䜲䝇
LUT
O6
SEL D [1:0]䚸DATA D [3:0]
ධຊ
(D[6:1]) 6
F7BMUX
A[6:1]
LUT
O6
SEL C [1:0]䚸DATA C [3:0]
ධຊ
SELF7
(C[6:1]) 6
A[6:1]
F8MUX
(CX)
(BMUX)
LUT
O6
SEL B [1:0]䚸DATA B [3:0]
ධຊ
(B[6:1]) 6
F7AMUX
A[6:1]
(B)
D Q
16:1 MUX
ฟຊ
䝺䝆䝇䝍
௜䛝ฟຊ
(䜸䝥䝅䝵䞁)
LUT
O6
SEL A [1:0]䚸DATA A [3:0]
ධຊ
SELF7
SELF8
CLK
(A[6:1])
6
A[6:1]
(AX)
(BX)
(CLK)
ug384_24_042309
図 24 : 1 つのス ラ イ スに含まれる 1 つの 16:1 マルチ プ レ ク サ
複数の SLICEM を使用する と 16:1 よ り 大規模なマルチプ レ ク サを構築で き ますが、 ス ラ イ ス間は
直接接続がないため、 こ れ よ り 長いマルチプ レ ク サは構築で き ません。
高速ル ッ ク アヘ ッ ド キ ャ リ ー ロ ジ ッ ク
SLICEM お よ び SLICEL には、 フ ァ ン ク シ ョ ン ジ ェ ネ レー タ のほか、 高速加算/減算を実行す る た
めに、ス ラ イ ス に専用キ ャ リ ー ロ ジ ッ ク が含まれてい ます (SLICEX には含まれません )。 CLB には
キ ャ リ ー チ ェーンが 1 つあ り ます (図 1 を参照)。 こ のキ ャ リ ー チ ェーンはカ ス ケー ド 接続が可能
なため、 大規模な加算/減算 ロ ジ ッ ク を構築で き ます (図 2 を参照)。
Spartan-6 デバ イ ス のキ ャ リ ー チ ェーン では上方向に演算が実行 さ れ、 各ス ラ イ ス の高 さ は 4 ビ ッ
ト です。 各ビ ッ ト には、 キ ャ リ ー マルチプ レ ク サ (MUXCY) と 専用 XOR ゲー ト が 1 つずつあ り 、
選択 さ れた キ ャ リ ー ビ ッ ト を使用 し てオペ ラ ン ド を加算/減算 し ます。 専用キ ャ リ ー パ スお よ び
キ ャ リ ー マルチプ レ ク サ (MUXCY) を使用 し て、 フ ァ ン ク シ ョ ン ジ ェ ネ レー タ を カ ス ケー ド 接続
し 、 多入力 ロ ジ ッ ク フ ァ ン ク シ ョ ン を イ ンプ リ メ ン ト す る こ と も で き ます。
図 25 に、 1 つの ス ラ イ ス の関連 ロ ジ ッ ク エ レ メ ン ト を使用 し た キ ャ リ ー チ ェーン を示 し ます。
32
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 25
COUT (ḟ䛾䝇䝷䜲䝇䛻ฟຊ)
䜻䝱䝸䞊㻌䝏䜵䞊䞁㻌䝤䝻䝑䜽
(CARRY4)
CO3
㻸㼁㼀㻰㻌䛾㻌㻻㻢㻌ฟຊ
S3
DMUX/DQ*
MUXCY
O3
㻸㼁㼀㻰㻌䛾㻌㻻㻡㻌ฟຊ
DMUX
DI3
D Q
DX
DQ
(䜸䝥䝅䝵䞁)
CO2
㻸㼁㼀㻯㻌䛾㻌㻻㻢㻌ฟຊ
S2
CMUX/CQ*
MUXCY
O2
㻸㼁㼀㻯㻌䛾㻌㻻㻡㻌ฟຊ
CMUX
DI2
D Q
CX
CQ
(䜸䝥䝅䝵䞁)
CO1
㻸㼁㼀㻮㻌䛾㻌㻻㻢㻌ฟຊ
S1
BMUX/BQ*
MUXCY
O1
㻸㼁㼀㻮㻌䛾㻌㻻㻡㻌ฟຊ
BMUX
DI1
D Q
BX
BQ
(䜸䝥䝅䝵䞁)
CO0
㻸㼁㼀㻭㻌䛾㻌㻻㻢㻌ฟຊ
S0
AMUX/AQ*
MUXCY
O0
㻸㼁㼀㻭㻌䛾㻌㻻㻡㻌ฟຊ
AMUX
DI0
D Q
AX
CYINIT
CIN
01
AQ
(䜸䝥䝅䝵䞁)
* 䝺䝆䝇䝍䛺䛧䜎䛯䛿䝺䝆䝇䝍௜䛝䛾
ฟຊ䛜౑⏝ྍ⬟䛺ሙྜ䛻౑⏝ྍ⬟
CIN (㻝㻌䛴๓䛾䝇䝷䜲䝇䛛䜙䛾ධຊ)
ug384_25_042309
図 25 : 高速キ ャ リ ー ロ ジ ッ ク パスおよび関連エ レ メ ン ト
キ ャ リ ー チ ェーンは、 フ ァ ン ク シ ョ ン ジ ェ ネ レー タ と 共にル ッ ク アヘ ッ ド ロ ジ ッ ク が含まれてい
ます。 独立 し た入力が 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 出力には、 加算/減算の和が含
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
33
まれ、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 のス ラ イ スの簡略図を示し ます。 ス ラ イ スのエレ メ ン ト の一部は省略 さ れて
お り 、 こ のセ ク シ ョ ンで説明さ れてい る タ イ ミ ン グ パスに関連し たエレ メ ン ト のみ記載し ています。
34
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 26
LUT
D
Inputs
6
O6
D
O5
DMUX
FF/LAT
D
CE
CLK
DX
Q
D
6
DQ
SR
CE
CK
LUT
C
Inputs
Q
SR
F7BMUX
O6
C
CMUX
O5
FF/LAT
CX
Q
D
F8MUX
6
Q
CQ
SR
CE
CK
SR
LUT
B
Inputs
D
CE
CLK
O6
B
O5
BMUX
FF/LAT
BX
Q
D
LUT
A
Inputs
6
F7AMUX
D
CE
CLK
Q
BQ
SR
CE
CK
SR
O6
A
O5
AMUX
AX
Q
D
FF/LAT
CE
CK
SR
CE
D
CE
CLK
Q
AQ
SR
CLK
SR
ug384_26_042309
図 26 : Spartan-6 FPGA のス ラ イ スの簡略図
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
35
タ イ ミ ン グ パラ メ ー タ
表 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 入力 フ ァ ン ク シ ョ ン )
FF ク ロ ッ ク (CLK) か ら
AQ/BQ/CQ/DQ 出力
ク ロ ッ ク 後に フ リ ッ プ フ ロ ッ プ と し て コ ン フ ィ ギ ュ レ ーシ ョ ン
さ れてい る ス ラ イ ス シーケ ン シ ャ ル エ レ メ ン ト の AQ/BQ/CQ/
DQ 出力でデー タ が安定 し なければいけない時間
シーケ ン シ ャル遅延
TCKO フ リ ッ プ フ ロ ッ プ/
ラ ッ チ エレ メ ン ト
TCKO フ リ ッ プ フ ロ ッ プ
エ レ メ ン ト のみ
TCKLO
FF ク ロ ッ ク (CLK) か ら
AQ/BQ/CQ/DQ 出力
CQ/DQ 出力でデー タ が安定 し なければいけない時間
ク ロ ッ ク 後に ス ラ イ ス シーケ ン シ ャ ル エ レ メ ン ト の AQ/BQ/
ラ ッ チ ク ロ ッ ク (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 入力が安定 し なければいけない時間
フ ロ ッ プ エ レ メ ン ト のみ
フ ロ ッ プ エ レ メ ン ト のみ
36
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
表 6 : ス ラ イ ス (LUT およびス ト レージ エ レ メ ン ト ) の タ イ ミ ング パラ メ ー タ (続き )
パラ メ ー タ
フ ァンクシ ョ ン
説明
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 = ホール ド タ イ ム ( ク ロ ッ ク エ ッ ジの後)
タ イ ミ ン グ特性
図 27 に、 Spartan-6 FPGA の ス ラ イ ス の一般的な タ イ ミ ン グ特性を示 し ます。
X-Ref Target - Figure 27
1
2
3
CLK
TCEO
CE
AX/BX/CX/DX
(DATA)
TDICK
TSRCK
SR (RESET)
TCKO
TCKO
AQ/BQ/CQ/DQ
(OUT)
ug384_27_042309
図 27 : 一般的なス ラ イ スの タ イ ミ ング特性
•
ク ロ ッ ク イ ベン ト (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 ピ ンに反映 さ れます。
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
37
ス ラ イ スの分散 RAM の タ イ ミ ング モデル (SLICEM のみ)
図 28 に、 Spartan-6 FPGA ス ラ イ ス に イ ンプ リ メ ン ト さ れてい る 分散 RAM の詳細を示 し ます。 ス
ラ イ ス のエ レ メ ン ト の一部は省略 さ れてお り 、 こ のセ ク シ ョ ンで説明 さ れてい る タ イ ミ ン グ パ ス に
関連 し たエ レ メ ン ト のみが記載 さ れてい ます。
X-Ref Target - Figure 28
RAM
DX
DI
D input
DI1
DI2
A[6:0]
WA[6:0]
CLK
WE
6
CLK
WE
O6
D
O5
DMUX
O6
C
O5
CMUX
O6
B
O5
BMUX
O6
A
O5
AMUX
RAM
CX
CI
C input
DI1
DI2
A[6:0]
WA[6:0]
CLK
WE
6
RAM
BX
BI
B input
DI1
DI2
A[6:0]
WA[6:0]
CLK
WE
6
RAM
AX
AI
A input
DI1
DI2
A[6:0]
WA[6:0]
CLK
WE
6
ug384_29_042309
図 28 : Spartan-6 FPGA の SLICEM に含まれる分散 RAM の簡略図
分散 RAM の タ イ ミ ン グ パラ メ ー タ
表 7 に、図 28 に示 し た主なパス に関連する SLICEM に含まれ る 分散 RAM の タ イ ミ ン グ パ ラ メ ー
タ を示 し ます。
表 7 : 分散 RAM の タ イ ミ ング パ ラ メ ー タ
パラ メ ー タ
フ ァンクシ ョ ン
説明
RAM (分散 RAM) と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れたス ラ イ ス LUT のシーケ ン シ ャル遅延
TSHCKO(1)
38
CLK か ら A/B/C/D 出力
書 き 込み操作の ク ロ ッ ク 後に分散 RAM に書 き 込まれたデー
タ が ス ラ イ ス の A/B/C/D 出力で安定 し なければいけない時間
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
表 7 : 分散 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 を含みます。
分散 RAM の タ イ ミ ン グ特性
図 29 に Spartan-6 FPGA の ス ラ イ ス (LUT は RAM と し て コ ン フ ィ ギ ュ レーシ ョ ン ) に イ ンプ リ メ
ン ト さ れた 16 ビ ッ ト 分散 RAM の タ イ ミ ン グ特性を示 し ます。
X-Ref Target - Figure 29
1
2
3
4
5
6
7
TWC
TWPH
TWPL
CLK
TAS
A/B/C/D
(ADDR)
2
F
3
4
0
1
5
E
TDS
AX/BX/CX/DX
(DI)
1
X
TWS
0
X
TILO
TILO
WE
DATA_OUT
A/B/C/D
ฟຊ
TSHCKO
1
WRITE
MEM(F)
READ
0
1
WRITE
WRITE
0
WRITE
MEM(E)
READ
ug384_29_042309
図 29 : ス ラ イ スに含まれる分散 RAM の タ イ ミ ング特性
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
39
ク ロ ッ ク イ ベン ト 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 の ス ラ イ ス に含まれ る シ フ ト レ ジ ス タ の イ ンプ リ メ ン テーシ ョ ン を示 し
ます。 ス ラ イ ス のエ レ メ ン ト の一部は省略 さ れてお り 、 こ のセ ク シ ョ ン で説明 さ れてい る タ イ ミ ン
グ パ ス に関連 し たエ レ メ ン ト のみ記載 さ れてい ます。
40
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 30
SRL
DI1
DX
D
O6
D 䜰䝗䝺䝇
6
A
MC31
CLK
WE
CLK
W
SRL
DI1
C
O6
CX
C 䜰䝗䝺䝇
6
A
MC31
CLK
WE
SRL
DI1
B
O6
BX
B 䜰䝗䝺䝇
6
A
MC31
CLK
WE
SRL
DI1
A
O6
AX
A 䜰䝗䝺䝇
6
A
CLK
DMUX
MC31
WE
ug384_30_042309
図 30 : Spartan-6 FPGA のス ラ イ スに含まれる シ フ ト レ ジス タ の簡略図
ス ラ イ スのシ フ ト レ ジ ス タ の タ イ ミ ン グ パラ メ ー タ
表 8 に図 30 に示 し た主なパ ス に関連す る SLICEM のシ フ ト レ ジ ス タ の タ イ ミ ン グ パ ラ メ ー タ を
示 し ます。
表 8 : ス ラ イ スのシ フ ト レ ジ ス タ の タ イ ミ ング パラ メ ー タ
パラ メ ー タ
フ ァンクシ ョ ン
説明
シ フ ト レ ジス タ と し て コ ン フ ィ ギ ュ レーシ ョ ン さ れたス ラ イ ス LUT のシーケ ン シ ャル遅延
TREG(1)
CLK か ら A/B/C/D 出力
書 き 込み操作の ク ロ ッ ク 後にシ フ ト レ ジ ス タ に書 き 込まれたデー タ
が ス ラ イ ス の A/B/C/D 出力で安定 し なければいけない時間
TREG_MUX(1)
CLK か ら AMUX ~ DMUX 出力
書 き 込み動作の ク ロ ッ ク 後にシ フ ト レ ジ ス タ に書 き 込まれたデー タ
が ス ラ イ ス の DMUX 出力で安定 し なければいけない時間
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
41
表 8 : ス ラ イ スのシ フ ト レ ジ ス タ の タ イ ミ ング パラ メ ー タ (続き )
パラ メ ー タ
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 が含まれています。
ス ラ イ スのシ フ ト レ ジ ス タ の タ イ ミ ン グ特性
図 31 に Spartan-6 FPGA の ス ラ イ ス (LUT はシ フ ト レ ジ ス タ と し て コ ン フ ィ ギ ュ レーシ ョ ン ) に
イ ンプ リ メ ン ト さ れた 16 ビ ッ ト シ フ ト レ ジ ス タ の タ イ ミ ン グ特性を示 し ます。
X-Ref Target - Figure 31
1
2
3
4
5
6
32
CLK
TWS
᭩䛝㎸䜏䜲䝛䞊䝤䝹
(WE)
TDS
Shift_In (DI)
0
䜰䝗䝺䝇
(A/B/C/D)
1
1
0
0
TREG
1
0
2
1
TILO
䝕䞊䝍ฟຊ
(A/B/C/D)
X
1
MSB
(MC31/DMUX)
0
TREG
X
X
X
1
0
X
TILO
1
X
1
0
X
1
X
ug384_31_04
図 31 : ス ラ イ スのシ フ ト レ ジ ス タ の タ イ ミ ング特性
ク ロ ッ ク イ ベン ト 1 : Shift In
書 き 込み (Shift In) の実行中、 シ フ ト レ ジ ス タ を介 し てデー タ がシ フ ト さ れ る と き 、 A/B/C/D 入力
のア ド レ ス にあ る レ ジ ス タ の 1 ビ ッ ト の内容が変更 さ れます。 ク ロ ッ ク イ ベン ト 中にア ド レ ス が変
更 さ れない場合、 こ の レ ジ ス タ に書 き 込まれたデー タ が同期 し て A/B/C/D 出力に反映 さ れます。 ク
ロ ッ ク イ ベン ト 中に A/B/C/D 入力が変更 さ れ る 場合、ア ド レ ス指定可能な出力 (A/B/C/D 出力) の
デー タ 値は無効にな り ます。
42
•
ク ロ ッ ク イ ベン ト 1 よ り も TWS 時間前に書き 込み イ ネーブル信号 (WE) が有効 (High) にな
り 、 シ フ ト レ ジ ス タ が次の書 き 込みを実行で き る 状態にな り ます。
•
ク ロ ッ ク イ ベン ト 1 よ り も TDS 時間前にデー タ が シ フ ト レ ジ ス タ の DI 入力で有効 (0) にな
り 、ク ロ ッ ク イ ベン ト 1 よ り 遅延時間 TREG 後に A/B/C/D 出力に反映 さ れます。ア ド レ ス 0 は
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
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
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
A/B/C/D 入力か ら
COUT 出力
ス ラ イ ス の A/B/C/D 入力か ら COUT 出力ま での伝搬遅延
japan.xilinx.com
43
表 9 : ス ラ イ ス キ ャ リ ー チ ェ ーンの タ イ ミ ング パ ラ メ ー タ (続き )
パラ メ ー タ
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 = ホール ド タ イ ム ( ク ロ ッ ク エ ッ ジの後)
ス ラ イ ス キ ャ リ ー チ ェ ーンの タ イ ミ ン グ特性
図 32 に Spartan-6 FPGA の ス ラ イ ス に イ ンプ リ メ ン ト さ れた ス ラ イ ス キ ャ リ ー チ ェーンの タ イ ミ
ン グ特性を示 し ます。
X-Ref Target - Figure 32
1
2
3
CLK
CIN
(DATA)
TCINCK
TSRCK
SR (RESET)
TCKO
TCKO
AQ/BQ/CQ/DQ
(OUT)
ug384_32_042309
図 32 : ス ラ イ ス キ ャ リ ー チ ェ ーンの タ イ ミ ン グ特性
•
ク ロ ッ ク イ ベン ト 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 です。
44
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
表 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] (読み出 し /書き 込み)
入力お よ び出力デー タ は 1 ビ ッ ト 幅です (32 ビ ッ ト RAM を除 く )。
図 33 に標準的なシ ン グル ポー ト 、デュ アル ポー ト お よ び ク ワ ッ ド ポー ト の分散 RAM プ リ ミ テ ィ
ブ を示 し ます。 A、 ADDR、 お よ び DPRA 信号は、 ア ド レ ス バ ス です。
X-Ref Target - Figure 33
RAM#X1S
D
WE
RAM#X1D
O
D
WE
WCLK
WCLK
A[#:0]
A[#:0]
DPRA[#:0]
RAM#M
SPO
DI[A:D][#:0]
WE
DOD[#:0]
WCLK
ㄞ䜏ฟ䛧㻛
᭩䛝㎸䜏
䝫䞊䝖
ㄞ䜏ฟ䛧
䝫䞊䝖
DPO
ADDRD[#:0]
ㄞ䜏ฟ䛧㻛
᭩䛝㎸䜏
䝫䞊䝖
ADDRC[#:0]
ㄞ䜏ฟ䛧
䝫䞊䝖
DOC[#:0]
ADDRB[#:0]
ㄞ䜏ฟ䛧
䝫䞊䝖
DOB[#:0]
ADDRA[#:0]
ㄞ䜏ฟ䛧
䝫䞊䝖
DOA[#:0]
ug384_33_042309
図 33 : シ ングル ポー ト 、 デ ュ アル ポー ト 、 お よび ク ワ ッ ド ポー ト 分散 RAM プ リ ミ テ ィ ブ
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
45
分散 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 ビ ッ
ト シ フ ト レ ジ ス タ のプ リ ミ テ ィ ブを示 し ます。
46
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 34
SRLC32E
6
D
A[4:0]
Q
CE
Q31
CLK
ug384_34_042309
図 34 : 32 ビ ッ ト シ フ ト レ ジ ス タ
専用のマルチプ レ ク サ (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 ビ ッ ト シ フ ト レ ジ ス タ の最後のビ ッ ト 値が送信 さ れます。 シ フ ト イ ン後
に新 し いデー タ が出力 さ れます。
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
47
ク ロ ッ ク ピ ンの反転
ク ロ ッ ク ピ ン (CLK) には、個別に反転オプシ ョ ンがあ り ます。 ク ロ ッ ク 信号は、ほかの ロ ジ ッ ク リ
ソ ース を使用せずに、 立ち下が り エ ッ ジ ま たは立ち上が り エ ッ ジでア ク テ ィ ブにで き ます。 デフ ォ
ル ト では、 立ち上が り エ ッ ジ を使用 し ます。
グローバル セ ッ ト / リ セ ッ ト (GSR)
シ フ ト レ ジ ス タ は、 グ ロ ーバル セ ッ ト / リ セ ッ ト (GSR) 信号で制御 さ れません。
その他のシ フ ト レ ジ ス タ ア プ リ ケーシ ョ ン
同期シ フ ト レ ジ ス タ
シ フ ト レ ジ ス タ のプ リ ミ テ ィ ブは、 同 じ ス ラ イ ス にあ る レ ジ ス タ を使用 し ません。 完全に同期 し た
読み出 し /書 き 込みシ フ ト レ ジ ス タ を イ ンプ リ メ ン ト する には、 出力ピ ン Q を フ リ ッ プ フ ロ ッ プに
接続す る 必要があ り ます。 図 35 に示す よ う に、シ フ ト レ ジ ス タ と フ リ ッ プ フ ロ ッ プでは同 じ ク ロ ッ
ク が使用 さ れます。
X-Ref Target - Figure 35
SRLC32E
D
FF
D
Q
Q
ྠᮇ
ฟຊ
䜰䝗䝺䝇
CE
(᭩䛝㎸䜏
䜲䝛䞊䝤䝹)
Q31
CLK
ug384_35_042309
図 35 : 同期シ フ ト レ ジ ス タ
こ の コ ン フ ィ ギ ュ レーシ ョ ンは、デザ イ ンが簡潔で、タ イ ミ ン グの点で も 優れてい ます。 フ リ ッ プ フ
ロ ッ プはシ フ ト レ ジ ス タ チ ェーンの最後の レ ジ ス タ と 考え、固定長モー ド ま たは可変長モー ド での
ア ド レ ス指定は、必要な長 さ か ら 1 を引いた値にす る 必要があ り ます。 必要に応 じ て、カ ス ケー ド 接
続可能出力 も フ リ ッ プ フ ロ ッ プ を介 し て出力で き ます。
固定長シ フ ト レ ジ ス タ
カ ス ケー ド 接続可能な 32 ビ ッ ト のシ フ ト レ ジ ス タ では、 専用マルチプ レ ク サ (F7AMUX、
F7BMUX、お よ び F8MUX) を使用せずに任意の固定長モー ド のシ フ ト レ ジ ス タ を イ ンプ リ メ ン ト
で き ます。 図 36 に 72 ビ ッ ト のシ フ ト レ ジ ス タ を示 し ます。 最後の SRLC32E プ リ ミ テ ィ ブのみ、
ア ド レ ス入力を 0b00111 に固定する 必要があ り ます。 ま たは、 シ フ ト レ ジ ス タ 長を 71 ビ ッ ト ( ア
ド レ ス は 0b00110 に固定) に制限 し 、 フ リ ッ プ フ ロ ッ プ を最後の レ ジ ス タ と し て使用で き ます。
SRLC32E プ リ ミ テ ィ ブでは、 シ フ ト レ ジ ス タ の長 さ はア ド レ ス入力 + 1 です。
48
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
X-Ref Target - Figure 36
LUT
D
LUT
D
D
D
Q31
Q31
SRLC32E
SRLC32E
LUT
LUT
D
D
Q31
Q31
SRLC32E
SRLC32E
FF
LUT
D
00111
5
LUT
OUT
(72 䝡䝑䝖
䝅䝣䝖㻌
䝺䝆䝇䝍)
Q
A[4:0]
Q31
D
00110
SRLC32E
5
Q
D
Q
A[4:0]
Q31
OUT
(72 䝡䝑䝖
䝅䝣䝖㻌
䝺䝆䝇䝍)
SRLC32E
ug384_36_042309
図 36 : 固定長シ フ ト レ ジ ス タ の例
マルチ プ レ ク サのプ リ ミ テ ィ ブ
各ス ラ イ ス の専用 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 コ ー ド か ら 推論 さ れます。 合成ツールでは、パフ ォー
マ ン スやエ リ ア使用率において こ の ロ ジ ッ ク に最適にマ ッ ピ ン グ さ れ る 演算フ ァ ン ク シ ョ ンお よ び
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
japan.xilinx.com
49
ロ ジ ッ ク フ ァ ン ク シ ョ ン を判断 し ます。 ま た、 こ のフ ァ ン ク シ ョ ン を自動で使用 し 、 正 し く 接続 し
ます。 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] 出力を こ のピ ンに接続 し ます。
50
japan.xilinx.com
Spartan-6 FPGA コ ン フ ィ ギ ャ ブル
ロ ジ ッ ク ブ ロ ッ ク ユーザー ガ イ ド
UG384 (v1.0) 2009 年 6 月 24 日
Fly UP