当前位置:首页 > Software > Python > 正文内容

(原创)使用Python提取XISE工程的RTL代码

chanra1n1年前 (2023-05-21)Python3434

在工程文件夹下运行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))


扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://world.myfpga.cn/index.php/post/310.html

分享给朋友:

“(原创)使用Python提取XISE工程的RTL代码” 的相关文章

1.Python基本的使用

1.Python基本的使用

我们打开python或者通过运行python也可以,请复制如下代码,然后按下Enter键,看看会发生什么?print('\n'.join([''.join([('MyFpga'[(x-y) % len('MyFpga'...

Python关于turtle的函数名

Python关于turtle的函数名

turtle.forward(distance)                   向当前画笔方向移动distance像素长度turtle.backward(distance)              向当前画笔相反方向移动distance像素长度turtle.right(degree)    ...

for循环

for循环

range()函数range(start,end,step)range()函数返回一个可迭代对象(可理解为一个序列,序列中的数包括start,不包括end)例如range(1,101),返回1-100的序列。range(101),范围0-100的序列。range(1,100,2),返回1,3,5.....

搜索字符串

搜索字符串

常用搜索字符串中子串的方法str.count(substring)      返回str中substring子串出现的无覆盖的次数str.find(s1)                    返回s1在这个字符串的最低下标,如果字符串中不存在s1,则返回-1str.rfind(s1)       ...

列表实例

列表实例

随机生成100个小写字母存入一个列表中,统计26个字母的出现次数。import random def getRandomLetter():     code_a=ord('a')     code_z=ord('z')     x=random.randint(code_a,code_z)...

Python自动清理错误图片,深度学习训练数据集准备

Python自动清理错误图片,深度学习训练数据集准备

使用python运行from PIL import Image from pathlib import Path import os   path = r'.'  ...