Zicai – 上海松涛半导体有限公司 最懂客户需求的芯片设计服务供应商 Sat, 08 Aug 2026 10:26:21 +0000 zh-Hans hourly 1 https://wordpress.org/?v=7.0.4 /wp-content/uploads/2026/07/cropped-微信图片_20250722134948-32x32.jpg Zicai – 上海松涛半导体有限公司 32 32 聊聊我们自以为都懂的GDSII的故事 /%e8%81%8a%e8%81%8a%e6%88%91%e4%bb%ac%e8%87%aa%e4%bb%a5%e4%b8%ba%e9%83%bd%e6%87%82%e7%9a%84gdsii%e7%9a%84%e6%95%85%e4%ba%8b/ Sat, 08 Aug 2026 10:16:57 +0000 https://www.songtaosemi.com/?p=2290 相信几乎每一位芯片设计从业人士都知道GDS文件是用来做什么的,特别是模拟版图工程师或者后端设计工程师差不多每天每时每刻都要跟它打交道,但它究竟是什么,它是如何演变而来的,估计就很少有人去了解。这里也没有兴趣以“茴香豆的茴有几种写法”的态度来做学究,而是以芯片设计工程师的视角简明扼要地讲清楚GDS文件的进化过程,其中会重点说明跟当下芯片设计关系紧密的几个点。

 

– 1971年,美国 Calma 公司推出了第一代GDS(Graphic Data System)格式,初版 GDS 主要是为了驱动早期的光绘机,数据结构非常扁平原始,仅有Layer 的概念,且受到当时计算机性能的严格限制,几何表达能力有限,且对复杂版图的支持极差;但先比之前“制版工人用刻刀在一张名为‘红膜(Peel-coat)’的双层塑料纸上把图形一块块刻出来”这种更加原始直观的“物理实现”模式已经是有了划时代的进步(你是不是也顺便发现所谓“版工”这一称谓最早的出处呢:)),该格式应该早已灭绝,没有任何现代EDA工具或代工厂还在使用它。

 

– 1978年,Calma 公司发布了第二代的数据格式,这就是至今为大家所熟知的 GDSII。GDSII 格式最核心的变化有两点:

1,引入了现代版图设计中最重要的概念——层级结构(Hierarchical Structure),它允许工程师定义独立的单元(Cell),并通过 SREF(结构引用)和 AREF(阵列引用)在顶层反复调用;

2,在layer的基础之上引入了datatype的概念,对层次定义进行了极大的扩展。

得益于这两条核心架构扩展,GDSII格式近50年来还在业内被普遍接受并使用,在过去技术不断迭代,标准时时更新的几十年里也不可谓不是一个奇迹。

 

– 在GDSII逐步统一集成电路版图数据格式的80年代,它主要经历了两次官方标准更新(GDSII Release 6.0 & 7.0),要点是规范了核心记录类型,以及放宽或移除了一些早期版本的结构性物理限制(例如放宽了多边形顶点的最大数量约束)

– 到了上世纪90年代,GDSII所有权辗转被Cadence收入囊中,自此之后,Cadence 对 GDSII 标准采取了“不更新、不维护”的放任态度,于是GDSII 的官方标准文档永远定格在了1989 年的 Release 7.0。但在摩尔定律的推动下,版图数据格式需求一直在持续急剧增在,业内主流EDA厂商在7.0协议的基础上对GDSII做了扩展,主要如下:

 

 

相信还有同行曾经由于cell name太长导致的一些LVS问题,正好可以对照上表看看是不是由于早期的标准限制而导致。

 

– 现在工艺越来越复杂,芯片越做越大,但由于GDSII底层框架近40年未作更新,由此而来的问题也越来越明显:文件体积太过庞大,读写速度太慢(跟GDS相伴而生的stream 这个概念也真是恰如其分),2004年SEMI(国际半导体产业协会)在 2004 年推出了OASIS(Open Artwork System Interchange Standard)格式标准,自然是更快,更强,体积更小…..,

 

也许有一天,我们也会不记得GDSII是什么,就如第一代GDS格式一样也会在业界灭绝,但不管标准如何演进,底层逻辑其实都是一样的,比如:

– 要理解你肉眼可见的版图数据库(OA database)跟二进制的GDSII/OASIS数据有时并不是完全等效的。我们经常会碰到LVS/DRC里报出的错误完全跟版图数据对不起来,这时你就要看看你的GDSII/OASIS数据到底是什么样子,是不是由于用错了layermap,又或者做出了错误的输出设置,导致送到DRC/LVS那边的GDSII数据跟你的版图图形已经发出了某种变异;我敢打赌100块人民币:应该有超过50%的模拟版图工程师是搞不清楚这两者之间的差别,或者他们从来没有试着去拿一份自己“定制”的layermap去产生“非默认设置”的GDSII文件过。当然,我很乐意输掉这个100块。

 

 

– 由于GDSII文件的限制,版图数据库里存在的某些东西,在GDSII里应该是再也找不到了,比如pcell,所以有些数据的转化在某种视角来看是等效的,但在另一种视角下也许就不是那么一回事了。试想一下,为什么有时候我们不仅仅要备份GDSII文件,还要整理一份比较清爽的OA database。

 

 

]]>
为什么要做技术分享 /%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e5%81%9a%e6%8a%80%e6%9c%af%e5%88%86%e4%ba%ab/ Sun, 19 Jul 2026 05:27:08 +0000 https://www.songtaosemi.com/?p=2228 本来只是不能免俗地简单弄一个公司静态展示网页,即便如此,也由于杂事太多,中间断断续续地,甚至后来都遗忘了,这几天难得空出时间来,便抓紧做了一个出来,虽然太过简陋,但也算聊胜于无:sunglasses:

当然,最最重要的是,终于实现了“技术分享”这一功能模块,那为什么一定要做这件事呢,我想了想应该是有下面这两个原因:
1,作为技术性团队,我始终认为要有技术总结和反省,那就必然有所输出。“技术分享”的好处不再赘述,懂得人自然懂,不懂的也多说无益,除此之外,如果能够达到以技会友那就更是一件乐事。
2,说来也偶然,前几天面试的时候由于都在某司服务过,就额外多闲聊了几句,小伙子突然问我先前是不是还分享过某些技术讨论,他应该是顺手在内部分享论坛上搜索了一下。多少还是有些惊讶,原以为先前那些分享早不在了,感觉很奇怪也很开心,总算留下了点什么。人啊就是这么怪,一方面讲若干年后连个渣渣都不剩,似乎看得很通透豁达,另一方面真要在某个不起眼的角落里留下了些许“渣渣”,若干年后被人不经意发现还是有点暗爽的。这么多年忙忙碌碌,自然是为利所累,做了多少项目,挣了多少钱,最后又有谁记得,又有谁真正在乎?在鸡零狗碎之余做点“对”的事,如果可能,能够持续做一些“对”的事,虽然不能登大雅之堂,像那些业内大佬一般出了多少专著,发了多少论文,但也许能够给这个芯时代宏大叙事里增加一点点微不足道的底层拼图和注脚。

应该还是有那么一点点意义的。

]]>