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.
i am looking to write a short little script to re-assign the net name for multipart paths. we have several different MPPs defined and what happens is whatever the first net it touches get assigned to the MPP in XL. It is an annoying task to select the MPP and re-assign the subparts for the net you want on the MPP.
I was trying something like:
following error: *Error* setSGq: dbSetq: Can not set attribute - name
You can't set the name attribute on the net. You'll need to set the net attribute on the path.
netId = dbMakeNet(geGetEditCellView() "newname")
The above command will create the net in the cellview if it does not exist. Otherwise it will return the net id for the net named "newname". Then you assign this net to the path:
path~>net = netId
You can get all the rod objects in a cell by using: rodGetNamedShapes rather than looping through all the shapes in the cell. Although this may be a nit-picking detail, cv is the typical convention for the "cellview id" (cv = geGetEditCellView()). You code could be confusing to someone debugging it by using cv for the selected set.
In reply to dmay:
Thank you for the reply Derek. I still seem to be missing something. I did the following after selecting the MPP. which had "VDD" assigned to it.
netId = dbMakeNet(geGetEditCellView() "VSS")
It still hangs on to the VDD name??
In reply to DaveDesigner:
If you're doing this whilst the layout XL extractor is operational, you may be competing with it for assigning net information.
One solution is to set the lxStickyNet boolean property on the shapes (shape~>lxStickyNet=t). You should do this with caution though, because it means that the net information is not then driven by VIrtuoso XL and it is seen as being fixed - but you should then be able to set it to what you want.
I've not tested this with an MPP, but it may well be your problem.
In reply to Andrew Beckett:
Thank you both, this worked! I verified that Derek's method works while NOT in XL.
This isn't doing exactly what I had hoped as it turns out. It changes the connectivity so that the flashes go away when in XL but if I copy this MPP to another location in the cell it reverts back to the original connectivity because it is still assigned to the subparts. The way I permanently fix the problem manually is to select the MPP and then click on the Subpart... button. THis brings up the Edit ROD Subpart form. I have to select the M1 drawing part and type in the name of the new net. I then select the Subrectangle button and select the "CO" drawing part and change the netname there also. Then the MPP is permanently changed. I was hoping to do this somehow with this skill but presently it seems it just changes the connectivity. Once it is copied the connectivity is changed to the netname assigned to these two subparts.
You can access all of the subShapes from the rodObject id:
foreach(rodObj rodGetNamedShapes(geGetEditCellView() foreach(shp rodObj~>subShapes shp~>net = netId ))
Or in your current code:
foreach(path selectedSet() rodObj = rodGetObj(path) foreach(shp rodObj~>subShapes shp~>net = netId ))
Very much appreciated! I think I am good to go now.