7
シ リ ーズ
FPGA
マ イ グ レーシ ョ ン
メ ソ ド ロ ジ
ガ イ ド
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.
CRITICAL APPLICATIONS DISCLAIMER
XILINX PRODUCTS (INCLUDING HARDWARE, SOFTWARE AND/OR IP CORES) ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE IN ANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS IN LIFE-SUPPORT OR SAFETY DEVICES OR SYSTEMS, CLASS III MEDICAL DEVICES, NUCLEAR FACILITIES, APPLICATIONS RELATED TO THE DEPLOYMENT OF AIRBAGS, OR ANY OTHER APPLICATIONS THAT COULD LEAD TO DEATH, PERSONAL INJURY OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE (INDIVIDUALLY AND COLLECTIVELY, “CRITICAL APPLICATIONS”). FURTHERMORE, XILINX PRODUCTS ARE NOT DESIGNED OR INTENDED FOR USE IN ANY APPLICATIONS THAT AFFECT CONTROL OF A VEHICLE OR AIRCRAFT, UNLESS THERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OF SOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND A WARNING SIGNAL UPON FAILURE TO THE OPERATOR. CUSTOMER AGREES, PRIOR TO USING OR DISTRIBUTING ANY SYSTEMS THAT INCORPORATE XILINX PRODUCTS, TO THOROUGHLY TEST THE SAME FOR SAFETY PURPOSES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USE OF XILINX PRODUCTS IN CRITICAL APPLICATIONS.
AUTOMOTIVE APPLICATIONS DISCLAIMER
XILINX PRODUCTS ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE IN ANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS APPLICATIONS RELATED TO: (I) THE DEPLOYMENT OF AIRBAGS, (II) CONTROL OF A VEHICLE, UNLESS THERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OF SOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND A WARNING SIGNAL UPON FAILURE TO THE OPERATOR, OR (III) USES THAT COULD LEAD TO DEATH OR PERSONAL INJURY. CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USE OF XILINX PRODUCTS IN SUCH APPLICATIONS.
© Copyright 2011 Xilinx, Inc. XILINX, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. PCI, PCI Express, PCIe, and PCI-X are trademarks of PCI-SIG. All other trademarks are the property of their respective owners.
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。
日付 バージ ョ ン 改訂内容
改訂履歴. . . 3
このユーザー
ガ イ ド について
内容 . . . 7 その他の リ ソ ース . . . 7第
1
章
: 7
シ リ ーズ
デバイ スの タ ーゲ ッ ト
/
リ タ ーゲ ッ ト に関する注意事項
HDL コ ーデ ィ ン グ時の注意事項 . . . 9 制御信号の使用法. . . .9 レ ジ ス タ ま たは ラ ッ チでセ ッ ト お よ び リ セ ッ ト の両方を使用 し ない こ と. . . .9 レ ジ ス タ の初期化 . . . .11 ア ク テ ィ ブ Low の制御信号の使用を控え る こ と. . . .11 フ ァ ン ア ウ ト の少ない制御信号の使用を控え る こ と . . . .12 セ ッ ト ま たは リ セ ッ ト を多用 し ない こ と . . . .12 DSP48E1 ス ラ イ スレ ジ ス タ の乗算器ま たは加減算器のセ ッ ト . . . .12 同期セ ッ ト/リ セ ッ ト の使用法. . . .12 ク ロ ッ ク イ ネーブルの使用法. . . .13 DSP その他の演算中心の コ ー ド の使用法. . . 13 RAM に関す る 注意事項 . . . 14 RAM の イ ン ス タ ン シエーシ ョ ン . . . .14 ワ ー ド 数が 128 ビ ッ ト 未満の場合 . . . .14 ワ ー ド 数が 128 ビ ッ ト を超え る 場合 . . . .15 その他の RAM 機能の検討 . . . .15 合成お よ び物理的制約の使用法 . . . 16 タ イ ミ ン グ制約の指定 . . . .16 ソ フ ト ウ ェ アオプシ ョ ン . . . 16 ルー ト スルー と し ての LUT 利用 . . . 17第
2
章
: Virtex-6 FPGA
から の リ タ ーゲ ッ ト に関する注意事項
7シ リ ーズデバ イ ス の選定. . . 19 既存の ソ フ ト IP、EDIF、 ま たは NGC ネ ッ ト リ ス ト の使用法. . . 20 ク ロ ッ キ ン グに関す る 注意事項 . . . 20 グ ロ ーバルバ ッ フ ァ ーに よ る ク ロ ッ ク 以外の負荷の駆動. . . 21 その他のプ リ ミ テ ィ ブの リ タ ーゲ ッ ト に関す る 注意事項 . . . 21 BSCAN_VIRTEX6 . . . .22 BUFIODQS . . . .22 BUFR . . . .22 CAPTURE_VIRTEX6 . . . .22 FIFO18E1/FIFO36E1. . . .22 FRAME_ECC_VIRTEX6 . . . .23GTHE1_QUAD、GTXE1、IBUFDS_GTHE1、IBUFDS_GTXE1 . . . .23
ICAP_VIRTEX6 . . . .23
IODELAYE1 . . . .23
ISERDESE1 . . . .24
JTAG_SIM_VIRTEX6、SIM_CONFIG_V6、SIM_CONFIG_V6_SERIAL . . . .24
MMCM_BASE お よ び MMCM_ADV . . . .24 OSERDESE1 . . . .24 PCIE_2_0 . . . .24 STARTUP_VIRTEX6 . . . .25 SYSMON . . . .25
目次
TEMAC_SINGLE . . . .25 USR_ACCESS_VIRTEX6 . . . .25 Unimacro の使用法 . . . 25 I/O に関す る 注意事項 . . . 26 入力ホール ド タ イ ム . . . .26 バン ク タ イ プ. . . .26
こ のユーザー
ガ イ ド について
ザ イ リ ン ク ス 7シ リ ーズ FPGA には、 最適な電力、 性能、 コ ス ト が得 ら れ る よ う に共通デザ イ ンが 拡張で き 、 最 も 低い消費電力を実現す る 3 つの統一 さ れた FPGA フ ァ ミ リ があ り ます。Artix™-7 は、 最大規模の量産アプ リ ケーシ ョ ン向けに、 最 も 低い コ ス ト お よ び絶対電力に最適化 さ れた フ ァ ミ リ です。Virtex®-7 フ ァ ミ リ は、 最高のシ ス テ ム性能 と 容量が得 ら れ る よ う に最適化 さ れてい ま す。Kintex™-7 フ ァ ミ リ は、 コ ス ト パフ ォーマ ン ス に最 も 優れた新 し い ク ラ ス の FPGA です。 こ のガ イ ド では、Virtex-6 デバ イ ス を使用 し たデザ イ ン を 7シ リ ーズ FPGA に移行する方法を解説 し ます。Virtex-6 デバ イ ス と 7シ リ ーズデバ イ ス には多 く の類似点があ り ます。7シ リ ーズ FPGA デザ イ ンへの タ ーゲ ッ ト ま たは リ タ ーゲ ッ ト には、 たいていの場合、 大がか り な計画や既存デザ イ ンの変更は必要あ り ません。 ただ し、7シ リ ーズアーキ テ ク チ ャ の基盤 と な る 革新技術を最大限に 活かすには、 こ れ ら のデバ イ ス間の変更点や差異について配慮す る 必要があ り ます。 こ のガ イ ド で 概説する ガ イ ド ラ イ ンに従っ て イ ンプ リ メ ン テーシ ョ ン を進め る こ と で、 集積度 (コ ス ト)、 性能、 消 費電力を改善で き ます。内容
こ のユーザーガ イ ド は、 次の各章で構成 さ れてい ます。 • 第 1 章 「7シ リ ーズデバ イ ス の タ ーゲ ッ ト/リ タ ーゲ ッ ト に関す る 注意事項」 • 第 2 章 「Virtex-6 FPGA か ら の リ タ ーゲ ッ ト に関す る 注意事項」その他の リ ソ ース
ア ン サーデー タ ベー ス、 資料、 ダ ウ ン ロ ー ド 、 フ ォ ー ラ ム な ど のサポー ト リ ソ ー ス を利用す る に は、 次の ウ ェ ブサ イ ト にア ク セ ス し て く だ さ い。 http://japan.xilinx.com/support第
1
章
7
シ リ ーズ
デバイ スの タ ーゲ ッ ト
/
リ タ ーゲ ッ ト に関する注意事項
こ の章では、 特定のテ ク ノ ロ ジに依存 し ない、 以前の FPGA デザ イ ン イ ンプ リ メ ン テーシ ョ ンの移 行について解説 し ます。 従来の FPGA ま たは ASIC を タ ーゲ ッ ト と し た既存のデザ イ ン ソ ース を 評価す る 場合、ま たは 7シ リ ーズデバ イ ス で使用す る 新規 コ ー ド を開発す る 場合の参考 と し て く だ さ い。HDL
コ ーデ ィ ング時の注意事項
制御信号の使用法
制御信号 (ク ロ ッ ク 、 セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブルな どの同期エレ メ ン ト を制御する信号) の使用方法が、 デバ イ ス の集積度、 使用率、 性能に影響を及ぼす こ と があ り ます。 こ れは、 ほぼす べての FPGA テ ク ノ ロ ジに当ては ま る こ と ですが、7シ リ ーズデバ イ ス では制御信号の選択や使用 にあ た っ て、 その ト ポ ロ ジの差異を考慮す る 必要があ り ます。次に説明す る 事項に注意す る こ と は、 デバ イ ス使用率 と 性能の最適化に不可欠です。レ ジ ス タ またはラ ッ チでセ ッ ト および リ セ ッ ト の両方を使用 し ない こ と
Virtex®-6 お よ び Spartan®-6 のアーキ テ ク チ ャ と 同様に、7シ リ ーズデバ イ ス には REV ピ ンがあ り ません。 こ のため、 フ リ ッ プ フ ロ ッ プには ロ ジ ッ ク を追加 し ない限 り セ ッ ト 信号 と リ セ ッ ト 信号 の両方は イ ンプ リ メ ン ト で き ません。 し たがっ て、 同期セ ッ ト お よ び同期 リ セ ッ ト の両方を使用す る には、 デー タパス に信号を追加す る 必要があ り 、 配置、 フ ァ ン ア ウ ト 、 タ イ ミ ン グ次第でエ リ ア や タ イ ミ ン グに影響が及ぼす可能性があ り ます。 場合に よ っ ては、 ロ ジ ッ ク レベルを増加 さ せ る こ と な く 信号が追加で き 、 その よ う な ケー ス ではデザ イ ンへの実質的な影響はほ と ん ど あ り ません。 こ れに対 し て非同期のセ ッ ト お よ び リ セ ッ ト は、 リ ソ ース使用率や タ イ ミ ン グへの影響が よ り 顕著 であ る ため、 こ れ ら の併用は避け る 必要があ り ます。 非同期の リ セ ッ ト/セ ッ ト 信号お よ び動的な値を持つ非同期制御信号の両方、 ま たはいずれか一方を 備えた レ ジ ス タ の イ ンプ リ メ ン ト は可能です。 ただ し 、 結果 と し て得 ら れ る 回路は目標 よ り も 多 く の リ ソ ース を消費 し 、 タ イ ミ ン グお よ び検証に当初の予想 よ り も 大 き な影響を与え る 可能性があ り ます。 こ の コ ン フ ィ ギ ュ レ ーシ ョ ン は RTL で記述す る か、HDL、EDIF、 ま たは NGC フ ォ ーマ ッ ト で FDCPE を用いて イ ン ス タ ン シエー ト で き ます。 次の簡単な コ ー ド 例は、 非同期のセ ッ ト と リ セ ッ ト を記述 し た Verilog コ ー ド です。 こ の コ ー ド では リ ソ ースお よ び タ イ ミ ン グパス が増加 し ます。
always @(posedge reset, posedge set, posedge clk) if (reset)
a_reg <= 1'b0; else if (set)
第 1 章 : 7シ リ ーズデバイ スの タ ーゲ ッ ト/リ タ ーゲ ッ ト に関する注意事項 a_reg <= 1'b1; else a_reg <= A; 2 つ目の コ ー ド 例は、 動的な値を持つ非同期の制御信号を記述 し た VHDL コ ー ド です。 こ の コ ー ド では リ ソ ースお よ び タ イ ミ ン グパ ス が増加 し ます。
process (clk, initc) begin if initc='1' then
data_reg <= init_signal;
elsif (clk'event and clk='1') then data_reg <= data_in;
end if; end process;
ソ フ ト ウ ェ アが こ れ ら の コ ン フ ィ ギ ュ レーシ ョ ン を検出す る と 、 問題点を指摘す る 警告 メ ッ セージ が表示 さ れ、 該当す る レ ジ ス タ の一覧が示 さ れます。 合成に XST (Xilinx Synthesis Technology) を 使用 し た場合、 次の よ う な警告が表示 さ れます。
WARNING:Xst:3001 - This design contains one or more registers or latches with an active asynchronous set and asynchronous reset. While this circuit can be built, it creates a sub-optimal implementation in terms of area, power and performance. For a more optimal implementation Xilinx highly recommends one of these:
1) Remove either the set or reset from all registers and latches if not needed for required functionality
2) Modify the code in order to produce a synchronous set and/or reset (both is preferred)
3) Use the -async_to_sync option to transform the asynchronous set/reset to synchronous operation (timing simulation highly recommended when using this option)
Please refer to http://www.xilinx.com search string "Virtex7 asynchronous set/reset" for more details.
List of register instances with asynchronous set and reset: My_async_reg in unit <async_set_and_reset_module_or_entity>
サー ド パーテ ィ の合成ツールを使用 し た場合 も 、 同様の警告が表示 さ れ る 可能性があ り ます。 デザ イ ン にネ ッ ト リ ス ト ま たは イ ン ス タ ン シエー ト さ れた FDCPE コ ン ポーネ ン ト が含 ま れ る 場合は、 マ ッ プで次の よ う な メ ッ セージが表示 さ れ る こ と があ り ます。
WARNING: MapLib:1182 - One or more latches or registers which have both an active asynchronous set and reset have been found in the design. To get this same functionality in the virtex7 architecture a sub-optimal circuit must be created in terms of area, power and performance. Therefore it is highly suggested to either remove one set or reset or make the function synchronous in order to obtain a more optimal implementation in this architecture.
List of register instances with set and reset: My_async_reg
こ れ ら の警告が表示 さ れた場合は、 非同期のセ ッ ト お よ び リ セ ッ ト 条件の両方を記述す る 必要のな い コ ー ド に変更で き ないか検討す る こ と を推奨 し ます。
HDL コ ーデ ィ ン グ時の注意事項
レ ジ ス タ の初期化
多 く のエン ジニアは、 推論 さ れた レ ジ ス タ の初期化を明示的に指定す る こ と で、FPGA の レ ジ ス タ お よ び ラ ッ チがグ ロ ーバルセ ッ ト/リ セ ッ ト (GSR) 信号を介 し て初期化 さ れ る と い う 本来の形を使 用 し 、 こ れに よ っ て、 よ り 信頼性が高 く 小型の回路を実現で き ます。 初期化に よ っ て、 リ セ ッ ト ス テー ト か ら 別の ス テー ト での ス タ ー ト ア ッ プが可能 と な り 、 初期化 し ない場合に比べて ロ ジ ッ ク 消 費量が少な く な る 場合があ り ま す。 た と えば、 ス タ ー ト ア ッ プ時には動作 さ せ る 必要があ っ て も 、 後続の リ セ ッ ト には不要 と な り 得 る ス テー ト を含むス テー ト マシ ンがその例です。 初期化の も う 1 つの利点 と し て、 実際の FPGA の動作に よ り 近い正確な RTL を記述で き る ため、 回路表現の精度 が高ま り ます。 こ の よ う な点か ら 、 推論 さ れたすべての レ ジ ス タ 、SRL、RAM に対 し て可能な限 り レ ジ ス タ の初期化を使用す る こ と を推奨 し ます。 次の コ ー ド 例では、 レ ジ ス タ reg の値を 1 に初期化 し てい ます。 signal reg: std_logic := '1';...
process (clk) begin
if (clk'event and clk='1') then if (rst='1') then reg <= '0'; else reg <= val; end if; end if; end process; コ ー ド 例では、 初期化に よ っ て、 ロ ジ ッ ク 1 の初期状態を作成す る ためだけのセ ッ ト 条件の指定が 不要にな っ てい ま す。 初期状態が リ セ ッ ト 状態 と 同 じ 場合で も 、 レ ジ ス タ の初期化を推奨 し ま す。 こ れは初期化を使用す る こ と で、 リ セ ッ ト 状態を獲得 し な く と も シ ミ ュ レーシ ョ ンの ス タ ー ト ア ッ プ時の ス テー ト が FPGA の初期状態を よ り 正確に反映 し た も のにな る ためです。
ア ク テ ィ ブ
Low
の制御信号の使用を控え る こ と
推論ま たは イ ン ス タ ン シエー ト さ れた コ ン ポーネ ン ト でア ク テ ィ ブ Low 信号を使用す る こ と は、次 の よ う な理由か ら 推奨で き ません。 • 7シ リ ーズデバ イ ス では ス ラ イ ス の構成単位が粗い こ と (ス ラ イ ス あ た り 8 レ ジ ス タ) • 7シ リ ーズデバ イ ス では ス ラ イ ス制御信号にプ ロ グ ラ ム可能な反転エ レ メ ン ト がない こ と • 階層デザ イ ン手法では、 階層の境界を ま たいだ最適化 (KEEP_HIERARCHY、 パーテ ィ シ ョ ン、パーシ ャ ル リ コ ン フ ィ ギ ュ レーシ ョ ン、ボ ト ム ア ッ プ合成な ど の適用) を使用で き ない こ と ア ク テ ィ ブ Low の制御信号があ る ために LUT を 1 つの イ ンバー ター と し て使用 し た り 、 レ ジ ス タ パ ッ キ ン グの制約が増加 し た り する状況では、 デバ イ ス使用率が増加する場合があ り ます。 タ イ ミ ン グ も ア ク テ ィ ブ Low 信号の影響を受け る 可能性があ り ます。HDL コ ー ド ま たは イ ン ス タ ン シエー ト さ れた コ ン ポーネ ン ト では、 可能な限 り ア ク テ ィ ブ High の制御信号を使用 し て く だ さ い。 制御信号が外部のプ ロ グ ラ ム不可の ソ ース に よ っ て駆動 さ れてい る な ど、 極性をデザ イ ン内で 制御で き ない と き は、 コ ー ド の最上位階層の信号を反転 さ せ、 極性 (機能) が同 じ にな る よ う イ ン バー タ ーが駆動す る ア ク テ ィ ブ High の制御信号を記述 し て く だ さ い。 こ の よ う な方法で記述す る こ と で イ ンバー タ ーを I/O ロ ジ ッ ク 内に吸収で き 、追加 ロ ジ ッ ク ま たは配線が不要 と な り 、使用率、 性能、 消費電力が改善 さ れます。第 1 章 : 7シ リ ーズデバイ スの タ ーゲ ッ ト/リ タ ーゲ ッ ト に関する注意事項
フ ァ ン アウ ト の少ない制御信号の使用を控え る こ と
デザ イ ンで固有の制御信号は、 デザ イ ンの機能お よ び動作に必要な も のに限っ て使用す る よ う に し ます。 フ ァ ン ア ウ ト が小 さ い固有の制御信号は、 レ ジ ス タ 、SRL、LUT RAM な ど で ス ラ イ ス の使 用効率を低下 さ せ る 場合があ り ます。 ま た、 配置や タ イ ミ ン グに も 悪影響を及ぼす可能性があ り ま す。 通常、 セ ッ ト 、 リ セ ッ ト 、 ク ロ ッ ク イ ネーブル信号は、 デザ イ ンの機能性か ら 積極的に必要 と さ れ る 場合以外、 コ ー ド で イ ンプ リ メ ン ト し ない よ う に し て く だ さ い。セ ッ ト または リ セ ッ ト を多用 し ない こ と
コ ー ド 不必要なセ ッ ト お よ び リ セ ッ ト があ る と 、SRL、RAM (LUT RAM ま たはブ ロ ッ ク RAM)、 その他の ロ ジ ッ ク 構造の推論を妨げ る 恐れがあ り ます。 アーキ テ ク チ ャ か ら 最大限の効率を引 き 出 すには、 デザ イ ンの機能性か ら 積極的に必要 と さ れ る 場合にのみ、 セ ッ ト お よ び リ セ ッ ト を コ ー ド で記述 し ます。 不必要なセ ッ ト お よ び リ セ ッ ト は コ ー ド 化 し ないで く だ さ い。 た と えば、 レ ジ ス タ は コ ン フ ィ ギ ュ レーシ ョ ンの完了時に自動的に初期化 さ れ る ため、 初期化にのみ使用 さ れ る リ セ ッ ト は不要です。 リ セ ッ ト が不要な も う 1 つの例は、 長期間にわた っ て ア イ ド ル状態 と な る 回路です。 こ の よ う な回 路では入力レ ジ ス タ を リ セ ッ ト すれば、 その他の回路のデー タ はいずれフ ラ ッ シ ュ さ れます。 最後の例は、 複数 ク ロ ッ ク サ イ ク ル間 リ セ ッ ト が保持 さ れ る 場合の、 内部に位置す る レ ジ ス タ の リ セ ッ ト です。こ の よ う な レ ジ ス タ は リ セ ッ ト 中に フ ラ ッ シ ュ さ れ る ため、すべての レ ジ ス タ に リ セ ッ ト を付け る 必要はあ り ません。 不要なセ ッ ト ま たは リ セ ッ ト を使用 し ない こ と で、 デバ イ ス の使用 率、 配置、 性能、 消費電力を改善で き ます。
DSP48E1
ス ラ イ ス
レ ジ ス タ の乗算器または加減算器のセ ッ ト
7シ リ ーズの DSP48E1 ス ラ イ ス に含ま れ る レ ジ ス タ には リ セ ッ ト 信号だけがあ り 、 セ ッ ト 信号は あ り ません。7シ リ ーズの DSP ブ ロ ッ ク は、 乗算、 加減算、 コ ンパレー タ ー、 カ ウ ン タ ー、 汎用 ロ ジ ッ ク な ど幅広い機能を実行で き ます。 こ の よ う な追加 リ ソ ース をデザ イ ン で柔軟に活用で き る よ う にす る ため、 機能は適切にマ ッ ピ ン グ さ れ る 必要あ り 、 その機能にセ ッ ト 条件を付け る こ と はで き ません。 し たが っ て、 乗算器、 加算器、 カ ウ ン タ ーな ど DSP48E1 ス ラ イ ス に イ ンプ リ メ ン ト 可 能な ロ ジ ッ ク 周辺では、必要な場合を除いてセ ッ ト 信号 (値が ロ ジ ッ ク 1 にな る 信号) を コ ー ド 化 し ないで く だ さ い。同期セ ッ ト
/
リ セ ッ ト の使用法
回路の適切な動作にセ ッ ト ま たは リ セ ッ ト が必要な場合は、 必ず同期 リ セ ッ ト を コ ー ド 化 し て く だ さ い。 同期セ ッ ト/リ セ ッ ト は タ イ ミ ン グ特性お よ び安定性に優れ、FPGA 内の ロ ジ ッ ク 規模を縮小 し て使用率を改善 し ます。 同期セ ッ ト/リ セ ッ ト は、 数 LUT 分の ロ ジ ッ ク 削減、 パ ッ キ ン グ時の制約の軽減、 そ し て多 く の場 合に回路の高速化を も た ら し ま す。DSP48E1 や RAMB36E1/RAMB18E1 な ど のブ ロ ッ ク 内にあ る レ ジ ス タ には、 非同期セ ッ ト/リ セ ッ ト は イ ン プ リ メ ン ト で き ません。 し たが っ て、RTL コ ー ド 内に非同期のセ ッ ト ま たは リ セ ッ ト があ る 場合、 こ れ ら の レ ジ ス タ は等価機能の も の と し ては使用 で き ません。 同期 リ セ ッ ト を使用すれば、 ス ラ イ ス内の レ ジ ス タ 共有に対す る 柔軟性が大幅に向上 し ます。 各ス ラ イ ス の リ セ ッ ト が共有 さ れ、 互換性のない同期 リ セ ッ ト を持つレ ジ ス タ をデー タ パ ス にマ ッ ピ ン グ し 直す こ と がで き る ため、 それ ら を同一ス ラ イ ス内に配置す る こ と も 可能にな り ま す。 こ れに対 し て非同期の リ セ ッ ト では再マ ッ ピ ン グ で き ず、 同 じ 機能を保つ こ と はで き ま せん。 し たがっ て、 異な る 非同期 リ セ ッ ト を持つ 2 つの レ ジ ス タ 、 あ る いは非同期 リ セ ッ ト を持つレ ジ スDSP その他の演算中心の コ ー ド の使用法 既 存 の 非 同 期 リ セ ッ ト を 同 期 リ セ ッ ト に す る コ ー ド 修 正 を 望 ま な い 場 合、 合 成 ツ ー ル に [Asynchronous To Synchronous] ス イ ッ チがあれば、 こ れを使用 し て非同期 リ セ ッ ト を同期 リ セ ッ ト と し て扱 う こ と がで き ます。 ただ し 、 こ の ス イ ッ チを使用 し た場合、RTL ハー ド ウ ェ ア記述 と イ ンプ リ メ ン ト さ れたデザ イ ンが、 必ず し も すべての リ セ ッ ト 条件で同 じ よ う に動作 し ない可能性が 生 じ ます。 こ のため、 回路検証は十分慎重に行っ て く だ さ い。
合成ツール と し て XST を使用す る 場合、[Asynchronous To Synchronous] ス イ ッ チは ISE® ソ フ ト ウ ェ ア Project Navigator のプ ロ パテ ィ か ら 選択で き ます。 コ マ ン ド ラ イ ンか ら 実行す る 場合は、 合 成のオプシ ョ ン と し て-async_to_syncス イ ッ チを使用 し ます。 こ のオプシ ョ ンは同期セ ッ ト/リ セ ッ ト を使用す る よ う コ ー ド を変更す る ほ ど は リ ソ ー ス 削減や性能向上点で効果的ではあ り ま せ ん。 ただ し 、 オプシ ョ ン を適用 し ない と き と 比較す る と レ ジ ス タ の さ ら な る パ ッ キ ン グや最適化が 可能であ り 、 回路が小型化お よ び場合に よ っ ては高速化 さ れます。
ク ロ ッ ク
イ ネーブルの使用法
フ ァ ン ア ウ ト の大 き い ク ロ ッ ク イ ネーブルは手動で分割ま たは複製せずに、単一の ク ロ ッ ク イ ネー ブル と し て コ ー ド 化 し ます。 タ イ ミ ン グ な ど の理由で複製が必要にな っ た場合は、 合成ツールで処 理 し て く だ さ い。 こ れに よ っ て、 複製を多数回実行す る 場合で も 柔軟に処理 さ れ、 リ ソ ースや消費 電力の増大 と 性能向上間で よ り 適切な ト レー ド オ フ バ ラ ン ス が得 ら れます。配置やその他の要因が 変化す る こ と で、 複製に対す る 要件が変化す る こ と があ り ます。 こ の場合、 合成お よ び イ ンプ リ メ ン テーシ ョ ン ツールで こ れを管理 し ていれば、 元の コ ー ド を修正 し 、 変更箇所を再検証す る 必要が あ り ません。 フ ァ ン ア ウ ト の大 き い ク ロ ッ ク イ ネーブルを単一のネ ッ ト に抑え る こ と の も う 1 つの メ リ ッ ト は、 BUFGCE ま たは BUFHCE な ど のその他の専用 リ ソ ースへの再マ ッ ピ ン グが容易にな る こ と です。 こ れ よ り 、 同 じ 機能を実現 し なが ら 、 消費電力 と 配線 リ ソ ース消費両方の大幅な削減が可能にな り ます。DSP
その他の演算中心の コ ー ド の使用法
7シ リ ーズは多 く の DSP デザ イ ン に非常に適 し た アーキ テ ク チ ャ を提供 し ま す。 こ のアーキ テ ク チ ャ を活用す る には、 その基盤 と な る 機能や性能を理解 し 、 こ れ ら の リ ソ ース の メ リ ッ ト を最大限 引 き 出すデザ イ ン入力 コ ー ド を作成す る 必要があ り ます。 DSP48E1 ブ ロ ッ ク は符号付 き の演算 イ ンプ リ メ ン テーシ ョ ン を使用 し ます。HDL ソ ース では、 リ ソ ース の性能 と 最適に整合 し 、 通常は最 も 効率的なマ ッ ピ ン グ を実現す る ために符合付 き の値を使 用 し て コ ー ド 化す る こ と を推奨 し ます。 合成ツールでは、 コ ー ド 内で符号な し のバ ス値を使用 し て い る リ ソ ース も 使用で き ますが、 符号な し か ら 符号付 き の値への変換に よ っ て、 コ ン ポーネ ン ト の ビ ッ ト 精度が完全には保たれない可能性があ り ます。7シ リ ーズ DSP48E1 ス ラ イ ス の乗算器は、 符 号付 き デー タ の入力ビ ッ ト 精度が 18ビ ッ ト × 25ビ ッ ト です。 し たがっ て、 符号な し デー タ の精度 は 17ビ ッ ト × 24ビ ッ ト にな り ます。Verilog コー ド では、 コー ド 内で宣言 し ない限 り 、 デー タ はす べて符号な し の値 と みな さ れます。 タ ーゲ ッ ト デザ イ ンに加算器が多数含まれ る と 予想 さ れ る 場合は、DSP48E1 ス ラ イ ス の前置加算 器お よ び後置加算器の使用数 を増やす こ と がで き ないか を検討す る こ と を推奨 し ま す。 た と えば FIR フ ィ ル タ ーの場合、 複数の連続 し た加算フ ァ ン ク シ ョ ン (加算器ツ リ ー) ではな く 、 加算器の カ ス ケー ド 接続に よ っ てシ ス ト リ ッ ク フ ィ ル タ ーを構築で き ます。 対称フ ィ ル タ ーの場合は、 専用 の前置加算器を使用す る こ と で、 機能を よ り 少数の LUT やフ リ ッ プ フ ロ ッ プ、 さ ら には よ り 少数 の DSP ス ラ イ ス に統合で き ます (ほ と ん ど の場合 リ ソ ース が半減 し ます)。 加算器ツ リ ーが必要な場合は、6 入力の LUT アーキテ ク チャ を活用すれば、単純な 2 入力加算 と 同 じ リ ソ ース量で 3 入力加算 (A + B + C = D) を効率的に構築で き ます。 こ の よ う な構成を取 る こ と に よ り 、 必要に応 じ て キ ャ リ ー ロ ジ ッ ク リ ソ ー ス を削減、 節約で き ます。 多 く の場合、 こ れ ら の手法第 1 章 : 7シ リ ーズデバイ スの タ ーゲ ッ ト/リ タ ーゲ ッ ト に関する注意事項 は必要あ り ません。 し か し 、 こ の よ う な機能を知っ ておけば、 あ ら か じ め適切な ト レー ド オ フ を念 頭に置いて RTL コ ー ド を作成で き 、デザ イ ン着手時か ら よ り 円滑で効率的な イ ンプ リ メ ン テーシ ョ ンが可能にな り ます。 ほ と ん ど の場合、DSP リ ソ ース は推論に よ る 実装が適 し てい ます。 合成に XST を使用す る 場合は、 『XST ユーザーガ イ ド 』 (UG627) の 「XST ハー ド ウ ェ ア記述言語 (HDL) コ ーデ ィ ン グ手法」 の章 を参照す る こ と を推奨 し ま す。 ま た、DSP48E1 ス ラ イ ス の機能 と 性能、 お よ び こ の リ ソ ー ス を活 用 し てデザ イ ン要件を効果的に満たす方法については 『7 シ リ ーズ FPGA DSP48E1 ス ラ イ スユー ザーガ イ ド 』 (UG479) を参考に し て く だ さ い。
RAM
に関する注意事項
推論、 プ リ ミ テ ィ ブの イ ン ス タ ン シ エーシ ョ ン、Unimacro、CORE Generator™ ソ フ ト ウ ェ ア に よ っ てブ ロ ッ ク RAM お よ び LUT RAM を リ タ ーゲ ッ ト す る 場合、7シ リ ーズアーキ テ ク チ ャ の ブ ロ ッ ク RAM と LUT を 最 大 限 に 使 用 す る た め に、 い く つ か 注 意 す べ き 点 が あ り ま す。
CORE Generator ソ フ ト ウ ェ アで RAM を生成す る 場合は、 合成時に適切に推論 さ れ る よ う に7シ リ ーズデバ イ ス向けに IP を再生成す る か、RAM の コ ー ド を再作成す る 必要があ り ます。 いずれの方法で も 、使用率お よ び性能に良い結果を も た ら し ます。 し か し 、 コ ー ド お よ びシ ミ ュ レー シ ョ ンが よ り 理解 し やすい も のにな り 、 今後の コ ー ド 移植 も 容易にな る ため、 メ モ リ は可能な限 り 推論す る こ と を推奨 し ます。
RAM
のイ ン ス タ ン シ エーシ ョ ン
こ のセ ク シ ョ ンでは、 デザ イ ンで RAM プ リ ミ テ ィ ブを イ ン ス タ ン シエー ト す る 場合、 ま たは 7シ リ ーズデバ イ ス向けに CORE Generator ソ フ ト ウ ェ ア IP を再生成で き ない場合の推奨事項を示 し ます。 こ れ ら は RAM を推論す る コ ー ド 、 特に使用す る RAM リ ソ ース を合成時の属性で指定す る コ ー ド に対 し て も 適用 し て く だ さ い。 推奨事項は、 使用す る RAM リ ソ ース を判断す る う えで最 も 重要な要因であ る ワー ド 数別に示 し ます。ワー ド 数が
128
ビ ッ ト 未満の場合
7シ リ ーズ FPGA では LUT が大 き く 、LUT RAM の ワ ー ド 数 も 多いため、 ブ ロ ッ ク RAM と LUT RAM のいずれを選択す る かの基準は前世代の FPGA と は異な る 場合があ り ます。 一般的に、 タ ー ゲ ッ ト デバ イ ス の ロ ジ ッ ク リ ソ ー ス (LUT) お よ び SLICEM (ま たは、 そのいずれか) が不足 し て いない限 り 、64 ビ ッ ト 以下の メ モ リ には、 すべて LUT RAM を使用 し て く だ さ い。 64 ビ ッ ト 以下の メ モ リ では、 デー タ 幅に関係な く LUT RAM を使用 し た方が、 リ ソ ー ス、 性能、 消費電力の面で効率が向上 し ます。64 ビ ッ ト か ら 128 ビ ッ ト の メ モ リ の場合、 最適な リ ソ ー ス の 判断は次の要因に依存 し ます。
1. 追加ブ ロ ッ ク RAM の使用可否。ブ ロ ッ ク RAM が使用で き ない場合は LUT RAM を使用し ます。
2. レ イ テ ン シの要件。非同期読み出 し 機能が必要な場合、LUT RAM を使用す る 必要があ り ます。
3. デー タ 幅。 デー タ 幅が 16 ビ ッ ト を超え る 場合、 可能であればブ ロ ッ ク RAM を使用 し ます。
4. 必要な性能要件。通常、 レ ジ ス タ 付 き の LUT RAM の方がブ ロ ッ ク RAM よ り も ク ロ ッ ク か ら の出力遅延が短 く 、配置に関す る 制約 も 少な く な り ます。デザ イ ンに 16 ビ ッ ト を超え る ワー ド 数の LUT RAM が既に イ ン ス タ ン シエー ト さ れてい る 場合は、よ り ワー ド 数の多いプ リ ミ テ ィ ブ (た と えば、RAM32X1S ま たは RAM64X1S) を使用 し ます。
RAM に関する注意事項
ワー ド 数が
128
ビ ッ ト を超え る場合
ワー ド 数が 128 ビ ッ ト よ り 多い RAM は、 ほ と ん ど の場合ブ ロ ッ ク RAM を タ ーゲ ッ ト に し ます。
7シ リ ーズデバ イ ス には 18Kb RAM (RAMB18E1) お よ び 36Kb RAM (RAMB36E1) の 2 種類の ブ ロ ッ ク RAM があ り ます。 ど ち ら を使用す る かは、通常必要な幅 と ワー ド 数に よ っ て決ま り ます。
表 1-1に、TDP (True Dual-Port) お よ び SDP (Simple Dual-Port) コ ン フ ィ ギ ュ レーシ ョ ンにおけ る
RAMB18 お よ び RAMB36 の幅/ワ ー ド 数の組み合わせを示 し ます。
その他の
RAM
機能の検討
新たにデザ イ ンプ ロ ジ ェ ク ト を開始す る 際に、専用 RAM 機能を使用すべ き か ど う か判断す る こ と も 優れた結果を得 る 設計方法です。 その場合は、 次の項目を検討 し て く だ さ い。
• FIFO : 7シ リ ーズデバ イ ス のブ ロ ッ ク RAM には、FWFT (First Word Fall-Through) 機能や、 し き い値をプ ロ グ ラ ム可能な ALMOST EMPTY お よ び ALMOST FULL フ ラ グの付いた同期
(同一 ク ロ ッ ク) ま たはデ ュ アル ク ロ ッ ク FIFO バ ッ フ ァ ーを イ ン プ リ メ ン ト す る 専用 ロ ジ ッ ク があ り ます。 デザ イ ンで FIFO を ソ フ ト ロ ジ ッ ク か ら 作成 し てい る 場合は、 専用 ロ ジ ッ ク を 使用す る こ と で、 デバ イ ス の使用率、 消費電力、 性能、 さ ら に こ れ ら の コ ン ポーネ ン ト の全体 的な設計の し やす さ が改善で き ないか を検討 し て く だ さ い。 • ECC ロ ジ ッ ク : 7シ リ ーズのブ ロ ッ ク RAM には、 内容のエ ラ ー検出お よ び訂正専用の ロ ジ ッ ク があ り ます。 デー タ のエ ラ ー訂正機能が必要なデザ イ ンへの適用を検討 し て く だ さ い。 • 出力レ ジ ス タ : 出力レ ジ ス タ を使用す る と ブ ロ ッ ク RAM の性能 (ク ロ ッ ク か ら 出力の遅延) が著 し く 向上す る と 同時に、 消費電力お よ びデバ イ ス の使用率 も 改善 さ れます。 以前のアーキ テ ク チ ャ か ら 7シ リ ーズアーキ テ ク チ ャ にデザ イ ン移行す る 場合、デザ イ ンに出力レ ジ ス タ を 含め る こ と が可能か と い う 点か ら コ ー ド を再検討 し て く だ さ い。 • バ イ ト ラ イ ト イ ネーブル : 7シ リ ーズデバ イ ス には、 バ イ ト ラ イ ト イ ネーブルがあ り ます。 こ の機能はブ ロ ッ ク RAM のア ク セ スお よ びデバ イ ス の使用率を向上 さ せます。 こ れを使用す る こ と で、 ブ ロ ッ ク RAM お よ びその他の リ ソ ース を よ り 高い効率で利用で き る よ う にな る 場 合があ り ます。
表 1-1 : メ モ リ の幅、 ワー ド 数、 タ イ プ (True-Dual Port または Simple-Dual Port) に応 じ た ブ ロ ッ ク RAM プ リ ミ テ ィ ブの選択基準
ワー ド 数
メ モ リ 幅 (ビ ッ ト)
RAMB18 TDP RAMB18 SDP RAMB36 TDP RAMB36 SDP 512 18ビ ッ ト 以下 36ビ ッ ト 以下 19~ 36ビ ッ ト 37~ 72ビ ッ ト 1K 18ビ ッ ト 以下 18ビ ッ ト 以下 19~ 36ビ ッ ト 19~ 36ビ ッ ト 2K 9 ビ ッ ト 以下 9ビ ッ ト 以下 10~ 18ビ ッ ト 10~ 18ビ ッ ト 4K 4 ビ ッ ト 以下 4ビ ッ ト 以下 5~ 9ビ ッ ト 5~ 9ビ ッ ト 8K 2 ビ ッ ト 以下 2ビ ッ ト 以下 3~ 4ビ ッ ト 3~ 4ビ ッ ト 16K 1ビ ッ ト 1ビ ッ ト 2 ビ ッ ト 2ビ ッ ト 32K N/A N/A 1 ビ ッ ト 1ビ ッ ト 64K N/A N/A 1ビ ッ ト(1) 1ビ ッ ト(1) メ モ : 1. カ ス ケー ドモー ド で構成 し た 2 つの RAMB36 コ ン ポーネ ン ト が必要です。
第 1 章 : 7シ リ ーズデバイ スの タ ーゲ ッ ト/リ タ ーゲ ッ ト に関する注意事項 • イ ネーブル/リ セ ッ ト の優先順位 : 7シ リ ーズ FPGA では イ ネーブル と リ セ ッ ト の優先順位が 変更で き る ため、 ス ラ イ スお よ び I/O レ ジ ス タ に比べて出力レ ジ ス タ 制御の一貫性が改善 さ れ ます。 詳細は、 『7シ リ ーズ FPGA メ モ リ リ ソ ース ユーザーガ イ ド 』 に記載 さ れてい ます。
合成および物理的制約の使用法
多 く の場合、 コ ー ド ま たは合成制約フ ァ イ ルには、 前の イ ンプ リ メ ン テーシ ョ ンやアーキ テ ク チ ャ で所望の結果が得 ら れ る よ う に組み込まれた合成の属性、 制約、 お よ び指示子が含まれます。 こ れ ら の要素は、 結果の質を低下 さ せた り 、 今後の イ ンプ リ メ ン テーシ ョ ンに と っ て最適な選択ではな い場合があ る ため、 コ メ ン ト ア ウ ト す る か削除す る こ と を推奨 し ます。既存デザ イ ンの コ ー ド 、 ネ ッ ト リ ス ト 、 ま たは UCF フ ァ イ ルに組み込まれた、LOC、RLOC、BEL
制約、 その他の物理的制約は、7シ リ ーズ FPGA への リ タ ーゲ ッ ト の前にすべて削除 し てお く 必要 があ り ます。 従来のアーキ テ ク チ ャ におけ る 最適配置が、 機能ブ ロ ッ ク 、 デバ イ ス の フ ロ アプ ラ ン、 お よ び タ イ ミ ン グが異な る 7シ リ ーズ FPGA で も 最適 と な る 可能性は低いためです。レ イ ア ウ ト や 座標の違いに よ っ てエ ラ ーが発生す る 場合 も あ り ます。 エ ラ ーが発生 し なか っ た と し て も 、 物理的 制約を新 し いアーキ テ ク チ ャ に合わせて変更、 削除、 ま たは更新 し ない限 り 、 タ イ ミ ン グ、 集積度、 お よ び消費電力が最適化 さ れません。
タ イ ミ ング制約の指定
合成の タ イ ミ ン グ制約は、 まず現実的な タ イ ミ ン グ目標に関連す る 部分か ら 指定 し ます。 合成 ソ フ ト ウ ェ アは、 性能目標を満た し て も タ イ ミ ン グに過剰な余裕があ る 領域では、 エ リ ア節約のアルゴ リ ズ ム を適用 し ます。 一方、 タ イ ミ ン グに余裕がない領域では タ イ ミ ン グ最適化のアルゴ リ ズ ム を 適用可能です。 タ イ ミ ン グ制約が指定 さ れていない と 、 合成ツールはデザ イ ンのあ ら ゆ る 部分で タ イ ミ ン グ を最適化す る こ と にな り 、 し ば し ばエ リ アが犠牲にな り ます。 さ ら に、 本来な ら ば さ ら に 最適化で き る パ ス を その ま ま に、 最適化が不要な領域で最適化 (ロ ジ ッ ク レベル削減) を実行す る こ と があ り ます。 タ イ ミ ン グ制約を適用す る こ と で、 ツールはデザ イ ン上で制約が必要な領域の タ イ ミ ン グ を集中的に最適化 し 、 それ以外の不要な場所では タ イ ミ ン グ を緩和 し ます。 目的 と す る I/O お よ び ク ロ ッ ク タ イ ミ ン グだけでな く 、 マルチサ イ ク ルパ ス、 疑似パ ス、 タ イ ミ ン グ無視 (TIG) な ど の タ イ ミ ン グ例外 も 反映 し た タ イ ミ ン グ制約を適用す る 必要があ り ます。 現実 的で完全な タ イ ミ ン グ制約を適用す る と 、 多 く の場合、 結果が改善 さ れ る だけでな く 、 タ イ ミ ン グ ク ロ ージ ャ お よ びデバ ッ グに要す る 時間、 さ ら には ラ ン タ イ ム と メ モ リ 必要量 も 削減 さ れます。 た だ し 必要以上にデザ イ ンに制約を加え る と 、 ラ ン タ イ ムや メ モ リ 必要量が増 し 、 適切な制約を課 し たデザ イ ンほ ど よ い結果が得 ら れない場合があ る ため、 制約の過剰な適用は避けて く だ さ い。UCF フ ァ イ ルの作成に時間を費や し た と し て も 、タ イ ミ ン グ ク ロ ージ ャ プ ロ セ ス全体では、優れた UCF フ ァ イ ルに よ っ ては る かに多 く の時間を節約で き ます。ソ フ ト ウ ェ ア
オプ シ ョ ン
7シ リ ーズ FPGA の ソ フ ト ウ ェ ア アルゴ リ ズ ムは、デバ イ スエ リ ア (つま り コ ス ト)、消費電力、お よ び性能間で適切なバ ラ ン ス が得 ら れ る よ う に設計 さ れてい ます。ISE ソ フ ト ウ ェ アのオプシ ョ ン に よ り 、 性能 と 引 き 換えにデバ イ ス エ リ ア を縮小 し た り 、 デバ イ ス エ リ ア と 引 き 換えに性能を向 上 さ せた り で き ます。 消費電力を削減す る オプシ ョ ン も あ り ます。 オプシ ョ ンは多 く の場合、 性能、ルー ト スルー と し ての LUT 利用
フ ト ウ ェ アのオプシ ョ ンはデフ ォ ル ト で実行 し て く だ さ い。 そ し て、 その結果を分析 し た後に、 必 要な結果が得 ら れ る よ う に特定のオプシ ョ ン を適用 し て アルゴ リ ズ ム を調整 し ます。
ルー ト スルー と し ての
LUT
利用
7シ リ ーズ FPGA の LUT 使用率を解析す る 際には、 ルー ト ス ルー と し て使用 さ れてい る LUT に 注意す る 必要があ り ます。 マ ッ プ レ ポー ト に示 さ れ る LUT ルー ト スルーは、 ス ラ イ スへの入力パ ス がほかにない場合、 最 も 一般的にはバ イ パ ス 入力 (AX、BX、CX、DX) がすべて使用不可の場 合に、 内部の ス ラ イ ス ロ ジ ッ ク ま たは レ ジ ス タ にア ク セ ス す る 必要があ る と 作成 さ れ ま す。LUT ルー ト ス ルーは、LUT への入力を 1 つ使用 し て ス ラ イ ス にア ク セ ス し ます。 ルー ト ス ルーが必要 にな る 状況 と し て、 次の よ う な場合が考え ら れます。 1. フ リ ッ プ フ ロ ッ プ、RAM、 その他の LUT ではない ソ ース が フ リ ッ プ フ ロ ッ プ を駆動す る 場合 (ス ラ イ ス内に既に レ ジ ス タ が 4 つ存在す る な ど の理由でバ イ パス ラ イ ンが占有 さ れてい る) 2. フ リ ッ プ フ ロ ッ プ、RAM、 その他の LUT ではない ソ ース が ス ラ イ ス内の MUXF7/MUXF8 の
デー タ 入力を駆動す る 場合
3. フ リ ッ プ フ ロ ッ プ、RAM、 その他の LUT ではない ソ ース が CARRY4 のセ レ ク ト ラ イ ン ま た はデー タ ラ イ ン (MUXCY のセ レ ク ト ラ イ ン と XORCY の DI ま たは、そのいずれか一方) を 駆動す る 場合 7シ リ ーズデバ イ ス は、 性能 と エ リ アの両方に メ リ ッ ト を も た ら す、 ス ラ イ ス あ た り 8 つの レ ジ ス タ を備えてい ます。 高速で、 高度にパ イ プ ラ イ ン化 さ れた多 く のデザ イ ン では、 豊富な レ ジ ス タ に よ っ て ロ ジ ッ ク を追加せずに最高性能を実現で き ま す。 ま た、LUT の組み合わせを改善で き る た め、 性能を損なわずに 6 入力 LUT のデ ュ アル出力構造を活用で き ます。 ま た、 リ セ ッ ト の使用や シ フ ト レ ジ ス タ に多数の タ ッ プポ イ ン ト が必要であ る ために、 シ フ ト レ ジ ス タ LUT (SRL) を使用 で き ない場合は、 レ ジ ス タ に よ っ て、 よ り 効率的にシ フ ト レ ジ ス タ を イ ンプ リ メ ン ト で き ます。 レ ジ ス タ が 8 個あ る ため、 多 く の場合、LUT ではない ソ ース (ブ ロ ッ ク RAM、 ほかの フ リ ッ プ フ ロ ッ プ、DSP ス ラ イ ス な ど) に よ っ て駆動 さ れ る レ ジ ス タ が消費す る ス ラ イ ス 数が削減 さ れ ま す。 ザ イ リ ン ク ス の ソ フ ト ウ ェ ア ツールでは、 性能、 エ リ ア、 消費電力の面で最適な特性が実現 さ れ る よ う に、 ス ラ イ ス レ ジ ス タ の配置が調整 さ れます。 し か し 、1 つの ス ラ イ ス に 4 個を超え る レ ジ ス タ を配置す る 場合は し ば し ば LUT ルー ト ス ルーが必要 と な り 、 リ ソ ース使用率の レ ポー ト に表示 さ れます。 デザ イ ンに よ っ ては 7シ リ ーズデバ イ ス で LUT の使用数が増加 し てい る よ う に レ ポー ト さ れ る 場 合が あ り ま すが、 必要な ス ラ イ ス 数はルー ト ス ルーに よ り 減少 し ま す。 通常は ス ラ イ ス ではな く LUT の使用率が比較 さ れ る ため、 使用す る LUT 数が増加 し て見え る と 誤解を招 く 可能性があ り ま す。 残っ てい る ロ ジ ッ ク を考え る 際には、 ルー ト スルーは LUT の 1 入力 (通常、A6 入力ではな く 、 O5 出力にア ク セ スす る ための下位入力の 1 つ) お よ び 1 出力を必要 と し 、 残 り の 4 入力 1 出力は 任意の フ ァ ン ク シ ョ ンに使用で き る こ と を踏ま えて く だ さ い。 つま り 、 必要なルー ト スルーを使用 し た と し て も 、4 入力 LUT に相当す る ロ ジ ッ ク は未使用で残 り ます。 通常の状況では、 必要に応 じ て レ ジ ス タ を複数の ス ラ イ ス に分散 さ せ る こ と で、 ルー ト スルーを一 切使用 し ない構成 も 可能です。 こ う すれば ロ ジ ッ ク 用に 6 入力 LUT 全体を確保で き ますが、 レ ジ ス タ の分散に よ っ て消費す る ス ラ イ ス数が増加 し た り 、 性能へのペナルテ ィ が生 じ た り す る 可能性 があ り ます。 ルー ト スルーは 1 つの LUT をすべて使用す る かの よ う に報告 さ れますが実際にはそ の一部のみで、 配置が異なれば LUT を 1 つ も 使用 し ない場合 も あ り ます。 次に、 マ ッ プフ ァ イ ル (.mrp) 中の、 ルー ト スルーの使用状況 と その目的を示 し た レ ポー ト の抜粋を示 し ます。 Number used exclusively as route-thrus: 117
Number with same-slice register load: 106 Number with same-slice carry load: 11 Number with other load: 0
第 1 章 : 7シ リ ーズデバイ スの タ ーゲ ッ ト/リ タ ーゲ ッ ト に関する注意事項 レ ポー ト の こ のセ ク シ ョ ンは、 ルー ト スルーに必要 と さ れ る LUT 数 と 、 その理由を示 し てい ます。 こ れは情報提供のみを目的 と し てお り 、 デバ イ ス使用率を詳細に評価す る 際に必要に応 じ て使用で き ます。 図 1-1は、 ス ラ イ ス内の 8 個の レ ジ ス タ すべてにア ク セ スす る ためにルー ト スルーを使用 し てい る 例を FPGA Editor 上で示 し た も のです。
X-Ref Target - Figure 1-1
図 1-1 : ルー ト スルーを適用 し た FPGA Editor の画面 LUT1 b7 b6 UG429_c1_01_091710 LUT1 b5 b4 LUT1 b3 b2 LUT1 b1 b0
第
2
章
Virtex-6 FPGA
からの リ タ ーゲ ッ ト に
関する注意事項
こ の章では、7シ リ ーズデバ イ ス に移行す る 際の、Virtex®-6 FPGA デザ イ ン固有の注意点につい て解説 し ます。7
シ リ ーズ
デバイ スの選定
リ ソ ースお よ びデバ イ スサ イ ズの点では、7シ リ ーズのアーキ テ ク チ ャ は Virtex-6 フ ァ ミ リ と 類似 し てい ます。DSP、 ブ ロ ッ ク RAM、 ス ラ イ ス の構造はほ と ん ど変更 さ れていないため、 同 タ イ プ のデザ イ ン構造お よ び コ ー ド は、Virtex-7 デバ イ ス で も 同 タ イ プ と 量の リ ソ ース を タ ーゲ ッ ト と し ます。Virtex-6 FPGA と 同様に、デバ イ ス の型番にはそのア レ イ に含まれ る ロ ジ ッ ク セル数が 1000 を単位に表 さ れてい ま す。 た と えば Virtex-6 XC6VLX550T には約 550,000 の ロ ジ ッ ク セルが搭 載 さ れてい ます。7シ リ ーズデバ イ ス で も 同 じ マ ト リ ッ ク ス と 表記法を使用 し てお り 、 若干サ イ ズ が大 き く な っ たデバ イ ス Virtex-7 XC7V585T の ロ ジ ッ ク セル数は 585,000 と い う こ と にな り ま す。 こ の よ う な型番表記に よ り 、 フ ァ ミ リ 間での ロ ジ ッ ク 集積度の比較が容易に な っ て い ま す。 Virtex-7デ バ イ ス の ロ ジ ッ ク セ ル数 は 285,000 以上 で あ る た め、XC6VLX240 よ り も 小 さ い Virtex-6 デバ イ ス の リ タ ーゲ ッ ト には、Kintex™-7 フ ァ ミ リ の方が適 し てい る で し ょ う 。 デバ イ ス選定の基準は ロ ジ ッ ク 集積度のみではな く 、 その他の必要な リ ソ ース について も 評価す る 必要があ り ます。 まず 『7 シ リ ーズ FPGA の概要』 (DS180) に掲載 さ れた機能一覧表で、 関連す る あ ら ゆ る リ ソ ース を比較す る こ と を推奨 し ます。 次に、7シ リ ーズデバ イ ス の選定にあ た っ て検討 すべ き その他の留意点を示 し ます。• ブ ロ ッ ク RAM/DSP ― ブ ロ ッ ク RAM ま たは DSP を多 く 使用す る デザ イ ン用には、Virtex-6 SXT デバ イ ス に相当す る Virtex-7 拡張機能デバ イ ス (XC7VXT) が、特定のア レ イサ イ ズにお いて、 よ り 多 く のブ ロ ッ ク RAM と DSP を搭載 し てい ます。
• I/O ― 特定ア レ イ サ イ ズでの I/O 数、 バン ク サ イ ズ、 配置、 機能は Virtex-6 フ ァ ミ リ と は異 な り ます。 新規デザ イ ンの開始時に、 よ り 多 く の機能をデバ イ ス に盛 り 込む こ と がで き ないか を検討す る こ と は有益です。 こ れに よ っ て、 必要な I/O 数を抑え る だけでな く 、 シ ス テ ム全体 の性能、 コ ス ト 、 消費電力、 機能を向上で き ます。 • ス ピー ド グ レー ド ― Virtex-6 アーキ テ ク チ ャ を ターゲ ッ ト と し た と き と 同一ス ピー ド グ レー ド にす る こ と を推奨 し ます。 デザ イ ンの一部のブ ロ ッ ク ま たは領域で性能の向上が見 ら れ る 場 合で も 、 イ ンプ リ メ ン ト 後のデザ イ ンの正確な性能特性を解析で き る ま では、 シ ス テ ム全体の 性能はそれほど変わ ら ない こ と を前提 と し て く だ さ い。
第 2 章 : Virtex-6 FPGA か らの リ タ ーゲ ッ ト に関する注意事項
既存のソ フ ト
IP
、
EDIF
、 または
NGC
ネ ッ ト リ ス ト の使用法
デザ イ ンに含まれ る 以前の ソ フ ト IP ま たはブ ラ ッ クボ ッ ク ス ネ ッ ト リ ス ト は、7シ リ ーズデバ イ ス に イ ンプ リ メ ン ト す る 前に、 再生成ま たは再合成す る こ と を強 く 推奨 し ます。Virtex-6 アーキ テ ク チ ャ を タ ーゲ ッ ト に し たほ と ん ど のネ ッ ト リ ス ト は 7シ リ ーズデバ イ ス を タ ーゲ ッ ト に し た場 合 も エ ラ ーな し で イ ン プ リ メ ン ト で き ま す。 し か し 、7シ リ ーズデバ イ ス に最 も 効率 よ く リ タ ー ゲ ッ ト す る ために、 旧アーキテ ク チ ャ を タ ーゲ ッ ト に し たネ ッ ト リ ス ト ま たは コ アは、 すべて再生 成 し て く だ さ い。ク ロ ッ キングに関する注意事項
7シ リ ーズアーキ テ ク チ ャ は、Virtex-6 アーキ テ ク チ ャ と 同様の ク ロ ッ ク 構造を持ち ます。 いずれ のアーキ テ ク チ ャ に も 32 個のグ ロ ーバルバ ッ フ ァ ー (BUFG)、 リ ージ ョ ナルバ ッ フ ァ ー (BUFIOと BUFH)、 お よ び I/O バ ッ フ ァ ー (BUFIO) があ り ます。 ま た、 共に MMCM (Mixed-Mode Clock Manager)、 ク ロ ッ ク ゲー ト (BUFGCE と BUFHCE)、 ク ロ ッ ク マルチプ レ ク サー (BUFGCTRL)
も 備えてい ます。 多 く の場合、Virtex-6 デバ イ ス か ら 7シ リ ーズデバ イ スへの移行す る 際に ク ロ ッ キ ン グの ト ポ ロ ジ を変更す る 必要はあ り ません。 し か し 、 一部の差異に よ っ て変更が必要にな る 場 合 も あ り ます。 ま た、7シ リ ーズアーキ テ ク チ ャ に追加 さ れた新機能を評価 し 、 デザ イ ン全体の性 能を向上 さ せ る こ と がで き る か を検討す る 必要 も あ り ます。
ク ロ ッ ク 接続に BUFG を使用 し てい る Virtex-6 FPGA デザ イ ンの更新は必要あ り ません。7シ リ ー ズデバ イ ス は、Virtex-6 FPGA と 同様に 32 個のグ ロ ーバルバ ッ フ ァ ーコ ン ポーネ ン ト を持ち、類 似 し た コ ネ ク テ ィ ビ テ ィ を備えてい ます。 任意の ク ロ ッ ク 領域で BUFG を 12 個ま で し か使用で き ない制限 も 同 じ ですが、7シ リ ーズの ク ロ ッ ク 領域は Virtex-6 FPGA よ り も 大 き く な っ てい ます。 こ の点が問題にな る と は考え ら れませんが、7シ リ ーズデバ イ スへの リ タ ーゲ ッ ト の際に ク ロ ッ ク 領域内で配置変更が生 じ る 可能性は あ り ま す。BUFGCE を介 し て グ ロ ーバル ク ロ ッ キ ン グ の ク ロ ッ ク イ ネ ー ブ ル ま た は ク ロ ッ ク ゲ ー テ ィ ン グ 機能 を 使用す る 場合や BUFGCTRL ま た は BUFGMUX で ク ロ ッ ク を マルチプ レ ク ス す る 場合、 こ れ ら の機能お よ び使用法は両アーキ テ ク チ ャ 間で同様です。 水平 ク ロ ッ ク バ ッ フ ァ ー (BUFH ま たは BUFHCE) の使用方法 も 同 じ です。
BUFR を使用す る 場合、バ ッ フ ァ ー機能は 7シ リ ーズ と Virtex-6 FPGA で同様です。 BUFR の大 き な違いは、Virtex-6 FPGAの
BUFR
は隣接す る 領域 も 駆動で き 、7 シ リ ーズデバ イ ス の BUFR は それが属す る 領域 し か駆動で き ない点です。 し たがっ て、BUFR が複数の ク ロ ッ ク 領域を駆動 し て いた場合は、 その ク ロ ッ キ ン グ構造を再評価す る 必要があ り ます。 ただ し 、7シ リ ーズデバ イ ス の ク ロ ッ ク 領域は Virtex-6 FPGA よ り も 大 き いため、Virtex-6 デバ イ ス で 2 つの ク ロ ッ ク 領域を駆動 し ていた も のが 7シ リ ーズデバ イ ス では 1 つの ク ロ ッ ク 領域に収ま る 可能性があ り 、その場合デザ イ ンの変更は不要です。7シ リ ーズデバ イ ス を タ ーゲ ッ ト と し て も 複数の ク ロ ッ ク 領域を駆動す る 必要があ る と き は、 デザ イ ン を変更す る 必要があ り ます。 リ ージ ョ ナル ク ロ ッ ク に よ っ て複数の領 域を駆動で き ますが、7シ リ ーズデバ イ ス では、BUFMR が垂直方向に隣接す る 最大 3 つの ク ロ ック 領域に含まれ る BUFR を駆動で き ます。
BUFR と 同様に、BUFIO に よ っ て 1 つのバン ク を駆動す る 場合は、Virtex-6 デバ イ ス と その機能 は変わ り ません。7シ リ ーズデバ イ ス の BUFIO 接続は 1 つのバン ク に限 ら れます。 複数のバン ク を 駆動す る 場合は、BUFMR を 使用 し て隣接す る バ ン ク に あ る 複数の BUFIO を 駆動で き ま す。
BUFMR は BUFIO と BUFR の両方を駆動で き る ため、 高速の I/O ク ロ ッ ク や、 複数の隣接 ク ロ ッ ク 領域で位相の揃っ た低速の分周 ク ロ ッ ク が可能にな り ます
グローバルバ ッ フ ァ ーによ る ク ロ ッ ク以外の負荷の駆動
MMCM はその ま ま使用す る こ と はで き ません。 それ以外の MMCM は自動的に リ タ ーゲ ッ ト 可能 であ り 、Virtex-6 デバ イ ス と 同様の方法で使用で き ます。
7シ リ ーズデバ イ ス の新 し い ク ロ ッ キ ン グ機能 も 検討 し て く だ さ い。 た と えば、PLLE2 と 呼ばれ る 新 し い ク ロ ッ キ ン グ コ ンポーネン ト があ り ます。 こ の機能は、MMCM と 同様に 2 つの UNISIM コ ンポーネン ト 、PLLE2_BASE と PLLE2_ADV で表 さ れます。たいたていのケースは PLLE2_BASE
で対応で き ますが、 よ り 高度な状況では PLLE2_ADV を使用 し ます。PLLE2 よ り も 豊富な機能を 持つ MMCM が使用 さ れ る場合がほ と んどですが、 高速の I/O ク ロ ッ キ ン グには PLL の方が有利な こ と があ り ます。7シ リ ーズデバ イ ス の BUFHCE コ ン ポーネ ン ト は、 イ ネーブルを非同期にゲー テ ィ ン グで き ます。 こ の機能は、BUFH で ク ロ ッ ク 以外のフ ァ ン ア ウ ト の大き な信号を駆動 し た り 、 ク ロ ッ ク が 停止 あ る い は失 わ れ た 場合 に 有用 で す。7シ リ ー ズ の BUFH コ ン ポ ー ネ ン ト に は
CE_TYPE と 呼ばれ る 新 し い属性があ り ます。 こ の属性値を 「SYNC」 に設定す る と 、BUFH の動 作は Virtex-6 デバ イ ス の場合 と 同 じ にな り 、 出力に ク ロ ッ ク グ リ ッ チを発生 さ せる こ と な く 同期で ク ロ ッ ク を停止で き ます。 「ASYNC」 に設定 し た場合は新 し い動作、 つま り ク ロ ッ ク ソ ース入力に 関係な く ク ロ ッ ク のゲーテ ィ ン グのオン/オフが可能にな り ます。
グローバル
バ ッ フ ァ ーによ る ク ロ ッ ク以外の負荷の駆動
フ ァ ン ア ウ ト の大 き な信号を グ ロ ーバルバ ッ フ ァ ー (BUFG) に接続 し て、必要な ロ ーカル配線を減 ら す こ と は珍 し い こ と ではあ り ません。こ の手法は 7シ リ ーズデバ イ ス で も 適用で き ます。Virtex-6 FPGA と 同様に、 ク ロ ッ ク 以外の目的に使用す る BUFG の数は、 競合を回避す る ために 2 個以下 と す る こ と を推奨 し ます。その他のプ リ ミ テ ィ ブの リ タ ーゲ ッ ト に関する注意事項
次に列挙す る プ リ ミ テ ィ ブは Virtex-6 と 7シ リ ーズデバ イ ス で同 じ です。 し たが っ て、 動作、 接 続、 一般的な使用法に変更は不要です。 A N D 2 B 1 L、B U F G、B U F G C E、B U F G C T R L、B U F G M U X、B U F G M U X _ 1、BUFGMUX_CTRL、BUFGP、BUFH、BUFHCE、BUFIO、CARRY4、CFGLUT5、DCIRESET、
DNA_PORT、DSP48E1、EFUSE_USR、FDCE、FDPE、FDRE、FDSE、IBUF、IBUFDS、
IBUFDS_DIFF_OUT、IDDR、IDDR_2CLK、IDELAYCTRL、IOBUF、IOBUFDS、KEEPER、
LDCE、LDPE、LUT1、LUT2、LUT3、LUT4、LUT5、LUT6、MUXF7、MUXF8、OBUF、
OBUFDS、OBUFTDS、ODDR、OR2L、PULLDOWN、PULLUP、RAM128X1D、RAM256X1S、
RAM32M、RAM32X1S、RAM64M、RAM64X1D、RAM64X1S、SRL16E、SRLC32E Virtex-6 アーキ テ ク チ ャ向けに イ ン ス タ ン シエー ト さ れたデバ イ ス プ リ ミ テ ィ ブの中には 7シ リ ー ズアーキ テ ク チ ャ に自動的に リ タ ーゲ ッ ト さ れない も のや、 タ ーゲ ッ ト さ れた と し て も 注意すべき 変更を伴 う も のがあ り ます。UNISIM コ ン ポーネ ン ト の詳細は、 『HDL デザ イ ンのためのザ イ リ ン ク ス 7シ リ ーズ FPGA ラ イ ブ ラ リ ガ イ ド 』 (UG768) を参照 し て く だ さ い。 ま た上記の各ブ ロ ッ ク を 7シ リ ーズ FPGA に リ タ ーゲ ッ ト する場合の詳細情報は、 該当する ユーザーガ イ ド に記載 さ れてい ます。 こ こ では、 こ れ ら の コ ン ポーネ ン ト の一部について説明 し ます。
第 2 章 : Virtex-6 FPGA か らの リ タ ーゲ ッ ト に関する注意事項
BSCAN_VIRTEX6
7シ リ ーズデバ イ ス のバ ウ ン ダ リ ス キ ャ ン コ ン ポーネ ン ト は、Virtex-6 FPGA の コ ン ポーネ ン ト と 同 じ イ ン タ ーフ ェ イ スお よ び機能を備えてい ます。 コ ン ポーネ ン ト 名は Virtex-6 FPGA を指す部 分を削除 し て BSCANE2 に変更 さ れま し たが、 使用方法は以前の コ ン ポーネ ン ト と 同様です。 デザ イ ン内の BSCAN_VIRTEX6 コ ン ポーネ ン ト は、自動的に BSCANE2 コ ン ポーネ ン ト に リ タ ーゲ ッ ト さ れますが、 時間が許せば、 新 し い コ ン ポーネ ン ト 向けに コ ー ド を更新す る こ と を推奨 し ます。BUFIODQS
BUFIODQS の DQSMASK 機能は、7シ リ ーズデバ イ ス では直接サポー ト さ れません。こ れは MIG IP コ アに よ る メ モ リ イ ン タ ーフ ェ イ ス ス ト ロ ーブ用の機能で し たが、専用の Phaser 回路に移行 さ れ ま し た。 デザ イ ン内の MIG で生成 し た コ アに こ のエ レ メ ン ト があ る 場合、 その回路を適切に置 き 換え る ために、7シ リ ーズデバ イ ス向けに コ ア を再生成 し て く だ さ い。 デザ イ ン に DQSMASK
ピ ン を グ ラ ン ド に固定 し 、DQSMASK_ENABLE 属性を FALSE に設定 し た BUFIODQS が イ ン ス タ ン シ エー ト さ れてい る 場合は、 駆動す る バ ン ク が 1つだけ な ら ば こ の コ ン ポーネ ン ト を安全に
BUFIO コ ン ポーネン ト に置き換え る こ と がで き ます。 複数の隣接バン ク を駆動す る 場合は、 こ の コ ン ポーネ ン ト を BUFMR に よ っ て置 き 換え、 その後に複数の BUFIO を接続 し ます。DQSMASK
入力お よ び DQSMASK_ENABLE 属性を使用す る 回路は 7シ リ ーズデバ イ ス ではサポー ト さ れて いないため、 こ れ ら が必要な場合は代替回路を構築す る 必要があ り ます。
BUFR
7シ リ ーズデバ イ ス の BUFR プ リ ミ テ ィ ブは、Virtex-6 デバ イ ス の同プ リ ミ テ ィ ブ と 機能的に等価 です。BUFR の大 き なの違いは、Virtex-6 FPGAの
BUFR
は隣接す る 領域 も 駆動で き 、7 シ リ ー ズデバ イ ス の BUFR はそれが属す る 領域 し か駆動で き ない点です。 し たが っ て、Virtex-6 FPGAデザ イ ンの BUFR が 1 つの ク ロ ッ ク 領域にのみ使用 さ れていた場合は、変更は不要です。 リ ージ ョ ナルク ロ ッ ク に よ っ て複数の領域を駆動で き ますが、7シ リ ーズデバ イ ス では、BUFMR が垂直方 向に隣接す る 最大 3 つの ク ロ ッ ク 領域に含まれ る BUFR を駆動で き ます。 タ ーゲ ッ ト アーキ テ ク チ ャ を適切に反映す る ために BUFR プ リ ミ テ ィ ブの SIM_DEVICE 属性を 「7SERIES」 に変更 し て く だ さ い。 ただ し 、 こ の属性を 「VIRTEX6」 に設定 し て も 同 じ 機能が適用 さ れ ま す。 こ の属性 が Virtex-6 FPGA よ り 以前のアーキ テ ク チ ャ に設定 さ れてい る す る 場合は、 その値を 「7SERIES」 に更新す る こ と を強 く 推奨 し ます。 こ れに よ っ てデバ イ ス の回路がシ ミ ュ レーシ ョ ン での動作に正 確に反映 さ れます。
CAPTURE_VIRTEX6
7シ リ ーズデバ イ ス のキ ャ プチ ャ コ ン ポーネ ン ト は、Virtex-6 FPGA の コ ン ポーネ ン ト と 同 じ イ ン タ ーフ ェ イ スお よ び機能を備えてい ます。 コ ン ポーネ ン ト 名は Virtex-6 FPGA を指す部分を削除 し て CAPTUREE2 に変更 さ れ ま し たが、 使用方法は以前の コ ン ポーネ ン ト と 同様です。 デザ イ ン内 の CAPTURE_VIRTEX6 コ ン ポーネ ン ト は、自動的に CAPTUREE2 コ ン ポーネ ン ト に リ タ ーゲ ッ ト さ れますが、 新 し い コ ン ポーネ ン ト 名を使用 し て コ ー ド を更新す る こ と を推奨 し ます。FIFO18E1/FIFO36E1
7シ リ ーズデバ イ ス のハー ド FIFO コ ンポーネン ト は、Virtex-6 の FIFO と 同 じ イ ン ターフ ェ イ スお よび機能を備えてい ます。 注意すべき唯一の変更点は、FIFO の動作前に新たな リ セ ッ ト 要件が加え
その他のプ リ ミ テ ィ ブの リ タ ーゲ ッ ト に関する注意事項
を満たす よ う デザ イ ン を 変更す る 必要が あ り ま す。 こ れ ら の コ ン ポーネ ン ト には、 デ フ ォ ル ト で
Virtex-6 FPGA の初期化動作を観察す る SIM_DEVICE と 呼ばれ る 属性があ り ます。7シ リ ーズデ バ イ ス に対 し て適切に動作す る よ う に、 こ の値を 「7SERIES」 に変更 し て く だ さ い。 変更 し ない場 合は、 初期化に関 し て回路が適切に動作する こ と を確認す る ために タ イ ミ ン グシ ミ ュ レーシ ョ ン を 実行する こ と を強 く 推奨 し ます。
FRAME_ECC_VIRTEX6
7シ リ ーズデバ イ ス の コ ン フ ィ ギ ュ レ ーシ ョ ン フ レ ームエ ラ ー検出/訂正回路 コ ン ポーネ ン ト は、 Virtex-6 FPGA の コ ンポーネン ト と 同 じ イ ン ターフ ェ イ スおよ び機能を備えてい ます。コ ンポーネン ト 名は Virtex-6 FPGA を指す部分を削除 し て FRAME_ECCE2 に変更 さ れま し たが、 使用方法は以 前の コ ン ポーネ ン ト と 同様です。 デザ イ ン内の FRAME_ECC_VIRTEX6 コ ン ポーネ ン ト は、 自動 的に FRAME_ECCE2 コ ン ポーネン ト に リ タ ーゲ ッ ト さ れますが、 時間が許せば、 新 し い コ ン ポー ネン ト 向けに コー ド を更新する こ と を推奨し ます。GTHE1_QUAD
、
GTXE1
、
IBUFDS_GTHE1
、
IBUFDS_GTXE1
GTHE1_QUAD と GTXE1 の両プ リ ミ テ ィ ブお よび こ れ ら に関連する バ ッ フ ァ ーや一般的な回路は 7シ リ ーズデバ イ ス ではサポー ト さ れてい ま せん。7シ リ ーズデバ イ ス ではシ リ アル ト ラ ン シー バー回路の基本的な機能が変更 さ れたため、 リ ターゲ ッ ト さ れません。 こ れ ら の機能は、GTXE2 お よ び GTHE2 コ ン ポーネ ン ト で置 き 換え ら れま し た。 デザ イ ンに こ れ ら の コ ン ポーネ ン ト が含まれ てい る場合は、 該当する 7シ リ ーズデバ イ ス を タ ーゲ ッ ト と し て CORE Generator ウ ィ ザー ド で生 成 し た、 同等の イ ン ターフ ェ イ ス で置き換え る こ と を推奨 し ます。
ICAP_VIRTEX6
7シ リ ーズデバ イ ス の内部コ ン フ ィ ギ ュ レーシ ョ ンア ク セ スポー ト は、Virtex-6 FPGA の コ ンポー ネン ト と 同 じ イ ン ターフ ェ イ スおよび機能を備えてい ます。ただ し 、コ ン フ ィ ギ ュ レーシ ョ ン ロ ジ ッ ク やレ ジ ス タ で読み出 し/書き 込まれ る デー タ には注意すべ き違いがあ り ます。 コ ンポーネ ン ト 名はVirtex-6 FPGA を指す部分を削除 し て ICAPE2 に変更 さ れ、ICAP_VIRTEX6 コ ンポーネン ト にあ っ た BUSY ピ ンは 7シ リ ーズの ICAPE2 コ ンポーネン ト か ら は削除 さ れま し た。ICAPE2 コ ン ポーネ ン ト は確定的な タ イ ミ ン グ を使用する ため BUSY ポー ト をポー リ ン グする のではな く 、 こ の タ イ ミ ン グに従っ て ICAP イ ン ターフ ェ イ ス を変更する こ と を推奨 し ます。デザ イ ンに ICAP_VIRTEX6 プ リ ミ テ ィ ブが含まれてい る 場合は、 デザ イ ン内の接続お よ びシ ミ ュ レーシ ョ ン動作を適切な も のに する ために ICAPE2 に置き換えて く だ さ い。ICAPE2 コ ンポーネン ト の使用法の詳細は、 『7シ リ ー ズ FPGA コ ン フ ィ ギ ュ レーシ ョ ンユーザーガ イ ド 』 (UG470) を参照 し て く だ さ い。
IODELAYE1
Virtex-6 FPGA の IODELAYE1 コ ン ポーネ ン ト は、 特定の コ ン フ ィ ギ ュ レーシ ョ ン では自動的に リ タ ーゲ ッ ト さ れ ます。7シ リ ーズデバ イ ス には IODELAYE1 コ ン ポーネ ン ト はあ り ません。 同 等の機能は 2 つの独立 し た フ ァ ン ク シ ョ ン IDELAYE2 と ODELAYE2 に分割 さ れま し た。 デザ イ ン に出力専用の遅延 と し て構成 さ れた IODELAYE1 コ ン ポーネ ン ト (DELAY_SRC = 'O') があ る 場合は、ODELAYE1 コ ン ポーネ ン ト に自動的に リ タ ーゲ ッ ト さ れます。 入力専用の遅延の場合は
(DELAY_SRC = 'I')、IDELAY_TYPE 属性が 「DEFAULT」 に設定 さ れていなけば リ タ ーゲ ッ ト 可 能です。双方向の遅延 と し て使用 さ れてい る IODELAY コ ン ポーネ ン ト は自動的には リ タ ーゲ ッ ト
さ れません。 同等の機能が必要な場合は、IDELAYE2 を入力パ ス に、ODELAYE2 を出力パ ス に イ ン ス タ ン シエー ト し ます。