• 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. lxGenFromSource related questions

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 144
  • Views 15067
  • 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

lxGenFromSource related questions

Inas
Inas over 10 years ago

Hello,

Please i want  generate a layout for schematic so o searched in the cadence layout manual and i found this command.

Then i got the schematic ID using dbOpenCellViewByType then i used the command like that

lxGenFromSource(schID "lib name (same as sch)" "layout cell name (same as sch)" "layout view name")

when i did that it gives me in the CIW error says (extra arguments or keyword missing)

Also in the rest of the fields i don't know what i have to write like the template file field also if i want to instantiate the instances there is a field in the command which is t_initCreateInstances but i don't know how to use it is that bu writing the names in the schematic or what?

Thanks a lot

BR,

Inas

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Hi Inas,

    Apart from the first argument (the schematic cellView ID), the other arguments are "keyword" arguments. It should be:

    lxGenFromSource(schID ?layLibName "lib name (same as sch)" ?layCellName "layout cell name (same as sch)" ?layViewName "layout view name")

    The examples in the documentation show this keyword argument convention.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Inas
    Inas over 10 years ago
    Aha i see i have to write ?layLibName and so on, i thought he just give me indication that i have to write that. But please may i ask why this is done here specifically in this function as i didn't see in other ones
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Many functions are defined this way - not just this one. Most of the "hi" functions use keyword arguments, and many others too. Quite a few of the "lx" functions are defined to take keyword arguments.

    SKILL supports two argument styles - pass by order, and pass by keyword. When a function is defined you can have a mixture of ordered parameters and keyword parameters. Usually keyword arguments are used for the case when you have a large number of arguments, many of which are optional - which is the case here.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Inas
    Inas over 10 years ago
    Aha i got it thanks for your explanation
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Inas
    Inas over 10 years ago
    one more question please, for the fields CreatePin and instances and the other fields in the same command if i didn't write anything in them it will generate the default like the pins in OD layer with no labels so how can i make use of these fields? can i control the pin layers ans the instances position using these fields or how can i make use of them?
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Hi Inas,

    Look in the documentation for lxSetNetPinSpecs. Something like this:

    leSetEnv("createPinLabels" t) ; may need other cdsenv to control layers and heights for labels
    lxGenerateStart(schCv layCv)
    lxSetNetPinSpecs(?nets lxGetPinNets() ?lpp list("M1" "drawing") ?width 0.5 ?height 0.5)
    lxGenerateFinish(schCv layCv)

    this is a different API from using lxGenFromSource but achieves the same idea but with a bit more control.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • San
    San over 10 years ago

    Hi Andrew,

    I am trying the steps as indicated. But I am not getting the instances/cells and pin placed in layout.

    Note: I am using Layout GXL as I don't have licence for XL ! 

    I am running following series of commands to generate layout from schematic using generate all from source. Everything comes up True as a result in CIW but when I open the resultant layout graphically , its blank. Please let me know what I am doing wrong,

    schematic_view = dbOpenCellViewByType("mylib" "mycell" "schematic")       ........Note: I already have schematic 

    layout_view = dbOpenCellViewByType("mylib" "mycell" "layout" "maskLayout" "w")

    lxGenerateStart(schematic_view layout_view)

    lxSetNetPinSpecs(?nets lxGetPinNets() ?lpp list("M1" "Pin") ?width 0.5 ?height 0.5)

    lxGenerateFinish(schematic_view layout_view) 

     

    I will appreciate your help on this.

    Thanks,

    San

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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