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.
Is there some SKILL procedure to place text note in shematic hierarchicaly in schematics without opening circuits one by one. What I mean: we have skill code difning layout dimesions (width and height) of every cell in the schematic and all this data is written in text file. But now we want the data for every particular cell layout to be written as text note in the corresponding schematic view.
Hi tyanataMay I have a sample of the contents of your text file?Best regardsQuek
In reply to Quek:
The shape of the text file is:
cell_x 23.5 189
amp1 140 135.9
osc_x 27 56
First number is cell layout X second one is cell layout Y dimension.
Of course this type of cell area determination is applicable only for rectangular cells, so it is not accurate for most of the full custom analog cells, but for approximate chip area estimation is fairly enough. If it is very difficult these notes to be included in the schematics of the cells (without opening of the cells) we need at least these notes to be in included in .ps files after plot file command.
The final goal of that task is when we convert ps files to pdf in the page of schematics of each cell to be printed the note with its layout dimensions.
In reply to tyanata:
Hi tyanataThe following script should be able to do what you want. Save it as "addnotes.il" in the working directory and load it in ciw. Then execute it using:CCSaddSchNotes("myLib" "myInputFile")where "myLib" is the name of the schematic library and "myInputFile" is the file containing the cellnames and X/Y dimensions.Best regardsQuekprocedure( CCSaddSchNotes(myLib myFile) let( (inPort inLine inLineList myCell xDimen yDimen cv myNote xCoord yCoord) inPort=infile(myFile) while( gets(inLine inPort) inLineList=parseString(inLine) myCell=nth(0 inLineList) xDimen=nth(1 inLineList) yDimen=nth(2 inLineList) cv=dbOpenCellViewByType(myLib myCell "schematic" "" "a") myNote=strcat("Layout estimation: X=" xDimen " Y=" yDimen) xCoord=leftEdge(cv~>bBox) yCoord=bottomEdge(cv~>bBox)-0.2 schCreateNoteLabel(cv xCoord:yCoord myNote "lowerLeft" "R0" "roman" 0.0625 "normalLabel") dbSave(cv) dbClose(cv) ) ;while close(inPort) inPort=nil ) ;let) ;procedure
Thanks for the response I tested it, the proposed solution works perfectly.
Can you say is there way this result instead as note to be included in schematics only to be included in corresponding .ps file before plot to file command, so layout dimensions text note to appear only in final pdf file instead of be included in the schematics.
The only way that I think this could be done would be to modify the PostScript after it was generated (which would be far from trivial), or maybe opening the schematic in "s" (scratch) mode, adding the note, creating the PostScript with schPlot() and then discarding the edits and reverting to read mode afterwards. You'd have to be careful if it was in edit mode to start off with.
In reply to Andrew Beckett:
I checked your proposal, now I do following:
1. Run schPlot() and plot to file
2. Run ls -al >> ls_log in the folder with generated ps files.
3 Do some postprocesing of ls_log to create the file for feeding the function addnotes.il above.
( I make these actions to define schematics tree and create required file. )
4. After that I open the all the listed in file cells in "s" mode place the note and close the certain cell
5. Run schPlot() again with already placed layout dimensions notes.
6. Create the final PDF file.
But now I do not know how to discard changes in the cells made in point 4. Can you say how to that?
You should be able to use the dbRefreshCellView() SKILL command or the geDiscardEdits() command to do this. The first command can be used in non-graphical sessions also. Since you are working with graphical windows, you should be able to use either function, though I'm not sure if the geDiscardEdits() function prompts for confirmation but the dbRefreshCellView() command should not need any further interaction.
If you are using Quek's code above, you may wish to remove or comment out the line with the "dbSave" command on it. Then any edits made can be discarded as noted above in my previous post.