AR# 31851

Endpoint Block Plus Wrapper v1.9 for PCI Express - PIO デザイン ファイル PCI_EP_MEM_ACCESS.vhd でバイト イネーブルをチェックする際にブロック RAM データが不正になる

説明

キーワード : w_pre_wr_data, pre_wr_data, byte lanes, バイト レーン

既知の問題 : 1.9, 1.8, 1.7.1, 1.7, 1.6.1, 1.6, 1.5.2, 1.5.1, 1.5, 1.4, 1.3, 1.2

PIO の VHDL サンプル デザインで、イネーブルになっているバイトのみに書き込みが実行されるよう、PCI_EP_MEM_ACCESS ファイルでブロック RAM により指定されているデータが読み出されますが、このプロセスでバイト 2 と バイト 0 がスワップされます。

ソリューション

問題は、次のコードです。

w_pre_wr_data_b3 <= pre_wr_data(31 downto 24);
w_pre_wr_data_b0 <= pre_wr_data(23 downto 16);
w_pre_wr_data_b1 <= pre_wr_data(15 downto 08);
w_pre_wr_data_b2 <= pre_wr_data(07 downto 00);

このコードは、次のように変更する必要があります。

w_pre_wr_data_b3 <= pre_wr_data(31 downto 24);
w_pre_wr_data_b2 <= pre_wr_data(23 downto 16);
w_pre_wr_data_b1 <= pre_wr_data(15 downto 08);
w_pre_wr_data_b0 <= pre_wr_data(07 downto 00);

改訂履歴
2008 年 10 月 28 日 - 初期リリース
AR# 31851
日付 12/15/2012
ステータス アクティブ
種類 一般