Home > Community > Forums > Custom IC SKILL > Streaming and merging two gds files

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Streaming and merging two gds files 

Last post Wed, Apr 16 2008 8:00 AM by archive. 1 replies.
Started by archive 16 Apr 2008 08:00 AM. Topic has 1 replies and 4348 views
Page 1 of 1 (2 items)
Sort Posts:
  • Wed, Apr 16 2008 8:00 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,950
    Streaming and merging two gds files Reply

    Hi I was wondering, is there a way to script streaming in two gds files, instantiating one top cell into the other one and then streaming out? I would like to automate dummy metal fill addition to a design. Simon


    Originally posted in cdnusers.org by sclemow
    • Post Points: 0
  • Mon, Jun 16 2008 1:22 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,950
    RE: Streaming and merging two gds files Reply

    Hello sclemow,

    Below you can find the SKILL script to merge to cells.

    You will need to modify the parameters , cell names, library names etc according to your requirements. I have marked these the code with <> statements.

    1. First it streams in the GDS1.gds and GDS2.gds files into LIBRARY1 and LIBRARY2.
    2. Then, it creates a new library NEW_MERGED_LIBRARY, creates a new cell and instantiates LIBRARY1 and LIBRARY2 top cells within this cell. Then, it streams out the merged cell.

    Hope this helps. ;-)


    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Create LIBRARY1 and stream in GDS1
    ddsHiCreateLibrary()
    ddsCreateLibForm->LibName->value = ""
    ddsCreateLibForm->Option->value = "Attach to an existing techfile"
    hiFormDone(ddsCreateLibForm)

    tcNewLibAttachTechForm->tcBinaryTFLibCyclic->value = ""
    hiFormDone(tcNewLibAttachTechForm)

    pipoDisplay(transStreamInForm)
    transStreamInForm->pipoLibName->value = ""
    transStreamInForm->pipoInFile->value = ""
    transStreamInForm->pipoScale->value = 0.001
    transStreamInForm->pipoTechfileName->value = ""
    hiFormDone(transStreamInForm)

    ; Create LIBRARY2 and stream in GDS2
    ddsHiCreateLibrary()
    ddsCreateLibForm->LibName->value = ""
    ddsCreateLibForm->Option->value = "Attach to an existing techfile"
    hiFormDone(ddsCreateLibForm)

    tcNewLibAttachTechForm->tcBinaryTFLibCyclic->value = ""
    hiFormDone(tcNewLibAttachTechForm)

    pipoDisplay(transStreamInForm)
    transStreamInForm->pipoLibName->value = ""
    transStreamInForm->pipoInFile->value = ""
    transStreamInForm->pipoScale->value = 0.001
    transStreamInForm->pipoTechfileName->value = ""
    hiFormDone(transStreamInForm)


    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Create a new library to hold the merged GDS
    ddsHiCreateLibrary()
    ddsCreateLibForm->LibName->value = ""
    ddsCreateLibForm->Option->value = "Attach to an existing techfile"
    hiFormDone(ddsCreateLibForm)

    ; Attach the new library to the tech file
    tcNewLibAttachTechForm->tcBinaryTFLibCyclic->value = ""
    hiFormDone(tcNewLibAttachTechForm)

    deNew()
    deNewForm->deLibName->value = ""
    deNewForm->deCellName->value = ""
    deNewForm->deViewName->value = "layout"
    deNewForm->deToolName->value = "Virtuoso"
    hiFormDone(deNewForm)

    ; Create a new cell in the new library and instantiate the other cells to be merged
    cv = dbOpenCellViewByType("" "" "layout" "maskLayout" "w")
    dbCreateInstByMasterName(cv "" "" "layout" "I0" list(0 0) "R0")
    dbCreateInstByMasterName(cv "" "" "layout" "I1" list(0 0) "R0")
    dbSave(cv)
    dbClose(cv)

    ; StreamOut
    pipoDisplay(transStreamOutForm)
    transStreamOutForm->pipoLibName->value = ""
    transStreamOutForm->pipoPrimaryCell->value = ""
    transStreamOutForm->pipoViewName->value = "layout"
    transStreamOutForm->pipoScale->value = 0.001
    transStreamOutForm->pipoOutFile->value = "NEW_TOP_CELL.gds"
    hiFormDone(transStreamOutForm)

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



    Originally posted in cdnusers.org by kanwarsr
    • Post Points: 0
Page 1 of 1 (2 items)
Sort Posts:
Started by archive at 16 Apr 2008 08:00 AM. Topic has 1 replies.