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# 43107

7 Series Integrated Block Wrapper for PCI Express - UCF でブロック RAM の LOC 制約が見つからない

説明


問題のあったバージョン : v1.1
修正されたバージョンやその他の既知の問題は、(ザイリンクス アンサー 40469) を参照してください。

次のコア コンフィギュレーションで UCF ファイルに必要なブロック RAM の LOC 制約が生成されず、タイミングの問題が発生します。
  • x8 gen 1 および x4 gen 2、MPS が 256 バイトまで 、パフォーマンス レベルが [Good] または [High]、および MPS が 512 バイト、パフォーマンス レベルが [Good]
  • x8 gen 2、x8 gen 1、および x4 gen 2、MPS が 512 バイト、パフォーマンス レベルが [High]

パフォーマンス レベル [Good] または [High] は、CORE Generator のカスタマイズ ウィンドウの 4 ページ目にある [BRAM Configuration Options] の下で選択します。

MPS は Maximum Payload Size (最大ペイロード サイズ) の略です。これも 4 ページ目の [Device Capabilities Register] の下で選択します。

メモ : [バージョン] 列は、問題が最初に発生したバージョンがリストされます。問題はそれより以前のバージョンでも発生していた可能性はありますが、以前のバージョンではそれを検証するテストは実行されていませんでした。

ソリューション


ブロック RAM の正しい制約を入手するには、使用しているデバイスとブロックのブロック RAM のベース LOC 制約を判断する必要があります。これには、使用しているデバイスおよびパッケージをターゲットとした別の代替コアを生成します。この代替コアでは、x8 gen 2、MPS を 256 バイトに設定します。代替コアを生成したら、example_design ディレクトリにある UCF ファイルを開きます。

ブロック RAM の場所はデバイスおよび使用されるブロックによって異なるので、XY ロケーションの開始点が必要です。ブロック RAM インスタンス pcie_brams_tx/brams[1] の LOC 制約を使用します。

ブロック RAM が 4 つのみ使用されるコンフィギュレーション (x8 gen 1 および x4 gen 2、MPS が 256 バイトまで 、パフォーマンス レベルが [Good] または [High]、および MPS が 512 バイト、パフォーマンス レベルが [Good]) では、代替コアに生成された制約を直接既存の UCF にコピーします。参考のため、このコンフィギュレーションでは次のブロック RAM ロケーション番号を使用します。 X<a> は使用しているデバイスおよびパッケージの代替 x8 gen 2 コアからの開始 X ロケーション値、Y<b> は開始 Y ロケーション値です。

x8 gen 1 および x4 gen 2、MPS が 256 バイトまで 、パフォーマンス レベルが [Good] または [High]、および MPS が 512 バイト、パフォーマンス レベルが [Good]

pcie_brams_tx/brams[1].... X<a>Y<b>
pcie_brams_tx/brams[0] .... X<a>Y<b+1>
pcie_brams_rx/brams[1].... X<a>Y<b+3>
pcie_brams_rx/brams[0] .... X<a>Y<b+4>

x8 gen 2、x8 gen 1、および x4 gen 2、MPS が 512 バイト、パフォーマンス レベルが [High] のコアでは、ブロック RAM 制約が 8 つ必要なので、作成する必要があります。

代替コアの UCF にある *pcie_brams_tx/brams[1] ブロック RAM インスタンスの制約を使用し、次のアルゴリズムを適用して残りのブロック RAM の配置を決定します。ここで再び、 X<a> は使用しているデバイスおよびパッケージの代替 x8 gen 2 コアからの開始 X ロケーション値、Y<b> は開始 Y ロケーション値です。

x8 gen 2、x8 gen 1、および x4 gen 2、MPS が 512 バイト、パフォーマンス レベルが [High]

pcie_brams_tx/brams[3] .... X<a>Y<b>
pcie_brams_tx/brams[2] .... X<a>Y<b+1>
pcie_brams_tx/brams[1] .... X<a>Y<b+2>
pcie_brams_tx/brams[0] .... X<a>Y<b+3>
pcie_brams_rx/brams[3] .... X<a>Y<b+4>
pcie_brams_rx/brams[2] .... X<a>Y<b+5>
pcie_brams_rx/brams[1] .... X<a>Y<b+6>
pcie_brams_rx/brams[0] .... X<a+1>Y<b+5>

上記は、Integrated Block X0Y0 および X0Y1 をターゲットとする 485T 以外のすべてのデバイスに適用されます。X0Y0 および X0Y1 をターゲットとする 485T では、次を使用します。
pcie_brams_rx/brams[0] X 制約が +1 でなく -1 であることに注意してください。

