AR# 32919

MIG v3.1、Virtex-5 - ynplify Pro C-2009.03 を使用した Verilog デザインが MAP でエラーになり、「ERROR:MapLib:1114」というエラー メッセージが表示される

説明


MIG Virtex-5 Verilog デザインの合成に Synplify Pro C-2009.03 を使用すると、MAP でエラーが発生します。 これは、Synplify Pro C-2009 で IODELAY_GROUP 属性が正しく認識されないために発生します。合成中にエラーは発生しませんが、生成された EDIF ファイルに MAP でデザインがエラーになる可能性がある不正な値が含まれています。この場合、次のようなエラー メッセージが表示されます。

"ERROR:MapLib:1114 - IDELAYCTRL symbol "u_ddr_idelay_ctrl/u_idelayctrl" (output signal=idelay_ctrl_rdy) has IODELAY_GROUP property "IODELAY_MI". But the design does not contain DELAY element with the same IODELAY_GROUP name."

ソリューション

この問題を回避するには、 IODELAY_GROUP 制約を RTL のパラメータから UCF ファイルの制約に移動させる必要があります。

使用する Virtex-5 MIG デザインで必要となる変更は、次を参照してください。

Virtex-5 DDR2 SDRAM 変更
次の RTL ファイルを変更する必要があります。
  • ddr2_idelay_ctrl.v
  • ddr2_phy_dq_iob
  • ddr2_phy_dqs_iob.v

これらのファイルから次の文字列を削除します。

"(* IODELAY_GROUP = IODELAY_GRP *)"

UCF での変更

次の IODELAY_GROUP 制約を UCF ファイルに追加します。

INST "*/u_idelayctrl" IODELAY_GROUP=IODELAY_MIG;

INST "*/u_idelay_dqs" IODELAY_GROUP=IODELAY_MIG;

INST "*/u_iodelay_dq_ce" IODELAY_GROUP=IODELAY_MIG;

INST "*/u_idelay_dq" IODELAY_GROUP=IODELAY_MIG;

Virtex-5 DDR SDRAM Changes

次の RTL ファイルを変更する必要があります。
  • ddr_idelay_ctrl.v
  • ddr_phy_dq_iob.
  • ddr_phy_dqs_iob.v

これらのファイルから次の文字列を削除します。

"(* IODELAY_GROUP = IODELAY_GRP *)"

UCF での変更

次の IODELAY_GROUP 制約を UCF ファイルに追加します。

INST "*/u_idelayctrl" IODELAY_GROUP=IODELAY_MIG;

INST "*/*.u_idelay_dqs" IODELAY_GROUP=IODELAY_MIG;

INST "*/*.u_idelay_gate" IODELAY_GROUP=IODELAY_MIG;

INST "*/u_idelay_dq" IODELAY_GROUP=IODELAY_MIG;

Virtex-5 QDRII SRAM Changes

次の RTL ファイルを変更する必要があります。
  • qdrii_idelay_ctrl.v
  • qdrii_phy_cq_io.v
  • qdrii_phy_v5_q_io.v

これらのファイルから次の文字列を削除します。

"(* IODELAY_GROUP = IODELAY_GRP *)"

UCF での変更

次の IODELAY_GROUP 制約を UCF ファイルに追加します。

INST "*/U_IDELAYCTRL" IODELAY_GROUP=IODELAY_MIG;

INST "*/IODELAY_CQ" IODELAY_GROUP=IODELAY_MIG;

INST "*/IODELAY_Q" IODELAY_GROUP=IODELAY_MIG;

Virtex-5 DDRII SRAM

次の RTL ファイルを変更する必要があります。
  • ddrii_idelay_ctrl.v
  • ddrii_phy_cq_io.v
  • qdrii_phy_dq_io.v

これらのファイルから次の文字列を削除します。

"(* IODELAY_GROUP = IODELAY_GRP *)"

X36 パーツ (MEMORY_WIDTH パラメータ値 36) での UCF ファイルの変更

次の IODELAY_GROUP 制約を UCF ファイルに追加します。

INST "*/U_IDELAYCTRL" IODELAY_GROUP=IODELAY_MIG;

INST "*/genblk*.CQ_INST[*].Q_PER_CQ_INST[*].U_IODELAY_CQ" IODELAY_GROUP = IODELAY_MIG;

INST "*/genblk*.CQ_N_INST[*].Q_PER_CQ_N_INST[*].U_IODELAY_CQ_N" IODELAY_GROUP = IODELAY_MIG;

INST "*/genblk*.CQ_INST[*].U_IODELAY_CQ" IODELAY_GROUP = IODELAY_MIG;

INST "*/genblk*.CQ_N_INST[*].U_IODELAY_CQ_N" IODELAY_GROUP = IODELAY_MIG;

X18 パーツ (MEMORY_WIDTH パラメータ値 18) での UCF ファイルの変更

次の IODELAY_GROUP 制約を UCF ファイルに追加します。

INST "*/U_IDELAYCTRL" IODELAY_GROUP=IODELAY_MIG;

INST "*/genblk*.CQ_INST[*].Q_PER_CQ_INST[*].U_IODELAY_CQ" IODELAY_GROUP = IODELAY_MIG;

INST "*/genblk*.CQ_INST[*].U_IODELAY_CQ" IODELAY_GROUP = IODELAY_MIG;

DDR2 SDRAM および QDRII SRAM を含む Virtex-5 の複数インターフェイス デザイン

次の RTL ファイルを変更する必要があります。
  • ddr2_idelay_ctrl.v
  • ddr2_phy_dq_iob.v
  • ddr2_phy_dqs_iob.v
  • qdrii_idelay_ctrl.v
  • qdrii_phy_cq_io.v
  • qdrii_phy_v5_q_io.v

これらのファイルから次の文字列を削除します。

"(* IODELAY_GROUP = IODELAY_GRP *)"

UCF での変更

次の IODELAY_GROUP 制約を UCF ファイルに追加します。

INST "*/u_idelayctrl" IODELAY_GROUP=IODELAY_MIG;

INST "*/u_idelay_dqs" IODELAY_GROUP=IODELAY_MIG;

INST "*/u_iodelay_dq_ce" IODELAY_GROUP=IODELAY_MIG;

INST "*/u_idelay_dq" IODELAY_GROUP=IODELAY_MIG;

INST "*/IODELAY_CQ" IODELAY_GROUP=IODELAY_MIG;

INST "*/IODELAY_Q" IODELAY_GROUP=IODELAY_MIG;

メモ : MIG で生成されたデザインへの階層パスの変更はユーザーにより考慮する必要があります。
AR# 32919
日付 03/07/2013
ステータス アクティブ
種類 一般
デバイス 詳細 概略
IP