Jen的个人空间 https://blog.eetop.cn/1683082 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

记录自己写的 skill 脚本:将layout转为layout_xform(适用于Layout中Logo的缩放等情 ...

已有 591 次阅读| 2022-6-10 18:42 |个人分类:Skill脚本|系统分类:芯片设计| layout, skill, skill, skill

脚本功能:将layout转为layout_xform pcell,layout_xform 有缩放、更改角度的功能。

文件名称:createXformPCell.il

使用语言:skill

软件版本:IC617及以上版本

使用方法:CIW窗口 load("XXX/createXformPCell.il")后,再执行“createXformPCellForm”命令,弹出下图所示的窗口,

                可选择Library、Cell、View。(注意:当只选择了Library时,会对这个Library中所有Cell的layout 进行操作。)

image.png


代码如下:

procedure(createXformPCellForm()
  let((libLabel cellLabel viewLabel libN cellN viewN browse grid form)
        libLabel = hiCreateLabel(
            ?name       'libLabel 
      ?labelText     "Library"
            ?justification   'right
        )
        cellLabel = hiCreateLabel( 
            ?name       'cellLabel 
      ?labelText     "Cell"
            ?justification   'right
        )
        viewLabel = hiCreateLabel(
            ?name       'viewLabel 
      ?labelText     "View"
            ?justification   'right
        )
        libN = ddHiCreateLibraryComboField( 
            ?name     'libN 
      ?callback   "(ddsUpdateSyncWithForm)"
        )
        cellN = ddHiCreateCellComboField( 
            ?name     'cellN 
      ?callback   "(ddsUpdateSyncWithForm)"
        )
        viewN = ddHiCreateViewComboField( 
            ?name     'viewN 
      ?callback   "(ddsUpdateSyncWithForm)"
        )
        browse = hiCreateFormButton(
            ?name 'browse
            ?buttonText "Browse..."
            ?callback "(ddsSyncWithForm (hiGetCurrentForm) 'browse 'libN 'cellN 'viewN)"
        )
        grid = hiCreateGridLayout(
            'grid
            ?items list(
                list( libLabel   'row 0 'col 0)
                list( cellLabel   'row 1 'col 0)
                list( viewLabel   'row 2 'col 0)
                list( libN     'row 0 'col 1)
                list( cellN     'row 1 'col 1)
                list( viewN     'row 2 'col 1)
                list( browse     'row 1 'col 2)
                list( 'col_stretch   0 0)
                list( 'col_stretch   1 1)
                list( 'col_stretch   2 0)
            )
        )
        form=hiCreateLayoutForm(
            'abImportParasiticsForm
            "Create Xform PCell "
            grid
            ?sizePolicy 'horizontalExpanding
      ?callback  "createXformPCell()"
        )
        hiInstantiateForm(form)
        ddHiLinkFields(
            form->libN
            form->cellN
            form->viewN
        )
        hiDisplayForm(form)
    );end let
);end procedure

procedure(createXformPCell()
  let((form libN cellN viewN obj)
    form = abImportParasiticsForm
    libN = form->libN->value
    cellN = form->cellN->value
    viewN = form->viewN->value
    obj = ddGetObj(libN)
    if(cellN != "" then 
      cellList = list(cellN)
      viewN = viewN
    );end if
    if(cellN == "" then
      cellList = obj~>cells~>name  
      viewN = "layout"
    );end if
    foreach(cellN cellList
      printf("Log:%N%N%N\n" libN cellN viewN)
      cellID = dbOpenCellViewByType(libN cellN viewN "" "r")
      dbCreateXformPCell(cellID libN)
    );end foreach
  );end let
);end proc

可能会有Bug,未进行深入测试。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

Jen

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 5

    关注
  • 6

    粉丝
  • 12

    好友
  • 5

    获赞
  • 5

    评论
  • 439

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 15:04 , Processed in 0.026297 second(s), 16 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部