Cadence® system design and verification solutions, integrated under our System Development Suite, provide the simulation, acceleration, emulation, and management capabilities.
System Development Suite Related Products A-Z
Cadence® digital design and signoff solutions provide a fast path to design closure and better predictability, helping you meet your power, performance, and area (PPA) targets.
Full-Flow Digital Solution Related Products A-Z
Cadence® custom, analog, and RF design solutions can help you save time by automating many routine tasks, from block-level and mixed-signal simulation to routing and library characterization.
Overview Related Products A-Z
Driving efficiency and accuracy in advanced packaging, system planning, and multi-fabric interoperability, Cadence® package implementation products deliver the automation and accuracy.
Cadence® PCB design solutions enable shorter, more predictable design cycles with greater integration of component design and system-level simulation for a constraint-driven flow.
An open IP platform for you to customize your app-driven SoC design.
Comprehensive solutions and methodologies.
Helping you meet your broader business goals.
A global customer support infrastructure with around-the-clock help.
24/7 Support - Cadence Online Support
Locate the latest software updates, service request, technical documentation, solutions and more in your personalized environment.
Cadence offers various software services for download. This page describes our offerings, including the Allegro FREE Physical Viewer.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
This course combines our Allegro PCB Editor Basic Techniques, followed by Allegro PCB Editor Intermediate Techniques.
Virtuoso Analog Design Environment Verifier 16.7
Learn learn to perform requirements-driven analog verification using the Virtuoso ADE Verifier tool.
Exchange ideas, news, technical information, and best practices.
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.
It's not all about the technlogy. Here we exchange ideas on the Cadence Academic Network and other subjects of general interest.
Cadence is a leading provider of system design tools, software, IP, and services.
Is pPar works for all CDF parameters? I need to pass intiger numbers (like no. of fingers) from top level to bottem level in schematic. But when I enter pPar(NF) through edit object properties options then it doesn't work's. How can I get this intiger values to bottom level? Let me know if any other set up is needed.
What means "it doesn't work" ?
Error/warning message? is it ignored ?
What is realy written in that field ?
If I'm not wrong the syntax is pPar("NF") , not pPar(NF) .
Also the parameter si cASeSenSiTIVe .
In reply to marcelpreda:
I have been getting below warning message. I have NF(no. of fingers) cdf parameter which is an intiger type. When I enter pPar(NF) as default value through TOOLS~>cdf~>edit then below warning message which I am getting. I have pmos width and length cdf parameters (which is type of srtings) which works well in passing parameters. I dont know much about this cdf parameters. Let me know is there any set up is needed?
*ERROR* The 'Default Value' is not specified for the following component parameter(s): NF
'Default Value' is a mandatory field for component parameters.
These component parameters will not be added to the CDF.
*WARNING* Effective CDF parameter 'NF', cell 'nmos_5V', library 'DIG_CELLS',
'defValue' field must be specified.
In reply to Sarvani:
Hi SarvanipPar works as follows:a. You have a schematic cellview ABC that contains an instance I1.b. In the properties form of the instance, you added the following expression for "nf" parameter:pPar("nf")c. Now instantiate cell ABC in another schematic (e.g. I2) and add a property named "nf" on this instance. Give it a value (e.g. 123). The value will now be passed down from I2 to I1.Please search for "pPar" in $CDSHOME/doc/anasimhelp/anasimhelp.pdf. When in doubt, you can always search for the word through all the pdf manuals in the documentation directory.Best regardsQuek
In reply to Quek:
Thank you Quek. It works now. Thank you very much for your support. I have converted type from int to string for cdf parameter and then selected YES options for parse as Cell and parse as Number. Now pPar("NF") passes to bottom level.
Hi SarvaniThat's great. Thanks for the follow-up. : )Best regardsQuek
How can I pass parameter from top to hierarchy level schematic for int type cdf parameters in hierarchy level (Passing of cdf parameters from top level to bottom level exists if cdf parameter in bottom level is type of string.)? Previously I had converted type from int to string for cdf parameter and then selected YES options for parse as Cell and parse as Number. Then it passes. But now I don't want to convert cdf parameter of cell from int to string( because it is the cell which is given by foundary.) . Let me know is there any solution for this.
You can only use pPar() on CDF parameters of type string, which have parseAsCEL set to Yes. You can only use expressions (including operators and math functions) on string fields, and if they are going to be interpreted, it has to know it should be treated as a component expression language (a.k.a. Analog Expression Language) expression. If the CDF parameter is defined as an int or a float, you can only set the value to be an int or a float; an expression would not be an int or a float and so it cannot be used.
It's quite unusual for foundry PDKs to be using int or float parameters - it sounds as if something is incorrect with the setup and it hasn't been designed with ADE in mind.
In reply to Andrew Beckett:
Yes that's correct. Then I should copy this cell to another library and convert this type from int to string. But I don't want any error's in simulation for schematic. Is there any error's we got if we change PDK cell from one library to another library? Any precautions needed? I should make sure these cells are same as PDK cells.
It's hard to tell - it rather depends on whether the PDK has other things that depend on the parameters being integers. For example, there may be pcells which require the parameters to be integer (although that generally works OK because the parameters get cast to the right type), but I wouldn't like to say what the impact would be.
There may be CDF callbacks which also assume the values are a specific type.
Best would be to contact the foundry and ask them.You could also talk to customer support to discuss this in more detail with information as to which foundry you're using.
Thank you Andrew. We will discuss on this topic on tomorrow. I need to go now. Good night :-)
I have created a inverter which passes paramers to bottom level. Then in top level schematic I have placed two inverters which has different widths (values entered in top level symbols). When I run LVS for a layout which has both inverters. Then I got some error's in LVS error report( looks like parameter errors, nets and devices). I mean is we cann't use two inverters in TOP level with different widths?
If things are set up correctly, this should work. It's been possible to do this for many years (I was using such parameterization 20 years ago as a designer). I suggest you contact customer support so that we can look at your data to find out what's gone wrong- some PDKs don't allow parameterization because they use CDF callbacks to generate derived parameters, and those derived parameters might be used for LVS - but I can't tell that without seeing the data (personally I think this is a badly designed PDK if this is the case, but it happens).
I think that you have to do some other basic tests:
- first use same w everywhere without using pPar() , be sure you got LVS clean
- when LVS is clean try to play with pPar()
If the problem is still there, then it will be much easy for the others to find the problem if you can provide the "some error's in LVS" and at least the netlist generated from schematic.
Hi Andrew and Marcel. I had tested for improper cell (PMOS_5V). If I change the cell to NMOS then it works good. Looks like problem is solved. Thank you for your support.
I will be grateful if someone can help me with a pcell simple issue. I have a lyout cell that instanciate a 1 parameter pcell. I want to move that parameter up in the hierarchy so that when I instanciate the cell and set the parameter, the pcell inside is updated accordingly. The same as the pPar("variable") in schematic.