• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. ICFB SKILL script waiting for CDL IN to finish

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 145
  • Views 14876
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ICFB SKILL script waiting for CDL IN to finish

Michel Arendt
Michel Arendt over 11 years ago

Hello!

I have the following script which imports a layout into ICFB and then creates some pins on that layout.

The problem: the process of importing the layout begins and then the script tries to open it and create the pins before that process actually finishes. So what actually happens is that my ICFB is trying to open a layout that doesn't yet exists...

The question: Is there a way for me to detect when the layout importing process is finished?

I'm currently looking at the wait() function, but I don't yet grasp how to correctly use that command for this purpose.

The script itself is, currently, as follows (mind the ambient variables):

libName = ddCreateLib("'$destinationLibrary'")
libName->techLibName = "'$refLibList'"
cdlinGuiDisplay(  )
cdlInGuiForm->netlistFile->value = "'$cellName'"
cdlInGuiForm->outputLib->value = "'$destinationLibrary'"
cdlInGuiForm->topCell->value = "'$cellName'"
cdlInGuiForm->refLibList->value = "'$refLibList'"
cdlInGuiForm->devMapFile->value = "'$deviceMap'"
            hiFormDone( cdlInGuiForm )
deOpenCellView("'$destinationLibrary'" "'$cellName'" "layout" "maskLayout" list(list(0 0) list(500 600)) "a")
cv = geGetWindowCellView()
tdList = setof(shape cv~>shapes shape~>objType=="label")
foreach(label tdList
lblName = label~>theLabel
net = dbCreateNet(cv lblName)
rect = dbCreateRect(cv list("M1" "pin") list(0:0 .1:.1))
labelPos = listToVector(label~>xy)
labelPos[0] = labelPos[0]-.05
labelPos[1] = labelPos[1]-.05
labelPos = vectorToList(labelPos)
dbMoveShape(rect cv list(labelPos "R0" 1))
pin = dbCreatePin(net rect lblName)
)
leHiSave()
exit


Thanks in advance!
Michel 

  • Cancel
