目录
- 现在win11可以使用ise14.7了,具体见该帖子。为了不碰见莫名其妙的bug,还是建议在win11中使用
0. 介绍
因为电脑升win11后ise14.7无法成功安装,而且同时要用ise和vivado,只好在虚拟机下装了。
ise14.7官方文档中说只支持RHEL6/7以及SUSE,但实际上ubuntu也可以。不过不能用22.04版本……最终选择使用18.04。
这篇文章主要记录了从安装ubuntu到安装ise和vivado最后到软件配置时的流程和遇见的所有问题。以供备忘
1. Ubuntu系统安装
下载
在清华镜像站下载18.04.6,desktop版
安装
- 不要用vmware的简易安装。
- 语言选英文,安装时不要用中文,否则home下的路径
- 选择最小安装模式
- 安装中显示“retrieving file”时已经安装完了,只是网速太差,所以卡了很久,直接点skip跳过。
Ubuntu配置免密sudo
安装之后:
sudo每次需要输入密码登录,因此配置免密sudo:
sudo visudo
(因为本来就在sudo组中,因此可以sudo)
然后在最后添加user_name ALL=(ALL) NOPASSWD: ALL
,覆盖属组的配置。
换apt源
在图形界面中即可修改:打开应用software & update,然后download from选择清华源。
最后在终端sudo apt update
VMWare tools安装
安装时先将原来挂载的系统镜像设置为物理驱动器:
然后vmware选项卡中的安装vmware tools就可以点了:
但建议安装open-vm-tools,而非上面的vmware tools:
sudo apt install open-vm-tools
以及sudo apt install open-vm-tools-desktop
然后尝试改变vmware窗口大小,验证安装成功。
如果虚拟机卡住
使用vmware的共享文件夹共享文件,如果直接拖文件夹,(文件比较多时)系统会卡死。
这时杀掉vmware进程,再重新打开ubuntu会显示:
VMware Workstation 无法连接到虚拟机。请确保您有权限运行该程序、访问改程序使用的所有目录以及访问所有临时文件目录。未能将管道连接到虚拟机: 所有的管道范例都在使用中。
这是因为虚拟机文件在运行中被锁住,而强制停止进程没能解锁。
因此首先删掉虚拟机存档下的*.lck文件夹;然后杀掉VMware Workstation VMX
进程(这是正常关闭虚拟机的进程,但停止vmware进程后这个进程没有正常关闭)或者直接重启电脑。
之后虚拟机就可以进入了。
配置语言
使用中文会有一些问题,一个是软件不支持中文路径,二是中文系统下软件界面的英文字体很难辨认……,因此使用应英文系统,只用安装中文输入法即可实现中文输入。
自带的ibus输入法有很多bug,因此安装fcitx输入法:
首先 sudo apt install fcitx fcitx-pinyin
然后重启虚拟机 -> language support -> IBus改为fcitx
再重启,右上角的fcitx -> restart -> configure
发现出现中文输入法:
再自定义快捷键以及输入方式即可。
安装vscode
- 在vscode官网下载deb安装包,
sudo apt install
安装 - 安装vscode插件,安装的插件是
Verilog-HDL/SystemVerilog/Bluespec SystemVerilog
和Verilog_Testbench
和Git Graph
和verilog snippet
和verilog format
- 修改字体。首先安装等宽
fira
:sudo apt install fonts-firacode
,再在设置中更改font-family
为Fira Code
其他
- 尝试了配置缩放以适应2k屏,但效果不好,且ise和vivado显示效果差,因此算了。
- 如果使用重启虚拟机,可能关机后会进行无人值守的更新(unattended upgrades)。如果网速慢会消耗很长时间,此时只要断掉网络就会停止更新并关机,重新开机后再配置关闭。
2. 安装与配置ISE
根据工程需要,选择ise14.7与vivado2018.2
VMWare打开共享文件功能
大文件直接用vmtools拖进虚拟机器不方便,因此使用vmware的共享文件夹功能共享安装包。
vmware的共享文件夹在/mnt/hgfs/下。目前vmware有bug,在虚拟机未启动时打开共享文件功能是没有/mnt/hgfs/目录的,因此需要在打开虚拟机后关闭共享文件夹功能,再打开共享文件夹功能,才可以看见该目录。
将安装包复制到桌面,进行安装。(此外直接crtl c+v不会显示进度……因此最好cp要么 右键“copy to”)
ISE安装
解压安装包,sudo执行安装程序xsetup
,将程序安装在默认路径opt/Xilinx
下。这里不要安装驱动,一会手动安装。
修改.bashrc
直接执行目录下的ise程序虽然可以打开程序,但没有导入设置,因此不用这种方式启动。而是先导入配置文件,然后在命令行中启动。
打开~/.bashrc文件,末尾新行输入:
source /opt/Xilinx/14.7/ISE_DS/settings64.sh > /dev/null # 意思是不要在终端输出信息
之后重新打开终端,输入ise
,验证安装成功。
ISE证书
初次打开ise会提醒导入证书,根据提示加载即可。
此外,如果不通过正确的方式打开ise,即source /opt/Xilinx/14.7/ISE_DS/settings64.sh && ise
;而是直接运行ise程序,即打开/opt/Xllinx/14.7/ISE_DS/ISE/bin/lin64/ise
,这样会无法打开证书管理页面。
ISE安装cable driver
仅安装Xilinx cable usb,诸如digilent下载器之类的没有安装。
由于ISE的cable driver需要使用windrvr6模块,而该模块不支持较新的linux内核,所以不能使用官方的方式安装驱动。需要使用网上的开源代码安装驱动。
参考了以下资料:xilinx answer record 22648,Xilinx ISE WebPACK,仍未解决问题。
最终可行的方案为ubuntu wiki论坛中的这个回答:
Install xilinx platform usb in Ubuntu 16.04 x64
安装流程如下:
- 首先安装需要的库:
sudo apt install git build-essential fxload libusb-dev
- 转到目录:
cd /opt/Xilinx/
- clone 上面提到的开源项目:
sudo git clone git://git.zerfleddert.de/usb-driver
- 转到目录
cd usb-driver/
- 编译
sudo make
,弹出的waning不用管 - 用该工具手动安装驱动:
./setup_pcusb /opt/Xilinx/14.7/ISE_DS/ISE
- 重启udev:
sudo udevadm control --reload-rules
- 拔下下载器,再重新接上,稍等发现亮绿灯,再输入
lsusb
,看到输出Bus 001 Device 005: ID 03fd:0008 Xilinx, Inc. Platform Cable USB II
说明成功连上。 - 终端中输入
echo export LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so >> ~/.bashrc
(非常重要,开始没有将这一行添加到bashrc中,导致impact一直警告没安装windrvr6) - 重新打开终端,输入
impact
,验证是否可以连上板子。
补充:修改CHIPSCOPE打开配置
chipscope也要修改为使用bash打开,编辑/opt/Xilinx/14.7/ISE_DS/ISE/bin/lin64/unwrapped/analyzer这个文件,修改开头为用bash打开即可
3. 安装与配置Vivado
同样的方式,解压安装包,sudo执行安装程序xsetup
,将程序安装在默认路径opt/Xilinx
下。
编写.bashrc
与安装ise时相同,在~/.bashrc
的末尾添加一行:
source /opt/Xilinx/Vivado/2018.2/settings64.sh
然后在命令行中输入vivado -nojournal -nolog
或ise
就可以打开程序(且不要生成jou与log文件)。
证书位置
由于是普通用户使用软件,因此如果在软件内导入证书,会显示空白,因为搜索证书的路径在root用户下。
因此要将证书放在user用户的目录:~/.Xilinx
下,然后在vivado的证书管理中才能正常显示。
安装cable driver及其他
采用官方方式安装即可,但要在安装完vivado后手动安装。这是因为安装驱动需要root权限,而安装软件并不需要。
Vivado驱动安装程序位置:/opt/Xilinx/Vivado/2018.2/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_drivers
4. 其他可能需要的配置
可能需要的配置
根据Ubuntu 14.04 安装 Xilinx ISE 14.7 全过程
将make软链接到gmake:sudo ln -s /usr/bin/make /usr/bin/gmake
根据Xilinx ISE WebPACK
需要将sh链接到bash:suod ln -sfT bash /usr/bin/sh
修改editor为vscode
- 修改默认编辑器为vscode,在ise中editor的设置为
/usr/bin/code -r -g $1:$2
,在vivado中editor的设置为/usr/bin/code -r -g [file name]:[line number]
- 之后(可能出现的情况是)发现vivado的编辑器已修改,而ise的编辑器没有修改成功。这是因为用户没有修改ise配置文件的权限,这个问题还会导致无法修改ise的其他配置,且打开ise后不能进入最近打开的工程。因此修改ise配置文件的属主,用
chown
将文件~/.config/Xilinx/ISE.conf
的属主改为用户,然后即可正常配置。 - 打开vscode,将设置中verilog插件的linter更改为xvlog。
- 安装ctags以实现跳转:
sudo apt install ctags
5. 配置程序快捷方式
因为程序安装给了root用户,因此user用户中没有快捷方式,可以手动配置快捷方式。
此外,需要将ise和vivado关联到*.xise
和*.xpr
文件。
之前参考了Xilinx Vivado - ArchWiki(有中文翻译:Linux上安装配置XilinxVivado及开发)但并没有彻底解决问题,而且会删除root用户的快捷方式,因此不推荐这种方式。
最终参考了这篇博客:
Adding A Custom ‘Open With’ Program In Ubuntu 20.04
gnome桌面配置快捷方式的方法
编写.desktop
文件即为快捷方式。
将.desktop
文件放在applications
文件夹下可以被识别为应用。文件夹的路径:
- 全局路径为
usr/share/applications/
- 用户路径为
~/.local/share/applications/
ISE的快捷方式文件
ISE 14.7.desktop:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=ISE 14.7
Comment=ISE 14.7
Icon=/opt/Xilinx/14.7/ISE_DS/ISE/data/images/pn-ise.png
Exec=/home/yang/Documents/MyScript/ise14.7_start.sh /opt/Xilinx/14.7/ISE_DS %f
Terminal=false
(上面倒数第二行的"%f"是在利用该快捷方式打开某个关联的文件时,传入该文件路径作为参数。/opt/Xilinx/14.7/ISE_DS
是入的第一个参数,为ISE的安装路径,不先传入这个参数会报错!)
然后将该文件右键->属性->权限->“允许作为程序执行文件”:
然后编写"ISE 14.7.desktop"倒数第二行中具体执行的文件/home/yang/Documents/MyScript/ise14.7_start.sh
ise14.7_start.sh:
#!/bin/bash
source /opt/Xilinx/14.7/ISE_DS/settings64.sh
export LD_PRELOAD=/opt/Xilinx/usb-driver/libusb-driver.so
ise "$2"
然后同样也添加执行权限。
Vivado的快捷方式
与ISE添加快捷方式相同。
Vivado 2018.2.desktop:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Vivado 2018.2
Comment=Vivado 2018.2
Icon=/opt/Xilinx/Vivado/2018.2/doc/images/vivado_logo.png
Exec=/home/yang/Documents/MyScript/vivado2018.2_start.sh %f
Terminal=false
同理添加执行权限。然后编写/home/yang/Documents/MyScript/vivado2018.2_start.sh
vivado2018.2_start.sh:
#!/bin/bash
source /opt/Xilinx/Vivado/2018.2/settings64.sh && vivado -nojournal -nolog "$1"
同理也添加执行权限。
测试
最后将两个.desktop
文件一份放到~/.local/share/applications/
,一份放在~/Desktop/
桌面,在桌面中点击两个快捷方式,测试是否可以正常打开。
(如果有问题,就先在.desktop
文件最后面的Terminal=false
先改成true
,然后再在脚本最后添加sleep
,以显示终端窗口,进行调试)。
然后再尝试打开一个*.xpr
的vivado工程文件:
- 创建vivado工程
test
test.xpr
上右键- “属性”
- “打开方式”
- 选择vivado
- “设为默认值”
- 然后
.xpr
文件上右键就可以“显示用vivado打开”了