Magic Mailing List |
|
From: Robert Penny (rob AT network DOT ucsd.edu) Date: Fri Mar 30 2001 - 17:03:32 EST
On Fri, 30 Mar 2001, Philippe O. Pouliquen wrote: > Since you have the book, why don't you check to see if there is any > restrictions on the CIF DS statement (i.e. that the resulting scale > must be an integer) and settle this once-and-for-all. Verbatim from the book: ******************** Start quote ************************* The mechanism for symbol definition includes a convenient way to scale distance measurements. The second and third arguments to the DS command are called a and b, respectively. As the intermediate form is read, each distance (position or size) measurement cited in the various commands (polygons, boxes, flashes, wires, and calls) in the symbol definition is scaled to (a*distance)/b. For example, if the designer uses a grid of 1 micron, the symbol definition might cite all distances in microns and specify a = 100, b = 1. Of the designer might choose lambda (characteristic fabrication dimension) as a convenient unit. This mechanism reduces the number of characters in the file by shrinking the integers that specify dimensions and may improve the legibility of the file (it provides neither scaling nor the ability to change the size of a symbol called within the definition.) ********************* End quote ************************** Verbatim lines from the syntax section (some intermediate lines deleted). ******************** Start quote ************************* defStartCommand = "D"{blank}"S"integer[ sep integer sep integer]. integer = { sep }integerD. integerD = digit{digit}. digit = "0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9". ********************* End quote ************************** Couple this with the section I quoted in my last mail: ******************** Start quote ************************* The units of measurement are hundredths of a micron (um); there is no limit on the size of a number. ********************* End quote ************************** .. and from the semantics section: ******************** Start quote ************************* .... Many of the decisions in designing the file format were made to avoid ambiguity or small but troublesome errors: floating point numbers are avoided; there are no iterative constructs, though there may be some in future additions to CIF. ********************* End quote ************************** I can't see any restrictions on scaling in a DS or requirements that the final representation be an integer number of centimicrons. Of course foundries will have their own limitations and will snap to their own grid quanta but that's a different issue from CIF being able to represent it. From what I can see in Mead & Conway you should be able to represent any object that is a rational number of centimicrons. Just don't try to draw pi, e or Sqrt(2) centimicrons. -Rob Penny (rob AT ucsd DOT edu)
|
|