如果要对相同工艺节点下进行性能评估,可以尝试将一个厂商的GDS文件转换到另一个厂商,不过要注意的是不同厂商(比如SMIC和TSMC)之间的DRC规则,尽量采用两个DRC中的约束较为紧张的厂商进行设计,以免转换到另外一家厂商时出现DRC违例。其次是需要采用相同的层数/顶层金属厚度/RDL层厚度等。
以下采用Cadence Virtuoso IC61进行GDS文件的格式转换。转换方向为TSMC 65nm GDS --> SMIC 65nm GDS。
需要准备的文件有:
(1)TSMC 65nm PDK(包括tsmcN65_layermap
,文件命名可能不同);
(2)SMIC 65nm PDK(包括smicN65_layermap
,文件命名可能不同);
(3)TSMC 65nm GDS文件(假设为Synopsys ICC或Cadence Innovus导出的数字集成电路版图tsmcN65_icc_innovus.gds
);
(4)手动编写从TSMC到SMIC的层映射文件tsmcN65_smicN65_layermap
(第3部分讲解)。
1. Virtuoso导入PDK并新建Library
1、导入TSMC/SMIC 65nm PDK,库文件为tsmcN65
和smicN65
。
2、分别新建一个library,命名为mylib_tsmcN65
和mylib_smicN65
,然后分别Attach 每个自建库到对应的tsmcN65
和smicN65
technology library上。
2. Virtuoso导入GDS文件
这一步导入Synopsys ICC或Cadence Innovus生成的数字集成电路版图tsmcN65_icc_innovus.gds
。
1、在CIW界面点击File -> Import -> Stream。
2、导入设置:
(1)选择导入的gds版图文件tsmcN65_icc_innovus.gds
;
(2)选择导入的库mylib_tsmcN65
;
(3)选择Attach的Tech LibrarytsmcN65
,然后系统会自动选择tsmcN65_layermap
。
点击Translate
进行转译,将GDS文件转换为layout。
3、查看顶层模块的layout:
3. 编写库切换的层映射文件
由于Virtuoso是采用Layer Stream Number识别层的,因此主要针对Layer Stream Number进行修改。
Layermap文件中,一共分为四列:
(1)layer name
(2)layer purpose
(3)layer stream number
(4)datatype stream number
打开两个工艺的layermap文件进行对比,以下图中,左侧为TSMC,右侧为SMIC:
# tsmcN65_layermap
OD drawing 6 0
OD dummy 6 1
OD drawing2 6 2
OD drain 6 3
OD pin 6 6
OD test1 6 11
OD test2 6 12
OD test3 6 13PO drawing 17 0
PO dummy 17 1
PO drawing2 17 2
PO test1 17 11
PO test2 17 12
PO test3 17 13
PO rule1 17 51
# smicN65_layermap
GT drawing 30 0
AA drawing 10 0
可以发现(1)层名和(3)层掩膜ID在不同工艺下存在差异,比如:
TSMC Layer Name | TSMC Layer ID | SMIC Layer Name | SMIC Layer ID |
---|---|---|---|
OD | 6 | AA | 10 |
PO | 17 | GT | 30 |
… | … | … | … |
我们需要修改层掩膜ID,以提供tsmcN65顶层layout导出为中间状态gds时,层掩膜ID的初步映射(虽然层名依然tsmcN65中的,但是后续操作Virtuoso能自动识别层掩膜ID并映射到smicN65)。
因此复制tsmcN65_layermap
中用到的层到新建的layermap文件tsmcN65_smicN65_layermap
中。
然后修改第三列的值为SMIC中对应的层掩膜ID。
例如:
# tsmcN65_smicN65_layermap
OD drawing 10 0
OD dummy 10 1
OD drawing2 10 2
OD drain 10 3
OD pin 10 6
OD test1 10 11
OD test2 10 12
OD test3 10 13PO drawing 30 0
PO dummy 30 1
PO drawing2 30 2
PO test1 30 11
PO test2 30 12
PO test3 30 13
PO rule1 30 51
4. 从virtuoso layout导出映射中间态的GDS
这一步从tsmcN65工艺下导出smicN65工艺下掩膜ID的中间态GDS文件。
1、点击File->Export->Stream。
2、修改导出设置:
(1)填写导出gds的名称为tsmcN65_smicN65_mapping.gds
(2)选择Library:为刚才导入的gds所在的库mylib_tsmcN65
。
(3)设置顶层文件TOP_ASIC。
(4)Technology Library:不要选择任何技术库。
(5)Layer Map:选择上一步编写的层映射文件tsmcN65_smicN65_layermap
。
点击Translate,导出GDS文件。
5. Virtuoso导入映射中间态GDS
这一步导入包含smicN65层掩膜ID的中间态GDS文件并由软件自动映射到smicN65工艺上。
1、在CIW界面点击File -> Import -> Stream。
2、导入设置:
(1)选择导入的gds版图文件tsmcN65_smicN65_mapping.gds
;
(2)选择导入的库mylib_smicN65
;
(3)选择Attach的Tech LibrarysmicN65
,然后系统会自动选择smicN65_layermap
。
点击Translate
进行转译,将中间态GDS文件转换为smicN65工艺库下的layout。
3、打开顶层模块的layout,查看是否能正确显示各个层:
至此,从TSMC 65nm到SMIC 65nm的GDS转换完成。
6. (可选)导出smicN65工艺下的版图文件
这一步导出完整的smicN65工艺下的GDS文件。
1、点击File->Export->Stream。
2、修改导出设置:
(1)填写导出gds的名称为smicN65_virtuosoOut.gds
(2)选择Library:为刚才导入的gds所在的库mylib_smicN65
。
(3)设置顶层文件TOP_ASIC。
(4)Technology Library选择smicN65
。
(5)Layer Map:选择smicN65_layermap
。
点击Translate,导出GDS文件。
3、当然,担心出问题的话,还可以把smicN65_virtuosoOut.gds文件导入进来看看层数是否正确。
参考文章:
不同工艺转换 https://bbs.eetop.cn/thread-768170-1-1.html
(出处: EETOP 创芯网论坛 (原名:电子顶级开发网))