Digilent 针对 Zybo board 用于 Embedded Linux 的环境上,提供了一个预先定义好接脚的配置文件 (zybo_base_sys te m), 早期的版本 是直接将项目打包起来释出,后期则采用 git 去进行维护,其项目位于GitHub 上。
由于 Digilent 提供的 git 版本的 Zybo board 配置文件 会因为 Xilinx 的 Vivado 开发工具的版本升级而变成版本不匹配的状况,本文将纪录如何对该配置文件进行升级并产生我们的项目。
在撰写本文时,该配置文件 commit id 为 63ca49 ,使用的是 Vivado 2015.4 版本, 我们要将它升级到 Vivado2016.1 去。
事前准备
在进行升级时,你需要安装好 Vivado 2015.4 以及 Vivado 2016.1 才能按照本文的步骤进行。
下载配置文件并用 Vivado 2015.4 开启
我们首先下载 Digilent 提供的 Zybo board 配置文件
git clone https://github.com/Digilent/ZYBO.git -b vivado-2015.4 63ca49
接着进入到 ZYBO/Projects/linux_bd/proj 文件夹去,使用你的 vivado 2015.4 去产生新的项目
coldnew@gentoo ~/ZYBO/Projects/linux_bd/proj $ /opt/Xilinx/Vivado/2015.4/bin/vivado -mode batch -source create_project.tcl
如果不想用指令,也可以打开 Vivado 图形界面,选择 Tools -> Run Tcl Script 然后再选create_project.tcl 这档案去执行
完成后,你会发现当下目录多出了一些档案
coldnew@gentoo ~/ZYBO/Projects/linux_bd/proj $ tree -L 1
.
├── cleanup.cmd
├── cleanup.sh
├── create_project.tcl
├── ip_upgrade.log
├── linux_bd.cache
├── linux_bd.hw
├── linux_bd.ip_user_files
├── linux_bd.sim
├── linux_bd.srcs
├── linux_bd.xpr
├── vivado.jou
└── vivado.log
5 directories, 7 files
这些 linux_bd.* 档案就是我们透过 Vivado 2015.4 产生的项目,接下来我们要用 Vivado 2016.1 打开它去做升级的动作。
升级配置文件
接下来我们使用 Vivado 2016.1 打开我们刚刚用 Vivado 2015.4 所产生的 linux_bd.* 专案
由于原本的项目是透过 Vivado 2015.4 产生的,因此会被询问要不要升级,这边点选 Report IP Status
接下来点选 Upgrade Selected 将这些过时的 IP core 进行升级
没出错的话,过一段时间 Vivado 会回报升级完成
升级完成后,我们要产生几个符合 Vivado 2016.1 的 tcl 脚本 ,这样以后我们才可以用 Vivado 2016.1 产生我们的新项目
产生 tcl 脚本
好了,现在我们把原本用于 Vivado 2015.4 的 tcl 脚本所产生的项目升级到 Vivado 2016.1 了,为了便于未来产生新的项目,是时候产生新的 tcl 脚本啰 (用来取代原本的 create_project.tcl)
用它取代之跑得 create_project.tcl ,并多做一些设定
除了产生新的 create_project.tcl 外,我们也需要产生新的 block design 档案才行,因此透过 File -> Export -> Export Block Design 来将 block design 汇出
将它存放到 ZYBO/Projects/linux_bd/src/bd/system.tcl 就完成啰~
重建新的专案
我们刚刚重建了 create_project.tcl 以及 src/bd/system.tcl 这两个档案,将其升级到 Vivado 2016.1 版本,现在可以试试重新产生新的项目啰
不过由于我们可能有之前建立好名为 linux_bd.* 的档案,因此可以透过 cleanup.sh 去将这些产生出来的档案清除
coldnew@gentoo ~/ZYBO/Projects/linux_bd/proj $ sh cleanup.sh
接下来用 Vivado 2016.1 重新生出新的项目就好啰 ~
coldnew@gentoo ~/ZYBO/Projects/linux_bd/proj $ /opt/Xilinx/Vivado/2016.1/bin/vivado -mode batch -source create_project.tcl