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 have been using these forums for a few years now to get skill help. This is a great forum!
Now I find I need to post my question here.
I have skill code that will modify a via pcell/cdf to add and sub rows and columns by key strokes. This all works great on flat data. Once I edit in place and the instance I am in is rotated throught the hierarchy somewhere, now the keys that were supposed to grow the via pcell north now go west or east.
How can I pass the proper hierarchical orientation to my skill?
I think this is the right way around, but forgive me if it ends up with the transform back to front - I'm sure you can fix it if it is. The trick is to use geGetInstHierPath() to find out the hierarchical path down to where you are, and then to concatenate the transformations at each stage. Because I'm not worried about the translation part (i.e. the offset), I don't worry about handling mosaics properly - this is just to collect the orientation.
Anyway, something like this should do it:
procedure(CCSgetCurrentOrient(@optional (win hiGetCurrentWindow()))
transform=list(0:0 "R0" 1)
In reply to Andrew Beckett:
This is exactly what I needed.
In reply to Vaughn:
This information is also readily available off the window id:
You can also get the current edit-in-place cell x and y offset relative to the top level. Getting it from the window id will require that you divide by the geGetEditCellView()~>DBUPerUU (database units, usually 1000.0):hiGetCurrentWindow()~>e2dTransXhiGetCurrentWindow()~>e2dTransY
Thus, the transform of the current edit-in-place cell is:layWin=hiGetCurrentWindow()curTransform=list(geEditToWindowPoint(layWin 0:0) layWin~>e2dTransOrient 1.0)
In reply to dmay: