Virtuoso中对GDS文件进行工艺库转换的方法

article/2025/9/4 9:36:49

如果要对相同工艺节点下进行性能评估,可以尝试将一个厂商的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,库文件为tsmcN65smicN65

2、分别新建一个library,命名为mylib_tsmcN65mylib_smicN65,然后分别Attach 每个自建库到对应的tsmcN65smicN65 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 NameTSMC Layer IDSMIC Layer NameSMIC Layer ID
OD6AA10
PO17GT30

我们需要修改层掩膜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 创芯网论坛 (原名:电子顶级开发网))


http://www.hkcw.cn/article/NDQxXbFoii.shtml

相关文章

【二】9.关于设备树简介

1.什么是设备树: (DTS)采用树形结构描述扳级设备,也就是开发板上的设备信息,每个设备都是一个节点。 一个SOC可以做出很多不同的板子,这些不同的板子肯定是有共同的信息,将这些共同的信息提取出…

VSCode远程开发-本地SSH隧道保存即时修改

工作环境是一个网站团队几人同时在改,为了减少冲突,我们选择在自己公司服务器上先部署一版线上通用,再连接到不同的本地,这样我们团队可以在线上即时看到他人修改的结果,不用频繁拉取提交推送代码 在线上服务器建一个…

Embedded IDE下载及调试

安装cortex_debug插件 我这边用jlink烧录,其他的根据你自己的来 jlink路径在左下角齿轮设置里 设置位置: 芯片名称配置的都是自动生成的,在eide.json的这里改为你jflash芯片包的设置 调试里也会自动生成一个cortex_debug的调试选项 点旁边的…

lua注意事项

感觉是lua的一大坑啊,它还不如函数内部就局部变量呢 注意函数等内部,全部给加上local得了

【第4章 图像与视频】4.4 离屏 canvas

文章目录 前言为什么要使用 offscreenCanvas为什么要使用 OffscreenCanvas如何使用 OffscreenCanvas第一种使用方式第二种使用方式 计算时长超过多长时间适合用Web Worker 前言 在 Canvas 开发中,我们经常需要处理复杂的图形和动画,这些操作可能会影响页…

长安链起链调用合约时docker ps没有容器的原因

在调用这个命令的时候,发现并没有出现官方预期的合约容器,这是因为我们在起链的时候没有选择用docker的虚拟环境,实际上这不影响后续的调用,如果想要达到官方的效果那么你只需要在起链的时候输入yes即可,如图三所示

表中如何插入数据!扩展技能边界

insert语句向表中添加行。认识命令就行,使用时可以问AI帮忙写。 一.按顺序插入行 向上次新建的天气表,插入行。 insert into weather values (1,北京, 1, 37, 0.55, 2025-05-12); --按顺序依次写 insert into weather values (2,上海, 10, 41, …

三轴云台之抗扰动技术篇

三轴云台的抗扰动技术是保障其在复杂动态环境下实现稳定拍摄的核心,其技术体系涵盖机械结构优化、传感器融合算法、控制策略设计及动态补偿机制等多个层面。 一、抗扰动技术核心原理 多轴解耦与独立控制 俯仰轴(Pitch)、横滚轴&#xff08…

财管4-债务资本成本普通股资本成本的估计

1.债务资本成本 1) 未来成本 2) 期望成本 3) 长期债务成本 2.税前债务资本成本估计 2.1 各种方法 适用方法适用条件到期收益率公司目前有上市发行的长期债券可比公司 虽然没有上市债券,但可以找到一个拥有可交易债券的可比公司作为参照物;使…

【25-cv-05935】Keith律所代理(绿色巴士图)版权维权案

绿色巴士版权图 案件号:25-cv-05935 立案时间:2025年5月28日 原告:Alena Pavluchenko d/b/a Ellen Paul Art 代理律所:Keith 原告介绍 原告是科德角海滨的一名艺术家,擅长以水彩、书法和浮木雕刻记录生活。她通过…

