惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
博客园 - 司徒正美
罗磊的独立博客
D
Docker
Last Week in AI
Last Week in AI
爱范儿
爱范儿
M
MIT News - Artificial intelligence
V
V2EX
Google DeepMind News
Google DeepMind News
小众软件
小众软件
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
T
Tailwind CSS Blog
MyScale Blog
MyScale Blog
V
Visual Studio Blog
博客园 - 叶小钗
B
Blog RSS Feed
A
About on SuperTechFans
F
Fortinet All Blogs
T
The Blog of Author Tim Ferriss
Martin Fowler
Martin Fowler
P
Proofpoint News Feed

树 - 洞

SMTP2GO 拯救你的 25 端口限制 | 树 SMTP2GO 拯救你的 25 端口限制 | 树 Bilibili Linux 客户端 VAAPI 硬解折腾全记录 | 树 Bilibili Linux 客户端 VAAPI 硬解折腾全记录 | 树 震惊!insmtr 的 MySQL 数据库居然被勒索软件攻击了! | 树 震惊!insmtr 的 MySQL 数据库居然被勒索软件攻击了! | 树 再探阿里云 DNS 对 CloudFront 的解析情况 | 树 再探阿里云 DNS 对 CloudFront 的解析情况 | 树 为单板机配置超简单 VNC 环境 改良版 | 树 为单板机配置超简单 VNC 环境 改良版 | 树 Ubuntu 22.04 Rust OpenCV 注意事项 | 树 Redmi AX6000 hanwckf U-Boot 安装 OpenWrt 24 | 树 为单板机配置超简单 VNC 环境 | 树 Ubuntu 22.04 Rust OpenCV 注意事项 | 树 Redmi AX6000 hanwckf U-Boot 安装 OpenWrt 24 | 树 为单板机配置超简单 VNC 环境 | 树 在 WSL 中使用 ISE | 树 Jetson AGX Orin CH340 驱动安装 | 树 Jetson AGX Orin CH340 驱动安装 | 树 在 Ubuntu 22.04 上运行 PX4-Autopilot 1.13 | 树 在 Ubuntu 22.04 上运行 PX4-Autopilot 1.13 | 树 在 Thunderbird 里使用沉浸式翻译插件 | 树 在 Thunderbird 里使用沉浸式翻译插件 | 树 搭建自定义域名邮箱 | 树 - 洞 搭建自定义域名邮箱 | 树 - 洞 Android Box for root 透明代理 | 树 再见,曾经热爱的算法竞赛 | 树 - 洞 再见,曾经热爱的算法竞赛 | 树 - 洞
在 WSL 中使用 ISE | 树
insmtr · 2025-05-12 · via 树 - 洞

我们学校的电工电子实验使用的是一块十分老旧的 FPGA ,开发其所使用的软件 ISE 也已经彻底不支持 Windows 11 了。即使网上有一些教程可以成功将其安装在 Windows 11 上,但是使用起来还是会遇到很多 bug 。通常我们会使用 Windows 虚拟机来解决这个问题,但是虚拟机占用资源太多,太浪费磁盘空间了。考虑到 ISE 提供了 Linux 版本的包,于是我决定在 WSL 中使用 ISE 。

准备工作

首先我们需要安装 WSL ,已安装的可以跳过这一步。

Win + R ,输入 wt 打开终端,然后输入以下命令开启 WSL :

wsl --enable-wsl

然后我们要下载 ISE 的 Linux 版本的安装包,官方下载链接

接着我们要准备一份 ISE 的激活文件。在 Github 上可以找到一份激活文件 xilinx_ise.lic ,将文件保存到本地。

最后我们要准备一份 HW_Server 用来远程烧录,官方下载链接。如果你已经安装了 Vivado 的话,可以跳过这一步,直接使用 Vivado 里面的 hw_server 即可。

把上面三项文件下载到本地后,放在你想要安装 ISE 的目录下,我们将在这个文件夹下安装 ISE 。

