(原创)使用Python提取XISE工程的RTL代码
在工程文件夹下运行Python程序即可
#Author : /
#Description : 从Vivado的项目文件夹中提取rtl文件,用于LEDA调试
#Time : 20220805
#Verision : 0.1
#CopyRights : myfpga.cn All Right Reservers.
import os
import shutil
import xml.etree.ElementTree as ET
for temp_file in os.listdir():
if temp_file.endswith(".xise") :
prj_name_temp = os.path.splitext(temp_file)
prj_name = prj_name_temp[0]
os.mkdir(prj_name+'_rtl')
tree = ET.ElementTree(file=temp_file)
root = tree.getroot()
for elem in tree.iter(tag='file'):
file_path = elem.attrib['xil_pn:name']
#file_path = file_path.replace('$PSRCDIR','./'+prj_name+'.srcs')
if(file_path.endswith(".v") or file_path.endswith(".vh") or file_path.endswith(".vhd") or file_path.endswith(".vhdl") or file_path.endswith(".sv")
or file_path.endswith(".V") or file_path.endswith(".VH") or file_path.endswith(".VHD") or file_path.endswith(".VHDL") or file_path.endswith(".SV")):
#print(file_path)
try:
shutil.copyfile(file_path,prj_name+'_rtl/'+os.path.basename(file_path))
except:
print('ERROR:'+prj_name+'_rtl/'+os.path.basename(file_path))