登山第二十三梯:有序点云平面快速分割——35Hz帧速前进

文章目录 一 摘要 二 资源 三 内容 一 摘要 3D 点云中的实时平面提取对于许多机器人应用至关重要。作者提出了一种新颖的算法,用于在从 Kinect 传感器等设备获得的有组织的点云中实时可靠地检测多个平面。通过在图像空间中将这样的点云均匀地划分为不重叠的点组&…

【聚焦国产8K全画幅摄像机应用】多图预警!

聚焦国产8K全画幅摄像机应用实战图: 博冠8K全画幅摄像机B1应用于2023中央广播电视总台春晚拍摄现场 博冠8K全画幅摄像机B1应用于2023中央广播电视总台春晚拍摄现场 ​​​​ 博冠8K全画幅摄像机B1拍摄2022北京冬奥会 博冠8K全画幅摄像机B1在某电视台节目制作现场进行…

专题|LSTM-XGBoost,ARMA-LSTM,LDA-LSTM黄金比特币价格混合预测,蔬菜包发放时空协同调配,知乎综艺评论情感时序洞察

全文链接:https://tecdat.cn/?p42305 原文出处:拓端数据部落公众号 分析师:Jingwen Luo,Yuying Liu,Yiyuan Jiang 在数字化浪潮席卷各行各业的当下,数据已成为驱动决策的核心要素。作为数据科学工作者…

Vue 组件 - 指令

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue指令 目录 指令写法 自定义指令 简单封装指令 指令传递字符串 update事件 指令应用 指令实现轮播 指令函数简写 指令函数列表 bind inserted update componentUpdated unbind Vue3指令轮播 nextick 总结 指…

在Mathematica中求解带阻尼的波方程

考察偏微分方程 和初边值条件 这里主要示意一下,这个方程如何用Mathematica来求解以及在使用不同解法的时候,会遇到什么问题。 方法一:不额外附加边界条件 ClearAll[u, x, t, a, b, c, w, n];c 1; n 1; a 1; b 1; w 1;pde {D[u[t, x]…

Linux目录结构与命令基础与ls命令

目录结构 linux的目录结构是一个树形结构,只有一个根目录:/,所有文件都在他下面。 而win有多个根目录,每一个盘符都是一个根目录 在linux系统中,路径的层级关系使用“/”表示。而一般来说,开头的 /表示的…

13 接口自动化-框架封装之 csv 数据驱动封装和日志

文章目录 一、框架封装规则总结二、框架代码简单实现项目框架预览csv_util.py - 处理 csv 数据logger_util.py - 处理日志requests_util.py - 将请求封装在同一个方法中yaml_util.py - 处理 yaml 数据get_token.yml 文件-采用了csv数据驱动get_token.csv 文件get_token_error.c…

1Panel v2 首发体验(alpha)

前言 1Panel v2 也是期待已久了,今天来试试,这是一个 alpha 版本,不代表最终正式版品质🤪。 体验 登录界面 登录页面的变化还是比较大的,不再像 v1 时挂几个大字,在视觉和交互体验上都有显著提升。 新版…

SAR ADC 比较器噪声分析(一)

SAR ADC的比较器是非常重要的模块,需要仔细设计。主要考虑比较器的以下指标: 1)失调电压 2)输入共模范围 3)比较器精度 4)传输延时 5)噪声 6)功耗 这里主要讲一下noise。 上图比较器的噪声分析,详情见本专栏中的《SAR ADC 的噪声考虑》的比较器噪声的相关描述。比较器噪声…

【大模型/MCP】MCP简介

一句话总结 如果你打算让 LLM 像人一样“随手”调用脚本、数据库、搜索引擎或 CI/CD 流水线,而又不想为每个工具分别写 REST 插件或轮询接口,那么把它们包进 MCP 服务器是当前最省心、延迟最低、可复用最高的做法——正因如此 OpenAI、Google DeepMind、…