I need to translate the following code from Assura LVS to Calibre SVRF:
extractDevice("xnmos" _ngate_nmos6_swap nplus_term("d") poly_connect("g") nplus_term("s") ptub_connect("b") epi("ew") psub2("sub") _physical_ _bulkLayers_(ptub_connect epi psub2) _cellView_("xnmos ivpcell spt7") _flagMalformed_) term1area=measureParameter(area (nplus_term)) term1perimeter=measureParameter(perimeter (nplus_term)) ads=calculateParameter(term1area*0.0000000000001) attachParameter(ads ("as" "s") ("ad" "d") _ngate_nmos6_swap shared) pds=calculateParameter(term1perimeter*0.0000001) attachParameter(pds ("ps" "s") ("pd" "d") _ngate_nmos6_swap shared) saveProperty( _ngate_nmos6_swap "dtype" "mn6" ) saveProperty( _ngate_nmos6_swap "m" 1 ) saveRecognition( _ngate_nmos6_swap ( "frame" "drawing" ) ) mn6_wa = measureParameter( length (_ngate_nmos6_swap butting nsource_drain) 0.5) mn6_a = measureParameter( area (_ngate_nmos6_swap)) mn6_l = calculateParameter(( mn6_a / mn6_wa ) * 0.000001) mn6_w = calculateParameter( mn6_wa * 0.000001) attachParameter( mn6_w "w" _ngate_nmos6_swap ) attachParameter( mn6_l "l" _ngate_nmos6_swap ) saveProperty( geomOverlap( _ngate_nmos6_swap frame_match ) "matching" "on" ) saveProperty( geomAvoiding( _ngate_nmos6_swap frame_match ) "matching" "off"
Few particular questions:
1. Is there a Calibre SVRF translation for cellView() together with
used above ? If not, so how should I treat them?
2. It seems from pin names and device name that it's a MOSFET,
but there're differences between it and the normal MOS, so should it be
translated as DEVICE
M(xnmos) or any other name but not 'M' ?
3. How can I identify auxiliary layers (if any) in general,
and in the above piece of code particularly as an example to other
cases in the deck?
4. What are the corresponding DEVICE operation
equivalent secondary keywords corresponding to Assura: physical, bulkLayers, and flagMalformed ?
5 In some other devices, they used something like: nameParameter(width "w"),
how to map to SVRF?
Another question about the translation of: geomButting(A B keep limit)
If I translated it without keep limit, I would translate it as follows: WITH EDGE A (COIN OUT EDGE A B)
With keep limit specified, I tried to add the constraint to WITH EDGE as is, but the output is polygons having number of edges falls within the specified range, whereas it must be number of polygons not edges...
So how should it be translated?
The same scenario for geomOverlap(A B keep limit )
I've translated it (without keep limit) as: A NOT OUTSIDE B
I don't know how can it be translated if keep limit exists?
Thanks a lot an best regards,