Magic源码阅读(二)——版图GDSII文件的数据格式和解析方法

GDSII是一种用于集成电路版图数据交换的二进制文件格式,包含了平面几何形状、文本和层次信息。文件由HEADER开始,包含BGNLIB、LIBNAME等模块,图素如BOUNDARY、PATH、SREF等。每个图素由特定的标志位标识,如LAYER、DATATYPE和XY坐标。浮点数以8字节表示,包含符号、指数和尾数。此文件格式用于重建版图信息,常用于光刻掩膜制作。
摘要由CSDN通过智能技术生成

GDSII流格式,常见的缩写GDSII,是一个数据库文件格式。它用于集成电路版图的数据转换,并成为事实上的工业标准。GDSII是一个二进制文件,其中含有集成电路版图中的平面的几何形状,文本或标签,以及其他有关信息并可以由层次结构组成。GDSII数据可用于重建所有或部分的版图信息。它可以用作制作光刻掩膜版。

GDSII文件的所有数据都是由一连串的数据块链接组成的。这些数据块大体上可分为文件头,模块结构头,图素头,图素,图素尾,模块结构尾,文件尾这几个部分,每个部分包含若干个模块,有些模块是必须包含的,另外一些则为可选的模块。每模块的前四个字节标志了该部分的元信息,第一二字节描述了该部分的size,第三四字节描述了该部分的type。

文件头
第3、4字节标志位 类型 数据参数类型
00 02 HEADER(文件头) int16
01 02 BGNLIB(库文件头) 12个int16
02 06 LIBNAME(库文件名) ASCII字符串
1F 06 REFLIBS(参考文件) 90个char
20 06 FONTS(字体) 176个char
23 06 ATTRTABLE(属性) 44个char
22 02 GENETATIONS(备份文件数) int16
36 02 FORMAT(格式) int16
37 06 MASK(掩膜) ASCII字符串
38 00 ENDMASK(掩膜结束)
03 05 UNITS(单位) 2个float64

首先以HEADER开始,它定义了GDSII的版本;其后是BGNLIB库文件头,它定义了GDSII文件最后一次修改的时间和读取时间,时间用6个int16数字来表示年月日时分秒;随后是LIBNAME,它定义了文件库名;然后是几个可选的参数(REFLIBS、FONTS、ATTRTABLE、GENERATEIONS、FORMAT等,根据需要它们可能出现也可能不出现);最后是单位参数UNITS,它定义了每一内部单位等了多少用户设定单位和每一个用户设定单位等于多少微米,它们分别由两个浮点数表示。

在GDSII中浮点数由8个字节表示,左边的第一个字节的最左边一位表示这个浮点数的数值的符号:0表正,1表负;第一个字节的后7位用以表示指数,指数表示范围为一64~63,由于指数值本身也含正负值,所以指数的阶码

  • 15
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值