文章

安装Xilinx 2020.1 FPGA工具包(Vivado、Vitis和Petalinux)

本文介绍了官方推荐的Xilinx 2020.1 FPGA工具包(Vivado、Vitis和Petalinux)安装方法。

系统要求

Vitis和Petalinux工具需要在Ubuntu环境下运行,可以使用虚拟机或者主机运行Ubuntu系统。Vivado可以在Ubuntu或者Windows环境下运行。

这里我们在Windows上安装虚拟机运行Ubuntu系统,Vitis和Petalinux安装在虚拟机中的Ubuntu系统,Vivado安装在Windows系统。

  • VMware 12.1.1
  • Ubuntu 18.04.2
  • Vivado, Vitis, Petalinux 2020.1

虚拟机配置

我设置了磁盘空间为200GB,内存设置为16GB,其他硬件配置自选。

VMware的硬件配置中,需要再添加一块桥接模式的网卡用于主机和虚拟机的ssh通信。虚拟机配置界面中应该显示有两块网卡,分别为NAT和桥接模式。

创建用户yutong

1
EDITOR=vi sudoedit /etc/profile

粘贴一下内容,此处我们设置sudoedit的默认编辑器,以及禁用apt upgrade

1
2
3
4
5
6
7
8
9
10
11
export EDITOR=vim

alias apt='__apt_wrapper'

__apt_wrapper() {
    if [[ "$1" == "upgrade" || "$1" == "full-upgrade" || "$1" == "dist-upgrade" ]]; then
        echo "Don't exec `apt upgrade`!"
        return 1
    fi
    command apt "$@"
}

这里我们将镜像更改为中科大源:

1
2
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
EDITOR=vi sudoedit /etc/apt/sources.list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
1
sudo apt update

安装编辑器和网络工具,用于ssh连接:

1
sudo apt install vim openssh-server net-tools

这里我们设置Ubuntu的缩放率为200%:

1
EDITOR=vim sudoedit /usr/share/glib-2.0/schemas/90_hidpi.gschema.override
1
2
[org.gnome.desktop.interface]
scaling-factor=2
1
2
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
sudo reboot

我们查看桥接模式网卡的ip地址:

1
ifconfig

我的虚拟机显示192.168.229.128:

1
ssh yutong@192.168.229.128

可以将以下内容添加到C:\Users\yutong\.ssh\config,方便ssh连接:

1
2
3
Host vmware
	HostName 192.168.229.128
	User yutong

之后每次主机连接虚拟机,只需要输入:

1
ssh vmware

安装Vivado和Vitis

这里参考了文章:《Linux安装Vivado和Vitis》

需要提前在Windows主机上下载Xilinx_Unified_2020.1_0602_1208.tar.gz,然后使用scp命令将文件从主机拷贝到虚拟机:

1
2
# On Windows
scp C:\Users\yutong\Downloads\Xilinx_Unified_2020.1_0602_1208.tar.gz vmware:/home/yutong/Downloads
1
2
3
# On Ubuntu
cd ~/Downloads
tar -xvzf Xilinx_Unified_2020.1_0602_1208.tar.gz

这一步的删除是必需的,虚拟机的磁盘空间有限,可能会安装失败:

1
2
rm Xilinx_Unified_2020.1_0602_1208.tar.gz
cd Xilinx_Unified_2020.1_0602_1208

接下来这一步建议在虚拟机中运行,Windows Terminal远程连接输入邮箱和密码容易产生格式错误。

1
./xsetup -b AuthTokenGen

生成安装配置文件:

1
2
# Choose 1.Vitis
./xsetup -b ConfigGen

接下来就可以安装了:

1
sudo ./xsetup --batch Install --agree XilinxEULA,3rdPartyEULA,WebTalkTerms --location /opt/Xilinx/ --config "/home/yutong/.Xilinx/install_config.txt"

我们发现无法在搜索中找到Vivado和Vitis软件,这是因为batch模式下的安装没有创建.desktop文件,接下来我们自己创建:

1
sudoedit /usr/local/bin/run-vivado

粘贴以下内容:

1
2
3
4
#!/bin/bash

