ソリューション
Aurora サンプル デザインには 2 つの Aurora コアが相互接続されています。DUT2 の FRAME_CHECK がデータ受信可能になる前に DUT1 の FRAME_GEN が送信されるのが問題です。これは、コアでスラック違反を処理するために導入されているパイプライン フロップが原因です。
ソリューション :
FRAME_GEN からのデータ送信を遅らせます。example_design\traffic_gen_check\<componene name>_frame_gen.v モジュールに次のコードを追加します。
-----
reg [6:0] channel_up_dly = 7'd0;
always @ (posedge USER_CLK)
begin
if(&channel_up_dly)
channel_up_dly <= `DLY channel_up_dly;
else if(CHANNEL_UP)
channel_up_dly <= `DLY channel_up_dly + 1'b1;
end
//Generate RESET signal when Aurora channel is not ready
assign reset_c = RESET || !(&channel_up_dly);
-----
Note that reset_c wire isOR'd with channel_up_dly not with CHANNEL_UP.
改訂履歴
2012/10/29 - 初版