Parents
  • Michel Arendt
    Michel Arendt over 11 years ago

    Hello tweeks!

    Thanks for the reply and I'm sorry for the delayed response... I couldn't work on the script for a while.

    I'm currently trying your suggestion by using PIPO, but on my IC (5141) I only have the following options on PIPO:

    Usage:  pipo Translator SetupFile

    Translator = strmin,  cifin 

        strmout, cifout 

        strmtechgen, ciftechgen 

     

    I assume that I shouldn't use the CIFIN for schematic importing (I'm already using it to import a layout). I'm currently attempting to use the STREAMIN option but, so far, have been unsuccessful. First I exported the schematic using the FILE > EXPORT > STREAM and configured as follows:

     

    streamOutKeys = list(nil

    'runDir "."

    'libName "CORE65GPSVT"

    'primaryCell "HS65_GS_IVX2"

    'viewName "cmos_sch"

    'outFile "HS65_GS_IVX2.gds"

    'scale 0.001000

    'units "micron"

    'compression "none"

    'hierDepth 32

    'convertToGeo nil

    'maxVertices 200

    'refLib nil

    'libVersion "5.0"

    'checkPolygon t

    'snapToGrid nil

    'simMosaicToArray t

    'caseSensitivity "preserve"

    'textCaseSensitivity "preserve"

    'lineToZeroPath "path"

    'convertDot "ignore"

    'rectToBox nil

    'convertPathToPoly nil

    'keepPcell nil

    'replaceBusBitChar nil

    'useParentXYforText nil

    'reportPrecision t

    'runQuiet nil

    'comprehensiveLog nil

    'ignorePcellEvalFail nil

    'translateTopDown nil

    'errFile "PIPO.LOG"

    'NOUnmappingLayerWarning nil

    'techFileChoice nil

    'pcellSuffix "DbId"

    'respectGDSIILimits nil

    'dumpPcellInfo nil

    'genListHier nil

    'cellMapTable ""

    'layerTable "/soft64/design-kits/stm/65nm-cmos065_536/DK_cmos065lpgp_7m4x0y2z_2V51V8@5.3.6/DATA/LIB/lib/cmos065/cmos065.layermap"

    'textFontTable ""

    'convertPin "geometry"

    'pinInfo 0

    'pinTextMapTable ""

    'propMapTable ""

    'propSeparator ","

    'userSkillFile ""

    'rodDir ""

    'refLibList "cmos065"

    ) 

     

     As for importing:

     streamInKeys = list(nil

    'runDir "."

    'inFile "HS65_GS_IVX2.gds"

    'primaryCell "HS65_GS_IVX2"

    'libName "TEST"

    'viewName "schematic"

    'techfileName "/home/michel.arendt/work/ascend/st065/layout/cmos065"

    'scale 0.100000

    'units "micron"

    'errFile "PIPO.LOG"

    'refLib "cmos065"

    'hierDepth 32

    'maxVertices 1024

    'checkPolygon t

    'snapToGrid nil

    'arrayToSimMosaic t

    'caseSensitivity "preserve"

    'textCaseSensitivity "preserve"

    'zeroPathToLine "lines"

    'convertNode "ignore"

    'keepPcell nil

    'replaceBusBitChar nil

    'skipUndefinedLPP t

    'ignoreBox nil

    'mergeUndefPurposToDrawing nil

    'reportPrecision t

    'keepStreamCells nil

    'attachTechfileOfLib ""

    'runQuiet nil

    'noWriteExistCell nil

    'NOUnmappingLayerWarning nil

    'comprehensiveLog nil

    'ignorePcellEvalFail nil

    'appendDB nil

    'genListHier nil

    'skipDbLocking nil

    'skipPcDbGen nil

    'cellMapTable ""

    'layerTable "/soft64/design-kits/stm/65nm-cmos065_536/DK_cmos065lpgp_7m4x0y2z_2V51V8@5.3.6/DATA/LIB/lib/cmos065/cmos065.layermap"

    'textFontTable ""

    'restorePin 0

    'propMapTable ""

    'propSeparator ","

    'userSkillFile ""

    'rodDir ""

    'refLibOrder "cmos065"

    )

     

    However, the result is somewhat problematic as you observe on the image I've attached. I'm probably missing some configuration somewhere, can you help me on this?

     Thanks in advance! 

    • PIPO_SCHEMATIC_IMPORT_PROBLEM.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Michel Arendt
    Michel Arendt over 11 years ago

    Hello tweeks!

    Thanks for the reply and I'm sorry for the delayed response... I couldn't work on the script for a while.

    I'm currently trying your suggestion by using PIPO, but on my IC (5141) I only have the following options on PIPO:

    Usage:  pipo Translator SetupFile

    Translator = strmin,  cifin 

        strmout, cifout 

        strmtechgen, ciftechgen 

     

    I assume that I shouldn't use the CIFIN for schematic importing (I'm already using it to import a layout). I'm currently attempting to use the STREAMIN option but, so far, have been unsuccessful. First I exported the schematic using the FILE > EXPORT > STREAM and configured as follows:

     

    streamOutKeys = list(nil

    'runDir "."

    'libName "CORE65GPSVT"

    'primaryCell "HS65_GS_IVX2"

    'viewName "cmos_sch"

    'outFile "HS65_GS_IVX2.gds"

    'scale 0.001000

    'units "micron"

    'compression "none"

    'hierDepth 32

    'convertToGeo nil

    'maxVertices 200

    'refLib nil

    'libVersion "5.0"

    'checkPolygon t

    'snapToGrid nil

    'simMosaicToArray t

    'caseSensitivity "preserve"

    'textCaseSensitivity "preserve"

    'lineToZeroPath "path"

    'convertDot "ignore"

    'rectToBox nil

    'convertPathToPoly nil

    'keepPcell nil

    'replaceBusBitChar nil

    'useParentXYforText nil

    'reportPrecision t

    'runQuiet nil

    'comprehensiveLog nil

    'ignorePcellEvalFail nil

    'translateTopDown nil

    'errFile "PIPO.LOG"

    'NOUnmappingLayerWarning nil

    'techFileChoice nil

    'pcellSuffix "DbId"

    'respectGDSIILimits nil

    'dumpPcellInfo nil

    'genListHier nil

    'cellMapTable ""

    'layerTable "/soft64/design-kits/stm/65nm-cmos065_536/DK_cmos065lpgp_7m4x0y2z_2V51V8@5.3.6/DATA/LIB/lib/cmos065/cmos065.layermap"

    'textFontTable ""

    'convertPin "geometry"

    'pinInfo 0

    'pinTextMapTable ""

    'propMapTable ""

    'propSeparator ","

    'userSkillFile ""

    'rodDir ""

    'refLibList "cmos065"

    ) 

     

     As for importing:

     streamInKeys = list(nil

    'runDir "."

    'inFile "HS65_GS_IVX2.gds"

    'primaryCell "HS65_GS_IVX2"

    'libName "TEST"

    'viewName "schematic"

    'techfileName "/home/michel.arendt/work/ascend/st065/layout/cmos065"

    'scale 0.100000

    'units "micron"

    'errFile "PIPO.LOG"

    'refLib "cmos065"

    'hierDepth 32

    'maxVertices 1024

    'checkPolygon t

    'snapToGrid nil

    'arrayToSimMosaic t

    'caseSensitivity "preserve"

    'textCaseSensitivity "preserve"

    'zeroPathToLine "lines"

    'convertNode "ignore"

    'keepPcell nil

    'replaceBusBitChar nil

    'skipUndefinedLPP t

    'ignoreBox nil

    'mergeUndefPurposToDrawing nil

    'reportPrecision t

    'keepStreamCells nil

    'attachTechfileOfLib ""

    'runQuiet nil

    'noWriteExistCell nil

    'NOUnmappingLayerWarning nil

    'comprehensiveLog nil

    'ignorePcellEvalFail nil

    'appendDB nil

    'genListHier nil

    'skipDbLocking nil

    'skipPcDbGen nil

    'cellMapTable ""

    'layerTable "/soft64/design-kits/stm/65nm-cmos065_536/DK_cmos065lpgp_7m4x0y2z_2V51V8@5.3.6/DATA/LIB/lib/cmos065/cmos065.layermap"

    'textFontTable ""

    'restorePin 0

    'propMapTable ""

    'propSeparator ","

    'userSkillFile ""

    'rodDir ""

    'refLibOrder "cmos065"

    )

     

    However, the result is somewhat problematic as you observe on the image I've attached. I'm probably missing some configuration somewhere, can you help me on this?

     Thanks in advance! 

    • PIPO_SCHEMATIC_IMPORT_PROBLEM.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information