看了一下Xilinx网站,根据其所述,对于同一软件版本,同一软件工程,同样的编译选项设置,编译出来的结果应该是一致的——不论你的操作系统,32还是64位,都应该一致,如果不一样,可能是软件的bug,需要Xilinx去解决。我现在就碰到这个问题。不过,正如Xilinx所说的,即使编译出来的结果不一样,但功能应该都是正确的(creates a different, but equally valid result)。对于同一台电脑来说,编译多少次应该结果都一样。
参考1:
10.1 MAP/PAR - Placement phases do not produce same results on different OS platforms
AR# 30404
Part SW-Place
Last Modified 2008-09-09 00:00:00.0
Status Active
Keywords lin32, lin64, win32, Linux Windows, checksum
Description
Keywords: lin32, lin64, win32, Linux Windows, checksum
My design meets timing when I run it on a Windows machine, but not on a Linux machine. Why?
Solution
This problem has been fixed in the latest 10.1 Service Pack available at:
http://www.xilinx.com/support/download/
The first service pack containing the fix is 10.1 Service Pack 1.
Designs should have the same results on different OS platforms (when all else is equal). If not, it is considered a bug and these issues are fixed as they are detected. Usually, the difference is a random effect that produces a different result much like using a different cost table to change the placement seed. In this case, a problem was identified that affected the results of I/O placement.
For a more general discussion of deterministic behavior in the ISE implementation tools, see (Xilinx Answer 23904). |