Cadence® system design and verification solutions, integrated under our Verification Suite, provide the simulation, acceleration, emulation, and management capabilities.
Verification 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.
More Support Log In
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.
The Cadence Academic Network helps build strong relationships between academia and industry, and promotes the proliferation of leading-edge technologies and methodologies at universities renowned for their engineering and design excellence.
Participate in CDNLive
A huge knowledge exchange platform for academia to network with industry. We are looking for academic speakers to talk about their research to the industry attendees at the Academic Track at CDNLive EMEA and Silicon Valley.
Come & Meet Us @ Events
A huge knowledge exchange platform for academia. We are looking for academic speakers to talk about their research to industry attendees.
Americas University Software Program
Join the 250+ qualified Americas member universities who have already incorporated Cadence EDA software into their classrooms and academic research projects.
EMEA University Software Program
In EMEA, Cadence works with EUROPRACTICE to ensure cost-effective availability of our extensive electronic design automation (EDA) tools for non-commercial activities.
Apply Now For Jobs
If you are a recent college graduate or a student looking for internship. Visit our exclusive job search page for interns and recent college graduate jobs.
Cadence is a Great Place to do great work
Learn more about our internship program and visit our careers page to do meaningful work and make a great impact.
Get the most out of your investment in Cadence technologies through a wide range of training offerings.
Overview All Courses Asia Pacific EMEANorth America
Instructor-led training [ILT] are live classes that are offered in our state-of-the-art classrooms at our worldwide training centers, at your site, or as a Virtual classroom.
Online Training is delivered over the web to let you proceed at your own pace, anytime and anywhere.
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 technology. 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.
I have come up with a question and i would really want to hear the opinion of more expert people in here about my issue concerning parasitic extraction in an hierarchical design.So,let me pose my question more clearly :
I have an hierarcical design.Let's say that the top level schematic's name is A.
A consists of two sub-cells that i will give them the name B1,B2.
B1 has 6 more sub-cells (C1,C2,C3,C4,C5,C6).
I know hot to perform hierarchical RCX with the Hierarchy Editor tool of Cadence but...if i want to take into account the parasitics of the interconnections of some specific sub-cells what is the way to implement the extraction procedure and take correct results?Can Hierarchy Editor do this or i need another tool of cadence and subsequently an extra license for this?
A testbench for me in the hierarchy editor would be :
C5,C6 --> av_extracted
and i want to extract as well the interconnections between C5-C6 cells and between B1-B2 cells.I should note that all sub-cells have their own physical implementation (layout view in other words).
Thanks in advance for any helpful answer.
My Best Regards,
Hi Jimito13First, a minor correction. it is not correct to say "perform hierarchical RCX with the Hierarchy Editor". It is not possible to do hierarchical RC extraction using the Hierarchical Editor (HE). It is meant for controlling the views to use for simulation netlisting, not parasitic extraction. Parasitic extraction can only be done using QRC parasitic extractor. I think you meant to say "perform mixed views simulation with the Hierarchy Editor". You can do it as follows:a. Do hierarchical Assura LVS for layout cell "A" with ?preserveCells avParameters option. The cell file should contain B1, B2, C1, C2, C3, C4, C5 & C6b. Do hierarchical parasitic extraction with "excluded nets proper" option using QRC. Except for the required nets (e.g. C5-C6), exclude all other nets for RC extractionc. Create testbench schematic "myTB" with cell A in itd. Create a config view for "myTB" using HEe. In HE, set views of A, B2, C5 and C6 as "av_extracted"f. Do simulation using config view in ADE-L or ADE-XLThis should give you what you want. : ) It takes a bit of time to exclude the unwanted nets but there is no choice because hierarchical extraction only works with "excluded nets" and "excluded nets proper" options."excluded nets" option gives you R for the non-excluded nets and C on all nets. "excluded nets proper" options gives you RC on only the non-excluded nets. Please refer to $QRC_HOME/doc/qrcxUser/qrcxUser.pdf for more details.Best regardsQuek
In reply to Quek:
Thanks a lot for your helpful feedback :-) You are absolutely right with your first paragraph,QRC performs the extraction procedure and not HE,i formulated it wrong in my first message.I have a couple of additional questions before closing this topic.
1. ?preserveCells gives a drop-down menu with File & Cells choises.What should i select?Sould i syntax a file and input it into Assura via the menu below or i can insert the names of the cells manually?I would appreciate if you could send me a screenshot as an example or an example syntax of a file.
2.The Vss rail of my circuit is one and common to all cells from the lowest level to the top level via various interconnections from level to level.Is it possible to exclude it from extraction of some specific cells and not from others?I suppose that it is not feasible since in reality Vss i one entity (irrelevantly if it is created from Vss cables of individual low level cells and the interconnections among them) but i am wondering if there is a technique to cheat Assura QRC and make the selective extraction i desire...
Thanks in advance.
In reply to jimito13:
Hi Jimito13You can enter the names in a file if there are lots of cells to preserve. It would be easier editing a file. E.g. for spef/dspf flow, we can use SKILL to grap cellnames from the layout, dump them into a file and then use that file for ?preserveCells. If there are just a few cells to preserve, you can just enter them in the form.It is possible to do the selective extraction of RC for a net but it would be quite an elaborate scheme that requires re-compilation of QRC tech directory with -res_blocking and -blocking options. Appropriate marker layers would most likely also have to be added to the layout in order to do the blocking. I think it is not really worth the effort. : )Best regardsQuek
What you should see on the form:
I do not know how to thank you..You have helped me a lot up to now and the least i can say is a BIG THANKS :-)
One final question.What is the difference between Cells & Exclude Cells White Boxes that i must fill in at the above ?PreserveCells option's form.
Thanks in advance again :-)
Hi Jimito13You are welcome. : )Assuming that you have cells A1, A2 and A3. If you enter only "A1" in "Cells" box, it means only cell A1 will be preserved. "Exclude" box is used to exclude specific cells when wildcards are used in "Cells" box. E.g. you have entered "A*" in Cells box to save a little typing but actually you do not want cell A1 to be preserved. In this case, you will also need to enter "A1" in Exclude box.Best regardsQuek
Ok,for wildcards case i got it.For the example i gave you above,with the multiple cells of the hierarchy,if i fill in the cells B1,B2,C1,C2,C3 in the Cells box and the cells C4,C5,C6 in the Exclude Cells box,this means that LVS will be executed on B1,B2,C1,C2,C3?And how this choise affects the next step that is QRC?I am a little bit confused,sorry if i become annoying...
It does not mean that lvs will be executed only on B1, B2, C1, C2 and C3. It means that during lvs, only cells B1, B2, C1, C2 and C3 will be preserved. During lvs, cells might sometimes be promoted to a higher level of hierarchy in order to match the schematic. As such, the cell will no longer be present in the final lvs database. This would create a problem for hierarchical QRC extraction because QRC works on the lvs database and if there are no cells in it, it would not be possible to do a hierarchical extraction. QRC normally gives a flat output unless hierarchical extraction is selected.Hence in order to do QRC hierarchical extraction, the cells have to be present in the lvs database and in order to ensure that they are present, we use ?preserveCells option. You should not enter C4, C5 and C6 in the Exclude box because we want them to be preseved too. Otherwise you will not get the full cell hierarchy from QRC. C4, C5 and C6 should also be entered in the Cells box. You can then choose to use "av_extracted" or "schematic" for these cells in the Hierarchy Editor.Best regardsQuek
Ok Quek,everything is clear now!Thank you once more for your time to answer my questions and for your precious help :-)
Good Morning Quek,
I am gonna need your precious advice one more time.When a create a config view with HE in order to post simulate my circuit with mixed views (that is : schematic for cell A,av_extracted for cell B,schematic for cell C etc...),how the interconnection among various cells are considered by the simulator?Are they taken as ideal like in a schematic only simulation or real as designed in the layout of the top level cell that contains all the individual sub-cells?
Thanks a lot in advance.
Each cellView that you're picking in the hierarchy editor will have nets and components as contained in that cellView. So for example, if your av_extracted view has parasitic R and C on some nets, those will be included in the design being netlisted.
Nothing additional will get invented, if you like. You simply are netlisting the components and connectivity in the cellViews you've picked.
So, any ideal blocks you have will be ideal. Any parasitic extracted blocks you have will have parasitics. This strikes me as being rather obvious, so I'm not quite sure why you're asking this? All the hierarchy editor does is allow you to choose which representations will be used for each cell, or instance (or occurrence) in the hierarchy, and is used by the netlisters so they know which blocks to netlist as the hierarchy is traversed.
In reply to Andrew Beckett:
Thanks for your reply at first.Maybe i didn't pose my question clear enough at first.What you say is absolutely obvious so it would never be the subject of a question.Suppose that i have a cell A with schematic representation and cell B with av_extracted representation during simulation with HE of the top level cell C (A,B and their interconnection are the cells that create the top level circuit C).How the simulator is going to consider the connection between A and B if the configuration is as mentioned above (A-->Schematic , B-->av_extracted)?
Presumably for a particular net which exists in cell A, cell B and also in the top level C (i.e. the connection between the instances), you'll have the parasitics on that net which exist in cell B, the ideal connections that you have in cell A, and whatever components on that net which come from cell C.
This still seems fairly obvious, so I must be missing something still...
Perhaps you should try it and take a look at the resulting netlist? That may clarify any confusion or concerns you may have?
Hi Jimito13I think Andrew has already explained the key point. You will get whatever that is in the view which you have set in HE. We have the following situation:Top cell C contains 2 cells A and B. In HE, cell A uses schematic view and B uses av_extracted view. C is a schematic.Since C is a schematic, there are no parasitics in the line connecting cells A and B. Simulator does not need to be concerned about this situation because this is the job of the netlister. Here is what you will get:a. Netlister writes connection between A and B as ideal connectionb. It descends into schematic view of cell A and netlist the devicesc. It descends into av_extracted view of cell B and netlist the devices and parasitic RCsHope that this clears up your confusion. : )Best regardsQuek
Ok guys i got it now.Maybe my confusion was indeed obvious but i just wanted some confirmation.Thanks a lot for your time and your precious answers.