UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 15395

LogiCORE SPI-4.2 (POS-PHY L4) v5.0 - v4.0 から v5.0 への移行

説明

キーワード : PL4, POS, PHY, Level 4, migration, guide, constraints, v4.0, v5.0, CORE Generator, COREGen, マイグレーション, ガイド, 制約

重要度 : 標準

概要 :
このアンサーでは、SPI-4.2 コアを v4.0 から v5.0 に移行するために必要な変更点について記述しています。 v4.0 と v5.0 間で制約および入力/出力信号をできる限り同一に保つようにしましたが、制約およびラップ ファイルは変更を加えてアップデートする必要があります。

ソリューション

- PL4 コアに信号が追加されたため、v5.0 のラッパ ファイルを使用する必要があります。v4.0 のラッパ ファイルは正しく機能しません。 ラッパ ファイルは、インプリメンテーション フローを効率よく制御できるように、また 256 チャネルまでをサポートできるように変更されています。

- v5.0 NCF ファイル (pl4_shk_top.ncf および pl4_src_top.ncf) を v4.0 NCF ファイルの代わりに使用する必要があります。

- UCF ファイルは、次の 2 つのオプションのいずれかでアップデートする必要があります。

オプション A
UCF ファイルにある PL4 制約を CORE Generator からの PL4 制約と置き換えます (v4.0 UCF ファイルの代わりに v5.0 UCF ファイルを使用)

オプション B
既存の PL4 UCF 制約を v5.0 で使用できるようにするには、次の手順に従います。

Sink 制約
メモ : 次の Sink 制約は PL4 コアのスタティック アライメント バージョンに適用されます。 ダイナミック アライメントの制約にも同様の変更が必要です。

クロック
階層レベル (StaticAlign_StaticAlign) をクロック制約すべてに追加する必要があります。 これは、次のものに適用されます。
rdclk_dcm0
rdclk0_bufg0
snkclk_bufg0
rdclk180_bufg0 (if using CLK0/CLK180)

例 :
INST "pl4_snk_top0/pl4_snk_clk0/rdclk_dcm0" LOC = DCM_X#Y#;
is changed to
INST "pl4_snk_top0/pl4_snk_clk0/StaticAlign_StaticAlign.rdclk_dcm0" LOC = DCM_X#Y#;

同一の階層を DCM の位相シフトにも追加する必要があります。 DCM の位相シフトの値をわずかに変更する必要があることに注意してください。 この値はボードおよびシステムによって異なりますが、トレースが正しく一致しており、RDClk および RDat のエッジが揃っていれば、有効な開始ポイントとなります。

例 :
INST "pl4_snk_top0/pl4_snk_clk0/rdclk_dcm0" CLKOUT_PHASE_SHIFT = VARIABLE;
INST "pl4_snk_top0/pl4_snk_clk0/rdclk_dcm0" PHASE_SHIFT = 64;
is changed to
INST "pl4_snk_top0/pl4_snk_clk0/StaticAlign_StaticAlign.rdclk_dcm0" CLKOUT_PHASE_SHIFT = VARIABLE;
INST "pl4_snk_top0/pl4_snk_clk0/StaticAlign_StaticAlign.rdclk_dcm0" PHASE_SHIFT = 62;

エリア制約
v5.0 UCF ファイルのエリア制約を参照し、アップデートしてください。

ブロック RAM の配置
ブロック RAM の階層パスが変更されています。ブロック RAM が 1 つ多く使用されるのに加え、v5.0 制約を v4.0 ブロック RAM の値の代わりに使用する必要があります。

例 :
INST
"pl4_snk_top0/pl4_snk_core0/pl4_snk_fifo0/pl4_generic_fifo0/generic_fifo_ram0/RamGen36_RamGen36.GenRAM36.GenRAM36.#_BlockRAM36" LOC = "RAMB16_X#Y#" ;
is changed to
INST "pl4_snk_top0/pl4_snk_core0/pl4_snk_sfifo0/pl4_sfifo_top0/generic_fifo_ram0/BlockRAMgen_BlockRAMgen.RamGen36_RamGen36.GenRAM36.GenRAM36.#.BlockRAM36" LOC = "RAMB16_X#Y#" ;

また、次のように追加されたブロック RAM に制約を付け足す必要があります。

