Version 12 of EDA

Updated 2014-11-26 09:17:51 by aspect

Electronic(s) design automation (EDA) is a field where Tcl has traditionally had a strong presence. John Ousterhout originally created Tcl in the late '80s as an extension language for EDA applications which were his professional focus. Synopsys, Cadence, Mentor and Magma are large EDA (primarily ASIC) companies whose products range from: synthesis, static timing verification, functional simulation, floorplanning, place & route, SI analysis, power analysis -- almost all of which offer a Tcl API. It is near impossible to avoid Tcl in the world of digital design.

Some notable examples include:

  * [Xilinx]' Vivaldo Design Suite supports extensions in Tcl, published through the https://github.com/Xilinx/XilinxTclStore%|%Xilinx Tcl Store%|%
  * [OrCAD] also has an http://www.orcadmarketplace.com/StoreHome.aspx%|%Apps Marketplace%|%

Some general resources of varying vintage and availability:

  * http://doulos.com/knowhow/tcltk - from [Jonathon Bromley]
  * http://tcleda.com/ (perhaps formerly http://tclforeda.net/ http://www.tclforeda.org/ ? both MIA in late 2014)

Tcl's strength in testing is an advantage for its use in EDA.


APB adds that Tcl's BSD license is the primary reason for its adoption in the EDA world. Most hardware engineers still use Perl (or worse) for their glue outside of the Tcl interfaced EDA tools and Perl would probably have won their (and their vendors') hearts and minds if not for the license.


"EDA" is also the name of an EDA-pertinent ICONS collection. See the ICONS page for references.


EDAUtils is a free suite of EDA tools for chip design and System-on-Chip integration. It pays particular attention to problems associated with integrating IP into larger SoC projects. The tools are written in Java with a Tcl command-line interface.

http://www.edautils.com/publishImages/Products~~element32.jpg

http://www.edautils.com/DesignPlayer/Documents/html/images/ip-xact-1.jpg


The Balboa Project is a component composition framework for system-on-chip architectural modeling. It uses C++ for IP component definition, but introduces a component integration language (CIL) for efficient architectural design. The CIL is built using OTcl and tclcl, and is used to manipulate and assemble C++ objects incrementally and run simulations quickly without having to go through tedious recompilations cycles. CIL constructs provide an abstraction over C++; using the CIL, a system architect can declare component instances with their interface types partially specified.

In the Balboa runtime environment, a type system automatically transforms the abstract CIL specification into a correct C++ implementation. A type inference along the component connections in the design architecture is used to determine which C++ implementation types to assign to which CIL component interfaces

Source code: [L1 ]