Digilent 針對 Zybo board 用于 Embedded Linux 的環境上,提供了一個預先定義好接腳的配置文件 (zybo_base_system), 早期的版本 是直接將項目打包起來釋出,后期則采用 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
延伸閱讀
[1] https://github.com/Digilent/ZYBO/tree/master/Projects/linux_bd
[2] Vivado: Packaging for version control, distribution and repeatability
[3] Vivado Design Suite Tcl Command Reference Guide
評論
查看更多