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.
Does anyone know how to add new text blocks in Skill without calling a script? I am running an interactive command so calling a script is not an option.axlSetParam doesn't allow me to add a text block although I can alter existing text block parameters this way (despite the documentation).
Don't know if you can do it directly with Skill. But perhaps you can have your Skill function fprintf the script you need, execute the script using an axlShell call and then get rid of the script file.
I'm looking for this function too~~~
Thanks, That's what I do. However it doesn't work within an interactive function and I can't use "general" because I get too many crashes. I may have to revert to creating text by drawing lines. Ugly!
I don't know if this will work in an interactive command but you might want to try,
Of course all of this needs to be done using scripts...Another way could be to use a script to change the text block and put a command to restart your interactive procedure. (The trick is finding a way to save your data from one instance of the command to the other using attachments)
yes, we can add new textblock by inporting scaled plot file. But the max textblock number is 64. And, if you modify an existed textblock, you will destroy this kind textblock's text.
Programatically adding text blocks looks simple but actually is a
slightly convoluted process. You only need one function but you need five arguments
;The text you want to write
;Where you want to write the text
OrientationStructure ;Formatting for the text block
;The layer where the block is written
;Attach the text to an object
The slightly convoluted part is the OrientationStructure. You have to
know about the super secret (make_axlTextOrientation...) function for
the required structure.
;see your text block definitions
;degrees of rotation
;mirror left-right (i.e. for bottom layer)
You can get real fancy with this sort of thing. For example, I've got
code for working with symbols, namely making them presentable (PDF) for
client approval. It writes the part name, the IPC footprint name,
the number of padstacks used, the number of pins on the device,
copyright statement and occasionally dirty jokes into the part drawings
The symbol validition programs will (eventually) be added to the DesignTools project as soon as I find the time.
Have you ever reread one of your own answers, only to realize you answered the WRONG question?
I'm such an idiot. My appologies for the previous post.
textBlocks are C-structs (a.k.a "user defined objects"), are read only
by default and in general, there is no public SKILL interface for
There is a way around the problems and you can create textBlock objects
programatically in SKILL but the way to do it is highly convoluted.
Dave said, "I am running an interactive command so calling a script is not an option."
Actually, it is an option. The way this is done is you write a script
file, execute the script file in the background in another instance of
allegro, and then reload the database in your current instance.
The script file does the work you want (adding a textblock), saves the
database and exits. A second instance of Allegro is launched in
-nographic mode along with the script through the
(axlRunBatchDBProgram...) function in your first instance, so you never
see the second instance. When the second instance is finished, the
first instance of Allegro reloads the database and continues execution
of your SKILL program.
The only problem with this approach is that for that short time while
the second instance of Allegro runs in the background, you have two
licenses checked out.
The attached code adds a single textBlock to your database. Also, this
same method is useful for deleting all those unwanted layers from parts
(*.dra) when they've been dumped from a board.
In reply to archive:
Irrelevant ranting deleted. I just looked at the attachment. :)