这个问题很多人问过,其实问题在于unix文件和DOS文件的区别上。ise的前身是一个unix软件,移植到windows后保留了很多unix的特性。
如果用bin方式打开一个文件,unix文件的行结尾是0X0a(换行),windows文件的行结尾是0X0a 0X0d(换行,回车),谁是回车谁是换行记不清了。当然用文本方式打开这些文件是看不到的,因为他们都是不可见字符。
xilinx要求coe文件是个unix文件,因为xilinx(包括modelsim)都是这样读COE文件的,用二进制流方式打开,读到0X0a就跳过去读下一个数据。如果用windows文件写coe文件,0X0d就没法解释了,因为他不是个可见字符,不能翻译为可见字符的0-f,所以coe文件就打开无效了。
怎么办呢,用ultraedit32写COE文件,建立新文件时选unix模式,当然也可以先写,再用ultraedit32的dos to unix功能转换,然后存盘。
怎么知道写的coe文件是unix格式的呢,两个方法:
1、用ultraedit32的bin方式看看文件,能看见每行的结尾只有一个0X0a没有0X0d;
2、用ultraedit32打开coe文件,如果ultraedit32问是否要把文件转换成dos文件,就说明你写对了,但是这时一定要选否。
其它coe的文件内容怎么写随机文档上有,就不多说了。 |