将PT脚本转化为innovus脚本

前一节写的关于PT修时序后吐出相关脚本,但是无法直接使用APR工具innovus进行时序修复,此节介绍一种利用perl脚本将吐出脚本转化为innovus可读的脚本

1.转化前文本形式
在这里插入图片描述
2,转化后脚本
在这里插入图片描述
3.perl 脚本正文

#!/usr/bin/perl
#translate pt sie_cell script
use warnings;
use autodie;
my $in = $ARGV[0];
if ( ! open IN , '<',$in) {
	die "can't read $in :$!";
}
my $out1 = "$in.inn.tcl";
my $out2 = "$in.icc.tcl";
if ( ! open OUT1, '>',$out1) {die "can't write $out1 : $1 ";}
if ( ! open OUT2, '>',$out2) {die "can't write $out2 : $2 ";}

my $inst = "";
while (<>) {
	chomp;
	if ( /^current_instance$/) {
		$inst = "";
	}
	elsif ( /^current_instance\s+\{(.*)\}$/ ) {
    	$inst = "$1/";
    }
    elsif ( /size_cell\s+\{(.*)\}\s+\{(.*)\}$/ ) {
		print OUT1 "size_cell ${inst}$1 $2 \n";
		print OUT2 "size_cell ${inst}$1 $2 \n";
	}
	elsif  .....
}

附上截图

在这里插入图片描述
4.运行命令
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

seu他山之石

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值