• 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. modify netlist but don't change the schematic in skill ...

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 143
  • Views 3662
  • 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

modify netlist but don't change the schematic in skill function

imagesensor123
imagesensor123 over 14 years ago

 Hi,

   i have a Vpulse source which works like a switch in the output terminal in my design, it  starts with the "0" voltage. In fact, my problem is that, i must get some information like "VoutMaxmum" at the beginning of the simulation, owing to the switch is closed at the beginning so it's impossible to get or retrive the VoutMaxmum . i have thought out a solution with some limitation, i used a parameter "startVoltage" and "endVoltage" to present the Vpulse parameters like" Voltage 0 and Voltage 1" (you can see it in the Vpulse CDF file), and use some function changing the startVoltage value so that we can let the switch keep opened at the beginning. but i think there should be a better way for this, can we do this by modifing the netlist? do you have some good idea?

replacing the Vpulse by Vdc at first-->run-->get VoutMaxmum , by the way, i don't want to change the schematic

Regards,

zfeng

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Hi Zfeng,

    Why not make the value a design variable and then use desVar() to change it before each run? Your requirement is not that clear to me though.

    Changing the netlist absolutely should not be necessary.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 14 years ago
    Hi,
       thanks, yes, i have tried your method, it do really work and get rid of my problem.but for user, i don't want them to add this parameter manually! or user don't like adding  extra parameter in their design. so i think that we can change the CDF of the certain component and change it back when the first simulation finished.

    procedure(getCDF()
    myId=geGetObjectSelectedSet("here is the component you want to change, it's a cellviewID")
    cdfId = cdfGetInstCDF(myId)
    getP = cdfFindParamByName(cdfId "vdc") ;;how can we know each field name in vpulse CDF form?
    oldValue=getP->value
    )
    and then we can change it back, do you think this method is ok?

    Regards,
    zfeng
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    You could, although you'll then need edit access to the schematic. Also you need to know the sources somehow anyway.

    Knowing the available parameter names can be found easily enough by looking at the Tools->CDF->Edit CDF form.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 14 years ago

     Hi,

        yes, you are right! i met a little trouble when i use my way to change the component CDF,  in the schematic composer i can do it correctly, but when i open the ADE, the problem truns up! i can't save the change any more by function schHiCheckAndSave(),

    *WARNING* geGetEditCellView: Invalid graphics editor window.

    *Error* schCheck: argument #1 should be a database object (type template = "d") - nil

    so i think this is the reason why you said i need to edit access to shematic!

    procedure(editVpulse( source new)
    cvid=geGetEditCellView()
    inst=dbFindAnyInstByName(cvid source)
    oldValue=inst->v1
    inst->v1=new

    schHiCheckAndSave() ;; these two lines can work well only when the composer window(or shematic window is the currentWindow)

    hiRedraw()

    )

     i intend to run the procedure totally in background, it's inconvenient if user have to push the "save and check" button in shematic window. how can we use the schHiCheckAndSave() when the shematic window is not the currentWindow?

    thanks,

    my idea:

    i mean that the shematic window is the current design window, and we need simulate it in some condition such as the vpulse v1=3  v2=3 (like a constant vdc) at the beginning but later v1 need to be fixed at v1=0 in the transient paramAnalysis. so for the first step we want to collect some information(VoutMaxmum) in background before the paramAnalysis

    Regards,

    zfeng

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

    Use schCheck(cvId) and then dbSave(cvId) rather than the interactive function which assumes that the schematic window is current.

    Similarly you are calling geGetEditCellView - you had a different question about that, so I'll answer that there.

    I still think this is a pretty horrible way of doing this.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • imagesensor123
    imagesensor123 over 14 years ago

     Hi,

       yes, you are right. there is  a veriloga model which named pd in my schematic. and the model has some parameters like "P0". i am trying to get the value of this parameter, i can see there is a CDF parameter of view field in the form when i select the pd and push the "Q" button for editing the properties. i want to use the following procedure to get the parameter "P0" value

    procedure(zfSearchInstance( source ) ;source can be replaced by any instance you want to select ,eg "pd" in this application widSchImager=sevOpenSchematic(sevSession(widTriggerSimulatorWindow))
    cvidImager=geGetEditCellView(widSchImager)
    inst=dbFindAnyInstByName(cvidImager source)

    ; here i want to select the pd and get the field value of P0 in pd model

    paramView->value = "veriloga"
    param=P0->value

    ;i don't know how to write the above code exactly

    schCheck(cvidImager)
    dbSave(cvidImager)
    )

    welcome to your suggestion in anyway.

    Regars,

    zfeng

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

    There is no need to alter the "CDF Tool Filter" setting - that's only for the edit properties form to filter which properties are shown.

    If you want to get the value, simply do:

    inst~>P0

    or to set it:

    inst~>P0="new Value"

    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