Hi All,
I've encounter a problem, I'm doing some custom check operation as follows,
1. reduce boundry 5 micron
2. and all layer with reduced
3. then dump m1 and allreduced as gds. I've done all, but i'm facing an issue in tvf for dumping gds.
#! tvf
tvf::VERBATIM {
.layou.....
.layout.........
....................
LAYER ALL 1 2 3 4 5 6 7 8 9 10 11
RED_PRB = SIZE prBoundary BY -5.0
REMOVE = ALL NOT RED_PRB
rem {
COPY REMOVE
}
DRC CHECK MAP rem GDSII 111 OUT.GDS
DRC CHECK MAP rem ASCII
}
# =======================================
proc simple_layer { layers } {
foreach lay $layers {
set lname sl_$lay
tvf::LAYER $lname $lay
tvf::RULECHECK COPY_LAY_$lay { eval {tvf::@} Copy of layer $lay
tvf::OUTPUT "$lname AND REMOVE"
}
}
}
simple_layer { 1 2 111 3}
My Problem is, i want to dump all the given input foreach layer like 31 1 2 111 3 to gds after anding with REMOVE. like we do in
DRC CHECK MAP rem GDSII $lay OUT.GDS, The script is working for ascii purpose, but i also want results to be in gds.
example :
DRC CHECK MAP rem_1 GDSII 1 OUT.GDS
DRC CHECK MAP rem_2 GDSII 2 OUT.GDS
Please provide the solution in calibre svrf or tvf format (not calibredesignrev).
I have several suggestions:
1. replace TVF::OUTPUT with TVF::OUTLAYER, there is no such command "TVF::OUTPUT"
2. I think you will need to put your DRC Checkmap statement in the foreach loop, and have it use the rulecheck name in the loop.
3. One way to develop this might be to write the statements for one layer, without a loop. Then, when that is working, convert it to the loop.
Hope that helps,
Kim