|
发表于 2019-8-21 17:15:22
|
显示全部楼层
本帖最后由 yanpflove 于 2019-8-21 17:16 编辑
你好,
这个skill是我自己在服务器里写的,通过截屏后OCR生成了以下文本,可能存在部分字符转换错误,附图作为参考。
- Author:Yan Pengfei
- Last Modified:2019/8/21
- Modified By: Yan Pengfei
- Version:1.0
- Revision history:
- 2019/8/21
- 1.0: Creation.
- Description:
- After transfer CDL to Schematic via spicein, for Dongbu Process, the width and length are not correct.
- By this skill, the property value in user property will be passed to actual CDF peoperty.
- Usage:
- In CIW,load this file, then type " ZTC2SLib("your_lib_name") "
- /*************************************************************************
- Replace one library.
- *******************************************************************************/
- procedure(ZtC2SLib(lib)
- foreach(cellID ddGetObj(lib)->cells
- cell=cellID->name
- ZtC2SCell(lib cell) ;This function is defined below.
- );end foreach
- printf("*_* Library "%s" is finished.********\n'' lib)
- );end procedure
- /*******************************************************************************
- Replace one cell.
- *******************************************************************************/
- procedure(ZtC2SCell(lib cell)
- printf("*_* Cell "%s" begins! \n" cell)
- when(cv=dbOpenCellViewByType(lib cell "schematic" "" "a") ;0pen the cellview by "edit" mode.
- foreach(instID cv~>instances ;Traverse every instance.
- deviceName=instID~>cellName ;Get device name.
- case(deviceName
- ("nch_svt_iso_nbl_1p8v" Zt_nmos(instlD))
- ("pch_svt_iso_nbl_1p8v" Zt_pmos(instlD))
- );end case deviceName
- );end foreach instID
- schCheck(cv)
- dbSave(cv)
- dbClose(cv)
- printf("*_* Cell "%s" is finished! \n" cell)
- ):end when cv
- );end procedure ZtC2SCell
- /*NM0S*/
- procedure(Zt_nmos(instID)
- /*get old parameters. */
- let((w I m fingers newInstID cdf params property param x cdfgData)
- instID~>fw=instID~>width
- instID~>l=instID~>length
- /*callback and update */
- cdfgData=cdfGetInstCDF(instID)
- foreach(param cdfgData~>parameters
- when(param~>callback evalstring(param~>callback))
- );end foreach param
- cdfUpdateInstParam(instID)
- );end let
- );end procedure Zt_nmos
- /*PMOS */
- procedure(Zt_pmos(instID)
- let((w I m fingers newInstID cdf params property param x cdfgData)
- instID~>fw=instID~>width
- instID~>l=instID~>length
- /*callback and update */
- cdfgData=cdfGetInstCDF(instID)
- foreach(param cdfgData~>parameters
- when(param~>caUback evalstring(param~>callback))
- );end foreach param
- cdfUpdateInstParam(instID)
- );end let
- );end procedure Zt pmos
复制代码
|
-
|