(原创)使用Python提取Vivado工程的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(".xpr") : 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['Path'] 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))