'''OASIS'''<ref>The trade name [http://tarr.uspto.gov/servlet/tarr?regser=serial&entry=78169188 OASIS is a registered trademark in the USA] of Thomas J. Grebinski, Alamo, California and licensed for use exclusively by [http://www.semi.org/ SEMI].</ref> (Open Artwork System Interchange Standard) is a language used by computers to represent and express an electronic pattern for an integrated circuit during its design and manufacture. The language defines the code required for geometric shapes such as polygons, rectangles and trapezoids. It defines the type of properties each can have, how they can be organized into cells containing patterns made by these shapes and defines how each can be placed relative to each other.
[[File:Wikipediaoasisimage 2.png|thumb|This view is called a cell view. A cell can be a collection of placed geometric shapes. It also can be a collection of cells; each containing other cells and/or geometric shapes. Each cell must have at least one layer. In this view, each color represents a different layer within the cell. An integrated circuit can contain tens of thousands of unique cells and repeated instances of the same cell.]]
'''OASIS'''<ref>The trade name [http://tarr.uspto.gov/servlet/tarr?regser=serial&entry=78169188 OASIS is a registered trademark in the USA] of Thomas J. Grebinski, Alamo, California and licensed for use exclusively by [http://www.semi.org/ SEMI].
</ref> (Open Artwork System Interchange Standard) is a language used by computers to represent and express an electronic pattern for an integrated circuit during its design and manufacture. The language defines the code required for geometric shapes such as polygons, rectangles and trapezoids. It defines the type of properties each can have, how they can be organized into cells containing patterns made by these shapes and defines how each can be placed relative to each other.
==Introduction==
<br />
OASIS is the successor to the integrated circuit design and manufacturing electronic pattern layout language, [[GDSII|GDSII]].
GDSII had been created in the 1970s when integrated circuit designs had a few hundred thousand geometric shapes, properties and placements to manage. Today, there can be billions of shapes, properties and placements to manage. OASIS addressed the constraints that were preventing its effective use during the design and manufacture of today's leading edge integrated circuits.
The effort to create the competing format OASIS started in June 2001. The release of version 1.0 took place in March 2004. Its use required the development of new OASIS readers and writers that could be coupled to design and manufacturing equipment already equipped with GDSII readers and writers. Its industry wide adoption was born out of a concerted effort by integrated circuit design, equipment, photomask, fabless, 3rd party Intellectual Property (IP) and manufacturing companies from the United States, Japan, Taiwan, Korea and Europe. OASIS is now used for most leading edge integrated circuit designs.
GDSII had been created in the 1970s when integrated circuit designs had a few hundred thousand geometric shapes, properties and placements to manage. Today, there can be billions of shapes, properties and placements to manage. OASIS addressed the constraints that were preventing its effective use during the design and manufacture of today's leading edge integrated circuits.<br />
A constrained version of OASIS, called [[OASIS.MASK|OASIS.MASK]], addresses the unique needs of semiconductor photomask manufacturing equipment such as pattern generators and inspection systems. Both OASIS and OASIS.MASK are industry standards.
==Example Datafile==
The effort to create the competing format OASIS started in June 2001. The release of version 1.0 took place in March 2004. Its use required the development of new OASIS readers and writers that could be coupled to design and manufacturing equipment already equipped with GDSII readers and writers. Its industry wide adoption was born out of a concerted effort by integrated circuit design, equipment, photomask, fabless, 3rd party Intellectual Property (IP) and manufacturing companies from the United States, Japan, Taiwan, Korea and Europe. OASIS is now used for most leading edge integrated circuit designs.<br />
{{over detailed|section=yes}}
[[File:Wikipediaoasisimage 2.png|thumb|This view is called a cell view. A cell can be a collection of placed geometric shapes. It also can be a collection of cells; each containing other cells and/or geometric shapes. Each cell must have at least one layer. In this view, each color represents a different layer within the cell. An integrated circuit can contain tens of thousands of unique cells and repeated instances of the same cell.]]
Below is a human-readable text representation of the OASIS binary file that allowed the expression of the above "top" cell view called "Placed__shapes_and_cells_within_an_IC_cell". The top cell is defined by a file-level standard PROPERTY record named S_TOP_CELL. The PROPERTY record below references a PROPNAME record (refNum=0) that has a ''propname-string'' called S_TOP_CELL. The top cell contains the placement of three cells called "bottom cells". Bottom cells contain geometric shapes only.
A constrained version of OASIS, called [[OASIS.MASK|OASIS.MASK]], addresses the unique needs of semiconductor photomask manufacturing equipment such as pattern generators and inspection systems. Both OASIS and OASIS.MASK are industry standards.<br />
==Example OASIS Representation of a Cell Containing other Cells with Geometric Shapes==
<br />
Below is a human-readable text representation of the OASIS binary file that allowed the expression of the above "top" cell view called "Placed__shapes_and_cells_within_an_IC_cell". We have defined the top cell by a file-level standard PROPERTY record named S_TOP_CELL. The PROPERTY record below references a PROPNAME record (refNum=0) that has a ''propname-string'' called S_TOP_CELL. The top cell contains the placement of three cells called "bottom cells". Bottom cells contain geometric shapes only.<br />
Each line of the OASIS representation below contains (from the left) a record number and a record type followed by a set of values that define that record type. For instance, the first RECTANGLE record below defines the following type of rectangle shape, its size and its absolute ___location:<br />
Each line of the OASIS representation below contains (from the left) a record number and a record type followed by a set of values that define that record type. For instance, the first RECTANGLE record below defines the following type of rectangle shape, its size and its absolute ___location:
* Layer
* Lower-left y-coordinate
Absent in this RECTANGLE record is an option to describe the locations of repeated instances of the rectangle. Also, this record type allows the description of a square by defining the value for the width only. To enable these descriptions, one must set what is referred to as the bit pattern for the RECTANGLE record. For a RECTANGLE record, the bit pattern (either a 1 (enabled) or a 0 (disabled)) is:
SWHXYRDL (Square,Width,Height,X-coordinate,Y-coordinate,Repetition,Datatype,Layer-number).
Absent in this RECTANGLE record is an option to describe the locations of repeated instances of the rectangle. Also, this record type allows the description of a square by defining the value for the width only. To enable these descriptions, one must set what is referred to as the bit pattern for the RECTANGLE record. For a RECTANGLE record, the bit pattern (either a 1(enabled) or a 0(disabled)) is:<br />
For this RECTANGLE record, the bit pattern is set to 0WHXY0DL (Not a square,Width,Height,X-coordinate,Y-coordinate,Not repetitive,Datatype,Layer-number). The first and second RECTANGLE records in cell "Cell_Placed_Shapes_2" (CELL refNum=1)" define repeated instances of a rectangle. The first RECTANGLE record (0WHXYRDL) uses a type 10 repetition (rep=rep10). The second RECTANGLE record (0WHXYR0L) uses a type 11 repetition (rep=Rep11). There are a total of twelve repetition types (Rep0-Rep11). In the second RECTANGLE record bit pattern, the datatype(D) was set to '0' because the same datatype used in the first RECTANGLE record applies to the second RECTANGLE record. Other OASIS-supported geometric shapes having the record types POLYGON, TRAPEZOID, CTRAPEZOID, CIRCLE and PATH are defined by different bit patterns.
According to the CELLNAME records below, the bottom cells have the following ''cellname-strings'' "Cell_Placed_Shapes_1, . . . _2 and . . . _3". Each ''layer-number'' that had been assigned to a geometric shape has an association with a LAYERNAME record that defines a ''layer-interval'' and a ''layername-string''. In this view, the ''layername-string'', "Layer_Color_Mapping", defines the layer intervals used in a layer color table "layercolormap.data".
SWHXYRDL (Square,Width,Height,X-coordinate,Y-coordinate,Repetition,Datatype,Layer-number).<br />
The example below was not meant to be an exhaustive description of the OASIS language. The objective was to give the interested reader a general understanding of the scope of the OASIS language and how it applies to the representation and the expression of the electronic layout patterns that define an integrated circuit.
- MAGIC "%SEMI-OASIS\015\012
For this RECTANGLE record, the bit pattern is set to 0WHXY0DL (Not a square,Width,Height,X-coordinate,Y-coordinate,Not repetitive,Datatype,Layer-number). The first and second RECTANGLE records in cell "Cell_Placed_Shapes_2" (CELL refNum=1)" define repeated instances of a rectangle. The first RECTANGLE record (0WHXYRDL) uses a type 10 repetition (rep=rep10). The second RECTANGLE record (0WHXYR0L) uses a type 11 repetition (rep=Rep11). There are a total of twelve repetition types (Rep0-Rep11). In the second RECTANGLE record bit pattern, the datatype(D) was set to '0' because the same datatype used in the first RECTANGLE record applies to the second RECTANGLE record. Other OASIS-supported geometric shapes having the record types POLYGON, TRAPEZOID, CTRAPEZOID, CIRCLE and PATH are defined by different bit patterns.<br />
1 START version="1.0" unit=real0(1000) offsetFlag=0 offsets=[(0,0) (0,0) (0,0) (0,0) (0,0) (0,0)]
28 PROPERTY 00010CNS refNum=0 count=(1) string12("Placed_shapes_and_cells_within_an_IC_cell")
7 PROPNAME name="S_TOP_CELL" refNum=(0)
According to the CELLNAME records below, the bottom cells have the following ''cellname-strings'' "Cell_Placed_Shapes_1, . . . _2 and . . . _3". Each ''layer-number'' that had been assigned to a geometric shape has an association with a LAYERNAME record that defines a ''layer-interval'' and a ''layername-string''. In this view, the ''layername-string'', "Layer_Color_Mapping", defines the layer intervals used in a layer color table "layercolormap.data".<br />
3 CELLNAME name="Cell_Placed_Shapes_1" refNum=(0)
3 CELLNAME name="Cell_Placed_Shapes_2" refNum=(1)
3 CELLNAME name="Cell_Placed_Shapes_3" refNum=(2)
The example below was not meant to be an exhaustive description of the OASIS language. The objective was to give the interested reader a general understanding of the scope of the OASIS language and how it applies to the representation and the expression of the electronic layout patterns that define an integrated circuit.<br />
3 CELLNAME name="Placed_shapes_and_cells_within_an_IC_cell" refNum=(3)
11 LAYERNAME name="Layer_Color_Mapping" layers=3(25:25) datatypes=1(0:0)
11 LAYERNAME name="Layer_Color_Mapping" layers=4(41:46) datatypes=1(0:0)
- MAGIC "%SEMI-OASIS\015\012<br />
11 LAYERNAME name="Layer_Color_Mapping" layers=3(49:49) datatypes=1(0:0)
1 START version="1.0" unit=real0(1000) offsetFlag=0 offsets=[(0,0) (0,0) (0,0) (0,0) (0,0) (0,0)]<br />
11 LAYERNAME name="Layer_Color_Mapping" layers=3(63:63) datatypes=1(0:0)
28 PROPERTY 00010CNS refNum=0 count=(1) string12("Placed_shapes_and_cells_within_an_IC_cell")<br />
13 CELL refNum=3
7 PROPNAME name="S_TOP_CELL" refNum=(0)<br />
17 PLACEMENT CNXY0000 refNum=0 x=0 y=0
3 CELLNAME name="Cell_Placed_Shapes_1" refNum=(0)<br />
17 PLACEMENT CNXY0000 refNum=1 x=0 y=0
3 CELLNAME name="Cell_Placed_Shapes_2" refNum=(1)<br />
17 PLACEMENT CNXY0000 refNum=2 x=0 y=0
3 CELLNAME name="Cell_Placed_Shapes_3" refNum=(2)<br />
13 CELL refNum=0
3 CELLNAME name="Placed_shapes_and_cells_within_an_IC_cell" refNum=(3)<br />
20 RECTANGLE 0WHXY0DL layer=41 datatype=1 width=3960 height=1980 x=-440 y=-220
11 LAYERNAME name="Layer_Color_Mapping" layers=3(25:25) datatypes=1(0:0)<br />
20 RECTANGLE 00H0Y00L layer=42 height=2420 y=1760
11 LAYERNAME name="Layer_Color_Mapping" layers=4(41:46) datatypes=1(0:0)<br />
20 RECTANGLE 0WHXY00L layer=63 width=3080 height=3960 x=0 y=0
11 LAYERNAME name="Layer_Color_Mapping" layers=3(49:49) datatypes=1(0:0)<br />
20 RECTANGLE 0WHXY00L layer=43 width=2255 height=55 x=110 y=605
11 LAYERNAME name="Layer_Color_Mapping" layers=3(63:63) datatypes=1(0:0)<br />
20 RECTANGLE 0WH0Y000 width=2860 height=330 y=660
13 CELL refNum=3<br />
20 RECTANGLE 00H0Y000 height=110 y=2530
17 PLACEMENT CNXY0000 refNum=0 x=0 y=0<br />
20 RECTANGLE 0WH0Y000 width=2750 height=220 y=2640
17 PLACEMENT CNXY0000 refNum=1 x=0 y=0<br />
20 RECTANGLE 0WH0Y000 width=2255 height=550 y=2860
17 PLACEMENT CNXY0000 refNum=2 x=0 y=0<br />
20 RECTANGLE 0WHXY000 width=330 height=440 x=2035 y=165
13 CELL refNum=0<br />
20 RECTANGLE 0WHXY0DL layer=41 datatype=10WH0Y000 width=3960935 height=1980 x=-440220 y=-220<br />2310
20 RECTANGLE 00H0Y00L0WH0Y000 layerwidth=42330 height=2420385 y=1760<br />3410
20 RECTANGLE 0WHXY00L layer=63 width=3080 height=3960S00XY000 x=02585 y=0<br />3465
20 RECTANGLE 0WHXY00L layer=4344 width=22553330 height=551665 x=110-125 y=605<br />1760
20 RECTANGLE 0WH0Y000 width=28602670 height=330410 y=660<br />3425
20 RECTANGLE 00H0Y0000WH0Y000 width=3330 height=110250 y=2530<br />3835
20 RECTANGLE 0WH0Y0000WHXY000 width=2750250 height=220410 yx=2640<br2955 />y=3425
20 RECTANGLE 0WH0Y0000WHXY00L layer=45 width=22553330 height=5501885 yx=2860<br-125 />y=-125
20 RECTANGLE 0WHXY000SW0XY000 width=330 height=440410 x=20352545 y=165<br />3425
13 CELL refNum=1
20 RECTANGLE 0WH0Y000 width=935 height=220 y=2310<br />
20 RECTANGLE SW0XYRDL layer=25 datatype=0 width=160 x=195 y=690 rep=rep10[dim=15 disp=(g(0,1430) g(0,1045) g(550,-1375) g(220,-550) g(165,-495) g(0,1870) g(165,-495) g(825,-1870) g(0,3300) g(275,-1980) g(165,1540) g(110,440) g(55,-2805) g(0,1650))]
20 RECTANGLE 0WH0Y000 width=330 height=385 y=3410<br />
20 RECTANGLE 0WHXYR0L layer=46 width=340 height=220 x=105 y=2030 rep=rep11[dim=3 grid=10 disp=(g(55,-21) g(165,-22))]
20 RECTANGLE S00XY000 x=2585 y=3465<br />
20 RECTANGLE 0WHXY00L layer=440WH0YR00 width=3330505 height=1665120 xy=-1252250 yrep=1760<brrep10[dim=3 disp=(g(2365,-1100) />g(0,880))]
20 RECTANGLE 0WH0Y0000W0XY000 width=2670285 heightx=410325 y=3425<br />1370
20 RECTANGLE 0WH0Y000 width=3330120 height=250540 y=3835<br />1490
20 RECTANGLE 0WHXY000 width=25000HXY000 height=4101045 x=2955490 y=3425<br />325
20 RECTANGLE 0WHXY00L00H0YR00 layerheight=451320 widthy=33302370 heightrep=1885 xrep2[xdim=-1252 ydx=-125<br />935]
20 RECTANGLE SW0XY0000WHXY000 width=410890 height=120 x=2545655 y=3425<br />1700
20 RECTANGLE 0WHXY000 width=120 height=825 x=875 y=325
13 CELL refNum=1<br />
20 RECTANGLE SW0XYRDL layer=25 datatype=0SW00YR00 width=160 x=195340 y=6901150 rep=rep10[dim=153 disp=(g(0330,1430880) g(01265,1045) g(550,-1375) g(220,-550) g(165,-495) g(0,1870) g(165,-495) g(825,-1870) g(0,3300) g(275,-1980) g(165,1540) g(110,440) g(55,-2805) g(0,1650990))]<br />
13 CELL refNum=2
20 RECTANGLE 0WHXYR0L layer=46 width=340 height=220 x=105 y=2030 rep=rep11[dim=3 grid=10 disp=(g(55,-21) g(165,-22))]<br />
20 RECTANGLE 0WH0YR000WH0Y0DL widthlayer=50525 heightdatatype=1200 ywidth=2250120 repheight=rep10[dim=31650 dispy=(g(2365,-1100) g(0,880))]<br />2040
20 RECTANGLE 0W0XY00000HXY000 widthheight=2851375 x=3251425 y=1370<br />325
20 RECTANGLE 0WH0Y000 width=12000HX0000 height=5401155 yx=1490<br />1810
20 RECTANGLE 00HXY0000WH0Y000 heightwidth=1045835 xheight=490120 y=325<br />1480
20 RECTANGLE 00H0YR000WH0Y000 width=120 height=13202090 y=2370 rep=rep2[xdim=2 dx=935]<br />1600
20 RECTANGLE 0WHXY000 width=89000HXY000 height=120770 x=6552470 y=1700<br />380
20 RECTANGLE 0WHXY000 width=12000H0Y000 height=825 x=875870 y=325<br />2150
20 RECTANGLE SW00YR0000HXY000 widthheight=340760 yx=11502855 repy=rep10[dim=3 disp=(g(330,880) g(1265,990))]<br />1270
20 RECTANGLE 0WHXYR0L layer=49 width=3520 height=440 x=-220 y=0 rep=rep3[ydim=2 dy=3520]
13 CELL refNum=2<br />
20 RECTANGLE 0WH0Y0DL0WHXYR00 layerwidth=25220 datatypeheight=0495 widthx=120110 heighty=16501155 yrep=2040<brrep10[dim=2 />disp=(g(55,-715))]
20 RECTANGLE 00HXY0000WH0Y000 heightwidth=1375880 xheight=1425220 y=325<br />1650
20 RECTANGLE 00HX00000WH0Y000 heightwidth=1155330 xheight=1810<br440 />y=2090
20 RECTANGLE 0WH0Y000 width=835715 height=120275 y=1480<br />2530
20 RECTANGLE 0WH0Y0000WHXY000 width=120220 height=2090440 yx=1600<br165 />y=3080
20 RECTANGLE 00HXY000 height=770S00XY000 x=2470605 y=380<br />2805
20 RECTANGLE 00H0Y0000W00Y000 heightwidth=8702200 y=2150<br />3025
20 RECTANGLE 00HXY0000WHXY000 width=330 height=760110 x=2855660 y=1270<br />1870
20 RECTANGLE 0WHXYR0L layer=490WHXY000 width=3520770 height=440220 x=-220880 y=0 rep=rep3[ydim=2 dy=3520]<br />1210
20 RECTANGLE 0WHXYR000WHXY000 width=2201045 height=495275 x=1101045 y=1155 rep=rep10[dim=2 disp=(g(55,-715))]<br />
20 RECTANGLE 0WH0Y000 width=88000H0Y000 height=220 y=1650<br />2530
20 RECTANGLE 0WH0Y0000WH0YR00 width=330 height=44055 y=2090<br2750 />rep=rep10[dim=2 disp=(g(1430,495))]
20 RECTANGLE 0WH0Y0000WHXY000 width=715440 height=275220 yx=2530<br1210 />y=2090
20 RECTANGLE 0WHXY000 width=220 height=440660 x=1651430 y=3080<br />1430
20 RECTANGLE S00XY0000WHXY000 width=990 height=55 x=6051815 y=2805<br />2970
20 RECTANGLE 0W00Y0000WHXY000 width=2200220 yheight=3025<br1540 />x=1870 y=990
20 RECTANGLE 0WHXY000 width=330605 height=110220 x=6602310 y=1870<br />1540
20 RECTANGLE 0WHXY0000WHXYR00 width=770220 height=220880 x=8802695 y=1210<br660 />rep=rep3[ydim=2 dy=1100]
2 END
20 RECTANGLE 0WHXY000 width=1045 height=275 x=1045 y=715<br />
20 RECTANGLE 00H0Y000 height=220 y=2530<br />
20 RECTANGLE 0WH0YR00 width=330 height=55 y=2750 rep=rep10[dim=2 disp=(g(1430,495))]<br />
20 RECTANGLE 0WHXY000 width=440 height=220 x=1210 y=2090<br />
20 RECTANGLE 0WHXY000 width=220 height=660 x=1430 y=1430<br />
20 RECTANGLE 0WHXY000 width=990 height=55 x=1815 y=2970<br />
20 RECTANGLE 0WHXY000 width=220 height=1540 x=1870 y=990<br />
20 RECTANGLE 0WHXY000 width=605 height=220 x=2310 y=1540<br />
20 RECTANGLE 0WHXYR00 width=220 height=880 x=2695 y=660 rep=rep3[ydim=2 dy=1100]<br />
2 END<br />
==Industry Standard==
<br />
OASIS and OASIS.MASK are now formal industry standards. Both are owned and maintained by the trade and standards organization [[SEMI]]. SEMI serves the semiconductor materials and equipment industries worldwide.<br />
==External links to Standards==
<br />
* [http://ams.semi.org/ebusiness/standards/SEMIStandardDetail.aspx?ProductID=1948&DownloadID=1108 SEMI P39 OASIS<sup>TM</sup> Standard]
* [http://ams.semi.org/ebusiness/standards/SEMIStandardDetail.aspx?ProductID=211&DownloadID=1882 SEMI P44 OASIS<sup>TM</sup> Standard]
==References==
<br />
* [http://www.semiwiki.com/forum/content/445-dawn-oasis.html SemiWiki Dawn at the OASIS, Dusk for GDSII]
==Footnotes==
<br />
{{Reflist}}
|