calibre layerprops文件生成

本文介绍两种从Calibre中提取层属性的方法:一是通过Perl脚本结合mapfile和display.drf文件;二是利用Calibre GUI界面操作加载层属性并保存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种方法:

结合map file和display.drf file 

(display.drf 文件会放在virtuoso相关文件的目录下)

#!/usr/bin/perl

$Mapfile = $ARGV[0];
$Drffile = $ARGV[1];
$color = "blue red green yellow maroon orange pink cyan brown";
if ($Mapfile eq "-help") {
    print "please \"perl layerprop.pl <virtuoso*.map> <display.drf>\"\n""
    exit 0
}
if ($Mapfile eq "" || $Drffile eq "") {
    print "please \"perl layerprop.pl <virtuoso*.map> <display.drf>\"\n""
    exit 0;
} 
open(Map_handle, "< $Mapfile") or die "file open failed,$!";
open(Tar_handle,"> ./calibre.layerprop") or die "file open failed,$!";
while ($lines = <Map_handle>) {
	if ($lines !~ /#/ && $lines !~ /^\s*$) {
		$lines =~ s/\s+/ /g;
		@element = split(" ",$lines);
		$new_lines = $element[0]._.$element[1];
		$layer_num = $element[2].".".$element[3];
		$layer{$layer_num} = $new_lines;
	}
}

@Keys = keys %layer;
@af_keys = sort {$a <=> $b} @Keys;
foreach $kkey (@af_keys) {
    $value = $layer{$kkey};
    @drf_value = `grep -a -s -E "$value" "$Drffile"`;
    @a = split (/\s+/,$drf_value[0]);
    printf Tar_handle "%-6s %-8s %-10s %-15s",$kkey,$a[5],$a[4],$layer{$kkey};
}
close Map_handle;
close Tar_handle;



第二种方法:

也可以采用先启动calibre读取gds之后,在GUI上

Layer --> Load Input SVRF Layers Names;再将design rule的cmd file(.encrypt)读入;

Layer --> Save Layer Properties;指定文件名称即可

使用下面命令启动calibre后,后续读入的gds都会按照下面的层次描述显示

calibredrv -dl tech.layerprops

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值