AR# 40466

Virtex-6 FPGA Integrated Block Wrapper v2.3 for PCI Express (AXI) - m_axis_rx_tstrb[7:0] で 0x0F のみが出力される

説明

既知の問題 : v2.3、v2.2、v2.1

64 ビットのインターフェイスを使用している場合、生成されたコアの source ディレクトリにある axi_basic_rx_pipeline.vhd での間違いが原因で、m_axis_rx_tstrb[7:0] の出力が 0x0F のみになります。これは 64 ビットの VHDL ラッパーでのみ発生する問題で、x8 GEN2 128 ビット VHDL ラッパーまたは Verilog-HDL ラッパーでは発生しません。

ソリューション


この問題を修正するには、生成されたコアの source ディレクトリにある axi_basic_rx_pipeline.vhd で、行 380 から始まる GENERATE 文を変更します。tstrb および tstrb_prev への割り当てを変更します。次のように 11 を 1 に変更します。



変更前 :



xhdl15 : IF (C_DATA_WIDTH = 64) GENERATE
-- 64-bit interface: contains 2 DWORDs per cycle, for a total of 8 bytes
-- TSTRB has only two possible values here, 0xFF or 0x0F
tstrb <= x"FF" WHEN (TRN_RREM = "11") ELSE x"0F";
tstrb_prev <= x"FF" WHEN (trn_rrem_prev = "11" ) ELSE x"0F";
END GENERATE;


変更後 :

xhdl15 : IF (C_DATA_WIDTH = 64) GENERATE
-- 64-bit interface: contains 2 DWORDs per cycle, for a total of 8 bytes
-- TSTRB has only two possible values here, 0xFF or 0x0F
tstrb <= x"FF" WHEN (TRN_RREM = "1") ELSE x"0F";
tstrb_prev <= x"FF" WHEN (trn_rrem_prev = "1" ) ELSE x"0F";
END GENERATE;


改訂履歴
2011 年 3 月 1 日 - 初期リリース
AR# 40466
日付 02/25/2011
ステータス アクティブ
種類 ??????
デバイス 詳細 概略
IP