• 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. Ploting schematic without showing component parameters

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 128
  • Views 22311
  • 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

Ploting schematic without showing component parameters

rickrevolta
rickrevolta over 15 years ago

Hello everybody

 I´m trying to plot my schematic at virtuoso schematic editor but I don not want to plot the component parameters. This is a plot for documentation purposes and it get a little confuse to see with a lot of infomation right next each transistor. How can I take off the component parameters  to plot the schematic ?

thanks

rickrevolta

  • Cancel
  • skillUser
    skillUser over 15 years ago

     Hi Rick,

    You can load the SKILL code from Solution 11131226 and then try the following to "turn off" all the instance labels:

    foreach(inst
      geGetEditCellView()~>instances
      CCSselectAllInstLabels(inst)~>isVisible=nil
    ) 

    Hopefully this will do what you want - you can set the "isVisible" attribute to 't' to make them all visible again, or close the cellview without saving; next time it opens it should display all the labels again.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    You should also be able to do this without SKILL.

    In your schematic, do Edit->Component Display. Pick on one of the components, and on the form select "Select Label:" to be "parameter".

    Then in the Parameter Labels section, set the "Apply to: " to be "library", and then set the row below that to "none". If that doesn't work, set the "Apply to:" to be "cell", and then set it to none. In this case, you'll need to click once on each type of component. Whether it works for the library or cell depends on how the CDF has been setup.

    The easiest way to get everything back to normal is to do a File->Refresh in the CIW and OK the CDF refresh form that appears.

    You can also turn of terminal and instance labels using the same kind of approach.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • rickrevolta
    rickrevolta over 15 years ago
    Hello

    I want to thank you two guys, both ways works .The skill command has the advantage that you do it only once. I hope not to be asking a lot, but is there a skill command  to turn off the terminal labels too ?

    thanks again

     

    rick
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    Rick,

    In the solution code that Lawrence referenced, change this part of the code:

             foreach(mapcar label setof(x obj~>master~>shapes
                            and(x~>objType=="label"
                                rexMatchp("cdsParam" x~>theLabel)))

    to:

             foreach(mapcar label setof(x obj~>master~>shapes
                            and(x~>objType=="label"
                                rexMatchp("cdsParam" x~>theLabel) ||
                                rexMatchp("cdsTerm" x~>theLabel)
                    ))

    This will pick up both the cdsParam and cdsTerm type labels.

    Regards,

    Andrew.

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

    Hi,

    I have the same question, but none of the code works. Maybe the commands are changed since 2010? I am using Virtuoso 6.1.6. In the View-Menu I found ways to hide some of the text (i. e. "Hide Instance Labels") but I find no way to hide the Instance Names.

    Do someone have an idea?

    Thank you!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    For some reason the instance name (cdsName()) labels are not toggled. This is easily solved using this SKILL function - just call CCFtoggleInstName() to toggle or on off the display of those labels. Put this code in your .cdsinit and then stick the "CCFtoggleInstName()" on a bindkey maybe:

    procedure(CCFtoggleInstName(@optional (win hiGetCurrentWindow()))
      let((lpp)
        lpp=techGetLP(techGetTechFile(geGetEditCellView(win)) '("annotate" "drawing7"))
        lpp->visible=!lpp->visible
        hiRedraw(win)
      )
    )

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Magistus
    Magistus over 10 years ago
    Perfect, it works! Thank you Andrew!
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • david jk
    david jk over 5 years ago

    Hi Guys,

    Is there any way that the foreach loop Rick suggested I bind to a key and toggle with the key the visibility on and off? Is there also a way also to remove cell name labels, and the labels on the nets?

    Thx,

    David

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to david jk

    Not sure I quite understand the question David (and by the way, posting on the end of a 10 year old thread is not a good idea, as per the forum guidelines), but maybe this code will do what you want?

    /* abToggleLabelsForPlotting.il
    
    Author     A.D.Beckett
    Group      Custom IC (UK), Cadence Design Systems Ltd.
    Language   SKILL
    Date       Apr 29, 2020 
    Modified   
    By         
    
    Function to simply toggle label visibility on or off
    
    ***************************************************
    
    SCCS Info: @(#) abToggleLabelsForPlotting.il 04/29/20.18:30:39 1.1
    
    */
    
    /****************************************************************
    *                                                               *
    *    abToggleLabelsForPlotting([?win winId] [?instLabels t]     *
    *          [?termLabels t] [?wireLabels t] [?notes t]           *
    *                                                               *
    *     Toggles labels on or off for plotting. By default all     *
    * label types are toggled but you can control them individually *
    * with the keyword arguments. Note that the current visibility  *
    *        is determined from the first layer it looks at         *
    *                                                               *
    ****************************************************************/
    
    procedure(abToggleLabelsForPlotting(@key 
        (win hiGetCurrentWindow())
        (instLabels t)
        (termLabels t)
        (wireLabels t)
        (notes t)
        )
      let((lpps first lppId visibility cvId techId)
        lpps=`(
          ,@(instLabels &&
            `(
              ("device" "annotate")
              ("annotate" "drawing")
              ("annotate" "drawing7")
              )
            )
          ,@(notes &&
            `(
              ("text" "drawing")
              ("text" "drawing1")
              )
            )
          ,@(termLabels &&
            `(
              ("annotate" "drawing8")
              )
            )
          ,@(wireLabels &&
            `(
              ("wire" "label")
              )
            )
          )
        first=car(lpps)
        cvId=geGetEditCellView(win)
        techId=techGetTechFile(cvId)
        lppId=techGetLP(techId first)
        visibility=!lppId~>visible
        foreach(lpp lpps
          lppId=techGetLP(techId lpp)
          lppId~>visible=visibility
        )
        hiRedraw(win)
        visibility
      )
    )
    

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • david jk
    david jk over 5 years ago in reply to Andrew Beckett

    HI Andrew,

    Thx a lot for the prompt reply. I am pretty new here so sorry for breaking the rules...

    The code you sent is exactly what I need, or what I mean from here I can figure out myself what I need...:)

    Cheers,

    David

    • 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