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 the author of CCSslotMetal.il - it already has an option for the overall path width, and the arrangement is that this is divided into three sections across the total path width such that the slot width is equal to the surrounding path segment widths. Likewise the slot length is controlled by the length of the subrectangles which are hard-coded such that their length is twice their width - the slots are just the absence of these subrectangles. This code was mainly written as an example to demonstrate that a call to rodCreatePath can be made interactively, initiated from an enterPath() enter function, and that this can be further controlled or influenced using the commands' Options form. It should not be too hard for someone to see how to update the ?offsetSubPath and ?subRect arguments so that parameters can be used for the slot width and length.
The age of the code is not really relevant, unless it stops working or is superseded by something else. To my knowledge there are not any publicly available updates, but I'm sure that plenty folks have downloaded and then modified the code for their specific requirements. What would you like to see instead or additionally?
In reply to skillUser:
thanks for your reply and thank you for the script. I agree about the age of the code. I was hoping there might have been some update to it based on its age and the ubiquitousness of the application.
I would like to enhance the form input to accept user defined bus widths without limitation, and to define the slots as holes with user-defined widths, lengths, and spacing (these inputs can be used to create the subrectangles alternatively). In addition, the number of slots per width of bus would be a function of the bus width. In effect, the slotted metal bus will maximize metal area while meeting the required slotting rules to serve slotting purposes. Currently the slots are oversized as defined. Ideally, it would also remain a path object with these parameters form-customizeable.....which sounds a lot like a pcell. So, short of making a slotted metal pcell, I'm looking for an enhanced script with more flexibility vis-a-vis form input fields for its variables.
In reply to jaleco:
IC61 has Create->Slot - so maybe this is redundant anyway. Did you try this? (Hit F3 to bring up the options form - and the Help button will take you to the relevant documentation).
In reply to Andrew Beckett:
Unfortunately I am using v5.1.41...which is where the age of the CCSslotMetal.il script comes into play. For those of us using an older version of Virtuoso, I hoped there had been an update to that code that was version compatible. Thanks though, and sorry I did not mention the software version before.
For anyone else modifying the CCSslotMetal.il code, and wanting to debug easily as you modify the code, the first function tests the form's existence and brings up the form as it was last executed or modified by the user - NOT using the entry layer, or the default width value or default snap value.
Simply comment out the first "if" statement, leaving only the line :
form = CCScreateSlotMetalForm()
....prior to :
This will force the form to be created new with each call and you can immediately see your modifications to the form.
Does anyone know how to compare a float value to zero?
I have completed an updated slotted metal form script with user-defined values for slot dimensions but am having some trouble testing path widths to be on grid because a test to see of they are on grid randomly fails a float test comparison to zero and snaps path widths unnecessarily.
I have completed what appears to be a working update to the CCSslotmetal.il script, now accepting user input on the form for slot dimensions. Hopefully this may come in handy for other people having to route technology-specific slotted metal in v5.1.41.
Attaching it here as SlottedMetal.il
I am a novice programmer...and don't really know SKILL coding...so any feedback about how to make this code more efficient would be welcome.