Syntax: !tospot [spotsize]When an e-beam mask is written, the layout is rendered using a certain pixel size (known as the ``spot size'') set by the e-beam equipment. This size may be as large as 0.5 microns but is typically much smaller, with smaller sizes providing higher resolution, but taking longer to write and therefor costing more. There can be numerical problems in ``rasterizing'' round objects to the e-beam grid. Since the round object is rendered as a collection of spot-pixels, the feature is not particularly round, but most importantly the number of pixels used may not be well defined, and therefor the figure area may not be as expected, or vary depending on position or rotation. Xic
The !tospot command will apply an algorithm (described below) to all selected polygons. The spotsize, if given, is the spot size to use in microns. Values up to 1.0 micron are accepted. If not given, the value is taken from the SpotSize variable if set, or the value of the MfgGrid from the technology file if SpotSize is not set.
The algorithm is intended to translate small objects with many vertices to a representation which will pass unchanged through e-beam rasterization. This will in general change the shape of an object, to something close to that which will be rendered on the mask.
The algorithm uses the following logic:
Following application of the algorithm, each vertex of the figure is centered in an e-beam spot, so it is unlikely that round-off or other error will cause the figure to change during rasterization.
The algorithm is intended for unconnected, nonconducting objects such as vias. It should not in general be applied to wiring objects, since it will generate small gaps between processed objects which were originally touching, which will cause the extraction functions to detect that the objects are disconnected.
Although the object is shown on-screen as a polygon, The actual rendered object will be composed of pixels. The size of the object on-screen is therefor one spot-size smaller than the rendered size (since half of the spot for each edge is not shown).
Applying !tospot to circular objects created with a SpotSize is not the same as creating the circular object with the round or donut buttons with SpotSize nonzero. When using !tospot on round objects created without SpotSize set, it is best to use an even number of sides for round objects. In particular, an 8-sided figure is probably the best choice for a ``circular'' via.