• 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 Design
  3. how to copy a cellview from a different cell

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 15647
  • 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

how to copy a cellview from a different cell

kristin
kristin over 15 years ago

Hello,

 I'm trying to copy an cellview to a new target cellview by

1. cv-car(selectedSet()) - this is from the same targeting cellview

2. cv=dbOpenCellViewByType(sameLib differentCell "layout" "maskLayout" "r") - this cell includes multi polygons

then use dbCopyFig(cv nil list(0:0 "R0" 1.0))

1 (objType=inst) works fine, but 2(objType=cellView) does not work. Anyone's help will be appreciated.

Thanks

K

  • Cancel
  • Quek
    Quek over 15 years ago

    Hi Kristin

    Just to clarify your question a litte, do you mean that you are trying to do the following?

    src=dbOpenCellViewByType("myLib" "myCell1" "layout")
    dest=dbOpenCellViewByType("myLib" "myCell2" "layout")
    dbCopyFig(src dest)

    If my understanding of your question is correct, then it will not work because dbCopyFig is not meant for copying cellviews (hence the word "Fig" in the cmd name). Please let me know if I have misunderstood your question. : )

    If you would like to copy the contents of an entire cellview to another existing cellview, perhaps you can do this:

    src=dbOpenCellViewByType("myLib" "myCell1" "layout")
    dest=dbOpenCellViewByType("myLib" "myCell2" "layout")

    geSelectAllFig(src)
    allFig=geGetSelSet(src)
    foreach(x allFig
       dbCopyFig(x dest)
    ) ;foreach

    dbSave(dest)
    dbClose(src)
    dbClose(dest)


    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kristin
    kristin over 15 years ago
    Quek,

    What I’m trying to do is to

        build a sub mosaic as “myLib” “myCell1” “layout”, where has multi layers, shapes and polygons
        in the pcell “myLib” “dest” “layout”, read in src=dbOpenCellViewByType(“myLib” “myCell1” "layout" "maskLayout" "r"),

    to build a new cell dest by a switch (either on or off), with the “myLib” “meCell1” specified in the CDF entry. I re-try the foolowing, that seems to be working.

                  cdfId = cdfGetInstCDF(src)

                  offsetX = evalstring(cdfFindParamByName(cdfId "OffsetX")~>value)*1e6

                  offsetY = evalstring(cdfFindParamByName(cdfId "OffsetY")~>value)*1e6

      newShape = dbCreateSimpleMosaic(cvId src nil offsetX:offsetY "R90" 1 1 1 1)

    However, the problem is that I need to load the code each time when re-opening the cellview that has the pcell, even though the switch is on. If I change the offset values, the session crashed.

    Is there any better way to do, if I also want to be able to set offsets/oritations that specified by CDF?

    Thanks

    K
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago
    Hi Kristin,

    What you're trying to do is pretty unclear. First of all, src seems to be a cellView, but you're using cdfGetInstCDF on it - that would expect an instance Id.

    You say you are changing the offset values, but where? This wouldn't trigger a pcell using src to reevaluate.

    Perhaps you'd be better off posting a complete example, rather than just snippets - you may not be pinpointing exactly where the problem lays.

    Regards,

    Andrew
    • 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