ソリューション
この問題は、Vivado 2014.2 のウィザード v3.3 で修正されています。
v3.2 以前のウィザードでは、次の回避策を使用してください。
RX シーケンス モジュール ファイルの例がこのアンサーの末尾に添付されています。
1. 下のモジュールを RX シーケンス モジュールに追加します。
reg flag =1'b0;
reg [15:0] original_rd_data;
always @ (posedge DRPCLK)
begin
if( state == wr_16 || state == wait_pmareset || state == wr_20 || state == wait_wr_done1)
flag <= 1'b1;
else if(state == wait_wr_done2)
flag <= 1'b0;
end
always @ (posedge DRPCLK)
begin
if( state == wait_rd_data && DRPRDY == 1'b1 && flag == 1'b0)
original_rd_data <= DRPDO;
end
2. センシティビティ リストにフラグと original_rd_data を追加します。
次のロジックを入力します。
always @ (DRPRDY or state or rd_data or DRPDO or gtrxreset_ss or flag or original_rd_data) begin
これを、次の部分と置き換えます。
always @ (DRPRDY or state or rd_data or DRPDO or gtrxreset_ss) begin
3. wait_rd_data ステートのロジックを置換します。
次のロジックを入力します。
wait_rd_data : begin
gtrxreset_i = 1'b1;
if (DRPRDY && !flag) begin
next_rd_data = DRPDO;
end
else if (DRPRDY && flag) begin
next_rd_data = original_rd_data;
end
else begin
next_rd_data = rd_data;
end
end
これを、次の部分と置き換えます。
wait_rd_data : begin
gtrxreset_i = 1'b1;
if (DRPRDY)
next_rd_data = DRPDO;
else
next_rd_data = rd_data;
end
影響を受ける IP :
影響を受ける各 IP の詳細は、IP のアンサーを参照してください。
改訂履歴
2014/08/15 - DisplayPort のアンサーを追加
2014/06/23 - Aurora 8B10B のアンサーを追加
2014/05/22 - 初版