在WSL上安装ISE


前言

因为我们计组要使用到ISE,但是ISE和win11不相容,所以我就打算在wslg上安装ISE了。

安装过程

  1. 在官网下载Xilinx_ISE_DS_Lin_14.7_1015_1.tar:https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/vivado-design-tools/archive-ise.html

  2. 将压缩包解压(我是直接在Nautilus中双击解压的)

  3. cd到解压后的文件夹里面,通过ls可以看到如下内容

    $ ls
    bin     data  idata  labtools  msg        planahead_wp  webpack  xsetup
    common  edk   ise    lib       planahead  sysgen        xinfo

    如果xsetup是可运行的,则直接sudo ./xsetup,否则先sudo chmod +x xsetup

  4. 如果安装报错:

    error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file

    即缺少libncurses.so.5库文件,可以通过以下指令解决

    $ sudo apt install apt-file
    $ sudo apt-file update
    $ sudo apt-file find libncurses.so.5
    $ sudo apt install libncurses5
  5. 安装界面是图形界面,按照指引操作即可。全默认就行了,目录就在/opt/Install cable drivers也不用安装

  6. 打开终端输入以下指令

    $ cd /opt/Xilinx/14.7/ISE_DS
    $ ls
    EDK  ISE  PlanAhead  SysGen  Xilinx.lic  common  settings32.csh  settings32.sh  settings64.csh  settings64.sh
    $ source settings64.sh
    . /opt/Xilinx/14.7/ISE_DS/common/.settings64.sh /opt/Xilinx/14.7/ISE_DS/common
    . /opt/Xilinx/14.7/ISE_DS/EDK/.settings64.sh /opt/Xilinx/14.7/ISE_DS/EDK
    . /opt/Xilinx/14.7/ISE_DS/PlanAhead/.settings64.sh /opt/Xilinx/14.7/ISE_DS/PlanAhead
    . /opt/Xilinx/14.7/ISE_DS/ISE/.settings64.sh /opt/Xilinx/14.7/ISE_DS/ISE
    $ ise

    这里如果你的Ubuntu是32位的,请选择settings32.sh

    至此ISE首次运行成功!

  7. 打开后会提示没有License,那么我们直接需要在官网先申请到一个免费的License,然后在Help -> Manage Licenses里面Load官网通过邮件发给你的Xilinx.lic即可

  8. 最后界面如下图:

运行

注意到每次重启wsl后都必须重新输入第6步的指令非常麻烦,所以已有大佬写了脚本一键运行:

  1. 在任何地方新建文件,我选择的是/opt/Xilinx/14.7/ISE_DS/quickstart,内容如下:

    #!/bin/bash
    export LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so
    ISE_DS_DIR=/opt/Xilinx/14.7/ISE_DS
    unset LD_PRELOAD
    export gmake=/usr/bin/make
    
    cd "$ISE_DS_DIR"
    source "$ISE_DS_DIR"/settings64.sh
    
    export LANG=''  # reset locale to English to fix decimal/comma seperation
    
    "$ISE_DS_DIR"/ISE/bin/lin64/ise

    并为脚本添加可执行权限:

    sudo chmod a+x /opt/Xilinx/14.7/ISE_DS/quickstart
  2. /usr/share/applications新建文件ISE.desktop,内容为:

    [Desktop Entry]
    Version=1.0
    Name=ISE
    Exec=/opt/Xilinx/14.7/ISE_DS/quickstart
    Terminal=false
    Icon=/opt/Xilinx/14.7/ISE_DS/ISE/data/images/pn-ise.png
    Type=Application
    Categories=Development

    其中Exec指向的就是上一步建立的脚本文件

  3. 之后可以使用gtk-launch ISE一键打开

  4. 还可以在Windows桌面创建快捷方式:

    路径写wslg ~ -d Ubuntu20.04 gtk-launch ISE

    不过这个其实是会自动添加到开始菜单的

后记

由于ISE安装包巨大,如果保留非常占据空间,所以考虑删掉。但是删掉后并不能真正释放空间,这个时候需要使用磁盘压缩工具对wsl的虚拟磁盘进行压缩,方法如下:

以管理员身份运行powershell,并输入

PS C:\Windows\System32> wsl --shutdown
PS C:\Windows\System32> diskpart
DISKPART> select vdisk file="D:\WSL\ext4.vhdx"
DISKPART> attach vdisk readonly
DISKPART> compact vdisk
DISKPART> detach vdisk

其中file=后面是你的wsl虚拟磁盘的位置

关于驱动

由于我还没有开始写任何一个测试程序,尚不知驱动是否正常,这里挖一个坑,改日再填。

参考链接

  1. 缺少libncurses.so.5怎么办:https://blog.csdn.net/qq_36393978/article/details/110948418
  2. Ubuntu安装ISE教程:https://blog.csdn.net/weixin_43238031/article/details/89022601
  3. Ubuntu安装ISE教程以及快捷启动脚本:https://blog.csdn.net/ixunmo/article/details/82194896
  4. 释放wsl占用空间:https://zhuanlan.zhihu.com/p/358528257
  5. 清理wsl磁盘占用:https://www.cnblogs.com/enrio/p/14222648.html

评论
  目录