光刻版图oasis格式简介.doc

上传人:灯火****19 文档编号:135061943 上传时间:2020-06-11 格式:DOC 页数:9 大小:27.68KB
返回 下载 相关 举报
光刻版图oasis格式简介.doc_第1页
第1页 / 共9页
光刻版图oasis格式简介.doc_第2页
第2页 / 共9页
光刻版图oasis格式简介.doc_第3页
第3页 / 共9页
光刻版图oasis格式简介.doc_第4页
第4页 / 共9页
光刻版图oasis格式简介.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《光刻版图oasis格式简介.doc》由会员分享,可在线阅读,更多相关《光刻版图oasis格式简介.doc(9页珍藏版)》请在金锄头文库上搜索。

1、Chapter 1oasis文件简介oasis是用来表示光刻版图的一种文件格式,上面记录了光刻图案。作为gdsii文件的替代格式,和gdsii类似是一种流格式的文件。一般性的介绍可以google到。这里就不再累述。这篇文档,是对参考文献【1】的注释和部分翻译。第一为了方便阅读,对文献【1】中的一些概念和例子进行了解读说明;第二对文献【1】中容易忽略和混淆的地方进行了强调,对没有明确的但可以从其他地方推断出来的一些内容进行了明确。Chapter 2oasis文件格式是一种二进制流的文件格式。它采用变形的BNF语法来描述文件格式,BNF语法见参考文献【1】中36.1节,oasis文件格式的描述见参

2、考文献【1】中36.2节。这里不对那些内容进行重复叙述,只对文件进行部分说明强调。1. 按照标准是%SEMI-OASIS,但是各个厂商可能会有不同,可能厂商会加上自己的log。程序中出现了BROA作为oasis文件格式的开头字段。2.特别注意、和字段中的大括号中的域是不能重复出现的,而和中的大括号中的字段是可以重复出现的。在解析的时候要特别注意这点。3.注意到中,除了自己的关键字START、CBLOCK、PAD和PROPERTY以外,还有两个内嵌的结构,就是和。其中中,第一个出现的字段是CELL,每一个中CELL会且仅会出现一次。因此可以把CELL作为第二层解析的入口。而中,由于这些关键字跟其

3、他部分都不重复,而且在一个中仅都只能出现一次,所以可以直接放在第一层解析。具体可以参见第五章。Chapter 3oasis数据类型不同于普通的计算机编程语言的数据格式,oasis作为一种流格式文件,有自己的数据类型表示方法。这些在参考文献【1】中的第七章进行了说明。这里对其中内容进行部分说明,以便方便查阅。一共有下面几种类型的数据格式:Table1oasis数据格式类型长度其他说明bytes8bit最低位bit放在最右边integersunsigned-integer不定,N个byte,8个bits中只有7bits表示实际数据,每个byte最高一个bit表示后面是否还有数据。0表示自己是最后一

4、个byte。最低位byte放在oasis文件的最前面signed-integer不定,N个byte,8个bits中只有7bits表示实际数据,每个byte最高一个bit表示后面是否还有数据。0表示自己是最后一个byte。符号位放在最低位byte(文件中最先出现的byte)的最后一位(bit):0表示正,1表示负。最低位byte放在oasis文件的最前面real不定。有8种表示方式。由一个unsigned-integer的数据来表示采用何种表达方式。表示数据表达方式的unsigned-integer数据出现在文件的最前面。接着它后面才是实际要表达的数值。string由一个unsigned-int

5、eger的数据来表示string的长度unsigned-integer数据出现在文件最前面。string可以分成b-string, a-string和n-string三类deltasdelta是用来表示方向和长度的一种数据类型。分成4类。各类长度不一样。在oasis文件中,这种数据的第一个出现的字节的最后几个bit是表示方向。后面具体描述。repetitions用来表示重复出现的各个图形的位置的一种数据类型。也分成多类,各类长度不一。在后面具体说明point lists利用这个数据结构就可以画出图形。但这个数据结构本身不包括画图的起始位置信息。而在其他地方确定。是一串delta信息,用来表示各

6、条边的长度和方向。图形的顶点越多,长度越长。在后面具体说明。property value由一个unsigned-integer表示类型,加上后面的property value 值构成。各种类型的属性,value值不一样,但都比较简单。可以参看参考文献的7.8节table9。3.1integers类型说明3.1.1unsigned-integerunsigned-integer的长度不确定,是由自己的值来确定的,如果数据长度有N个byte,每个byte的8个bits中只有7bits表示实际数据,最高一个bit表示后面是否还有数据。0表示自己是最后一个byte。最低位byte放在oasis文件的最

7、前面。举个例子就清楚了。十进制的16383:正常的2进制表示是:11,1111,1111,1111,一共14个1。在oasis文件中,由于只有7位能代表实际的数,所以我们把它写成x111,1111,y111,1111。还是14个1。但中间插入了一个x和y用来表示是否后面还有数据。由于低字节优先,所以我们写成y111,1111,x111,1111。然后将y变成1,x变成0。所以最后在oasis文件中的表示是1111,1111,0111,1111。十进制的16384:正常的2进制表示是:100,0000,0000,0000,1后面一共14个0。在oasis文件中,由于只有7位能代表实际的数,所以我

