问题描述
一般问题描述:
当我使用VHDL演示测试平台进行仿真时,会发生“超出范围”的错误。
解决/修复方法
在IP Update#4发布的SPI4.2 v7.1中修复了此问题。
此问题是由“pl4_data_monitor.vhd”中TDatSinceTrain变量的超出范围条件引起的,并且可以由以下两个条件触发:
– 源核心永远不会发送定期训练(训练前数据周期数= 0或训练期间训练模式数= 0)。
– 定期训练发送超过65535个时钟周期(当训练前的数据周期数+(学分中的突发大小* 8)> 65535)。
解决/修复方法1:
使用选项A或选项B更改源Core选项:
选项A.
– 更改选项,以便源Core定期发送培训
– 训练前的数据周期数设置为小于65535(信用中的突发大小* 8)
– 突发模式设置为“仅限突发”
选项B.
– 训练前的数据周期数设置为小于65527
– 突发模式设置为“信用边界的突发分割”
解决/修复方法2:
编辑VHDL演示测试平台以防止TDatSinceTrain溢出。在“pl4_data_monitor.vhd”中,更改以下行(在两个位置)。
改变这一行:
在TFF之后TDatSinceTrain <= TDatSinceTrain + 1;
至:
TFF后TDatSinceTrain <=(TDatSinceTrain + 1)mod 65536;
注意:从CORE Generator重新生成SPI-4.2内核会覆盖“pl4_data_monitor.vhd”;因此,您所做的任何更改都将丢失。
没有回复内容