最近在上逻辑试验,所以要用Xilinx。我用的是Xilinx ISE 8.2i,它要求的系统是windows NT/XP,或rh的3、4(我本不想BS它。。。)
于是在GNU/Linux的各个发行版用这个东西估计会出一堆错误。
刚刚解决了几个自己遇到的问题:
1. 安装后如何启动
Xilinx ISE安装好后在任何一个目录下面都没有一个可以直接使用的启动器。如果不想把xilinx的一堆环境变量加到系统的.bashrc或其它东东里面,使用下面的方案:
a. cp {Xilinx}/settings.sh到{Xilinx}/bin/lin下,末尾添加两行:
exec ise
export DISPLAY=:0 //后面会说这行的作用
另外在头部添加#!/bin/sh. 然后添加可执行权限。
b. 建立起动器。~/.local/share/applications下建立下面的desktop文件
[Desktop Entry]
Encoding=UTF-8
Name=Xilinx ISE
Comment=Xilinx ISE 8.2i
Exec=/opt/Xilinx/bin/lin/startise
Terminal=false
Type=Application
StartupNotify=true
Icon=/opt/Xilinx/data/images/ttc-wizard.xpm
Categories=Application;GNOME;Development;IDE;
MimeType=
2. Generated C++ compilation was unsuccessful [关键]
这个问题是因为Xilinx自己ms有一个gcc的库,但其中某些的版本太老,其中一个导致了上面的问题。解决方案如下:
When trying to build a model on the behavioral simulator you get the error:
'Generated C++ compilation was unsuccessful'
I am sure most of the people using Xilinx ISE in Linux have encountered that fatal error......=__=b
After days of efforts, I finally got the solution on the internet......^_^
Now, let's share the solution:
Step1: Go to the top of your Xilinx tree({Xilinx}), then go into
{Xilinx}/gnu/gcc/3.2.3/lin/lib/gcc-lib/i686-pc-linux-gnu/3.2.3
open the file "specs", search for the line that contains '-lc' and replace all the '-lc' by '-lcxil'; there are
only two occurrences of "-lc".
Step2: copy /usr/lib/libc.so to {Xilinx}/gnu/gcc/3.2.3/lin/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libcxil.so.
Then go to the directory again and edit libcxil.so. This file is very shot, just modify the last line as
below:
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a /lib/ld-linux.so.2 )
3. 无法启动PACE [关键]
这个有两个问题,一个是一般的GNU/Linux默认没有装libmotif3这个包,而PACE需要libXm.so.3.0.2的这个库在 libmotif3里面。另一个是GNU/Linux默认没有装portmap这个包,这个不是致命的,但如果不装,会出现一个无法连接RPC的问题, PACE很可能起不来。
解决方案:
a. 安装libmotif3,装好后一般来说还是不能启动PACE的,需要export DISPLAY=:0,这已加在前面的启动文件里。
b. 安装portmap,这样PACE可以很快起来。
顺便,我这里用PACE的时候鼠标貌似有点问题。用键盘就可以了。

