如何在mac上优雅地使用Vivado
前言
最近计组实验需要频繁使用vivado, 但是Xilinx没有开发macOS版本的, 一般解决方案是使用虚拟机或Bootcamp, 但过于臃肿, 我们可以借助Docker与Xquartz优雅地在macOS上搭建环境。
Docker
Docker想必不用做过多介绍,可谓是虚拟机的一个可行、经济且高效的替代方案,具体可以前往Docker官网了解。
Xquartz
Xquartz是mac上的X11.app,利用其X11 Forwarding技术,将宿主机(也就是我们的mac)作为X server,将docker容器中的GUI程序(Vivado)作为X client访问X server,以实现在macOS上操作相应GUI程序。
这个过程有点类似于VNC,可以理解成单个GUI的VNC。
Vivado
不想过多介绍,只想说Fxxk you, Xilinx
准备工作
Xquartz
使用Homebrew
包管理器安装,打开终端输入:
1 | brew install --cask xquartz |
完成后重启电脑,然后打开Xquartz(如找不到直接Spotlight搜索就行),按cmd
+,
进入偏好设置,在安全性中将第二个选项选中,即允许来自网络的连接。
Vivado
我们需要下载完整的Linux Vivado安装包,可以前往Xilinx官网下载。
建议下载到~/Downloads/
路径下,这样之后运行docker时可以直接使用本文提供的指令
Docker
可以使用Homebrew
包管理器安装Docker
1 | brew install docker |
或者直接安装有图形化界面的Docker Desktop,个人推荐这一种,毕竟有图形界面为什么不用呢
访问Docker官网下载安装即可
实例化Docker容器
首先拉取一下Ubuntu的镜像,当然你也可以使用其他Vivado支持的Linux发行版
1 | docker pull ubuntu |
然后我们需要查看一下本机的IP地址,打开设置->共享->文件共享,可以看到小字中有smb://xxx.xxx.xxx.xxx
格式的地址,将smb://
后面的部分记录一下
完成后我们实例化这个镜像,创建一个文件夹存放下载好的安装包,然后挂载到容器中
1 | macOS |
接下来运行docker容器
1 | docker exec vivado /bin/bash |
配置X11环境
进入容器后安装一下依赖,如下载慢请自行使用网络代理或换源
1 | apt -y --no-install-recommends install ca-certificates curl sudo xorg dbus dbus-x11 ubuntu-gnome-default-settings gtk2-engines lxappearance |
安装Vivado
以上工作都完成后,我们进入刚刚挂载的目录,运行Vivado安装程序,准确无误的话会在mac中显示出安装程序的窗口
1 | docker |
显示出图形界面后安装即可
安装程序默认会将vivado安装在/tools/Xilinx
目录下,运行完成后,可以将Vivado添加到环境变量。
运行Vivado
启动的一般步骤为,运行docker容器
1 | docker exec vivado /bin/bash |
运行Vivado
1 | vivado |
总结
至此安装已全部完成,你可以扔掉臃肿的虚拟机,优雅地在macOS中使用vivado。