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 one technolgy schematics,in that having mos's(p&n mos) and all the components like caps &resistors ,So i want to replace that mos's of old technology to new another technology mos's .
if it is possible to convert with SKILL scrips are not please let me know
Thanks in adavance
See the SKILL code in this post. If you need to call CDF callbacks after the change, you might also need abInvokeCdfCallbacks.il which is in this Designer's Guide post.
In reply to Andrew Beckett:
Thank you So much Andrew .
whatever u given it's working but I want scalling of mos widths& lengths by using one expression ,then how to write the expression
i want two expressions
1. for digital schematics length fine ,but width is same as W/L of old tech mos'es
2.for analog schematics length will change 1/sqrt(2) of old tech length and width is same as W/L of old tech mos'es
change in whatever you given fixit() skill script or other scrip required
procedure(fixIt(inst parName val) printf("Fixing %s on %s\n" parName inst~>name) ; double the value. Note evalstring is not really a good idea, ; just in case the parameter value is some legal SKILL which could do ; something unexpected (e.g. "exit()" !) sprintf(nil "%n" evalstring(val)*2) )
please help on this
Thanks in Advance
In reply to siva 234:
First of all you'll have to distinguish between analog and digital schematics - I don't know what criteria you use to determine which is which.
It's also not clear what you're actually trying to change - it doesn't make sense that a width would be the same as the old W/L (surely W/L will be dimensionless if you're dividing the width by the length).
Maybe you're just saying that for digital schematics you keep the W and L the same as before, but for analog schematics the length becomes the L/sqrt(2) and leaves the width the same?
If so, then it would be:
procedure(MyFixLength(inst parName val) if(MyIsAnalog(inst~>cellView) then aelSuffixNotation(cdfParseFloatString(val)/sqrt(2)) else val ))
Note I'm using cdfParseFloatString and aelSuffixNotation to avoid using evalstring and sprintf (the aelSuffixNotation will make the expression prettier).
You'd have to write MyIsAnalog() to take a cellView id to determine whether analog or digital.
And then you'd specify MyFixLength as the function call as the third argument for mapping the length in the config file.
andrew , what iam saying is
I divided old technology schematics into two libraries 1.digital library 2. analog librarey
I want to change only old tech width , old tech length is converted to new tech length(instance of new tech length like 40nm)
Eg: old tech w=100n L=60n
new tech w=x n L=40n ===>x=(w of old tech*(2/3)) keeping W/L constant in old &new technologies
so finallay i want expression is
old tech width * (2/3) =new tech width
old tech length =new tech length ( automatic change instrance of new tech what ever you given code :procedure(fixIt1(inst parName val ) printf("Fixing %s on %s\n" parName inst~>name) )
analog library: I want to chane length and width.
new tech width = old tech width * (3/4)
new tech length=old tech length * (1/sqrt(2))
Thanks for each quick replying of this issue.
Thanks in advance,
Isn't this just a matter of defining:
procedure(MyFixDigital(inst parName val) case(parName ("w" aelSuffixNotation(cdfParseFloatString(val)*2.0/3.0)) ("l" "40n") ))
procedure(MyFixAnalog(inst parName val) case(parName ("w" aelSuffixNotation(cdfParseFloatString(val)*3.0/4.0)) ("l" aelSuffixNotation(cdfParseFloatString(val)/sqrt(2))))
And then having two config files - one for your analog library conversion, and one for your digital library conversion. For the w and l parameters, you'd either reference MyFixDigital or MyFixAnalog - the above functions would take care of both w and l.
Are the parameters actually called "width" and "length" in the technology you're migrating to? If you rename "w" to "width" and the new technology doesn't use "width" but uses "w" (or some other parameter name) then it's hardly surprising that you get the default values.
The comments in the header of the code explain that the idea is that the params mapping allows you to cope with the fact that the parameter was called one thing in the old technology, but something else in the new. You need to find what the corresponding CDF parameters are called in the old and new technologies.
BTW Isn't ts018 a 0.18um technology? If so, does migrating the length to 40nm make sense?