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've downloaded the skill script "align_sym.il" and I added it to my skill directory and updated my allegro.ilinit file like I do my other skill scripts that I download from Cadence. However this skill script is giving me major problems. Everytime I run it I get the following message "E- *Error* axlFormBuildPopup: argument #1 should be any user-defined (other) type (type template = "otl") - nil". I tried Cadence support first, but they have no clue how to fix it. Can someone here help me figure out what the problem is?
I loaded the script and it works for me.
The error message you are getting implies the form has not been loaded. This will happen if there is any problem creating a file in your working directory.
It's old code with very little error capturing and doesn't use local variables so all sorts of things could be going wrong. However, the code does work for me so you should persevere.
In reply to eDave:
Thanks for the feedback.
I don't know the SKILL language so I need some help debugging this. What line/function defines where the form needs to be saved? Can we hard code in a directory to save the forms in? Maybe it's trying to use one of my windows environment variable to give it a location, but that variable doesn't exist so it then starts saving it to a place where I have no write access.
In reply to statz:
The code uses "outfile" as the mechanism to create the form file, align_sym.form. If you skill path doesn't have "." as its 1st item then it will create the form file in a directory other then the current directory and axlFormCreate won't be able to find the form file. This can be fixed by:
- change the code to axlDMOpenFile instead of outfile -- see the doc on the arguments it requires
- updating your skill path in your <HOME>/allegro.ilinit file to include a "." -- you will probably see it already being set in this file.
setSkillPath( cons( "." getSkillPath() ) )
As an expermiment you can type the the following on the allegro command line,then run the align command again. If it works that was your program:
skill setSkillPath( cons( "." getSkillPath() ) )
In reply to fxffxf:
Awesome I think we're getting close. In my allegro.ilinit file I have the following
skillDir = "c:/adiva/interfaces/cadence"adiva_install = "c:/adiva/"
(setSkillPath (append (list "C:/allegro_scripts" skillDir) (getSkillPath)))
setSkillPath( cons( "." getSkillPath() ) )
(load "cwidth.il")(load "align_sym.il")(load "component_changes.il")(load "replace_via.il")(load "RotateSilkAssyRD.il")
println("allegro.ilinit file loaded")(load "adiva_iface_v300ib.il")(load "adiva_vio_lnk_v1q.il")
(axlShell "alias F12 (readError)")
I save the il files to the c:/allegro_scripts directory so all of the scripts except for align_sym work. However when I input "set SkillPath( cons( "." getSkillPath() ) )" into the allegro command prompt I can then get align_sym to work. How do I adjust the setSkillPath line such that I can load my scripts properly from the C:/Allegro_scripts directory? I tried adding "." to the "list" but it doesn't seem to want to work, and so I thought adding it as a separate line would get it to work but that has been unsuccessful thus far.
OK so the easy fix that I use to make the align_sym script work is to change it from
frmfle = outfile("align_sym.form")
frmfle = outfile("./align_sym.form")
However I'd still like to understand why my allegro.ilinit file isn't working properly. I've tried putting the set skill path line at the very beginning of my allegro.ilinit file and it still doesn't work.