Caltech Intermediate Form

Caltech Intermediate Form

Infobox file format
name = Caltech Intermediate Form(at)
extension = .cif
mime =
owner =
creatorcode = strubin
genre = EDA file format
containerfor =
containedby =
extendedfrom =
extendedto =

Caltech Intermediate Form (CIF) is a file format for describing integrated circuits.CIF provides a limited set of graphics primitives that are useful for describing the two-dimensionalshapes on the different layers of a chip.The format allows hierarchical description, which makes the representation concise.In addition, it is a terse but human-readable text format.

Overview

Each statement in CIF consists of a keyword or letter followed by parameters and terminatedwith a semicolon.Spaces must separate the parameters but there are no restrictions on the number of statementsper line or of the particular columns of any field.Comments can be inserted anywhere by enclosing them in parenthesis.

There are only a few CIF statements and they fall into one of two categories: geometry or control.The geometry statements are: LAYER to switch mask layers, BOX to draw arectangle, WIRE to draw a path, ROUNDFLASH to draw a circle, POLYGON to draw an arbitraryfigure, and CALL to draw a subroutine of other geometry statements.The control statements are DS to start the definition of a subroutine, DF to finish thedefinition of a subroutine, DD to delete the definition of subroutines, 0 through 9 toinclude additional user-specified information, and END to terminate a CIF file.All of these keywords are usually abbreviated to one or two letters that are unique.

Geometry

The LAYER statement (or the letter L) sets the mask layer to be usedfor all subsequent geometry until the next such statement.Following the LAYER keyword comes a single layer-name parameter.For example, the command: L CC;sets the layer to be the CMOS contact cut (see Fig. B.1 for some typical MOS layer names).

NMnMOS metal
NPnMOS polysilicon
NDnMOS diffusion
NCnMOS contact
NInMOS implant
NBnMOS buried
NGnMOS overglass
CMFCMOS metal 1
CMSCMOS metal 2
CPGCMOS polysilicon
CAACMOS active
CSGCMOS select
CWGCMOS well
CCCMOS contact
CVACMOS via
COGCMOS overglass
FIGURE B.1 CIF layer names for MOS processes.

The BOX statement (or the letter B) is the most commonly used way ofspecifying geometry.It describes a rectangle by giving its length, width, center position, and an optional rotation.The format is as follows: B length width xpos ypos [rotation] ;Without the rotation field, the four numbers specify a box the center of which isat ("xpos", "ypos") and is "length" across in x and "width" tall in y.All numbers in CIF are integers that refer to centimicrons of distance, unless subroutinescaling is specified (described later).The optional "rotation" field contains two numbers that define a vector endpointstarting at the origin.The default value of this field is (1, 0), which is a right-pointing vector.Thus the rotation clause 10 5 defines a 30-degree counterclockwise rotation from the normal.Similarly, 10 -10 will rotate clockwise by 45 degrees.Note that the magnitude of this rotation vector has no meaning.

The WIRE statement (or the letter W) is used to construct apath that runs between a set of points.The path can have a nonzero width and has rounded corners.After the WIRE keyword comes the width value and then an arbitrarynumber of coordinate pairs that describe the endpoints.Figure B.2 shows a sample wire.Note that the endpoint and corner rounding are implicitly handled.

The ROUNDFLASH statement (or the letter R) draws a filledcircle, given the diameter and the center coordinate. For example, the statement: R 20 30 40;will draw a circle that has a radius of 10 (diameter of 20), centered at (30, 40).

The POLYGON statement (or the letter P) takes a series ofcoordinate pairs and draws a filled polygon from them.Since filled polygons must be closed, the first and last coordinate points areimplicitly connected and need not be the same.Polygons can be arbitrarily complex, including concavity and self-intersection.Figure B.3 illustrates a polygon statement.

Hierarchy

The CALL statement (or the letter C) invokes a collectionof other statements that have been packaged with DS and DF.All subroutines are given numbers when they are defined and these numbers are used inthe CALL to identify them.If, for example, a LAYER statement and a BOX statement arepackaged into subroutine 4, then the statement: C 4;will cause the box to be drawn on that layer.

In addition to simply invoking the subroutine, a CALL statement can includetransformations to affect the geometry inside the subroutine.Three transformations can be applied to a subroutine in CIF: translation, rotation, and mirroring.Translation is specified as the letter T followed by an x, y offset.These offsets will be added to all coordinates in the subroutine, to translate itsgraphics across the mask.Rotation is specified as the letter R followed by an x, y vector endpointthat, much like the rotation clause in the BOX statement, defines a line to the origin.The unrotated line has the endpoint (1, 0), which points to the right.Mirroring is available in two forms: MX to mirror in x and MY to mirror in y.Mirroring is a bit confusing, because MX causes a negation of the xcoordinate, which effectively mirrors about the y axis.

Any number of transformations can be applied to an object and their listed orderis the sequence that will be used to apply them.Figure B.4 shows some examples, illustrating the importance of ordering thetransformations (notice that Figs. B.4c and B.4d produce different results byrearranging the transformations).

