前言
XAPP1171的源码是由官方提供的tcl文件,我们需要利用tcl文件恢复出完整的工程。
本文使用的vivado版本是vivado2022.2。
恢复工程
第一步:
首先打开vivado工程,在Tcl Console中输入source指令,如下图所示。我的文件夹是存放在桌面上的。
输入完成后点击回车键,会有如下报错:
ERROR: [Board 49-71] The board_part definition was not found for xilinx.com:kintex7:kc705:1.0. The project's board_part property was not set, but the project's part property was set to xc7k325tffg900-2. Valid board_part values can be retrieved with the 'get_board_parts' Tcl command. Check if board.repoPaths parameter is set and the board_part is installed from the tcl app store.
根据错误提示,没有发现kintex7:kc705:1.0,我们需要tcl指令get_board_parts来查看该版本中支持的board。
回车后,会列出所有支持的board,我这边的结果如下:
可以看到支持的kc705版本号,即kc705:part0:1.6,接下来就需要在官方提供的tcl文件中修改这个版本号。
查找到第285行有BOARD的版本信息,如下:
对这个版本信息做修改:
第二步,重复第一步的操作,输出source指令。
会出现如下的报错:
这个报错实际上就是第一步操作时在提示的路径下已经有了project_1的工程,找到提示的路径,删除project_1即可。
第三步,再次重复第一步的操作,输出source指令,可以看到弹出了一个新的工程,但提示如下报错。
ERROR: [BD 5-390] IP definition not found for VLNV: xilinx.com:ip:util_vector_logic:1.0
这个报错的原因是IP的版本不匹配,首先我们要查看vivado的IP版本,点击IP Catalog,搜索报错的IP核,可以看到对应的版本信息,下图中util_vector_logic:2.0。
而tcl文件中的版本是1.0,需要做修改。
版本号改为2.0。
事实上,好多的IP都有这个问题,这里我们搜索xilinx.com:ip,对tcl文件中的所有IP逐个核对,保证所有的IP版本匹配。
第四步,删除步骤三产生的project_1,重复1步骤。
会出现如下报错:
error copying "C:/Users/XXXXX/AppData/Roaming/Xilinx/Vivado/kintexSubsystemFiles
/kintexDdrConfiguration.prj": no such file or directory
这个报错提示在C:/Users/xxxxx/AppData/Roaming/Xilinx/Vivado的文件夹中没有找到prj工程,我们需要将下载的kintexSubsystemFiles文件夹复制到C:/Users/xxxxx/AppData/Roaming/Xilinx/Vivado文件夹下即可。
第五步:再次删除project_1,打开vivado输入如下指令。
再次按回车,我们就可以恢复出XAPP1171的工程了。
大功告成!!!
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。