zoukankan      html  css  js  c++  java
  • calibredrv create reference cell

    假设我们有个 A.gds, top cell是ATOP, 有了B.gds, top cell是BTOP, 之前说过的merge gds file, 可以把A.gds和B.gds合并,要么 ATOP和BTOP平级,要么 ATOP和BTOP同属一个新top的子cell, 那如何让 BTOP作为ATOP的子cell呢?也就是不改变ATOP的情况下把BTOP调用到ATOP。

    其实这在 calibredrv的文档中 $L create cell 介绍时已经给出了现成的例子,如下

    1. #Extracts a cell from an existing layout into a new GDS file:
    2. # Load existing layout.
    3. set Llayout [layout create mylayout.gds]
    4. # Create an empty layout.
    5. set Lnew [layout create]
    6. # Create topcell for new layout.
    7. $Lnew create cell TOP
    8. # Copy MyGeom cell to new layout, calling it MyGeomNew. Copies all
    9. # geometry, but not placements.
    10. $Lnew create cell MyGeomNew $Llayout MyGeom
    11. # Place MyGeomNew cell reference in new layout.
    12. $Lnew create ref TOP MyGeomNew 0 0 0 0 1
    13. # Export new layout.
    14. $Lnew gdsout new.gds

    这是创建了一个新的layout, 新的top为TOP, 并为这个TOP调用已有的mylayout.gds中的mygeomnew cell,最后保存为new.gds

    但实际上我们要达到开头说的A和B的目的,还需修改一下这个例子

    第一步,打开 A和B的gds, 用 layout create命令

    1. # Load A.gds.
    2. set layoutA [layout create A.gds]
    3. # Load B.gds.
    4. set layoutB [layout create B.gds]

    第二步,这时打开的是两个不同cell,所以需要所b.gds中的BTOP copy到a.gds 中

    1. # Copy BTOP from B.gds to A.gds
    2. $layoutA create cell BTOP $layoutB BTOP

    第三步,ATOP中调用BTOP, 用到create ref命令

    1. #crate reference cell
    2. $layoutA create ref ATOP BTOP 0 0 0 0 1

    最后用 gdsout命令保存新的gds

    1. # Export new layout.
    2. $layoutA gdsout c.gds

    完整的code如下

    1. # Load A.gds.
    2. set layoutA [layout create A.gds]
    3. # Load B.gds.
    4. set layoutB [layout create B.gds]
    5. # Copy BTOP from B.gds to A.gds
    6. $layoutA create cell BTOP $layoutB BTOP
    7. #crate reference cell
    8. $layoutA create ref ATOP BTOP 0 0 0 0 1
    9. # Export new layout.
    10. $layoutA gdsout c.gds
     

    teriminal下输入

    1. calibredrv xxx.txt

    其实还有个layout import命令可以先把B的gds导入到A,再创建ref
    或者将A.gds和B.gds 合并后再创建ref

  • 相关阅读:
    转:我们是否应该把后端构建为API
    转:浅谈命令查询职责分离(CQRS)模式
    转:如何在Linux上提高文本的搜索效率
    结对编程???该歇歇了
    码农语录•「程序代码的可信度,不会比写的人还可信。」
    七个错误可能引发网页布局灾难
    为什么我不再和别人比较了?
    顶级程序员的10条最佳实践
    程序员淡定的姿态和操蛋的心...
    【好文翻译】码农们:效率与质量,你选择哪个?
  • 原文地址:https://www.cnblogs.com/yylei/p/13779842.html
Copyright © 2011-2022 走看看