问题描述
一般问题描述
当我运行Verilog演示测试平台时,会出现以下消息:
1.“#RDat Info:Stimulus Module FIFO为空,期望空闲。<仿真时间>”
还可以看到以下消息:
2.“#RDat警告:协议违规#3。空闲跟随非EOP控制字<仿真时间>”
3.“#TDat错误:数据不匹配#2。预期xxx,收到xxx。<仿真时间>”
解决/修复方法
当激励模块中的FIFO下溢并且在RDat总线上传输空闲时,会发生此问题。如果在数据突发期间空闲信号出现在无信用边界,则将显示消息#2。数据监视器错误地存储数据包并将其与传入数据进行比较
TDat上的数据包。这会导致Demonstration Testbench在Message#3中标记错误的错误。
看看TDat,可以看到正确的核心行为:
– 如果在SOP控制字之后立即发生空闲,则丢弃SOP控制字并将有效负载恢复发送到前一个通道。
– 如果在数据之后发生空闲(在非信用边界上),则在空闲之前的数据之后在TDat上发送EOP中止。然后,将有效负载恢复发送到上一个通道并继续写入数据。
您可以通过以下步骤减少此问题的影响:
– 在“/test/verilog/pl4_testcase_pkg.v”文件中将MERGE_PAYLOAD常量设置为“0”。这会延长FIFO下溢之前的时间。
– 增加NumTrainSequences的值(使用更高的NumTrainSequences重新生成核心)。这增加了Sink Core进入帧之前的时间量,使Stimulus模块有时间缓冲更多数据
– 减少DATA_NUM_TRAIN_SEQ的值(在pl4_testcase_pkg.v中)。这增加了RDat训练的频率,允许激励模块填充其FIFO。
此问题将在未来版本中解决。
没有回复内容