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

如果要对相同工艺节点下进行性能评估,可以尝试将一个厂商的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.pswp.cn/diannao/84912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes 中部署 kube-state-metrics 及 Prometheus 监控配置实战

文章目录 Kubernetes 中部署 kube-state-metrics 及 Prometheus 监控配置实战环境准备创建监控命名空间准备配置文件创建 ServiceAccount配置 RBAC 权限部署 kube-state-metrics部署node_exporter(可选)验证服务账号 TokenPrometheus 配置示例小结验证增加Grafana面板增加prome…

《重塑认知:Django MVT架构的多维剖析与实践》

MVT,即Model - View - Template,是Django框架独特的架构模式。它看似简单的三个字母,实则蕴含着深刻的设计哲学,如同古老智慧的密码,解开了Web应用开发的复杂谜题。 模型,是MVT架构中的数据核心&#xff0…

【JVM】初识JVM 从字节码文件到类的生命周期

初识JVM JVM(Java Virtual Machine)即 Java 虚拟机,是 Java 技术的核心组件之一。JVM的本质就是运行在计算机上的一个程序,通过软件模拟实现了一台抽象的计算机的功能。JVM是Java程序的运行环境,负责加载字节码文件&a…

人工智能在智能零售中的创新应用与未来趋势

随着电子商务的蓬勃发展和消费者需求的不断变化,零售行业正面临着前所未有的挑战和机遇。智能零售作为零售行业的重要发展方向,通过引入人工智能(AI)、物联网(IoT)、大数据和云计算等前沿技术,正…

DeepSeek 赋能智能物流:解锁仓储机器人调度的无限可能

目录 一、智能物流仓储机器人调度现状1.1 传统调度面临的挑战1.2 现有智能调度的进展与局限 二、DeepSeek 技术探秘2.1 DeepSeek 核心技术原理2.2 DeepSeek 的独特优势 三、DeepSeek 在智能物流仓储机器人调度中的创新应用3.1 智能任务分配与调度3.2 路径规划与避障优化3.3 实时…

Vue CLI创建vue项目,安装插件

Vue CLI创建vue项目,安装插件 一、创建项目1. 安装Vue CLI2. 创建项目 二、安装插件routerlesssassjquery 一、创建项目 1. 安装Vue CLI npm install -g vue/cli2. 创建项目 vue create project cd project二、安装插件 router npm install vue-router # 对于 …

小白成长之路-Linux程序管理(二)

文章目录 一、源码包(编译)安装1.安装前先查看磁盘大小2.压缩包的位置3.执行编译 二、二进制安装三、Linux操作系统启动流程3.1概述3.2启动流程核心阶段1.电源与固件阶段2.引导加载程序3.内核初始化4.systemd初始化进程5. 用户登录阶段 四、systemd管理机…

Ansible模块——Ansible的安装!

Ansible 安装 Ansible 有三种安装方式,源码安装、发行版安装和 Python 安装。 使用发行版安装或 Python 安装两种方式时,Ansible 的安装包有两个,区别如下: • ansible-core:一种极简语言和运行时包,包含…

《全面解析鸿蒙相关概念:鸿蒙、开源鸿蒙、鸿蒙 Next 有何区别》

大家好,这里是程序员晚枫,最近接了一个和鸿蒙电脑有关的商单,所以专门花时间研究了一下和鸿蒙有关的概念。 鸿蒙系统相关概念主要有以下三个,它们之间存在多方面的区别,以下是具体介绍: OpenHarmony 定义…

C# 数组与字符串:全面解析与应用实践

在C#编程语言中,数组和字符串是两种最基础也是最重要的数据类型。无论是简单的控制台应用程序,还是复杂的企业级系统,数组和字符串都扮演着不可或缺的角色。本文将全面深入地探讨C#中数组和字符串的特性、使用方法、性能考量以及实际应用场景…

VR 技术在农业领域或许是一抹新曙光​

在科技日新月异的今天,VR(虚拟现实)技术已不再局限于游戏、影视等娱乐范畴,正逐步渗透到各个传统行业,为其带来全新的发展契机,农业领域便是其中之一。VR 技术利用计算机生成三维虚拟世界,给予用户视觉、听觉、触觉等多…

SPEAR开源程序是用于逼真演示 AI 研究的模拟器

​一、软件介绍 文末提供程序和源码下载 SPEAR开源程序是用于逼真具身 AI 研究的模拟器 二、AI 研究的模拟器 交互式模拟器正在成为训练具体代理的强大工具,但现有的模拟器存在内容多样性、物理交互性和视觉保真度有限的问题。我们通过引入 SPEAR:照片…

第1章 Redis 概述

一、Redis 简介 Redis,Remote Dictionary Server,远程字典服务,由意大利人Salvatore Sanfilippo(又名Antirez)开发,是一个使用ANSI C 语言编写、支持网络、 可基于内存亦可持久化的日志型、NoSQL 开源内存数据库,其提供多种语言的API&#xff61…

图论学习笔记 5 - 最小树形图

我们不废话,直接进入正题:最小树形图,一个名字看起来很高级的东西。 声明:为了便于理解,可能图片数量会有亿点点多。图片尺寸可能有的较大。 概念 最小树形图的英文是 Directed Minimum Spanning Tree。 相信懂英文…

力扣面试150题--完全二叉树的节点个数

Day 51 题目描述 思路 根据完全二叉树的规律,完全二叉树的高度可以直接通过不断地访问左子树就可以获取,判断左右子树的高度: 1. 如果相等说明左子树是满二叉树, 然后进一步判断右子树的节点数(最后一层最后出现的节点必然在右子树中) 2. 如…

社区造数服务接入MCP|得物技术

一、背景 ​ 今年 MCP 的概念非常火,市面上也涌现出了一大批 MCP 相关工具。作为技术一线者,都会按捺不住地去实操一下,很早的时候就有个设想,如果把我们的测试工具都改造为符合 MCP 服务协议标准,然后全部接入 AI A…

Mysql 查询时间段内的sql优化

Mysql 查询时间段内的sql优化 一说写到查询某个时间段的sql查询,我们就会使用DATE_FORMAT函数格式化日期字段: 比如查询某年某月的数据,我们可能常用的方式如下 DATE_FORMAT(pay_time,%Y-%m)=DATE_FORMAT(now(),%Y-%m) 但是这样做会使索引失效,尤其在数据量越来越多的情况…

用 Deepseek 写的 html+js 密码生成器

下面是一个功能完整的密码生成器HTMLJS实现&#xff0c;包含数字、小写字母、大写字母、符号、避免重复字符和密码长度设置功能。 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&…

WPF绑定

如何使用绑定去改变事件驱动的关系。 先介绍一下标签扩展 目录 控件与控件之间的绑定 代码分析 绑定语法详解 1. Binding - 绑定标记 2. ElementName=slider - 绑定源 3. Path=Value - 绑定路径 不同控件属性的默认模式: 控件和属性绑定 1. 数据模型类的作用 2. 窗…

同源“平滑思想”的问题解法:正则化与拉普拉斯平滑

同源“平滑思想”的问题解法&#xff1a;正则化与拉普拉斯平滑 在机器学习和概率模型的实践中&#xff0c;正则化与拉普拉斯平滑是两个看似无关的技术&#xff1a;前者用于防止模型过拟合&#xff0c;后者用于解决零概率问题。但如果深入理解它们的核心逻辑&#xff0c;会发现…