Patent ID: 8819600

Claim:
A computer-implemented method for polygon recovery from a +1/−1 description of a plurality of polygons of a very large scale integrated (VLSI) mask for production of a VLSI semiconductor device, comprising: receiving, by a processor of a computer, a set of data comprising the +1/−1 description of the plurality of polygons of the VLSI mask, the +1/−1 description comprising a plurality of corners; determining a 4-directional data structure, a Mm value comprising a first limit value, and a Mp value comprising a second limit value for each of the plurality of corners; and recovering the plurality of polygons from the set of data by assigning each of the plurality of corners to a single polygon of the plurality of polygons based on the 4-directional data structure, the Mm value, and the Mp value of each of the plurality of corners, and determining an order of the respective corners of each polygon of the plurality of polygons of the VLSI mask, wherein recovering the plurality of polygons comprises: determining a starting corner of the plurality of corners; setting a current corner equal to the starting corner; based on the Mm value and the Mp value of the current corner, determining a next corner of the plurality of corners, wherein the next corner is assigned to the same polygon of the plurality of polygons as the starting corner; adding the current corner to an output data structure comprising the recovered polygons; deleting the current corner from the set of data comprising the +1/−1 description of the plurality of polygons by adjusting the 4-directional data structure for the current corner; and setting the current corner equal to the next corner.