poly_edge_code()

Select polygons based upon edge code information computed during a merge operation. Select only polygons with have all the given path types. Input layer must be the result of a merge command. Returns: A polygon layer.

See also: dve_drc()

Syntax

dve_drc (poly_edge_code (inLayer) [,qualifierName,qualifierValue]);
where:

inLayer A polygon layer produced by a merge operation between two layers
qualifierName, qualifierValue A name, value pair that qualifies the selection

Selection Qualifier: DVE_RN_EDGE_SELECT

Qualifier Resource Value

DVE_RV_ACCEPT_ANY Select polygon if any path codes are found
DVE_RV_ACCEPT_ALL (default) Select polygon if all path codes are found
DVE_RV_REJECT_ANY Reject polygon if any one of the path codes are found
DVE_RV_REJECT_ALL Reject polygon if exactly all the path codes are found

If both accept and reject values are specified then a polygon passes the test only if it does have the edge codes specified in the accept command, and does not have the codes in the reject command.

Edge Code Qualifiers

DVE_RN_PATH_CODE

Example 1

decl lyrCond = dve_import_layer ("cond");
decl lyrCond2 = dve_import_layer ("cond2");
decl lyrError101 = dve_export_layer ("error101");
decl lyrPolyCombine = NULL;
decl lyrPolyOverlap = NULL;
decl lyrPolyMerge = NULL;
decl lyrPoly = NULL;
lyrPolyCombine = dve_bool_or (lyrCond, lyrCond2);
lyrPolyOverlap = dve_bool_and (lyrCond, lyrCond2);
lyrPolyMerge = dve_bool_and (lyrPolyCombine, lyrPolyOverlap);
lyrPoly = dve_drc (poly_edge_code (lyrPolyMerge),
        DVE_RN_EDGE_SELECT, DVE_RV_ACCEPT_ANY,
        DVE_RN_PATH_CODE, DVE_RV_INT);
lyrError101 += dve_drc (all_edges (lyrPoly), "Conductive metal overlaps");

Example 2

Consider the recognition of a MOS gate:

decl lyrGate = dve_bool_and(lyrPoly, lyrDiff);

But suppose there is a section of the gate where a lyrPoly internally butts diffusion:

The problem is how to distinguish between gates G1 (legal) and G2 (illegal). The solution is to consider the edge codes that make up the polygon. Internally, a bit is set for each type of edge included in the polygon. So that

 

Privacy Statement  | Terms of Use  | Legal | Contact Us  | © Agilent 2000-2008 

Contents
Additional Resources