IC版图设计之GDS2文件格式详解

IC版图设计之GDS2文件格式详解

版图中GDS2文件格式详解

目录

什么是GDS2文件?GDS2文件的历史与发展GDS2文件的结构解析GDS2文件的核心元素GDS2 vs. OASIS: 核心差异如何生成与查看GDS2文件?GDS2文件的局限性应用场景总结

什么是GDS2文件?

GDS2(Graphic Data System II)是一种用于集成电路(IC)设计和版图数据的二进制文件格式。它是GDS格式的第二个版本,由Calma公司在20世纪70年代开发,现已成为半导体行业中最广泛使用的版图数据交换标准之一。

GDS2文件主要用于描述芯片的物理布局信息,包括几何图形、层次结构、文本标注等。

GDS2文件的历史与发展

1970年代:GDS格式由Calma公司开发,用于其版图设计系统。1980年代:GDS2成为行业标准,广泛应用于IC设计和制造。2000年代:OASIS格式出现,试图替代GDS2,但GDS2因其成熟性和广泛支持仍占据主导地位。至今:GDS2仍然是半导体行业中最常用的版图数据格式之一。

GDS2文件的结构解析

GDS2文件是一种二进制文件,由一系列记录(Records)组成。每个记录包含以下部分:

记录头:2字节,表示记录类型。记录长度:2字节,表示记录的总长度。记录内容:可变长度,包含具体数据。

主要记录类型

HEADER:文件头,包含版本信息。BGNLIB:库开始标记,包含创建和修改时间。LIBNAME:库名称。UNITS:定义用户单位与数据库单位的比例。STRUCT:结构定义开始。SNAME:结构名称。BOUNDARY:几何图形(多边形)定义。PATH:路径定义。TEXT:文本标注。ENDLIB:库结束标记。 以下为test.gds案例 ,详细解释每个字段含义

hexdump -C test.gds

00000000 00 06 00 02 00 05 |00 1c 01 02 00 7d 00 02 00 06 |...........}....|

00000010 00 0e 00 09 00 2d 00 7d 00 02 00 06 00 0e 00 09 |.....-.}........|

00000020 00 33 |00 08 02 06 74 65 73 74 |00 14 03 05 3e 41 |.3....test....>A|

00000030 89 37 4b c6 a7 f0 39 44 b8 2f a0 9b 5a 54| 00 1c |.7K...9D./..ZT..|

00000040 05 02 00 7d 00 02 00 06 00 0d 00 36 00 00 00 7d |...}.......6...}|

00000050 00 02 00 06 00 0e 00 09 00 2d | 00 08 06 06 74 65 |.........-....te|

00000060 73 74 |00 04 08 00 |00 06 0d 02 00 00 |00 06 0e 02 |st..............|

00000070 00 00 | 00 2c 10 03 ff ff ff b0 ff ff ff c7 00 00 |...,............|

00000080 00 52 ff ff ff c7 00 00 00 52 00 00 00 3a ff ff |.R.......R...:..|

00000090 ff b0 00 00 00 3a ff ff ff b0 ff ff ff c7 |00 04 |.....:..........|

000000a0 11 00 |00 04 07 00| 00 04 04 00 |00 00 00 00 00 00 |................|

000000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

*

00000800

