We are developing a internal GDS checker in calibre DRC platform.We have completed most part of the checker but in one place we have compare two GDS.
Since we are developing checker as a generic checker we are using fixed "layer names" but for every process we will change the only the layer no.
For X process :
LAYER MET1 400
LAYER MAP 55 DATATYPE 0 400
For Y process :
LAYER MET1 400
LAYER MAP 30 DATATYPE 0 400
And we will use only MET1 layer name in DRC rule-file.
The problem is, if we want to use second GDS as input database then we have to use LAYOUT BUMP2 and we have define "LAYER MAP" section once again.
If we defined once again the LAYER MAP in rule-file,then the problem is the stream layer numbers are not fixed then for every process we should change layer numbers also then the rule-file will become process dependent. To make it process independent,we have checked the below options and these option are not worked properly(all these have some limitations):
*dbdiff (our calibre licence will not support this utility)
So please give me some solution with that we can make our DRC rule-file generic to all process.Is there command/option like "layout bump2 " we can specify offset of GDS layer numbers?
GDS2_MET1 = Copy (MET1+OFFSET layer number)
GDS2_MET1 = Copy (MET1+layout bump2)
LAYER GDS2_MET1 401
LAYER MAP (30+layout_bump2/offset) DATATYPE 0 401
In all the above cases we have to get the second GDS layer/geometry but the above options not worked(because calibre will not support these formats) so we would like to know the any equivalent calibre rule-format.
I wonder if a short PERL, AWK, TCL or shell script could be used to create both groups of LAYER MAP statements automatically.
Why would the second group of LAYER MAP statements cause the rulefile to be process dependent?