Defining subroutines for use in a CALL statement is quite simple.The statements to be packaged are enclosed between DS (definitionstart) and DF (definition finish) statements.Arguments to the DS statement are the subroutine number and a subroutine scaling factor.There are no arguments to the DF statement.The scaling factor for a subroutine consists of a numerator followed by a denominatorthat will be applied to all values inside the subroutine.This scaling allows large numbers to be expressed with fewer digits and allows easeof rescaling a design.The scale factor cannot be changed for each invocation of the subroutine since itis applied to the definition.As an example, the subroutine of Fig. B.4 can be described formally as follows: DS 10 20 2; B10 20 5 5; W1 5 5 10 15; DF;Note that the scale factor is 20/2, which allows the trailing zero to be droppedfrom all values inside the subroutine.

Arbitrary depth of hierarchy is allowed in CIF subroutines.Forward references are allowed provided that a subroutine is defined before it is used.Thus the sequence: DS 10; ... C 11; DF; DS 11; ... DF; C 10;is legal, but the sequence: C 11; DS 11; ... DF;is not. This is because the actual invocation of subroutine 11 doesnot occur until after its definition in the first example.

Control

CIF subroutines can be overwritten by deleting them and then redefining them.The DD statement (delete definition) takes a single parameter anddeletes every subroutine that has a number greater than or equal to this value.The statement is useful when merging multiple CIF files because designs can bedefined, invoked, and deleted without causing naming conflicts.However, it is not recommended for general use by CAD systems.

Extensions to CIF can be done with the numeric statements 0 through 9.Although not officially part of CIF, certain conventions have evolved for theuse of these extensions (see Fig. B.5).

0 x y layer N name;Set named node on specified layer and position
0V x1 y1 x2 y2 ... xn yn;Draw vectors
2A "msg" T x y;Place message above specified location
2B "msg" T x y;Place message below specified location
2C "msg" T x y;Place message centered at specified location
2L "msg" T x y;Place message left of specified location
2R "msg" T x y;Place message right of specified location
4A lowx lowy highx highy;Declare cell boundary
4B instancename;Attach instance name to cell
4N signalname x y;Labels a signal at a location
9 cellname;Declare cell name
91 instancename;Attach instance name to cell
94 label x y;Place label in specified location
95 label length width x y;Place label in specified area
FIGURE B.5 Typical user extensions to CIF.

The final statement in a CIF file is the END statement (or the letter E).It takes no parameters and typically does not include a semicolon.

References

* [http://www.rulabinsky.com/cavd/text/chapb.html Computer Aids for VLSI Design - Appendix B: Caltech Intermediate Format by Steven M. Rubin]
*Hon, Robert W. and Sequin, Carlo H., "A Guide to LSI Implementation," 2nd Edition, Xerox Palo Alto Research Center technical memo SSL-79-7, January 1980.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Caltech Intermediate Form — (CIF) ist eine maschinenlesbare Datenaustauschsprache für Layoutdaten bei Electronic Design Automation Systemen (EDA Systemen). Entwickelt wurde die Caltech Intermediate Form zwischen 1977 und 1981 am California Institute of Technology von Carver …   Deutsch Wikipedia

  • Intermediate — (dt. Intermediat, von mlat. intermediātus „Zwischenprodukt“, „Zwischenglied“) steht für: Intermediate (Bereifung), ein Rennreifen Typ Intermediate Bulk Container, ein Transportcontainer für Flüssigkeiten Intermediate Care, eine Intensiv Abteilung …   Deutsch Wikipedia

  • Intermediat — Das englische Wort Intermediate (dt. Intermediat, von mlat. intermediātus „Zwischenprodukt“, „Zwischenglied“) steht für: Intermediate (Bereifung), ein Rennreifen Typ Intermediate Bulk Container, ein Transportcontainer für Flüssigkeiten… …   Deutsch Wikipedia

  • CIF — is an acronym that may stand for: * Cost, Insurance and Freight a sales contract term indicating that price includes cost, insurance and freight * Common Intermediate Format a standard video and computer image size containing 352 x 288 pixels *… …   Wikipedia

  • CIF — steht für: Caltech Intermediate Form, ein Dateiformat für Layoutdaten von Elektrobahnen Cauchysche Integralformel, ein Satz in der mathematischen Funktionentheorie Common Intermediate Format, ein Videoformat Cost, Insurance, Freight, eine… …   Deutsch Wikipedia

  • CIF — • Common Intermediate/Interchange Format (for ISDN high end video/CCIR 601) • CALTECH Intermediate Form • Central Instrumentation Facility …   Acronyms

  • CIF — [1] Common Intermediate/Interchange Format (for ISDN high end video/CCIR 601) [2] CALTECH Intermediate Form [3] Central Instrumentation Facility …   Acronyms von A bis Z

  • Comparison of EDA software — Comparison of Electronic Design Automation (EDA) software Contents 1 Free and Open Source Software (FOSS) 2 Proprietary software 3 Comparison of EDA packages 4 See …   Wikipedia

  • Galaxy — This article is about the astronomical structure. For other uses, see Galaxy (disambiguation). NGC 4414, a typical spiral galaxy in the constellation Coma Berenices, is about 55,000 light years in diameter and approximately 60 million light… …   Wikipedia

  • Ctb — In dieser Liste sind übliche Dateinamenserweiterungen aufgelistet, die in einigen Betriebssystemen (wie zum Beispiel Microsoft Windows) zur Unterscheidung von Dateiformaten verwendet werden. In anderen Betriebssystemen erfolgt die… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”