在ISE14.7的使用过程中,经常在编译的最后一步——生成bit文件的时候,编译不过去,总是提示FATAL_ERROR:Bitstream:ncorrect number of bits in。在网上查找资料,有网友说是一般出现这种问题,点击Generate Programming File 的Rerun,再运行一次就好了,这个方法只在个别情况下可以解决问题。也有网友说“这个错误一般是由于添加或更改chipscope后引起的,删除即可“,一般情况下,这个方法可以解决这个问题。 但是往往我们需要分析chipscope中的信号,必须要加cdc,在反复的调试中发现,这个问题确实是在工程中加入cdc文件导致的,其原因一是加入了部分无法识别的信号,而这些信号又不会提示为错误信号;二是加入的信号过多。这个问题在调试之前其实可以避免:在加cdc的时候,不要一次添加很多个信号,然后把自己使用的信号放在前面,后面随便添加一些信号,这往往会导致有些信号无法识别而报错;如果有很多模块需要调试,可以加入多个cdc,不同的模块添加不同的cdc文件到工程中。如果当前确实有很多信号需要对比观察,可以尝试减少几个信号试试,Lz在调试过程中有一次就出现去掉两个信号,就可以编译过去,当时使用的是Spartan6的片子,资源利用率达到92%,再添加了100个信号之后就一直报这个错误,去掉两个之后就可以了。
还有另外一种情况是没有添加chipscope,但是ISE编译到最后还是会出现这个错误,有网友说这是ISE和Windows10的兼容性问题,但这个问题无法通过修改ISE的兼容性来解决,lz尝试过把同样的安装包安装在Windows7下,编译同样的工程,可以解决此问题。如果不想重装系统,可以下载Xilinx官方为了解决ISE和windows10的兼容性问题发布的Xilinx_ISE_S6_Win10_14.7_ISE_VMs_0206_1版本,此版本是运行在Oracle VM VirtualBox下,不用破解,安装即可使用。
总体来说,在cdc中添加信号不要贪多,不要重复添加同一信号,不要添加一些过程中出现的N0,N1...等无用的信号来充数以消除红色的错误信号,这样会给使用chipscope调试省去很多麻烦。
LYW:QQ群236949301欢迎进群讨论