source /opt/Xilinx/Vivado/2020.1/settings64.sh
vivado &
1
vim ~/.local/share/applications/Vivado\ 2020.1.desktop

粘贴以下内容:

1
2
3
4
5
6
7
8
9
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=/opt/Xilinx/Vivado/2020.1/doc/images/vivado_logo.ico
Name[en_US]=Vivado 2020.1
Exec=/usr/local/bin/run-vivado
Name=Vivado 2020.1
StartupNotify=true
1
sudoedit /usr/local/bin/run-vitis

粘贴以下内容:

1
2
3
4
#!/bin/bash

source /opt/Xilinx/Vitis/2020.1/settings64.sh
vitis &
1
vim ~/.local/share/applications/Vitis \ 2020.1.desktop

粘贴以下内容:

1
2
3
4
5
6
7
8
9
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=/opt/Xilinx/Vitis/2020.1/doc/images/ide_logo.ico
Name[en_US]=Vitis 2020.1
Exec=/usr/local/bin/run-vitis
Name=Vitis 2020.1
StartupNotify=true

每次启动bash,都能自动设置Vivado和Vitis的环境:

1
2
3
echo "source /opt/Xilinx/Vivado/2020.1/settings64.sh" >> ~/.bashrc
echo "source /opt/Xilinx/Vitis/2020.1/settings64.sh" >> ~/.bashrc
source ~/.bashrc

根据AMD的文章,建议所有用户都安装这个补丁,否则无法正常使用Vitis。

在这篇文章的底部找到y2k22_patch-1.2.zip并下载

1
2
# On Windows
scp C:\Users\yutong\Downloads\y2k22_patch-1.2.zip vmware:/home/yutong/Downloads
1
2
3
# On Ubuntu
sudo unzip ~/Downloads/y2k22_patch-1.2.zip -d /opt/Xilinx/
cd /opt/Xilinx/

我们先设置以下root的密码,然后切换到root身份运行补丁命令:

1
2
3
4
5
sudo passwd
su -- root
export LD_LIBRARY_PATH=$PWD/Vivado/2020.1/tps/lnx64/python-2.7.16/lib/
Vivado/2020.1/tps/lnx64/python-2.7.16/bin/python2.7 y2k22_patch/patch.py
exit

安装Petalinux

这里参考了文章:《Install Petalinux in docker (or local machine)》

我们需要下载petalinux-v2020.1-final-installer.run,然后拷贝到虚拟机中:

1
2
# On Windows
scp C:\Users\yutong\Downloads\petalinux-v2020.1-final-installer.run vmware:/home/yutong/Downloads

设置/bin/shbash,注意选择no

1
2
sudo dpkg-reconfigure dash
# choose no

这些是Petalinux-2020.1的依赖项:

1
2
sudo dpkg --add-architecture i386
sudo apt update
1
sudo apt install iproute2 gcc g++ net-tools libncurses5-dev zlib1g:i386 libssl-dev flex bison libselinux1 xterm autoconf libtool texinfo zlib1g-dev gcc-multilib build-essential screen pax gawk python3 python3-pexpect python3-pip python3-git python3-jinja2 xz-utils debianutils iputils-ping libegl1-mesa libsdl1.2-dev pylint3 cpio

安装Petalinux到/opt/Xilinx

1
2
3
sudo mkdir -p /opt/Xilinx/Petalinux/2020.1
sudo chown -R yutong:yutong /opt/Xilinx/Petalinux/2020.1/
sudo chmod 775 /opt/Xilinx/Petalinux/2020.1
1
2
chmod +x ~/Downloads/petalinux-v2020.1-final-installer.run 
~/Downloads/petalinux-v2020.1-final-installer.run -d /opt/Xilinx/Petalinux/2020.1/
1
echo 'source /opt/Xilinx/Petalinux/2020.1/settings.sh' >> ~/.bashrc
1
source ~/.bashrc

安装串口工具PuTTY

首先安装USB UART驱动。然后安装PuTTY

打开Windows中的设备管理器,点击端口(COM和LPT),查看UART的COM端口。

PuTTY输入UART的端口,波特率设置为115200。

参考文献

本文由作者按照 CC BY 4.0 进行授权

热门标签