It looks like you're new here. If you want to get involved, click one of these buttons!
I thought KLayout users would find this very helpful, on why .OAS format results in smaller file sizes and apparently some performance improvements as well:
I have personally switched to OASIS after Mattias pointed out that OASIS saves Layer names (in addition to layer numbers), and subsequently found that my file sizes would go from 150MB (GDS) --> 25kB (OAS), an even more important fact for transferring GB-level files. It's now my standard format, converting to GDS only on the writing tools that require it (Heidelberg for example).
Interesting. I have never considered leaving GDS-II format
(I work on small ICs generally).
Are there any issues with, say, starting a design in GDS-II
and trying to move over to OASIS? Lose any data in a
conversion or pick up a whole case of empties that need
populated? I guess maybe a new layertable?
Wondering whether this is one of those "stick with what
you started with" deals, or if migration is really just a
generally good idea - speficically in klayout.
OASIS is quite compatible to GDS, so there is basically no loss. There are some minor differences - for example paths with an odd-number of database units width cannot be represented in OASIS. Also round-ended paths. But those are an exotic cases anyway.
Apart from that GDS can be turned into OASIS and vice versa with the benefit of more compact files in OASIS. The numbers can be quite impressive. To me OASIS and GDS are basically equivalent.
Regarding OASIS I am not quite sure whether the format is actually public. In the past a draft spec was available on the net, but recently the respective Wikipedia link is dead. You can buy the spec for money, which usually isn't a good sign for open source implementations.
This is gut feeling however. Right now there is no evidence for a legal risk when using OASIS in an open source tool.
In my experience, I convert between OASIS & GDS all the time (for at least ~4 years), and the only annoyance that happens is when I save to GDS, the layer names get lost (which are retained in OASIS). Otherwise I have never noticed any difference in KLayout's import/export, they do appear completely equivalent to me in terms of KLayout editing.
I actually use rounded end paths, not that it'd kill
me to use square; it's just bond diagram cuteness.
My chip design was 89kB, next might be double that
so for now, compactness and rendering aren't big
deals. Would it be correct to say that a GDSII design
could carry elements which OASIS will not accept,
but that an OASIS design will be fully GDSII
compatible? Or are there incompatibilities (not to
say show stoppers) in both directions, and a short
list of objects and styles to avoid in order to be able
regarding the translation here is the list of compatibility constraints. I consider OASIS to GDS a pretty safe path. In practical applications, the polygon size limitation of GDS is noteworthy, but most tools support polygon splitting in this case.
This is an interesting discussion.
Matthias - thank you for listing all the differences, between GDS and OASIS - it's very useful to know.
Let me add my two cents.
Many years ago, I was pleasantly surprised by the fact that OASIS files are much smaller than GDS files.
However, my colleagues explained me that OASIS does compression internally, and you can achieve the same level of compression and about the same file size by compressing GDS files with gzip.
So, smaller size does not turn out to be a huge advantage of OASIS.
Not having layer names is a big disadvantage, annoyance of GDS files, I have no idea why they did not allow layer names in this format.
I was under impression that OASIS was invented and heavily promoted by Mentor Graphics (now Siemens).
Now, with all the advantages of OASIS - it did not displace GDS in the semiconductor industry.
About 90-95% of semiconductor companies are still relying on GDS files in their flows.
As far as I know, foundries also accept design data in GDS format.
Why is that?
I do not haver an answer.
Very likely, because of the legacy, conservatism in the semiconductor industry.
OASIS file size reduction is first achieved by a more compact data representation, but mainly by the ability to aggregate identical shapes and instances into what is called repetitions. The last feature results in a dramatic file size reduction in many cases. While gzip on GDS gives you 5..10x reduction, OASIS files may be more than 1000x smaller than GDS. So OASIS is by far superior to GDS in terms of file size. Maybe your colleagues referred to CBLOCKs which in fact are internal gzip. But CBLOCKs are not the main feature of OASIS (but an important one).
It is not entirely true that OASIS is not used in the semiconductor industry.
Basically, streaming out even large designs is still possible in GDS as long as you're on a rather abstract gate-and-wiring level. GDS file sizes are comparable to large video stream files, so there is an infrastructure for that. So why switching to a format that is considerably more difficult to implement and that is incompatible with the 20th century machines which are still operative in the cleanrooms?
However, when it comes to physical mask data past optical proximity correction and manufacturing enabling, data complexity explodes. There is no way to deal with these data sets in GDS. OASIS is dominant in that domain since a decade or so.
And although not everyone shares my pessimism, OASIS is a little less "public" than GDS and I am slightly worried about the implications. So maybe it is wise not to rely entirely on OASIS.
I think the major foundries accept GDSII or OASIS. Conversion from one to the other has never been a problem for me (either with KLayout or a commercial tool) and so to save time I always save the data i need in OASIS format. The issue with industry acceptance is that the entire PDK of a technology needs to ideally use the same database format, so it depends on what EDA provider your company is using. We are big enough that we can go either way and so I choose to use OASIS. I think the main reason many companies still use GDSII is that no one complained about it. Most folks are unaware of the >10x file size difference, looks like disk space is unlimited these days. I am scripting my tools to work in both ways, just using an environment variable. So I can develop in OASIS and if needed go into production with GDSII for the entire flow.
I send OAS files from KLayout to our photomask vendor - they use both and have never had trouble with either.
@Max The 1st article linked also shows some thorough analysis showing that OAS produces significantly smaller files sizes than zipped-GDS, here it is again: https://sst.semiconductor-digest.com/2020/02/oasis-vs-gds-time-to-switch/
Matthias: Agreed - the photomask is where the the file sizes explode (>GB), and OAS is a real life-saver - *.GDS.GZ doesn't quite achieve the same results. For such large file sizes, the difference between 10-15% (GDS) and 2-5% (OAS) can be significant (eg. for gmail's attachment limit of 25MB - workflow becomes significantly easier).