pcie_brams_tx/brams[3] .... X<a>Y<b>
pcie_brams_tx/brams[2] .... X<a>Y<b+1>
pcie_brams_tx/brams[1] .... X<a>Y<b+2>
pcie_brams_tx/brams[0] .... X<a>Y<b+3>
pcie_brams_rx/brams[3] .... X<a>Y<b+4>
pcie_brams_rx/brams[2] .... X<a>Y<b+5>
pcie_brams_rx/brams[1] .... X<a>Y<b+6>
pcie_brams_rx/brams[0] .... X<a-1>Y<b+5>



例 1 : xc7k325t-fbg676FPGA をターゲットとし、Integrated Block X0Y0 を使用する MPS が 256 バイトの x8 gen 1 デザイン

  1. xc7k325t-fbg676 のブロック X0Y0 をターゲットとする MPS が 256 バイトの x8 gen 2 デザインを生成します。
  2. UCF を開き、ブロック RAM ロケーション制約をコピーします。
  3. x8 gen 1 コアを生成し、手順 2 でコピーした制約を UCF に貼り付けます。

例 2 : xc7k325t-fbg676 をターゲットとし、Integrated Block X0Y0 を使用する、MPS が 512 バイトでパフォーマンス レベルが [High] の x8 gen 2 デザインのブロック RAM 制約このコンフィギュレーションでは、8 つのブロック RAM が必要です。

  1. xc7k325t-fbg676 デバイスの Integrated Block X0Y0 をターゲットとする MPS が 256 バイトの x8 gen 2 デザインを生成します。
  2. UCF ファイルを開いてブロック RAM のロケーション制約を見つけます。ここでは、読みやすくするため制約を短縮していますが、UCF ファイルでは完全なインスタンス パスを使用する必要があります。
    INST ".../pcie_bram_top/pcie_brams_rx/brams[0].ram/..." LOC = RAMB36_X4Y34 ;
    INST ".../pcie_bram_top/pcie_brams_rx/brams[1].ram/..." LOC = RAMB36_X4Y33 ;
    INST ".../pcie_bram_top/pcie_brams_tx/brams[0].ram/..." LOC = RAMB36_X4Y31 ;
    INST ".../pcie_bram_top/pcie_brams_tx/brams[1].ram/..." LOC = RAMB36_X4Y30 ;
  3. pcie_brams_tx/brams[1] の制約をベースとして新しい制約を作成します。8 つのブロック RAM が必要な場合、このベース制約を pcie_brams_tx/brams[3] に使用します。制約は次のようになります。
    INST ".../pcie_bram_top/pcie_brams_tx/brams[3].ram/..." LOC = RAMB36_X4Y30 ;
    INST ".../pcie_bram_top/pcie_brams_tx/brams[2].ram/..." LOC = RAMB36_X4Y31 ;
    INST ".../pcie_bram_top/pcie_brams_tx/brams[1].ram/..." LOC = RAMB36_X4Y32 ;
    INST ".../pcie_bram_top/pcie_brams_tx/brams[0].ram/..." LOC = RAMB36_X4Y33 ;
    INST ".../pcie_bram_top/pcie_brams_rx/brams[3].ram/..." LOC = RAMB36_X4Y34 ;
    INST ".../pcie_bram_top/pcie_brams_rx/brams[2].ram/..." LOC = RAMB36_X4Y35 ;
    INST ".../pcie_bram_top/pcie_brams_rx/brams[1].ram/..." LOC = RAMB36_X4Y36 ;
    INST ".../pcie_bram_top/pcie_brams_rx/brams[0].ram/..." LOC = RAMB36_X5Y35 ;

上記の手順で質問がある場合や問題が発生した場合は、ウェブケースを開いてザイリンクス テクニカル サポートまでご連絡ください。その際、この (ザイリンクス アンサー 43107) を記述してください。使用するコアの XCO ファイルも添付してください。XCO ファイルは、CORE Generator ツールでコアを生成すると作成されるファイルで、プロジェクト ディレクトリに <name of core>.xco という名前で保存されています。


改訂履歴

2011/12/06 - アンサー 40469 に修正バージョン情報を追加
2011/07/14 - 初版

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
40469 7 Series Integrated Block for PCI Express - Vivado 2012.4 および ISE 14.7 までのすべてのバージョンに対するリリース ノートおよび既知の問題 N/A N/A
AR# 43107
日付 05/20/2012
ステータス アクティブ
種類 既知の問題
このページをブックマークに追加