在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 339|回复: 4

[原创] pt修完timing吐出的tcl转成innovus的eco tcl脚本(亲测有效)

[复制链接]
发表于 2024-12-9 11:02:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 wts13588035346 于 2024-12-9 11:15 编辑

这个脚本是根据网上的python脚本icc2enc来修改的,如果修时序的flow为pt write_changes -f icctcl -o timing.tcl,再将该脚本吃进innovus做时序的eco,则可以直接用这个python脚本把timing.tcl转为timing_enc.tcl                     脚本如下:                                                              

import re
infile = open("timing.tcl", "r")
outfile = open("timing_enc.tcl", "w")
inst_name = ''
for line in infile:
  if 'current_instance' in line:
    insp_sp = re.split(r'\s+|{|}|', line)
    print(inst_sp)
    if len(inst_sp)==5:
      inst_name=inst_sp[2]+"/"
      hinstGuide_name=inst_sp[2]
    else:
      inst_name=""
      hinstGuide_name="\"\""
   elif 'insert_buffer' in line:
     insert_sp = re.split(r'\s+|\[|{|}\]|-', line)
     pin_name=insert_sp[4]
     new_cell_name=insert_sp[16]
     new_net_name=insert_sp[11]
     insert_buff=insert_sp[7]
     inset_line="ecoAddRepeater -cell " + insert_buff + " -term " + inst_name + pin_name + " -name " + new_cell_name + " -new_net_name " + new_net_name + " -hinstGuide " + hinstGuide_name + "\n"
     outfile.write(insert_line)
   elif 'size_cell' in line:
     insert_sp = re.split(r'\s+|{|}', line)
     cell_name = insert_sp[2]
     new_cell_name = insert_sp[5]
     insert_lne="ecoChangeCell -inst " + inst_name + cell_name + " -cell " + new_cell_name + "\n"
infile.close()
outfile.close()
 楼主| 发表于 2024-12-9 11:17:17 | 显示全部楼层
脚本是手打的,可能会有些打错的地方,小弟初学python,如果脚本有需要改进的地方还请大佬指点一下
 楼主| 发表于 2024-12-9 11:19:37 | 显示全部楼层
这个脚本可以将pt里insert buffer和size cell的操作给转换为innovus的脚本,但是没有remove_buffer,因为我修时序很少会remove buffer
发表于 2024-12-10 13:16:45 | 显示全部楼层
顶一下,虽然我是直接用icc进行eco的,也看不懂python;
发表于 2024-12-10 18:32:13 | 显示全部楼层
点赞
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-25 17:01 , Processed in 0.017201 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表