AR# 38524

MIG Spartan-6 - ユーザー インターフェイスの最初のポートにしかデバッグ信号が追加されない

説明

[Debug Signal for Memory Controller] が有効になっているユーザー ポートが複数ある MIG デザインを作成するとき、最初のポートが単一方向のものであっても、読み出しおよび書き込みのデバッグ信号はこの最初のポートにしか追加されません。

これは、書き込みのみをサポートするポートに、読み出しデバッグ信号をマップすることが可能であるということです (またはその逆)。

たとえば、書き込みに P2、読み出しに P3 を選択する場合、読み出しおよび書き込みデバッグ信号はポート P2 にのみ追加されます。つまり、ポート P2 は書き込みのみをサポートするので、読み出しデバッグ信号にはドライバーがないということになります。


ソリューション

デバッグ信号を正しくマップするには、最初のユーザー ポートが単一方向のものである場合は、example_top.v または example_top.vhd でデバッグ信号のマップ位置を変更する必要があります。

最初のポートが読み出し専用の場合、書き込みデバッグ信号はそのポートにはマップされませんが、書き込みをサポートする次のポートにマップされます。

最初のポートが書き込み専用の場合、読み出しデバッグ信号はそのポートにはマップされませんが、読み出しをサポートする次のポートにマップされます。

次は、修正された VHDL 例で、ユーザー ポート 2 が書き込み、ユーザー ポート 3 が読み出しに設定されています。

間違っているマッピングはコメント アウトされています。

gen_dbg_enable:if (DEBUG_EN = 1) generate
     -- controller 1
     c1_dbg_data(255 downto 0) <= ( c1_zeroes1 &
         c1_cmp_error &
         c1_cmp_data &
                              c1_cmp_data_valid & 
         c1_p2_cmd_en &
         c1_p2_cmd_instr &
         c1_p2_cmd_bl &
         c1_p2_cmd_byte_addr &
         c1_p2_cmd_empty &
         c1_p2_cmd_full &

--         c1_p2_rd_en &
--         c1_p2_rd_data(31 downto 0) &
--         c1_p2_rd_full &
--         c1_p2_rd_empty &
--         c1_p2_rd_count &
--         c1_p2_rd_overflow &
--         c1_p2_rd_error &

         c1_p3_rd_en &
         c1_p3_rd_data(31 downto 0) &
         c1_p3_rd_full &
         c1_p3_rd_empty &
         c1_p3_rd_count &
         c1_p3_rd_overflow &
         c1_p3_rd_error &

         c1_p2_wr_en &
         c1_p2_wr_mask(3 downto 0) &
         c1_p2_wr_data(31 downto 0) &
         c1_p2_wr_full &
         c1_p2_wr_empty &
         c1_p2_wr_count &
         c1_p2_wr_underrun &
         c1_p2_wr_error
    );



example_top.cdc の信号名を新しいマッピングを反映させるために変更する必要があります。

たとえば、c1_p2_rd_en は c1_p3_rd_en に置き換える必要があります。

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

関連アンサー レコード

AR# 38524
日付 12/04/2014
ステータス アクティブ
種類 一般
デバイス
IP