用calibre比较两个Layout
出处:gsypuma 发布于:2007-04-29 10:20:58
以前在用calibre时,还要写一个command file,特别是layer map需要改变,特别繁琐
干脆就用calibre tcl写了个script,直接比较,一步到位,省去了不少的麻烦。
贴到这里来跟大家共享,嘿嘿,我在这里学到了不少的东西,当然自己也要贴些东西上来呀
#!/bin/sh -f
#The next line STarts to use calibre \
exec $MGC_HOME/bin/calibredrv "$0" "$@"
if { $argc != 2 } {
puts stdout "ERROR:USAGE:xor2gds.tcl gds1 gds2"
exit 0
}
set gds1 [layout create [lindex $argv 0]]
set gds2 [layout create [lindex $argv 1]]
if { [file exist xor2gds.cal] } {
file delete xor2gds.cal
}
set layerMap_raw1 [$gds1 layernames]
set layerMap_raw2 [$gds2 layernames]
set topCell1 [$gds1 topcell]
set topCell2 [$gds2 topcell]
exec echo "LAYOUT PATH [lindex $argv 0]" >> xor2gds.cal
exec echo "LAYOUT PRIMARY $topCell1" >> xor2gds.cal
exec echo "LAYOUT SYSTEM GDSII" >> xor2gds.cal
exec echo "LAYOUT PATH2 [lindex $argv 1]" >> xor2gds.cal
exec echo "LAYOUT PRIMARY2 $topCell2" >> xor2gds.cal
exec echo "LAYOUT SYSTEM2 GDSII" >> xor2gds.cal
exec echo "LAYOUT BUMP2 200" >> xor2gds.cal
exec echo "DRC RESULTS DATABASE \"./xor2gds.db\"" >> xor2gds.cal
exec echo "DRC SUMMARY REPORT \"./xor2gds.sum\"" >> xor2gds.cal
foreach {layerNum layerName} $layerMap_raw1 {
exec echo "$layerNum $layerName " >> layerMap_raw
}
foreach {layerNum layerName} $layerMap_raw2 {
exec echo "$layerNum $layerName " >> layerMap_raw
}
set layerMap [exec sort layerMap_raw uniq]
file delete layerMap_raw
set i 1
foreach {layerNum layerName} $layerMap {
set layerNum_new [expr $layerNum + 200]
set layerName_origin L$layerName
append layerName "_new"
set layerName_new L$layerName
exec echo "layer $layerName_origin $layerNum" >> xor2gds.cal
exec echo "layer $layerName_new $layerNum_new" >> xor2gds.cal
exec echo "\
rule$i {
xor $layerName_origin $layerName_new
} " >> xor2gds.cal
incr i
}
#Run DRC
exec calibre -drc -hier xor2gds.cal > xor2gds.log
上一篇:DRACULA中做LVL
下一篇:ESD分析Part(1)
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 什么是氢氧燃料电池,氢氧燃料电池的知识介绍2025/8/29 16:58:56
- SQL核心知识点总结2025/8/11 16:51:36
- 等电位端子箱是什么_等电位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重复控制的复合控制策略2025/7/29 16:58:24
- 什么是树莓派?一文快速了解树莓派基础知识2025/6/18 16:30:52