(1)00 06 00 02 00 05:据前两个字节00 06得到此模块共六个字符,根据00 02得知此模块为文件头,00 05为版本号; (2)00 1c 01 02 00 7d 00 02 00 06 00 0e 00 09 00 2d 00 7d 00 02 00 06 00 0e 00 09 00 33 : 前两个字节00 1C得到此模块共28个字节,01 02可知为BGNLIB库文件头,00 7d 00 02 00 06 00 0e 00 09 00 2d和00 7d 00 02 00 06 00 0e 00 09 00 33定义了GDSII文件最后一次修改的时间2025年2月6日14点09分45秒和读取时间2025年2月6日14点33秒. (3)00 08 02 06 74 65 73 74表示LIBNAME,它定义了文件库名,即test (4)00 14 03 05 3e 41 89 37 4b c6 a7 f0 39 44 b8 2f a0 9b 5a 54 20个字节,为UNITS,后面跟了两个8字节的浮点数,UNITS 记录定义了两个浮点数,分别表示 用户单位 和 数据库单位。这两个浮点数用于坐标的缩放和转换。 前 4 字节:00 14 03 05 → 记录头和类型(UNITS)。 后 16 字节:两个 8 字节的浮点数(大端格式)。 (5)00 1c 05 02 00 7d 00 02 00 06 00 0d 00 36 00 00 00 7d 00 02 00 06 00 0e 00 09 00 2d: 05 02 表示BGNSTR模块结构头,后跟2个12字节记录创建时间以及修改时间。后面跟着若干cell即instance。 (6)00 08 06 06 74 65 73 74:STRNAME 模块结构名,cellname名为test; (7) 00 04 08 004个字节,BOUNDARY多边形 (8) 00 06 0d 02 00 00 :6个字节,LAYER层,0层 (9) 00 06 0e 02 00 00: 6个字节,DATATYPE,0 (10) 00 2c 10 03 ff ff ff b0 ff ff ff c7 00 00 00 52 ff ff ff c7 00 00 00 52 00 00 00 3a ff ff ff b0 00 00 00 3a ff ff ff b0 ff ff ff c7 44个字节,XY,5对int32型的XY坐标: 5对有符号整数分别为(-80,-57),(82,-57),(82,58),(-80,58),(-80,-57); (11) 00 04 11 00 4个字节,结束插入 (12) 00 04 07 00 4个字节,ENDSTR结束模块。 (13) 00 04 04 004个字节,ENDLIB结束库文件。

GDS2文件的核心元素

1. 层次结构(Hierarchy)

GDS2文件支持层次化设计,允许定义和复用结构(STRUCT)。每个结构可以包含几何图形、路径、文本等元素。

2. 几何图形(Geometry)

使用BOUNDARY记录定义多边形,描述版图中的金属层、扩散层等。每个多边形由一系列顶点坐标组成。

3. 路径(Path)

使用PATH记录定义线宽和路径形状,常用于描述导线。

4. 文本标注(Text)

使用TEXT记录添加文本信息,如标签、注释等。

5. 单位定义(Units)

使用UNITS记录定义用户单位与数据库单位的比例,确保数据的精确性。

GDS2 vs. OASIS: 核心差异

特性GDS2OASIS文件格式二进制二进制文件体积较大较小(压缩率更高)兼容性广泛支持较新,支持较少层次结构支持支持扩展性有限更强(支持更多数据类型)

如何生成与查看GDS2文件?

生成GDS2文件

EDA工具导出

使用Cadence Virtuoso、Synopsys IC Compiler等工具导出GDS2文件。示例:在Cadence Virtuoso中,选择File > Export > Stream,设置输出格式为GDSII。 脚本生成

使用Python库(如gdspy)编写脚本生成GDS2文件。

查看GDS2文件

专用查看器

使用KLayout、GDSII Viewer等工具查看GDS2文件。 EDA工具导入

将GDS2文件导入EDA工具(如Cadence Virtuoso)进行查看和编辑。

GDS2文件的局限性

文件体积较大

GDS2文件是二进制格式,且未压缩,导致文件体积较大。 功能有限

不支持现代设计中的一些高级特性(如参数化单元)。 版本老旧

GDS2格式自1980年代以来未进行重大更新,逐渐被OASIS取代。

应用场景

IC设计与制造

GDS2文件用于描述芯片的物理布局,是流片(Tape-out)的关键数据。 版图验证

使用DRC(设计规则检查)和LVS(版图与电路图一致性检查)工具验证GDS2文件。 IP核交换

GDS2文件常用于IP核(Intellectual Property Core)的交付。

总结

GDS2文件作为半导体行业中最经典的版图数据格式,至今仍在IC设计和制造中发挥着重要作用。尽管其存在文件体积大、功能有限等局限性,但其广泛的兼容性和成熟性使其难以被完全取代。对于IC设计工程师而言,掌握GDS2文件的结构和使用方法是必备技能。

参考资料

GDSII Format SpecificationKLayout GDSII ViewerCadence Virtuoso User GuideOASIS vs. GDSII Comparison

相关推荐

摩拜将限制北京用户停车区域

摩拜将限制北京用户停车区域

📅 07-06 👁️ 5084
法甲可以买球的原因与世界杯无法参与的深意
大蒜剝了皮放冰箱能儲存多久,大蒜怎樣可以儲存一年 | 飲食指南