8、们把它写成x000,0001,y000,0000,z000,0000。1后面还是14个0。但中间插入了一个x、y和z用来表示是否后面还有数据。由于低字节优先,所以我们写成z000,0000,y000,0000,x000,0001。然后将z变成1,y变成1,x变成1,。所以最后在oasis文件中的表示是1000,0000,1000,0000,0000,0001。3.1.2signed-integer知道了unsigned-integer以后,再变signed-integer就简单了。还是举两个例子。十进制的8191,正常的2进制表示是: 1,1111,1111,1111,一共13个1。在oasi

9、s文件中,由于第一个byte只有6位能代表实际的数,后面的byte有7位能代表实际的数。所以我们把它写成x111,1111,y111,111z。还是13个1。但中间插入了一个x和y用来表示是否后面还有数据,插入了一个z作为符号位。由于低字节优先,所以我们写成y111,111z,x111,1111。然后将y变成1,x变成0。由于是正数,所以z为0。所以最后在oasis文件中的表示是1111,1110,0111,1111。十进制的-8192,先表示十进制的8192,正常的2进制表示是: 10,0000,0000,0000,1后面一共13个0。在oasis文件中,由于第一个byte只有6位能代表实际

10、的数,后面的byte有7位能代表实际的数。所以我们把它写成m000,0001,x000,0000,y000,000z。1后面还是13个0。但中间插入了一个x和y用来表示是否后面还有数据,插入了一个z作为符号位,前面补了一个m。由于低字节优先,所以我们写成y000,000z,x000,0000,m000,0001。然后将y变成1,x变成1,m变成0。由于是负数,所以z为1。所以最后在oasis文件中的表示是1000,0001,1000,0000,0000,0001。3.2real类型说明real的数据类型是一个复合的数据类型,它由一个unsigned-integer的类型做为开头,后面加上若干个

11、unsigned-integer或者1个ieee4 float或者1个ieee8 float的数据类型来组成。目前,它只定义了8种类型格式,从0到7。Table2real数据类型说明类型格式含义0+unsigned-integer是一个正的实数,实数的值就等于后面unsigned-integer1+unsigned-integer是一个负的实数,实数的绝对值就等于后面unsigned-integer2+unsigned-integer是一个正的实数,实数的值就等于后面unsigned-integer的倒数。3+unsigned-integer是一个负的实数,实数的绝对值就等于后面unsigne

12、d-integer的倒数。4+unsigned-integer1+ unsigned-integer2是一个正的实数,实数的值就等于(unsigned-integer1/ unsigned-integer2)。(做除数)5+unsigned-integer1+ unsigned-integer2是一个负的实数,实数的绝对值等于(unsigned-integer1/ unsigned-integer2)。(做除数)6+IEEE-4-byte-float表示后面是IEEE-4-byte-float的数据格式7+IEEE-8-byte-float表示后面是IEEE-8-byte-float的数据格式

13、在参考文献【1】中的第7.3.2节的table 4中,各个数值的计算就可以根据上表中的说明计算出来。3.3string类型说明string数据类型是一个复合的数据类型,它由一个表示字符串长度的unsigned-integer类型数据做为开头,后面加上真正的字符串。字符串可以分成三种:b-string(binary string), a-string(ascii string)和 n-string (name string).3.4delta类型说明delta是代表几何数据。简单来说就是delta类型的数据中存放有长度和方向的信息。其中分成4种:1-delta, 2-delta, 3-delta

14、和g-delta。分别进行说明3.4.11- delta1-delta是一种signed-integer的数据结构,其中signed-integer中的符号位就用来表示方向了;singed-integer中的表示数值的部分就用来表示长度。我们举个例子。比如二进制的1111,1001,0010, 0011。其中第一个方框中的1和singed-integer的含义一样,表示后面还有数据。第二个方框中的1在signed-integer中表示正负符号,这里就表示方向,1表示向西或者向南(在正交坐标系中表示x和y轴的负方向,具体是x轴还是y轴由这个值出现的当前的场景来确定)。第三个框中的0表示这是这个s

15、igned-integer数据的最后一个byte。这个数据的长度是二进制的010,0011, 111, 100(去掉框内的数值,然后前后byte调转位置),这就是十进制的2300。因此这个数值就是表示向西(或者向南)画2300长度的一条线。3.4.22- delta2-delta是一种unsigned-integer的数据结构,其中unsigned-integer中的最低2bits(在oasis文件中最先出现的byte中的最低2bits)用来表示方向了,其他部分表示数值的大小,数值的大小就用来表示长度。我们举个例子。比如二进制的1001,1000,0010, 1010。其中第一个方框中的1和unsinged-integer的含义一样,表示后面还有byte表示同一个unsigned-integer数据。第二个方框中的00这里就表示方向,00表示向东(在正交坐标系中表示x正方向,01表示向北,10表示向西,11表示向南)。第三个框中的0表示这是这个unsigned-inte

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号