Fast Integration of EDA Tools and Scripting Language Dept. of EECS, U. C. Berkeley Berkeley, CA 94720, USA
[email protected] Abstract such as Skill for Silicon Ensemble[6], Scheme for Apollo II[7], or Tcl[2] for Design Compiler[8]. However, a specific programming EDA tools are implemented to automate a design task efficiently, language may be another stopping factor for a user to further ex- but they often lack flexibility to be highly customizable or pro- plore the tool, just because a long learning curve is required for a grammable. Some EDA tools have a primitive and unique com- new programming language. For modern chip design, a designer mand language to realize programmability, but usually it further has to deal with at least a dozen of tools, each of which may have a complicates a design flow. We thus propose methods and crucial unique command language plus several specific input formats. This techniques to fast link EDA tools with a popular scripting language could be a very error-prone process and impede design productivity such as Perl[1], Tcl[2] or Python[3] for ease-of-use and better inte- seriously. gration. This approach encourages rapid prototyping of algorithms, Perl and Tcl have been extensively used in the design commu- code reuse, customizability, extensibility, interoperability between nity for a long time due to their powerful string pattern match by tools, and easier testing of application program interface(API)’s. regular expressions, scripting capability, popularity, and extensibil- Based on the proposed methods and techniques, we efficiently ity. Both can process a simple text file very efficiently using regular built several Perl/Tcl/Python interfaces to EDA packages such as expressions without the tedium to program a full parser and a lexi- LEF/DEF parser, Synopsys .lib parser, Verilog PLI2.0 routines, cal analyzer.