Open Artwork System Interchange Standard: Difference between revisions

Content deleted Content added
Tgrebinski (talk | contribs)
No edit summary
remove outdated npov tag
 
(180 intermediate revisions by 53 users not shown)
Line 1:
{{Infobox file format
SEMI P39 - '''Open Artwork System Interchange Standard''' (OASIS<sup>®</sup>) is a file format used as a cell and chip level representation and expression of physical (mostly geometric) layout data. The format represents layout data found in cell Libraries and represents data used in chip-level physical layout design. The data within an OASIS file is organized by cell with, in some instances, lower-level references to other dependent cells. At the cell Library level, the layout for each cell is represented independently from the other cells within the Library. Ideally, all cell layout data is based on foundry-verified process data. There may be hundreds of thousands of cells within one Library. Typically, within a cell Library, there will be one OASIS data file for each cell. The cell Library may also contain a single merged OASIS file encapsulating all cells.
| name = OASIS
| developer = [[SEMI]]
| released = {{Start date and age|2002|9|br=yes}}{{r|:1}}
| standards = SEMI P39-0416{{r|:0}}
| free = No
| open = Yes
| url = [https://store-us.semi.org/products/p03800-semi-p39-specification-for-oasis%C2%AE-open-artwork-system-interchange-standard SEMI SEMI P39 - Specification for OASIS ] (P39-0416)
}}
 
'''Open Artwork System Interchange Standard''' ('''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>) is a binary file format used for specification of data structures for [[photomask]] production.<ref>{{Cite web |title=SEMI P39 : 2016 SPECIFICATION FOR OASIS - OPEN ARTWORK SYSTEM INT |url=https://infostore.saiglobal.com/en-us/Standards/SEMI-P39-2016-1036702_SAIG_SEMI_SEMI_2419502/ |access-date=2023-05-23 |website=infostore.saiglobal.com}}</ref> It's used to represent a pattern an interchange and encapsulation format for hierarchical integrated circuit mask layout information produced during [[integrated circuit design]] that is further used for [[Semiconductor device fabrication|manufacturing]] of a [[photomask]]. The standard is developed by [[SEMI]].<ref name=":0">{{cite web |title=OASIS |url=https://www.layouteditor.org/layout/file-formats/oasis#:~:text=Open%20Artwork%20System%20Interchange%20Standard%20(OASIS)%20is%20a%20specification%20for,is%20the%20trademark%20of%20SEMI. |access-date=2022-05-26 |website=www.layouteditor.org}}</ref><ref name=":1">{{cite web |title=About OASIS SEMI P39 |url=http://www.yottadatasciences.com/compliancecenter.html |access-date=2022-05-26 |website=www.yottadatasciences.com}}</ref> The language defines the code required for geometric shapes such as rectangles, trapezoids, and polygons. 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. It is similar to [[GDSII]].
A cell can be a simple (NAND, OR, XOR, etc.) logic circuit or it can comprise as much as the entire functionality for an embedded microprocessor. The content of the cell is arbitrarily defined according to its anticipated use when connected with other cells during logic design. Mostly, a Library OASIS<sup>®</sup> file contains layer-by-layer transistor-level geometric (polygons) and non-geometric data that represents how, at the cell level, the cell should be manufactured. Not all cells within a cell Library are used in a single design.
 
As of 2023 the cost of the standard for members of [[SEMI]] was set to $252 and non-members: US$335.<ref>{{Cite web |title=P03800 - SEMI P39 - Specification for OASIS® – Open Artwork System Interchange Standard |url=https://store-us.semi.org/products/p03800-semi-p39-specification-for-oasis%c2%ae-open-artwork-system-interchange-standard |access-date=2023-05-23 |website=semi.org |language=en}}</ref>
A finished logic design shows how a set of cells chosen from a cell Library for a particular design are to be connected. Chip-level layout design uses a Netlist from Logic design to place cell-level OASIS<sup>®</sup> Library files from the same library used in Logic design and then add the routing that connects the placed cells together as one integrated circuit. After chip-level optimizations are made, the final output is a single OASIS data file containing optimized placement, routing and cell layer data for the entire integrated circuit.
 
==Introduction==
Typically, raw design layout data represented as OASIS<sup>®</sup> still requires finishing so that the layout, when transformed from data to shaped flashing beams of light and electrons actually print onto a mask or wafer as intended. For designs that are more advanced, the edges and the corners of the circuit features require a correction because they are too close to each other to be resolved lithographically without a correction. Furthermore, at least some of the features will be so small that without a correction, they will not expose evenly. The corrections are added to the content of the raw OASIS data design representation. The corrections are called Optical Proximity Correction (OPC) and Scatterbar (Assist feature) corrections.
{{More citations needed|date=May 2022}}
OASIS is the purported commercial successor to the integrated circuit design and manufacturing electronic pattern layout language, [[GDSII]].
 
GDSII was 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. File sizes of GDSII format often takes tens of gigabytes of storage and are difficult to store and process.<ref>{{Cite web |title=OASIS Format |url=http://www.wrcad.com/manual/xicmanual/node775.html |access-date=2023-05-23 |website=www.wrcad.com}}</ref> OASIS creators and users claimed that the growth of workstations' data storage and handling capabilities was far outpaced by the growth of Integrated Circuit layout complexity.<ref>{{cite web|url=http://www.eetimes.com/document.asp?doc_id=1276148 |title=Going from GDSII to OASIS |publisher=EETimes |date=2022-08-30 |accessdate=2022-09-11}}</ref> Therefore, OASIS tries to solve the purported problem of the large size of the [[GDSII]] files by introducing complicated types of the geometric shapes (25 types of trapezoids only) to reduce the data size. Also, variable-length numeric format (similar to [[Run-length encoding]]) for coordinates was implemented. Finally, each cell in the OASIS file can be independently compressed by the [[gzip]]-like algorithm.
Other adjustments to the data are made which are not covered here. However, once finished, the modified layout of the chip is fractured from a polygon-based representation to a geometrically equivalent representation of the data using smaller (machine-printable) geometric shapes. The fractured data is stored separately as a fractured OASIS data file. In some cases, the corrections plus fracturing can increase the size of the modified and fractured OASIS data file by as much as 10X.
 
The effort to create the OASIS format 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 adoption was born 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<sup>®</sup> can be a very efficient representation of layout data. The file sizes for OASIS are 10-50X smaller than GDSII data files. Therefore, OASIS files use less disc space and can be moved, copied, pasted, uploaded, downloaded, etc. at rates up to 10-50X faster than of GDSII. If an OASIS data file requires that an operation be performed on the objects within the data file, there will be instances where the OASIS data will need to be expanded into memory from its compact state. Under this scenario, the time to expand (and compact) OASIS data essentially erases the runtime benefit over GDSII.
 
A constrained version of OASIS, called [[OASIS.MASK]], addresses the unique needs of semiconductor photomask manufacturing equipment such as pattern generators and inspection systems. Both OASIS and OASIS.MASK are [[technical standard|industry standard]]s.
For there to be a operational-level runtime advantage using OASIS<sup>®</sup>, an operation must be able to perform whatever it needs to do on the canonical representation of equivalent data within the file and get the same result when expanded fully. In other words, if the operation can be performed correctly on only OASIS repetitions, it may be possible to improve operational-level runtime by up to 10X.
 
==Example datafile==
VLSI layout databases streaming in/out to OASIS<sup>®</sup> will not have a runtime advantage over GDSII because the format for today's Layout databases cannot accommodate the new OASIS record types such as OASIS repetitions. If tomorrow’s layout databases were able to store OASIS repetitions and other runtime-boosting data records, stream in/out runtime for OASIS would be faster by as much as 10X. The database itself would be 10X smaller as well.
{{overly detailed|section=yes|date=February 2012}}
[[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.
 
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:
There is a net gain using OASIS<sup>®</sup> over GDSII because file size on disc is 10-50X smaller and the runtime for OASIS files being shuttled from one place to another is as much as 10X faster. There is no significant runtime advantage for OASIS when there is a requirement that the data be expanded to its explicit form in memory before being operated on. However, there may be an opportunity to improve OASIS runtime for those operations, which do not require that OASIS repetitions first be expanded into memory.
 
* Layer
Some other OASIS capabilities that are improvements over GDSII:
* Datatype
* Width
* Height
* Lower-left x-coordinate
* 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:
• Squeeze out all of the wasted bits and redundant records.
• Support two-dimensional figure arrays
• Support vertical and horizontal trapezoid primitives
• Support step-and-repeat figure description
• Relax 16- and 32-bit integer restrictions
• Use variable-width integers (8-64 bits)
• Allow relative (Dx,Dy) coordinates in both step/repeat & figures
• Relax restrictions on string length, including cell names
• Relax restrictions on number of polygon vertices
• Use IEEE standard 64-bit floating point numbers
• Support layer name & purpose information
• Support arbitrary named properties, integer & floating values
• Support embedded comments
 
SWHXYRDL (Square,Width,Height,X-coordinate,Y-coordinate,Repetition,Datatype,Layer-number).
There are other enhancements within OASIS<sup>®</sup> not stated here directly. OASIS is now a formal industry standard that is owned and maintained by the trade and standards organization SEMI that serves the semiconductor materials and equipment industries worldwide. For a very small fee, the standard can be downloaded from the SEMI web-site. The link to SEMI's Standards page is below.
The SEMI P39 OASIS<sup>®</sup> standard was developed starting in the fall of 2001 by a consortium of volunteer Semiconductor, Electronic Design Automation and Mask Manufacturing companies and then donated to SEMI. The trade name OASIS is a registered trademark owned by Thomas J. Grebinski, Alamo, California and licensed for use exclusively by SEMI [http://www.semi.org SEMI]).
 
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 (SW0XYRDL) uses a type 10 repetition (rep=rep10). The second RECTANGLE record (0WHXYR0L) uses a type 11 repetition (rep=Rep11). There are a total of eleven repetition types (Rep1-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".
==Links==
* [http://wps2a.semi.org/wps/portal/_pagr/118/_pa.118/755 SEMI P39 OASIS<sup>®</sup> Standard]
 
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.
[[Category:Design layout file formats]]
[[Category:Mask layout file formats]]
 
- MAGIC "%SEMI-OASIS\015\012
{{comp-eng-stub}}
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)
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)
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)
11 LAYERNAME name="Layer_Color_Mapping" layers=3(49:49) datatypes=1(0:0)
11 LAYERNAME name="Layer_Color_Mapping" layers=3(63:63) datatypes=1(0:0)
13 CELL refNum=3
17 PLACEMENT CNXY0000 refNum=0 x=0 y=0
17 PLACEMENT CNXY0000 refNum=1 x=0 y=0
17 PLACEMENT CNXY0000 refNum=2 x=0 y=0
13 CELL refNum=0
20 RECTANGLE 0WHXY0DL layer=41 datatype=1 width=3960 height=1980 x=-440 y=-220
20 RECTANGLE 00H0Y00L layer=42 height=2420 y=1760
20 RECTANGLE 0WHXY00L layer=63 width=3080 height=3960 x=0 y=0
20 RECTANGLE 0WHXY00L layer=43 width=2255 height=55 x=110 y=605
20 RECTANGLE 0WH0Y000 width=2860 height=330 y=660
20 RECTANGLE 00H0Y000 height=110 y=2530
20 RECTANGLE 0WH0Y000 width=2750 height=220 y=2640
20 RECTANGLE 0WH0Y000 width=2255 height=550 y=2860
20 RECTANGLE 0WHXY000 width=330 height=440 x=2035 y=165
20 RECTANGLE 0WH0Y000 width=935 height=220 y=2310
20 RECTANGLE 0WH0Y000 width=330 height=385 y=3410
20 RECTANGLE S00XY000 x=2585 y=3465
20 RECTANGLE 0WHXY00L layer=44 width=3330 height=1665 x=-125 y=1760
20 RECTANGLE 0WH0Y000 width=2670 height=410 y=3425
20 RECTANGLE 0WH0Y000 width=3330 height=250 y=3835
20 RECTANGLE 0WHXY000 width=250 height=410 x=2955 y=3425
20 RECTANGLE 0WHXY00L layer=45 width=3330 height=1885 x=-125 y=-125
20 RECTANGLE SW0XY000 width=410 x=2545 y=3425
13 CELL refNum=1
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 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 0WH0YR00 width=505 height=120 y=2250 rep=rep10[dim=3 disp=(g(2365,-1100) g(0,880))]
20 RECTANGLE 0W0XY000 width=285 x=325 y=1370
20 RECTANGLE 0WH0Y000 width=120 height=540 y=1490
20 RECTANGLE 00HXY000 height=1045 x=490 y=325
20 RECTANGLE 00H0YR00 height=1320 y=2370 rep=rep2[xdim=2 dx=935]
20 RECTANGLE 0WHXY000 width=890 height=120 x=655 y=1700
20 RECTANGLE 0WHXY000 width=120 height=825 x=875 y=325
20 RECTANGLE SW00YR00 width=340 y=1150 rep=rep10[dim=3 disp=(g(330,880) g(1265,990))]
2 END
 
==Industry standard==
[[de:Open Artwork System Interchange Standard]]
OASIS and OASIS.MASK are now formal [[technical standard|industry standard]]s. Both are owned and maintained by the trade and standards organization [[SEMI]]. SEMI serves the semiconductor materials and equipment industries worldwide.
 
The fee-based specifications for SEMI P39 OASIS and SEMI P44 OASIS.MASK can be downloaded from SEMI's web-site.
 
== See also ==
 
* [[OpenAccess]]
 
==External links==
* [https://store-us.semi.org/products/p03800-semi-p39-specification-for-oasis%C2%AE-open-artwork-system-interchange-standard?_pos=1&_sid=1c0bcca9d&_ss=r SEMI P39 OASIS Standard]
* [https://store-us.semi.org/products/p04400-semi-p44-specification-for-open-artwork-system-interchange-standard-oasis-%C2%AE-specific-to-mask-tools?_pos=2&_sid=1c0bcca9d&_ss=r SEMI P44 OASIS Standard]
* [https://web.archive.org/web/20191104140038/http://www.wrcad.com/oasis/oasis-3626-042303-draft.pdf Public OASIS draft (archived)]
 
==Footnotes==
{{Reflist}}
 
{{DEFAULTSORT:Open Artwork System Interchange Standard}}
[[Category:EDA file formats]]