INST
"pl4_snk_top0/pl4_snk_core0/pl4_snk_sfifo0/pl4_sfifo_top0/generic_fifo_ram0/BlockRAMgen_BlockRAMgen.RamGen36_RamGen36.GenRAM36.GenRAM36.3.BlockRAM36" LOC = "RAMB16_X#Y#" ;

Calendar RAM を次のようにアップデートします。

INST "pl4_snk_top0/pl4_snk_core0/pl4_snk_cal0/mem_mem_CalRAM/bmblk_bmblk_BlockRam" LOC = "RAMB16_X#Y#" ;
を次のように変更します。
INST "pl4_snk_top0/pl4_snk_core0/c1_c1.pl4_snk_cal0/mem_mem.CalRAM/BlockRam" LOC = "RAMB16_X#Y#" ;

I/O RPM
メモ : 次の Sink I/O 制約は、PL4 コアのスタティック アライメント バージョンに適用されます。

Sink I/O RPM ロケーション階層は次のように変更する必要があります (「_」を「.」に変更します)。

INST "pl4_snk_top0/pl4_snk_io0/SnkTDat_gen.SnkTDat_gen.3_SnkTDat_Mux" RLOC_ORIGIN=X#Y# ;
を次のように変更します。
INST "pl4_snk_top0/pl4_snk_io0/SnkTDat_gen.SnkTDat_gen.3.SnkTDat_Mux" RLOC_ORIGIN=X#Y# ;

DDR フリップフロップ I/O の配置は次のように変更します。(メモ : 変更は 5 つの DDR フリップフロップ制約のすべてに加える必要があります。)

INST "pl4_snk_top0/pl4_snk_clk0/pl4_snk_dcm_ctlr0/gen_ddr_dr1" U_SET = pl4_snk_dcm_dr1;
を次のように変更します。
INST "pl4_snk_top0/pl4_snk_clk0/StaticAlign_StaticAlign.pl4_snk_dcm_ctlr0/gen_ddr_dr1" U_SET = pl4_snk_dcm_dr1;

Source 制約クロック
次の制約が見つからない場合は追加します。ここで # は SysClk_P の 1/4 を示します。

NET "TSClk_GP" TNM_NET = "TSClk_GP";
TIMESPEC "TS_TSClk_GP" = PERIOD "TSClk_GP" # MHz HIGH 50% ;

エリア制約
v5.0 UCF ファイルのエリア制約を参照し、アップデートしてください。

ブロック RAM の配置
ブロック RAM の階層パスは次の例のように変更されています。
メモ : この変更は、ソース サイドのブロック RAM すべてに加える必要があります。

INST "pl4_src_top0/pl4_src_core0/pl4_src_fifo0/PL4_FIFO/generic_fifo_ram0/RamGen36_RamGen36.GenRAM36.GenRAM36.#_BlockRAM36" LOC = "RAMB16_X#Y#" ;
を次のように変更します。
INST "pl4_src_top0/pl4_src_core0/pl4_src_fifo0/PL4_FIFO/generic_fifo_ram0/BlockRAMgen_BlockRAMgen.RamGen36_RamGen36.GenRAM36.GenRAM36.#.BlockRAM36" LOC = "RAMB16_X#Y#" ;

Calendar RAM を次のようにアップデートします。

INST "pl4_src_top0/pl4_src_core0/pl4_src_cal0/crtram_crtram_cram/bmblk_bmblk_BlockRam" LOC = "RAMB16_X#Y#" ;
を次のように変更します。
INST "pl4_src_top0/pl4_src_core0/c1_c1.pl4_src_cal0/crtram_crtram.cram/BlockRam" LOC = "RAMB16_X#Y#" ;

I/O RPM
Source I/O RPM ロケーション階層は次のように変更する必要があります (「_」を「.」に変更します)。

INST "pl4_src_top0/pl4_src_io0/src_rdy.src_rdy.2.rdy_hi_rdy_hi_src_rdy_hi" RLOC_ORIGIN=X#Y#;
を次のように変更します。
INST "pl4_src_top0/pl4_src_io0/src_rdy.src_rdy.2.rdy_hi_rdy_hi.src_rdy_hi" RLOC_ORIGIN=X#Y#;
AR# 15395
日付 05/03/2010
ステータス アーカイブ
種類 一般
このページをブックマークに追加