AR# 46044

LogiCORE IP AXI VDMA のデザイン アドバイザリ - EDK での TIG 伝搬が間違っている

説明


AXI VDMA v5.00.a デザインの EDK フローに既知の問題があります。これらのデザインでは非同期クロック モードが使用されていますが、各クロックは互いに完全独立しているわけではありません。

VDMA が同期モードのときは VDMA クロックはすべて同じです。しかし、非同期モードの場合 (C_PRMRY_IS_ACLK_ASYNC=1)、必要なクロックはすべてユーザーが提供する必要があります。

非同期モードのときは、ユーザーがすべて異なるクロックを使用しているものと想定されていました。このため、異なるクロック ドメイン間の False パスに対し、コアに FROM-TO TIG が追加されていました。しかし、2 つ以上の AXI VDMA クロック ポートに同じクロック信号が使用されていると、1 つのクロック ドメインにあるすべてのパスが FROM-TO TIG によって間違って制約されます。この結果、そのクロック ドメインの有効なタイミング エラーがすべて抑えられて、間違ったタイミング スコアになってしまいます。このコアのタイミングが間違っているため、このデザインを正しく配置または配線できません。これらの共有クロックの 1 つからクロックが供給されている AXI VDMA の外にあるモジュールにエラーが発生するので、この問題は各デザインで表れ方が異なります。一般的には、タイミング関連の問題が発生するのでよく注意してください。

次は、間違った制約が付けられている AXI VDMA コアからのタイミング レポートの一例です。

Timing constraint: PATH

"TS_axi_vdma_0_from_s_axis_s2mm_aclk_to_m_axi_s2mm_aclk_path" TIG;

182402 paths analyzed, 58454 endpoints analyzed, 0 failing endpoints

0 timing errors detected. (0 setup errors, 0 hold errors)

ソリューション


次の場合、この回避策は不要です。
  • すべてのクロックが同期 (C_PRMRY_IS_ACLK_ASYNC=0) になっている。
  • すべてのクロックが非同期 (C_PRMRY_IS_ACLK_ASYNC=1) になっていて、異なるクロック ソースに接続されている。

しかし、次の場合は回避策が必要です。
  • すべてのクロックが非同期 (C_PRMRY_IS_ACLK_ASYNC=1) になっていて、そのクロックの一部が同じクロック ソースに接続されている。

この問題を回避するには、AXI VDMA コアをローカルにし、prmry_is_async セクションにある間違っている FROM-TO TIG をすべて Tcl スクリプトで削除します。
  1. pcore を XPS プロジェクトに対してローカルにします。コア インスタンスを右クリックし、[Make This IP Local] を選択します。
  2. pcores/axi_vdma_v5_00_a_axi_datamover_v3_00_a/data ディレクトリに移動します。
  3. axi_vdma_v5_00_a_axi_datamover_v2_1_0.mpd ファイルを開きます。
  4. BEGIN axi_datamoverBEGINaxi_vdma_v5_00_a_axi_datamover で置き換えるように行 55 を編集します。
  5. ファイルを保存します。
  6. pcores/axi_vdma_v5_00_a/data/ ディレクトリに移動します。
  7. axi_vdma_2_1_0.tcl ファイルを開きます。
  8. Tcl ファイルの行 77 から 136 にある同じクロック ドメインの信号が間違って制約されている行をコメント アウトします。たとえば、コアが非同期モードに設定されていて (C_PRMRY_IS_ACLK_ASYNC=1)、m_axi_mm2s_aclk および s_axi_lite_aclk use で同じクロック ソースが使用されている場合は、次の TIG をコメント アウトします。

    puts $outputFile "TIMESPEC TS_${instname}_from_s_axi_lite_aclk_to_m_axi_mm2s_aclk = FROM \"s_axi_lite_aclk\" TO \"m_axi_mm2s_aclk\" TIG;"
    puts $outputFile "TIMESPEC TS_${instname}_from_m_axi_mm2s_aclk_to_s_axi_lite_aclk = FROM \"m_axi_mm2s_aclk\" TO \"s_axi_lite_aclk\" TIG;"
  9. ファイルを保存します。
  10. XPS で [Project] → [Rescan User Repositories] をクリックします。

この問題は、EDK 14.1 で修正される予定です。

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

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

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
46117 LogiCORE IP AXI VDMA デザイン アドバイザリのマスター アンサー レコード N/A N/A
47654 AXI Video Direct Memory Access (VDMA) - リリース ノートおよび既知の問題 N/A N/A

関連アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
46117 LogiCORE IP AXI VDMA デザイン アドバイザリのマスター アンサー レコード N/A N/A
AR# 46044
日付 10/18/2012
ステータス アクティブ
種類 デザイン アドバイザリ
IP