...

SRL 16 - Xilinx

by user

on
Category: Documents
46

views

Report

Comments

Transcript

SRL 16 - Xilinx
Application Note: Spartan-3
R
XAPP465 (v1.0) 04.10.03
概要
Spartan-3 デバイ スでのシ フ ト レ ジ ス タ
(SRL 16) と し てのル ッ ク ア ッ プ テーブルの
使用
SRL16 は、16 ビ ッ ト シ フ ト レ ジ ス タ と し て使用 さ れ る ル ッ ク ア ッ プ テーブルの代替モー ド です。 こ の
シ フ ト レ ジ ス タ LUT (SRL) モー ド の使用に よ り 、 パフ ォーマン ス の向上 と 大規模な コ ス ト 削減がで き
ます。 SRL16 は ソ フ ト ウ ェ ア ツールで自動的に推論で き ますが、効率的な使用で さ ら に コ ス ト を抑え た
デザ イ ンが実現で き ます。
は じ めに
Spartan-3 FPGA は、 SLICEM ス ラ イ ス のル ッ ク ア ッ プ テーブル (LUT) を フ リ ッ プ フ ロ ッ プ リ ソ ース
を使用 し ない 16 ビ ッ ト シ フ ト レ ジ ス タ と し て設定で き ます。 シ フ ト イ ン オペレーシ ョ ンは ク ロ ッ ク
と 同期 し てお り 、 出力幅はダ イ ナ ミ ッ ク に選択で き ま す。 独立 し た専用出力に よ り 、 16 ビ ッ ト シ フ ト
レ ジ ス タ を何個で も カ ス ケー ド で き る ため、 必要なサ イ ズのシ フ ト レ ジ ス タ を生成で き ます。 各 CLB
リ ソ ース では、 8 個の LUT の う ち 4 個を 65 ビ ッ ト シ フ ト レ ジ ス タ と し て設定で き ます。
こ のアプ リ ケーシ ョ ン ノ ー ト は、 16 か ら 64 ビ ッ ト ま でのシ フ ト レ ジ ス タ の イ ン プ リ メ ン テーシ ョ ン
に必要な一般的な VHDL と Verilog のサブモジ ュ ール、 お よ び リ フ ァ レ ン ス コ ー ド の例を紹介 し ます。
こ れ ら のサブモジ ュ ールは、 16 ビ ッ ト シ フ ト レ ジ ス タ プ リ ミ テ ィ ブ、 お よ び専用 MUXF5、 MUXF6、
MUXF7 マルチプ レ ク サか ら 構成 さ れてい ます。
こ れ ら のシ フ ト レ ジ ス タ に よ り 、遅延やレ イ テ ン シの補正を必要 と す る アプ リ ケーシ ョ ンの効果的なデ
ザ イ ン を展開 し ます。 ま た、 同期 FIFO お よ び内容参照可能 メ モ リ (CAM) デザ イ ンにおいて も シ フ ト
レ ジ ス タ は有効です。 フ リ ッ プ フ ロ ッ プ (SRL16 エ レ メ ン ト な ど ) を使用 し ない Spartan-3 シ フ ト レ ジ
ス タ を素早 く 生成す る には、 CORE Generator RAM-based Shift Register モジ ュ ールを使用 し ます。
シ フ ト レジス タ
アーキテ ク チ ャ
SRL16 構造についての説明は、 基本的なシ フ ト レ ジ ス タ か ら 始め FPGA 構造の周辺構築へ と 展開 し て
い き ます。
LUT 構造
ル ッ ク ア ッ プ テーブルは、 バ イ ナ リ セ レ ク ト ラ イ ン と し て機能す る 4 入力の 16:1 マルチプ レ ク サで
す。 ル ッ ク ア ッ プ テーブルにプ ロ グ ラ ム さ れた値が選択 さ れたデー タ にな り ます (図 1 を参照)。
1
A[3:0]
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
D
x465_01_040203
図 1: 16:1 マルチ プ レ ク サ と し て設計 さ れた LUT
SRL16 は、 ア ド レ ス指定可能なシ フ ト レ ジ ス タ の代わ り に固定 し た LUT 値が設定 さ れます (図 2 を参
照)。 シ フ ト レ ジ ス タ の入力は LUT の同期 RAM 設定 と 同様に、 デー タ 入力、 ク ロ ッ ク お よ び ク ロ ッ ク
イ ネーブル (図2 に表示 さ れてい ません ) があ り ます。 シ フ ト レ ジ ス タ の最後の フ リ ッ プ フ ロ ッ プには特
© 2002 Xilinx, Inc. All rights reserved. すべての Xilinx の商標、 登録商標、 特許、 免責条項は、 http://www.xilinx.com/legal.htm に リ ス ト さ れています。 他のすべての商標お よび登録商標
は、 それぞれの所有者が所有 し ています。 すべての仕様は通知な し に変更 さ れる可能性があ り ます。
保証否認の通知 : Xilinx ではデザイ ン、 コ ー ド 、 その他の情報を 「現状有姿の状態」 で提供 し ています。 この特徴、 ア プ リ ケーシ ョ ン ま たは規格の一実施例 と し てデザイ ン、 コ ー ド 、 そ
の他の情報を提供 し てお り ますが、 Xilinx は この実施例が権利侵害のク レ ームを全 く 受けない と い う こ と を表明する も のではあ り ません。 お客様がご自分で実装 さ れる場合には、 必要な
権利の許諾を受け る責任があ り ます。 Xilinx は、 実装の妥当性に関するいかな る保証を行な う も のではあ り ません。 こ の保証否認の対象 と な る保証には、 権利侵害の ク レームを受けない
こ と の保証または表明、 お よび市場性や特定の目的に対する適合性についての黙示的な保証も 含まれます。
www.xilinx.co.jp
1
R
別な出力があ り ます。 ラ イ ブ ラ リ プ リ ミ テ ィ ブでは こ れを Q15、 ま た FPGA Editor では MC15 と 表示
し ます。 LUT 入力は、 シ フ ト レ ジ ス タ の 16 記憶装置エ レ メ ン ト の中か ら 非同期 ( ま たはダ イ ナ ミ ッ ク )
に 1 つ選択 し ます。
DIN
DQ
DQ
DQ
DQ
DQ
DQ
DQ
DQ
DQ
DQ
DQ
DQ
DQ
DQ
DQ
DQ
Q15 or
MC15
CLK
A[3:0]
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
D
x465_02_040203
図 2: ア ド レ ス指定可能なシ フ ト レ ジ ス タ と し て設定 し た LUT
ダ イ ナ ミ ッ ク レ ン グス調整
ア ド レ ス でシ フ ト レ ジ ス タ の長 さ を ダ イ ナ ミ ッ ク に変更で き ます。 Q15 の代わ り に D を シ フ ト レ ジ ス
タ 出力 と し て使用す る 場合は、 ア ド レ ス に 7 (0111) を入力 し て出力を Q7 に設定 し 、 8 ビ ッ ト シ フ ト レ
ジ ス タ を エ ミ ュ レー ト し ます。 ア ド レ ス ラ イ ンは mux を制御 し てい る ため、 出力に非同期パ ス が与え
ら れます。
ロ ジ ッ ク セル構造
各 SRL16 LUT には関連 し た フ リ ッ プ フ ロ ッ プがあ り 、 こ れ ら がすべての ロ ジ ッ ク セルを構成 し てい ま
す。 シ フ ト レ ジ ス タ のア ド レ ス指定可能な ビ ッ ト は同期出力のため、フ リ ッ プフ ロ ッ プに格納で き ます。
ま た CLB の組み合わせ出力へ直接接続 も で き ます。 レ ジ ス タ を使用す る 場合は、 固定シ フ ト レ ジ ス タ
長を選択 し てい る 固定ア ド レ ス ラ イ ンが必要です。 フ リ ッ プ フ ロ ッ プの ク ロ ッ ク か ら 出力の遅延はシ フ
ト レ ジ ス タ の遅延 よ り 短いため、 パ フ ォーマ ン ス向上には最期か ら 2 番目の ビ ッ ト を ア ド レ ッ シ ン グ
し 、 シ フ ト レ ジ ス タ の最後にフ リ ッ プ フ ロ ッ プを使用 し ます。 フ リ ッ プ フ ロ ッ プの使用に よ り 、 出力の
非同期ま たは同期セ ッ ト / リ セ ッ ト も 可能にな り ます。
専用 SHIFTIN 信号 が シ フ ト レ ジ ス タ 入 力 に な り 、 最 期 の シ フ ト レ ジ ス タ の Q15/MC15 信号 が
SHIFTOUT 出力を駆動 し ます。 ア ド レ ス指定可能な D 出力は、すべての SRL プ リ ミ テ ィ ブにあ り ます
が、 SHIFTOUT を駆動す る Q15/MC15 信号は、 カ ス ケー ド 可能な SRLC16 プ リ ミ テ ィ ブのみに存在
し ます。
SRLC16
SHIFTIN
SHIFT-REG
A[3:0]
4
A[3:0]
D
MC15
WS
DI
Output
D
Q
Registered
Output
DI (BY)
WSG
CE (SR)
CLK
(optional)
WE
CK
SHIFTOUT
or YB
図 3: ロ ジ ッ ク セル SRL 構造
2
www.xilinx.co.jp
X465_03_040203
R
ス ラ イ ス構造
ス ラ イ ス 内 の 2 つ の ロ ジ ッ ク セ ル は、 最大 32 ビ ッ ト の シ フ ト レ ジ ス タ を カ ス ケ ー ド す る た め、
SHIFTOUT お よ び SHIFTIN 信号で接続 さ れます (図 4 を参照)。 こ の信号は、前にあ る シ フ ト レ ジ ス タ
の Q15/MC15 と 次のシ フ ト レ ジ ス タ の DI ( ま たは Q0 フ リ ッ プフ ロ ッ プ) を接続 し ます。
SLICEM
SRL16
LC
MC15
SHIFTOUT
SHIFTIN
DI
SRL16
LC
X465_04_040203
図 4: ス ラ イ スのロ ジ ッ ク セル間のシ フ ト レ ジ ス タ 接続
ダ イ ナ ミ ッ ク ア ド レ ッ シ ン グ ( ま たは、ダ イ ナ ミ ッ ク レ ン グ ス調整) を行 う 場合、各 SRL16 か ら の 2 つ
の独立 し たデー タ 出力は多重化 し ます。 F5MUX に よ り 、 2 つの SRL16 ビ ッ ト の う ち片方が選択 さ れま
す (図 5 を参照)。
SRL16
LC
F5MUX
A[3:0]
SRL16
LC
A4
X465_05_040203
図 5: F5MUX を使用 し た複数 SRL16 コ ンポーネ ン ト のア ド レ ッ シ ング
CLB 構造
Spartan-3 の CLB には 4 つの ス ラ イ ス があ り 、 各ス ラ イ ス に 2 つのル ッ ク ア ッ プ テーブルがあ り ます
が、 その中の 2 つの ス ラ イ ス のみ、 ル ッ ク ア ッ プ テーブルを SRL16 コ ン ポーネ ン ト お よび分散 RAM
と し て使用で き ます。 左側に位置す る 2 つの SLICEM コ ン ポーネ ン ト は、 2 つの LUT を 16 ビ ッ ト シ
フ ト レ ジ ス タ と し て設定で き ま す。 LUT 間の カ ス ケー ド と 同様に、 SHIFTOUT か ら SHIFTIN への
SLICEM コ ン ポーネ ン ト 間のカ ス ケー ド も で き ます。 ひ と つの CLB の 左側に位置す る 4 個の LUT を
カ ス ケー ド す る と 、 最大 64 ク ロ ッ ク 周期の遅延を生成 し ます (図 6 を参照)。
www.xilinx.co.jp
3
R
1 Shift Chain
in CLB
IN
DI
D
SRLC16
MC15
FF
DI D
SRLC16
MC15
FF
SLICEM S1
SHIFTOUT
SHIFTIN
DI
D
SRLC16
MC15
FF
DI D
SRLC16
MC15
FF
SLICEM S0
OUT
CASCADABLE OUT
X465_06_040503
図 6: CLB のシ フ ト レ ジ ス タ LUT のカ スケー ド
SLICEM にあ る 2 つの LUT を接続す る の と 同様に、 複数の SLICEM を ア ド レ ス指定す る にはマルチ
プ レ ク サ を使用 し ま す。 F6MUX を使用 し て CLB 内の SRL16 コ ン ポーネ ン ト を 3 つ ま たは 4 つ選択
し 、 最大 64 ビ ッ ト ま でのア ド レ ス指定可能なシ フ ト レ ジ ス タ がで き ます (図 7 を参照)。
D
LUT
F5
LUT
SLICEM S1
F6
LUT
F5
LUT
SLICEM S0
CLB
X465_07_040203
図 7: F6MUX を使用 し た 64 ビ ッ ト シ フ ト レ ジ ス タ のア ド レ ス指定
4
www.xilinx.co.jp
R
ライブラ リ プリ
ミティブ
ラ イ ブ ラ リ プ リ ミ テ ィ ブは 8 個あ り 、 オプシ ョ ンで ク ロ ッ ク イ ネーブル (CE)、 反転 ク ロ ッ ク (CLK)、
お よ びカ ス ケー ド 可能な出力 (Q15) の組み合わせがあ り ます。
合成お よ びシ ミ ュ レーシ ョ ンで使用で き る すべてのプ リ ミ テ ィ ブを 表 1 に示 し ます。
表 1: シ フ ト レ ジ ス タ プ リ ミ テ ィ ブ
プリ ミティブ
長さ
制御
ア ド レ ス入力
出力
SRL16
16 ビ ッ ト
CLK
A3、 A2、 A1、
A0
Q
SRL16E
16 ビ ッ ト
CLK、 CE
A3、 A2、 A1、
A0
Q
SRL16_1
16 ビ ッ ト
CLK
A3、 A2、 A1、
A0
Q
SRL16E_1
16 ビ ッ ト
CLK、 CE
A3、 A2、 A1、
A0
Q
SRLC16
16 ビ ッ ト
CLK
A3、 A2、 A1、
A0
Q、 Q15
SRLC16E
16 ビ ッ ト
CLK、 CE
A3、 A2、 A1、
A0
Q、 Q15
SRLC16_1
16 ビ ッ ト
CLK
A3、 A2、 A1、
A0
Q、 Q15
SRLC16E_1
16 ビ ッ ト
CLK、 CE
A3、 A2、 A1、
A0
Q、 Q15
D
SRLC16E
CE
CLK
Q
Q15
A0
A1
A2
A3
X465_19_040503
図 8: SRLC16E プ リ ミ テ ィ ブ
表 2: VHDL および Verilog コ ー ド によ る初期化
シ フ ト レ ジ ス タ は、 合成お よ びシ ミ ュ レ ーシ ョ ンにおいて VHDL ま たは Verilog コ ー ド で初期化で き
ま す。 合成を 行 う 場合、 16 ビ ッ ト シ フ ト レ ジ ス タ イ ン ス タ ン シ エーシ ョ ン に INT 属性が あ る ので、
Alliance シ リ ーズ ツールで コ ンパ イ ルで き る よ う に、 INT 属性を EDIF 出力フ ァ イ ルに コ ピー し ます。
VHDL コ ー ド シ ミ ュ レーシ ョ ンは、 generic パ ラ メ ー タ を使用 し て属性を渡 し ます。 Verilog コ ー ド
シ ミ ュ レーシ ョ ンは、 defparam パ ラ メ ー タ を使用 し て属性を渡 し ます。
S3_SRL16E シ フ ト レ ジ ス タ イ ン ス タ ン シエーシ ョ ン コ ー ド の例 (VHDL お よ び Verilog) を用いて、
こ れ ら のテ ク ニ ッ ク を説明 し ます (VHDL お よび Verilog テ ン プ レー ト を参照)。 S3_SRL16E.vhd お よ
び .v フ ァ イ ルに関す る 説明はあ り ません。
www.xilinx.co.jp
5
R
ポー ト 信号
ク ロ ッ ク ― CLK
同期シ フ ト イ ンでは、 ク ロ ッ ク の立ち上が り エ ッ ジ、 ま たは立ち下が り エ ッ ジの ど ち ら か片方を使用 し
ます。 デー タ お よ び ク ロ ッ ク イ ネーブル入力ピ ンのセ ッ ト ア ッ プ タ イ ムは、 選択 し た ク ロ ッ ク エ ッ ジ
が基準にな り ます。
デー タ 入力 — D
デー タ 入力は、 シ フ ト レ ジ ス タへ移動す る 新 し いデー タ (1 ビ ッ ト ) を与え ます。
ク ロ ッ ク イ ネーブル — CE ( オ プ シ ョ ン )
ク ロ ッ ク イ ネーブル ピ ンは、 シ フ ト 機能に影響を与え ます。 非ア ク テ ィ ブな ク ロ ッ ク イ ネーブル ピ ン
は、 シ フ ト レ ジ ス タ へデー タ を移動 し ません。 ま た、 新 し いデー タ の書 き 込み も 行い ません。 ク ロ ッ ク
イ ネーブルを ア ク テ ィ ブに し た場合、 data in (D) が最初の ロ ケーシ ョ ンに書 き 込まれ、 すべてのデー タ
が 1 つの ロ ケーシ ョ ン に移動 し ます。 こ のオプシ ョ ン を使用 し た場合、 新 し いデー タ は出力ピ ン (Q)
お よ びカ ス ケー ド 可能な出力ピ ン (Q15) か ら 出力 さ れます。
ア ド レ ス — A3、 A2、 A1、 A0
ア ド レ ス入力は、読み出 さ れ る ビ ッ ト (0 か ら 15 ま で) を選択 し ます。 選択 さ れた n 番目の ビ ッ ト は、出
力 ピ ン (Q) か ら 出力 さ れ ま す。 カ ス ケー ド 可能な出力 ピ ン (Q15) は、 常に シ フ ト レ ジ ス タ の最後の
ビ ッ ト ( ビ ッ ト 15) を出力す る ためア ド レ ス入力の影響は受け ません。
デー タ 出力 — Q
デー タ 出力 Q は、 ア ド レ ス入力で選択 さ れたデー タ 値 (1 ビ ッ ト ) を出力 し ます。
デー タ 出力 — Q15 ( オプ シ ョ ン )
デー タ 出力 Q15 は、16 ビ ッ ト シ フ ト レ ジ ス タ の最後の ビ ッ ト を出力 し ます。 各シ フ ト イ ンの動作が終
了す る と 毎回新 し いデー タ が出力 さ れます。
制御ピ ンの反転
2 つの制御ピ ン (CLK、 CE) には、 反転オプシ ョ ンがあ り ます。 デフ ォ ル ト では、 ク ロ ッ ク は立ち上が
り エ ッ ジで、 CE はア ク テ ィ ブ high です。
GSR
グ ロ ーバル セ ッ ト / リ セ ッ ト (GSR) は、 シ フ ト レ ジ ス タ に影響を与え ません。
属性
内容の初期化 — INIT
INIT 属性は、 シ フ ト レ ジ ス タ 内容の初期値を定義 し た も のです。 INIT 属性は 4 桁 (0000) の 16 進数で
エン コー ド さ れた ビ ッ ト ベ ク タ です。 一番左の数字が最上位ビ ッ ト (MSB) です。 デバ イ ス設定シーケ
ン ス で、 シ フ ト レ ジ ス タ はデフ ォル ト ですべての数字が 0 に初期化 さ れますが、 その他の設定値を指定
す る こ と も で き ます。
ロケーシ ョ ン制約
CLB 内部の ス ラ イ ス レ イ ア ウ ト は 図 9 に示 し ます。 各 CLB に 4 つの ス ラ イ ス があ り ますが、 左下 2
つの ス ラ イ ス のみシ フ ト レ ジ ス タ と し て使用で き ます。 CLB で S0 お よ び S1 に位置す る こ の 2 つの ス
ラ イ スは、 SLICEM と 表示 さ れます。 各座標は、 XOYO お よ び X0Y1 です。 配置制約を行 う 場合、 SRL
プ リ ミ テ ィ ブの LOC プ ロ パテ ィ で こ の座標を使用 し ます。 専用 CLB シ フ ト チ ェ ーンは上下に渡っ て
い ますが、 始め と 終わ り は 4 つの SLICEM LUT の ど こ を選んで も チ ェーン を作成で き ます。
6
www.xilinx.co.jp
R
Left-Hand SLICEM
(Logic or Distributed RAM
or Shift Register)
Right-Hand SLICEL
(Logic Only)
COUT
CLB
SLICE
X1Y1
SLICE
X1Y0
COUT
Switch
Matrix
CIN
Interconnect
to Neighbors
SLICE
X0Y1
SHIFTOUT
SHIFTIN
SLICE
X0Y0
CIN
X465_08_040203
図 9: CLB 内部のス ラ イ ス レ イ アウ ト
シ フ ト レ ジ ス タ の動作
デー タ フ ロー
各シ フ ト レ ジ ス タ (SR16 プ リ ミ テ ィ ブ) は、 次をサポー ト し ます。
•
同期シ フ ト イ ン
•
ア ド レ ス がダ イ ナ ミ ッ ク に変更す る 場合の非同期 1 ビ ッ ト 出力
•
ア ド レ ス が固定の場合の同期シ フ ト ア ウ ト
その他、 カ ス ケー ド 可能なシ フ ト レ ジ ス タ (SRLC16) は、 最期 (16 番目) の ビ ッ ト の同期シ フ ト ア ウ ト
出力を サポー ト し ます。 こ の出力には、 CLB リ ソ ー ス 内で次の SRLC16 の入力への専用接続が あ り ま
す。 2 つのプ リ ミ テ ィ ブを 図 10 に示 し ます。
SRLC16E
D
Q
Address
SRL16E
CE
Q15
CLK
D
Q
Address
SRLC16E
CE
CLK
D
Q
Address
CE
CLK
Q15
X465_09_040603
図 10: シ フ ト レ ジ ス タ と カ スケー ド 可能なシ フ ト レ ジ ス タ
www.xilinx.co.jp
7
R
シ フ ト オペ レ ーシ ョ ン
シ フ ト オペレーシ ョ ンは、CE がア ク テ ィ ブ High でシ ン グル ク ロ ッ ク エ ッ ジです。 イ ネーブルが High
の と き 、 入力 (D) はシ フ ト レ ジ ス タ の最初の ビ ッ ト に ロ ー ド さ れ、 各ビ ッ ト が順に次のポジシ ョ ンへ と
移動 し ます。 カ ス ケー ド 可能なシ フ ト レ ジ ス タ (SRLC16 な ど ) では、 最期の ビ ッ ト が Q15 か ら 出力 さ
れます。
4 ビ ッ ト ア ド レ ス で選択 さ れた ビ ッ ト は、 Q か ら 出力 さ れます。
ダ イ ナ ミ ッ ク リ ー ド オペ レ ーシ ョ ン
Q 出力は、 4 ビ ッ ト ア ド レ ス で決定 し ます。 4 入力ピ ンに新 し いア ド レ ス が与え ら れ る たびに、 LUT へ
のア ク セ ス時間を経て Q 出力に新 し い ビ ッ ト ポジシ ョ ンの値が出力 さ れます。 こ のオペレーシ ョ ンは、
ク ロ ッ ク お よ び ク ロ ッ ク イ ネーブル信号 と は非同期で単独の動作です。
シ フ ト お よ びダ イ ナ ミ ッ ク リ ー ド オペレーシ ョ ン を 図 11 に示 し ます。
CLK
CE
D
tshift
Q
Q15
Shift Timing Diagram
7
Address
Q
10
Position (7)
taccess
Position (10)
taccess
Dynamic Length Timing Diagram
X465_10_040203
図 11: シ フ ト およびダ イ ナ ミ ッ ク レ ングス タ イ ミ ング ダ イ アグ ラ ム
ス タ テ ィ ッ ク リ ー ド オペ レ ーシ ョ ン
4 ビ ッ ト ア ド レ ス が固定 さ れてい る 場合、 Q 出力は常に同 じ ビ ッ ト ポジシ ョ ン を使用 し ます。 こ のモー
ド は、 1 つの LUT に 1 か ら 16 ビ ッ ト ま で ど の長 さ のシ フ ト レ ジ ス タ で も イ ンプ リ メ ン ト で き ます。 シ
フ ト レ ジ ス タ長は (N+1) です。 (N = 入力ア ド レ ス )
Q 出力は、 各シ フ ト オペレーシ ョ ンに同期 し て変化 し ます。 前の ビ ッ ト は次のポジシ ョ ンに移動 し 、 Q
か ら 出力 さ れます。
特性
8
•
シ フ ト オペレーシ ョ ン 1 回につ き 、 ク ロ ッ ク エ ッ ジが 1 つ必要です。
•
ダ イ ナ ミ ッ ク レ ン グ ス リ ー ド オペレーシ ョ ンは非同期です。 (Q 出力 )
•
ス タ テ ィ ッ ク レ ン グ ス リ ー ド オペレーシ ョ ンは同期です。 (Q 出力 )
•
デー タ 入力には、 セ ッ ト ア ッ プか ら ク ロ ッ ク 間の タ イ ミ ン グ仕様があ り ます。
www.xilinx.co.jp
R
•
•
シ フ ト レジス タ
推論
カ ス ケー ド 可能な コ ン フ ィ ギ ュ レーシ ョ ンでは、 Q15 出力に常に最期の ビ ッ ト 値が出力 さ れます。
Q15 出力は、 各シ フ ト オペレーシ ョ ンの後に同期 し て変化 し ます。
一般的な HDL コ ー ド でシ フ ト レ ジ ス タ を記述 し た場合、 合成ツールは SRL16 コ ン ポーネ ン ト の使用
を推論 し ます。 SRL16 には、 同期ま たは非同期セ ッ ト / リ セ ッ ト 入力の ど ち ら も ないため、 同時にすべ
てのビ ッ ト にア ク セ ス で き ません。 こ の機能は SRL16 を使用する 上で妨げ と な る ため、 フ リ ッ プ フ
ロ ッ プの方に こ の機能を イ ンプ リ メ ン ト し ます。 シ フ ト レ ジ ス タ が 16 ビ ッ ト 以上の場合、 ま たは Q15
のみ使用 し た場合は、 カ ス ケー ド 可能なシ フ ト レ ジ ス タ (SRLC16) が推論 さ れ る 可能性があ り ます。
SRL16 シ フ ト レ ジ ス タ はパ ラ レル ロ ー ド で き ませんが、 ロ ー ド し たいデー タ を シ フ ト イ ンす る と 同等
の機能を イ ンプ リ メ ン ト で き ます。 ロ ー ド コ マ ン ド には一定の タ イ ミ ン グが必要です。
VHDL 推論コ ー ド
次は、 SRL16 を推論す る VHDL コ ー ド です。
architecture Behavioral of srl16 is
signal Q_INT: std_logic_vector(15 downto 0);
begin
process(C)
begin
if (Cíevent and C=’1’) then
Q_INT <= Q_INT(14 downto 0) & D;
end if;
end process;
Q <= Q_INT(15);
end Behavioral;
反転 ク ロ ッ ク (SRL16_1) を推論 さ せ る 場合は、 C='1' を C='0' に変更 し ま す。 ク ロ ッ ク イ ネーブル
(SRL16E) を推論 さ せ る 場合は、 最初の if-then 文の後に if (CE='1') then を挿入 し ます。
Verilog 推論コ ー ド
次は、 SRL16 を推論す る Verilog コ ー ド です。
always @ (posedge C)
begin
Q_INT <= {Q_INT[14:0],D};
end
always @(Q_INT)
begin
Q <= Q_INT[15];
end
反転 ク ロ ッ ク (SRL16_1) を推論 さ せ る 場合は、(posedge C) を (negedge C) に変更 し ます。 ク ロ ッ ク
イ ネーブル (SRL16E) を推論 さ せ る 場合は、 begin 文の後に if(CE) を挿入 し ます。
www.xilinx.co.jp
9
R
シ フ ト レジス タ
サブ モ ジ ュ ール
16 ビ ッ ト プ リ ミ テ ィ ブのほかに も 、 32 ビ ッ ト と 64 ビ ッ ト のカ ス ケー ド 可能なシ フ ト レ ジ ス タ を イ ン
プ リ メ ン ト す る 2 つのサブモジ ュ ールが VHDL お よ び Verilog コ ー ド であ り ます。こ のサブモジ ュ ール
を 表 3 に示 し ます。
表 3: シ フ ト レ ジ ス タ サブ モ ジ ュ ール
サブモジ ュール
長さ
制御
ア ド レ ス入力
出力
SRLC32E_SUBM
32 ビ ッ
CLK、
CE
A4、 A3、 A2、 A1、 A0
Q、 Q31
CLK、
CE
A5、 A4、 A3、 A2、 A1、 A0
Q、 Q63
ト
SRLC64E_SUBM
64 ビ ッ
ト
サブモジ ュ ールは、 SRLC16E プ リ ミ テ ィ ブが基本 と な り 、 専用マルチプ レ ク サ (MUXF5、 MUXF6 な
ど ) が あ り ま す。 こ の イ ン プ リ メ ン テーシ ョ ン は、 大規模な シ フ ト レ ジ ス タ の場合で も 、 高速な ス タ
テ ィ ッ ク レ ン グ ス モー ド お よ びダ イ ナ ミ ッ ク レ ン グ ス モー ド がで き ます。
10
www.xilinx.co.jp
R
表 3 のサブモジ ュ ールで イ ン プ リ メ ン ト し た カ ス ケー ド 可能な シ フ ト レ ジ ス タ (32 ビ ッ ト お よ び 64
ビ ッ ト ) を 図 12 に示 し ます。
A4
Add.
A5, A4
5
Add.
A3, A2, A1, A0
D
A3, A2, A1, A0
D
4
A5
6
Q
D
D
4
A[3:0]
A4
CE
Q
A[3:0]
CE
Q15
Q15
SRLC16E
SRLC16E
Q
MUXF5
D
4
MUXF5
Q
D
4
A[3:0]
CE
Q
A[3:0]
CE
Q15
Q31
Q15
SRLC16E
SRLC16E
Q
32-bit Shift Register
MUXF6
D
4
Q
A[3:0]
CE
Q15
SRLC16E
MUXF5
D
4
Q
A[3:0]
CE
Q15
Q63
SRLC16E
64-bit Shift Register
X465_11_040603
図 12: シ フ ト レ ジス タ モ ジ ュ ール (32 ビ ッ ト および 64 ビ ッ ト )
1 つのサブモジ ュ ールにつき 、 すべての ク ロ ッ ク イ ネーブル (CE) と ク ロ ッ ク (CLK) 入力は、 1 つのグ
ロ ーバル ク ロ ッ ク イ ネーブル と 1 つの ク ロ ッ ク 信号に接続 し てい ま す。 グ ロ ーバルな ス タ テ ィ ッ ク ま
たはダ イ ナ ミ ッ ク レ ン グ ス モー ド を必要 と し ない場合は、マルチプ レ ク サな し で SRLC16E プ リ ミ テ ィ
ブを カ ス ケー ド で き ます。
完全同期シ フ ト レ ジ ス タ
すべてのシ フ ト レ ジ ス タ プ リ ミ テ ィ ブお よ びサブモジ ュ ールは、 同 じ ス ラ イ ス内の レ ジ ス タ を使用 し
ません。 完全同期 リ ー ド / ラ イ ト シ フ ト レ ジ ス タ を イ ンプ リ メ ン ト す る と き は、 出力ピ ン Q を フ リ ッ プ
www.xilinx.co.jp
11
R
フ ロ ッ プに接続す る 必要があ り ます。 図 13 で示す よ う に、 シ フ ト レ ジ ス タ と フ リ ッ プ フ ロ ッ プは同 じ
ク ロ ッ ク を共有 し てい ます。
FF
D
Q
SRLC16E
D
Q
Synchronous
Output
Address
CE
(Write Enable)
Q15
CLK
X465_12_040203
図 13: 完全同期シ フ ト レ ジ ス タ
こ の設定では、 タ イ ミ ン グ が向上 し デザ イ ン が簡略化 し ま す。 フ リ ッ プ フ ロ ッ プは、 シ フ ト レ ジ ス タ
チ ェ ーンの最後の レ ジ ス タ にな る ので、 ス タ テ ィ ッ ク ま たはダ イ ナ ミ ッ ク ア ド レ スは、 要求す る 長 さ か
ら フ リ ッ プ フ ロ ッ プの分を 1 ビ ッ ト 引いて考え ます。 必要な場合は、 カ ス ケー ド さ れた出力を フ リ ッ プ
フ ロ ッ プに レ ジ ス タ す る こ と も で き ます。
ス タ テ ィ ッ ク シ フ ト レジス タ
カ ス ケー ド 可能な 16 ビ ッ ト シ フ ト レ ジ ス タ は、 専用マルチプ レ ク サ (MUXF5、 MUXF6 な ど ) を使用
し ない、 あ ら ゆ る 長 さ の ス タ テ ィ ッ ク レ ン グ ス モー ド レ ジ ス タ を イ ンプ リ メ ン ト で き ます。 40 ビ ッ ト
シ フ ト レ ジ ス タ を 図 14 に示 し ます。 最期の SRLC16E プ リ ミ テ ィ ブのみ、 ア ド レ ス入力を 0111 に固
定す る 方法、 お よ びシ フ ト レ ジ ス タ の長 さ を 39 ビ ッ ト ( ア ド レ ス を 0110 に固定) に制限 し て、 フ リ ッ
プ フ ロ ッ プを最期の レ ジ ス タ と し て使用す る 方法があ り ます。 (SRLC16E プ リ ミ テ ィ ブの場合、 シ フ ト
レ ジ ス タ の長 さ はア ド レ ス入力 + 1 です。 )
D
D
D
D
LUT
LUT
Q15
SRLC16
Q15
SRLC16
D
D
LUT
LUT
Q15
SRLC16
Q15
SRLC16
FF
"0111" 4
D
A[3:0]
Q
OUT
(40-bit SRL)
"0110"
D
A[3:0]
Q
LUT
LUT
Q15
SRLC16
Q15
SRLC16
D
Q
OUT
(40-bit SRL)
X465_13_040603
図 14: 40 ビ ッ ト ス タ テ ィ ッ ク シ フ ト レ ジ ス タ
VHDL および Verilog イ ン ス タ ン シ エーシ ョ ン
すべてのプ リ ミ テ ィ ブお よ びモジ ュ ールの、 VHDL お よ び Verilog の イ ン ス タ ン シエーシ ョ ン テ ン プ
レー ト があ り ます。
12
www.xilinx.co.jp
R
VHDL の場合、各テ ンプ レー ト に component declaration お よ び architecture section があ り ます。 VHDL
デザ イ ン フ ァ イ ルにテ ンプ レー ト の各パー ト を挿入 し て く だ さ い。 architecture section の port map には
デザ イ ン信号名が必要です。
ShiftRegister_C_x (x = 16、 32、 お よ び 64) テ ン プ レー ト はカ ス ケー ド 可能なモジ ュ ールで、 対応す る
SRLCxE プ リ ミ テ ィ ブ (16)、 ま たはサブモジ ュ ール (32 お よ び 64) を イ ン ス タ ン シエー ト し ます。
ShiftRegister_16 テ ンプ レー ト を使用 し て、 SRL16 プ リ ミ テ ィ ブ を イ ン ス タ ン シエー ト で き ます。
VHDL およ び Verilog テ ン プ レ ー ト
テ ンプ レー ト 名の数字はビ ッ ト 数を表 し てい ます (例 : SHIFT_SELECT_16 は、 16 ビ ッ ト シ フ ト レ ジ
ス タ )。 C はカ ス ケー ド 可能を意味 し ます。
次は、 プ リ ミ テ ィ ブのテ ンプ レー ト です。
•
•
SHIFT_REGISTER_16
SHIFT_REGISTER_16_C
次は、 サブモジ ュ ールのテ ンプ レー ト です。
•
•
SHIFT_REGISTER_32_C (submodule: SRLC32E_SUBM)
SHIFT_REGISTER_64_C (submodule: SRLC64E_SUBM)
対応す る サブモジ ュ ールは、 デザ イ ン と 合成す る 必要があ り ます。
例 と し て、SHIFT_REGISTER_16_C モジ ュ ールのテ ンプ レー ト を VHDL お よ び Verilog コ ー ド で示 し
ます。
VHDL テ ン プ レー ト
-- Module: SHIFT_REGISTER_C_16
-- Description: VHDL instantiation template
-- CASCADABLE 16-bit shift register with enable (SRLC16E)
-- Device: Spartan-3 Family
---------------------------------------------------------------------- Components Declarations:
-component SRLC16E
-- pragma translate_off
generic (
-- Shift Register initialization ("0" by default) for functional
simulation:
INIT : bit_vector := X"0000"
);
-- pragma translate_on
port (
D : in std_logic;
CE
: in std_logic;
CLK : in std_logic;
A0
: in std_logic;
A1
: in std_logic;
A2
: in std_logic;
A3
: in std_logic;
Q
: out std_logic;
Q15 : out std_logic
);
end component;
-- Architecture Section:
--- Attributes for Shift Register initialization ("0" by default):
attribute INIT: string;
-attribute INIT of U_SRLC16E: label is "0000";
--- ShiftRegister Instantiation
www.xilinx.co.jp
13
R
U_SRLC16E: SRLC16E
port map (
D
=> , -- insert
CE
=> , -- insert
CLK
=> , -- insert
A0
=> , -- insert
A1
=> , -- insert
A2
=> , -- insert
A3
=> , -- insert
Q
=> , -- insert
Q15
=>
-- insert
);
input signal
Clock Enable signal (optional)
Clock signal
Address 0 signal
Address 1 signal
Address 2 signal
Address 3 signal
output signal
cascadable output signal
Verilog テ ン プ レー ト
// Module: SHIFT_REGISTER_16
// Description: Verilog instantiation template
// Cascadable 16-bit Shift Register with Clock Enable (SRLC16E)
// Device: Spartan-3 Family
//------------------------------------------------------------------// Syntax for Synopsys FPGA Express
// synopsys translate_off
defparam
//Shift Register initialization ("0" by default) for functional simulation:
U_SRLC16E.INIT = 16'h0000;
// synopsys translate_on
//SelectShiftRegister-II Instantiation
SRLC16E U_SRLC16E
( .D(),
.A0(),
.A1(),
.A2(),
.A3(),
.CLK(),
.CE(),
.Q(),
.Q15()
);
// synthesis attribute declarations
/* synopsys attribute
INIT "0000"
*/
CORE Generator システム
ザ イ リ ン ク ス Core Generator シ ス テ ムは、 SRL16 を使用 し て高速で小型の FIFO ス タ イ ル シ フ ト レ ジ
ス タ 、 遅延 ラ イ ン、 お よ び タ イ ム ス キ ュ ー バ ッ フ ァ を生成 し ます。 最大幅 256、 ワ ー ド 数 1024 の非常
に効率的なシ フ ト があ る 、 RAM-based Shift Register モジ ュ ールを 図 15 に示 し ます。 ス タ テ ィ ッ ク レ
ン グ ス シ フ ト レ ジ ス タ お よ びダ イ ナ ミ ッ ク レ ン グ ス シ フ ト レ ジ ス タ を生成で き ます。 ま た、 モジ ュ ー
ルの出力を レ ジ ス タ す る オプシ ョ ン も あ り ます。 出力を レ ジ ス タ す る オプシ ョ ン を使用す る 場合、 次の
よ う な追加オプシ ョ ン が あ り ま す。 Clock Enable、 Asynchronous Set/Clear/Init、 お よ び Synchronous
Set/Clear/Init。 相対配置マ ク ロ (RPM) ま たは未配置 ロ ジ ッ ク と し てモジ ュ ールを作成す る オプシ ョ ン
も あ り ます。
14
www.xilinx.co.jp
R
ASET SSET
D[N:0]
Q[N:0]
A[M:0]
CE
CLK
ACLR SCLR
AINIT SINIT
x465_14_040203
図 15: CORE Generator RAM-Based Shift Register モ ジ ュ ール
ア プ リ ケーシ ョ
ン
遅延 ラ イ ン
レ ジ ス タ が豊富なザ イ リ ン ク ス FPGA アーキテ ク チ ャ は、パ イ プ ラ イ ン ス テージ を追加で き る ため、高
処理能力が得 ら れます。 要求す る 機能を維持す る ため、 デー タ パ ス を均等にす る 必要があ り ます。 遅延
の追加 ク ロ ッ ク サ イ ク ルが必要な場合は、 SRL16 を使用 し ます (図 16 を参照)。
12 Cycles
Operation A
Operation B
4 Cycles
8 Cycles
Operation C
3 Cycles
9-cycle imbalance
3 Cycles
12 Cycles
Operation A
Operation B
4 Cycles
8 Cycles
Operation C
Pipeline
3 Cycles
9 Cycles
using SRL16
Paths statically
balanced
12 Cycles
X465_20_040603
図 16: 遅延ラ イ ン と し て SRL16 を使用
www.xilinx.co.jp
15
R
リ ニア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ
リ ニ ア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ (LFSR) のシーケ ン ス は、 2n-1 (n = フ リ ッ プ フ ロ ッ プの数)
の連続です。 特定の ビ ッ ト を XOR ま たは XNOR ゲー ト を通っ て フ ィ ー ド バ ッ ク す る こ と でシーケ ン
ス がで き ます。 カ ウ ン ト シーケ ン ス があ ま り 重要でないアプ リ ケーシ ョ ン (例 : FIFO) に関 し ては、 従
来のバ イ ナ リ カ ウ ン タ の代わ り に LFSR を使用で き ます。 ま た、 擬似 ラ ン ダ ム ナンバー ジ ェ ネ レー タ
と し て も 使用 し ます。 LFSR は、 アルゴ リ ズ ムの暗号化お よ び解読に重要な構築ブ ロ ッ ク です。
最長 LFSR は、 シ フ ト レ ジ ス タ 内の特定の場所か ら ビ ッ ト を タ ッ プす る 必要があ り ます。 SRL16 には
さ ま ざ ま な タ ッ プ方法があ り ます。 1 つ目は、 Q15 と 次の SRL16 を カ ス ケー ド す る 一方で SRL16 で必
要な ビ ッ ト を ア ド レ ッ シ ン グす る 方法です。 2 つ目は、 タ ッ プ ポ イ ン ト にア ク セ スす る ために フ リ ッ プ
フ ロ ッ プを使用 し て SRL16 を拡張する 方法です。 た と えば、 ビ ッ ト 49 と ビ ッ ト 52 の フ ィ ー ド バ ッ ク
で 1 つの CLB に 52 ビ ッ ト LFSR が イ ンプ リ メ ン テーシ ョ ン さ れ る 様子を 図 17 に示 し ます。 3 つ目
は、 複数 SRL の LFSR を複製 し 、 各 SRL に異な る ビ ッ ト を ア ド レ ス指定す る 方法です。 4 つ目は、 複
数のビ ッ ト ポジシ ョ ン を得 る ために 1 つの SRL ク ロ ッ ク サ イ ク ルに複数のア ド レ ス を生成す る 方法で
す。 LFSR に 必要 な XNOR ゲ ー ト は、 CLB の SLICEL に あ ら か じ め 配置 さ れ て い ま す。 詳細 は、
XAPP210 を参照 し て く だ さ い。
Bit 52
D Q
Bit 1
XNOR
Bit 49
Bit 17
D
Q
Output
D Q
SRL16
Bit 52
Address = 15
Bit 33
D
Q
D Q
SRL16
Bit 51
Address = 15
Bit 49
D
Q
SRL16
D Q
Bit 50
Address = 15
x465_15_040203
図 17: 1 つの CLB にある 52 ビ ッ ト LFSR
Gold コ ー ド ジ ェ ネ レー タ
優れた相関プ ロ パテ ィ を持つ コ ー ド シーケ ン ス を生成す る には、 CDMA シ ス テ ム で Gold コ ー ド ジ ェ
ネ レー タ を使用 し ます (図 18 を参照)。 要素 コ ー ド を持つ 2 つの LFSR の結果を足 し たモジ ュ ロ 2 に よ
り 小 さ な相関 コ ー ド のセ ッ ト を生成す る こ と を R.Gold 氏は提唱 し てい ます。 た く さ んの コ ー ド 信号が
混 じ っ た スペ ク ト ルの中で各 コ ー ド のセ ッ ト を識別で き る よ う にな り ます。 Gold コ ー ド ジ ェ ネ レー タ
を図 18 に示 し ます。 LFSR を完成 し て フ ィ ー ド バ ッ ク を行 う のに必要な ロ ジ ッ ク は、 CLB の SLICEL
の中に配置 さ れてい ます。 詳細は、 XAPP217 を参照 し て く だ さ い。
16
www.xilinx.co.jp
R
LFSR 1
Gold Code Out
LFSR 2
x465_16_040203
図 18: Gold コ ー ド ジ ェ ネ レー タ
FIFO
SRL16 コ ン ポーネ ン ト か ら 同期 FIFO を生成で き ます。 他の リ ソ ース が不足 し てい る 場合には、 こ の方
法が非常に有効です。1 つの CLB に対 し て最大 64 ビ ッ ト ま で可能です。 よ り 大規模な FIFO の場合は、
最 も 効果的な リ ソ ース と し てブ ロ ッ ク RAM を使用 し ます。 詳細は、 XAPP256 を参照 し て く だ さ い。
CLK
SINIT
DATA_IN
RD_EN
SRL16
Based
FIFO
DATA_OUT
FIFO
Count
FIFO_COUNT
Address
Counter
WR_EN
Status
Flag
Generation
FULL
EMPTY
x465_17_040203
図 1: SRL16 シ フ ト レ ジ ス タ を使用 し た同期 FIFO
カ ウン タ
SRL16 の各出力を フ ィ ー ド バ ッ ク す る こ と に よ り 、 16 ス テー ト のシーケ ン ス がで き ます。 SRL16 を カ
ス ケー ド し た場合、 さ ら に長い不定カ ウ ン ト シーケ ン ス がで き ます。 タ ー ミ ナル カ ウ ン ト は、 通常の
キ ャ リ ー チ ェーン を使用 し て生成で き ます (図 19 を参照)。
www.xilinx.co.jp
17
R
TC
Q3
SRL
0
1
Q2
SRL
0
1
Q1
SRL
0
1
Q0
SRL
0
VCC
1
x465_18_040503
図 19: タ ー ミ ナル カ ウン ト 付きの SRL-Based カ ウン タ
関連資料および
リ フ ァ レンス
•
XAPP210 : Virtex デバイ スの リ ニ ア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ
•
XAPP211 : SRL マ ク ロ を使用 し た PN ジ ェ ネ レ ー タ
リ ニ ア フ ィ ー ド バ ッ ク シ フ ト レ ジ ス タ は FPGA アーキテ ク チ ャ で非常に有効な カ ウ ン タ です。 シ
フ ト レ ジ ス タ の基本 と し て SRL16 を使用 し た場合、 1 つの ス ラ イ ス には 15 ビ ッ ト カ ウ ン タ 、 2
つの ス ラ イ ス には 52 ビ ッ ト カ ウ ン タ が入 り ます。
擬似 ラ ン ダ ム雑音シーケ ン ス を使用 し 、 スペ ク ト ラ ム拡散の変調のために信号を コ ー ド 化 し て幅広
い伝送周波に信号を拡散 し ます。 PN ジ ェ ネ レー タ は LFSR がベース であ り 、 SRL16 コ ン ポーネ ン
ト で効率的に生成で き ます。
•
XAPP217 : Virtex デバイ スの Gold コ ー ド ジ ェ ネ レ ー タ
•
XAPP220 : ワ イ ア レ ス ア プ リ ケーシ ョ ンの機能ブ ロ ッ ク と し ての LFSR
PN シーケ ン ス の特殊な タ イ プ と し て Gold コ ー ド ジ ェ ネ レー タ があ り ます。 こ れは、 SRL16 ベー
ス の LFSR で生成で き ます。
CDMA な ど のアプ リ ケーシ ョ ンにおけ る LFSR ( 例 : Gold コ ー ド ジ ェ ネ レー タ ) の使用に関す る
詳細について
•
•
XAPP256 : Virtex-II シ フ ト レ ジ ス タ を使用 し た FIFO
小規模な同期 FIFO を構築する には SRL16 が最適です。 ど んな幅の FIFO で も 作成で き 、 1 ビ ッ ト
の解像度が得 ら れます。 カ ス ケー ド 可能な SRL16 シ フ ト レ ジ ス タ (SRLC16) で フ レ キ シブルな深
度が 16 得 ら れます。 こ れ ら のテ ク ニ ッ ク は、 ブ ロ ッ ク RAM リ ソ ース が不足 し てい る 場合の大規
模 FIFO の生成に有益です。
TechXclusive : The SRL16E : How Using this Exciting Mode Can Lead to Cost Saving of an Order of Magnitude
SRL16 の機能お よ び次の項目におけ る アプ リ ケーシ ョ ンについて説明 し ます。 パ イ プ ラ イ ン補正、
擬似 ラ ン ダ ム ノ イ ズ ジ ェ ネ レー タ 、 シ リ アル フ レーム同期装置、 ラ ン ニ ン グ アベレージ、 パルス
生成 と ク ロ ッ ク 分割、 パ タ ーン生成、 ス テー ト マシ ン、 動的ア ド レ ス指定可能シ フ ト レ ジ ス タ 、
FIFO、 お よ び RS232 レ シーバ。
•
DS228 : RAM-Based Shift Register LogiCORE Module
SRL16 を使用 し て、 高速で小型な FIFO ス タ イ ルのシ フ ト レ ジ ス タ 、 遅延 ラ イ ン、 お よ び タ イ ム
ス キ ュ ー バ ッ フ ァ を生成 し ます。
•
SRL16 Primitives in Libraries Guide
SRL16 プ リ ミ テ ィ ブ と その変形の使用方法お よ び機能について説明 し ます。
おわ り に
Sprtan 3 ル ッ ク ア ッ プ テーブルの SRL16 は、 16 個の フ リ ッ プ フ ロ ッ プ を使用 し ない空間効率の よ い
シ フ ト レ ジ ス タ です。 小規模シ フ ト レ ジ ス タ が HDL コ ー ド で記述 さ れた場合、 自動的に こ の機能が推
論 さ れます。 こ のアプ リ ケーシ ョ ン ノ ー ト で説明する SRL16 の使用を積極的に取 り 入れ る こ と に よ り 、
その他のアプ リ ケーシ ョ ンにおいて も 優れた効果が得 ら れます。
18
www.xilinx.co.jp
R
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
04/10/03
1.0
改訂内容
初版 リ リ ース
www.xilinx.co.jp
19
Fly UP