分享 | 如何在不同工艺间进行设计的移植转换
对项目而言,有时会有工艺转换的需求(process porting)即将整个项目从一个工艺移植在另一个工艺上。
问题描述
对项目而言,有时会有工艺转换的需求(process porting)即将整个项目从一个工艺移植在另一个工艺上。
例如,从「SMIC180」工艺转成「TSMC180」的工艺,我们则需要:
- 把当前SMIC设计库的电路使用的器件,替换成TSMC对应的器件
- 更新器件参数,如修改MOS管的长宽比
- ……
以上两点,基本上是移植工艺所需要的步骤。
在实现方法上,你可能首先想到的一个通用的方法就是手动进行替换,但这种方式比较耗时,也容易出错。
所以,有没有办法实现自动更改替换呢?
解决方案
下面就来介绍一种利用SKILL脚本,快速实现整个库的电路设计转换方法。
操作步骤:
**1)**后台回复关键词「porting」,下载SKILL文件

⇨ PS:此代码来自_Cadence官方_非原创
**2)**在CIW窗口中输入以下命令,加载SKILL文件

⇨ PS:引号内的内容修改成 .il 文件所在的路径
**3)**在CIW窗口中继续输入命令,打开 migration 选项卡

**4)**在弹出的选项卡中,设置转换信息

( Migration 选项卡)
4.1****Target library:
下拉菜单选择要进行移植的设计库
4.2****Target cells:
选择一个或多个Cell进行迁移,点击「+」确定
4.3****Target libs and cells:
列出了所有待转换的库和单元
4.4****mapping file:
指定移植转换的「.Map」映射文件
4.5****Choose view type:
选择转换的视图类型,提供Schematic和Layout两种类型
4.6****Backup original:
是否需要自动备份原始的视图
4.7****Recreate inst:
是否需要重新调用器件以使用默认参数值
在这里我们需要编写一个「.map」文件,来映射转换库之间的对应关系。
格式如下:
oldLib
oldCell oldView
oldProp1
...
oldProp99
#
newLib newCell newView newProp1 ... newProp99
<< 滑动查看完整内容 >>
格式介绍:
编写Map文件时,主要需要填写转换的Library名称、Cell名称、视图名称以及器件参数名(可选)。其中,前面红色字体是转换前的信息,后面绿色字体部分则是转换后的,当中通过「#」隔开。
示例解析:
下面是以SMIC转成TSMC为例,编写的一个示例:

( .map文件编写示例)
SMIC库的各项信息写在前面,需要对其进行三个symbol的转换,即:
- n18e2r
- p18e2r
- pnp18
接着写上对应的TSMC库的信息,三个symbol分别对应:
- nmos2v
- pmos2v
- vpnp
由于两个库定义的器件属性名称不同,因此它们的转换关系也需要列出。其中MOS管的属性「w」对应「wf」,「fw」对应「w」…
另外,你可以通过CIW窗口,选择「Tools」-「CDF」-「Edit…」来查看器件的各项参数的名称定义。
就像这样,很容易找出两者的区别

( Prop1 … Prop99信息)
**5)**完成上述设置后,点击「OK」开始转换

电路经过转换后,可能会出现器件参数显示的值与实际参数值不一致的问题,所以还需要通过以下步骤对CDF进行更新。
**6)**返回CIW窗口中输入命令,加载第二份SKILL文件

**7)**在CIW窗口中继续输入命令,执行更新操作

注:引号中的内容是转换库的Library名称

以上,是对不同工艺间进行原理图转换的一个流程介绍。文字版阅读起来不清晰的话,下方还附带了一个简单的操作视频,可直接点击查看~
-End-
Virtuoso 实战答疑 系列

点击
试试~