加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

synopsys DC .lib转.db文件方法(Copied)

(2012-03-25 16:50:28)
标签:

dc

lib

db

lib2db

杂谈

分类: 微电子
1:read_lib *.lib

*.lib是由Artisan生成的Synopsys库,一般会同时生成四个,选择*_ss_*.lib或*_slow_*.lib,即其中最慢的。

读过程一般会有warning,可以不管,但一定要看到“Technology library 'abc' read successfully”。

其中abc是库名。

例如:read_lib spram_512x16_slow_syn.lib

反馈:(前面的很多warning忽略)Technology library 'spram_512x16' read successfully

 

2:write_lib -format db abc -output abc.db

abc是刚才显示的库名,abc.db是要生成的文件名。

例如:write_lib -format db spram_512x16 -output spram_512x16.db  

use #list_lib 

读入的库文件名不一定是spram_512x16,,,,这是文件名,

库名应该看lib里面定义的,example:

 

library(tsmc18) {


 

  delay_model : table_lookup;

  in_place_swap_mode : match_footprint;

  library_features(report_delay_calculation);


etc..

.........................................................................................


script: lib2db


利用tcl和synopsys的dc将lib文件转换成db文件的脚本,如下:

 

自用,无版权约束:)

使用方法,将所有lib文件,放在一个目录中,然后建立一个目录放db,

运行:lib2db -s lib目录 -d db目录

目录可以是绝对也可以是相对路径,当然相对路径是相对你终端所在目录

#!/bin/bash
USAGE="USAGE : lib2db -s source_dir -d direct_dir"

if ! [ $# -eq 4 ] ; then
  echo $USAGE
  exit 1
fi

while getopts ":s:d:" flag ; do
case $flag in
s)
  src=$OPTARG
;;
d)
  dir=$OPTARG
;;
?)
  echo ++++++++++++++++invalid option+++++++++++++++
  echo $USAGE
  exit 1
;;
esac
done

cat > ~/.lib2db.tcl <<EOF
foreach lib [glob -nocomplain $src]
  set lib_name [string trimright \$tmp .lib]
  read_lib \$lib
  write_lib \$lib_name -format db -o $dir/\${lib_name}.db
}
exit
EOF

dc_shell-t -f ~/.lib2db.tcl
\rm -r ~/.lib2db.tcl 2>/dev/null
\rm -r ./command.log 2>/dev/null
echo ++++++++++++++++Done+++++++++++++++

.........................................................................................

EX:

dc_shell> read_lib xx.lib
dc_shell > write_lib -format db -output xx.db xx

example;

dc_shell>read_lib /your_path/xxx_worst_low_ccs.lib

dc_shell>write_lib -format db -output /your_path/xxx_worst_low_ccs.db

or 

dc_shell>write_lib xxx_worst_low_ccs -output /your_path/xxx_worst_low_ccs.db

Commands:

dc_shell> read_lib names.lib

dc_shell> write_lib names -output newnames.db



0

阅读 收藏 喜欢 打印举报/Report
前一篇:永别
后一篇:DC 流程
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有