In EDA arena we often find companies providing customization platforms along with the tools they offer to their customers. I admire such companies because they equip the end users of a tool to extend its functionality as they like according to their environment, thus increasing the designer productivity significantly. And I’m witness to some expert creative users of Cadencetools, during my job at Cadence, who made very powerful customized tools based on the SKILL scripting. What reminded me about Cadence and SKILL is a nice video demo of Concept Engineeringposted at EDA Directwebsite. Concept Engineering provides a versatile platform for visualizing a semiconductor design at all levels – RTL, block, gate, transistor and Spice; that helps in debugging a design to great extent. They provide customization platform based on Tcl/Tk scripting which can extend the functionality of these tools to a large extent as per an individual customer needs.
I learnt from the demo that the StarVision tools of Concept Engineering provide a rich set of Tcl/Tk based APIs which can be used to access design database as well as the GUI to make any modification or reporting in any desired format. The tool provides good level of flexibility to add the Tcl/Tk script from the command line at the start of design loading or later directly from the GUI or console window. In the demo all the three methods of loading the user-ware scripts to generate three different types of example reports have been demonstrated.
While using command line method, the design file and tcl script file can be provided in the command line for batch processing. After loading the design, all user-ware scripts are executed. A typical example command for automatically printing design schematics of all modules in PDF files is –
C:….xxx>spicevisionpro g185.sp –userware ..xxprintPDF.tcl
where g185.sp is the design file and printPDF.tcl is the tcl script with APIs for printing schematics.
The schematics at the transistor level and the top level as generated above are printed in individual PDF files. The top level schematic can run into multiple pages and the page size can be controlled through the script. Similarly, the schematics of all other modules generated at various intermediate levels in the design are printed in individual PDF files.
In another example, user ware Spice netlist was loaded through GUI and report generated by loading report.tcl script from the API directory. The Spice netlist report produced was identical.
In yet another method, Tcl/Tk commands and APIs are executed through the console window. A typical scenario is to do it through a source command. The procedures in the script are immediately executed.
In the above example, after loading the design, the tcl script is executed through source command at console. The report generated contains all modules with their interface ports along with their directions.
There are different types of user-ware APIs for various purposes such as customized visualization, ERC checking etc. which can be used by users as per their requirements.
In the above form there is a list of APIs which can be used for modifying GUIs, traversing design database and modifying as desired, adjusting the design hierarchy and so on.
The source code of the user-ware APIs is simple enough. Above is a small snippet of the source code. The users can develop new APIs on their own by writing such simple code as per their customization need. Nevertheless Concept Engineering ships hundreds of user-ware APIs along with their complete documentation which can be easily adopted by customers for customizing their tools and seen as examples for developing new APIs.
It was a nice experience going through the video which can be accessed by the interested audience here.
More Articles by Pawan Fangaria…..