文件清单:

  • ISE 的 Linux 版本的安装包 Xilinx_ISE_DS_Lin_14.7_1015_1.tar
  • ISE 的激活文件 xilinx_ise.lic
  • HW_Server 的安装包 Xilinx_HW_Server_Win_2019.2_1106_2127.tar.gz

开始安装

首先解压 HW_Server ,直接右键使用 Windows 自带的「全部解压缩」功能即可。解压完成后,双击文件夹中的 xsetup.exe 进行安装,安装完成后,记住安装路径,我们后面会用到。

在刚刚存放那三个文件的文件夹中,右键空白处,点击「在终端中打开」打开终端,输入以下命令安装 ubuntu :

curl.exe -sL https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64-root.tar.xz -o ubuntu.tar.xz
wsl --import ISE ISE ubuntu.tar.xz
del ubuntu.tar.xz

安装完成后,就可以输入 wsl -d ISE 进入 ISE 的 WSL 环境了。

进入之后,我们先换源:

cat <<EOF > /etc/apt/sources.list
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
EOF

将文件移动到 WSL 内:

mv Xilinx_ISE_DS_Lin_14.7_1015_1.tar ~
mkdir -p ~/.Xilinx
mv xilinx_ise.lic ~/.Xilinx

切到主目录:

cd

安装依赖:

apt update
DEBIAN_FRONTEND=noninteractive apt install -y libncurses5 gcc libx11-6 libglib2.0-0 libsm6 libxi6 libxrender1 libxrandr2 libfreetype6 libfontconfig1 libxtst6
apt clean
rm -rf /var/lib/apt/lists/*

解压安装 ISE 软件本体:

tar xvf Xilinx*.tar
rm Xilinx*.tar
./Xilinx*/xsetup  # 一路下一步即可
rm -rf Xilinx* .xinstall
echo ". /opt/Xilinx/14.7/ISE_DS/settings64.sh > /dev/null" >> .bashrc

安装完成之后,按 Ctrl + D 退出 WSL 。

由于前面的安装会产生额外磁盘占用,所以我们可以通过导出后重新导入来节省这部分空间。

wsl --export ISE ISE.tar
wsl --unregister ISE
wsl --import ISE ISE ISE.tar
del ISE.tar

在桌面上右键「新建」-「快捷方式」,输入 wsl -d ISE bash -ic "ise" ,名称输入 ISE ,完成后双击快捷方式即可启动 ISE 。

使用 HW_Server 烧录

关于烧录的问题,由于 WSL2 不支持直接访问宿主机的 USB 设备,所以我们需要使用 HW_Server 来进行远程烧录。

最前面我们已经安装了 HW_Server ,现在我们需要启动它。在前面 HW_Server 的安装目录下,打开 Xilinx\HWSRVR\2019.2\bin 目录,双击 hw_server.bat 启动 HW_Server 。然后你应该会看到类似以下的提示:

To connect to this hw_server instance use url: TCP:insmtr-PC:3121

记住这个端口号 3121

在 ISE 中打开烧录界面,点击 Boundary Scan ,然后右键空白处选择 Cable Setup... ,Communication Mode 选择 HW Server ,Cable Location 中的 Host Name 填写: TCP:宿主机IP:上面记住的端口号

WSL 宿主机 IP 的获取方式请参考微软文档使用 WSL 访问网络应用程序,如果开了镜像 Mirrored 模式网络,则可以使用 127.0.0.1 从 WSL 访问 Windows 宿主机。而在默认的 NAT 网络下,则应该通过命令查询:

wsl -d ISE
ip route show | grep -i default | awk '{ print $3}'

比如这里我是 Mirrored 模式网络,我需要填写的就是 TCP:127.0.0.1:3121

后面就是正常的烧录流程了,不过多赘述。

结语

在 WSL 中使用 ISE 的体验还是不错的,虽然有些地方不太方便,但是总比在 Windows 虚拟机上使用要好很多。希望这篇文章能对你有所帮助。