Tools path

Tcl for EDA: From First Command to Flow Script

Every EDA tool, Genus, Innovus, Design Compiler, ICC2 and PrimeTime, runs on a Tcl interpreter with its own commands added in. Learn the language itself first, in plain tclsh, then see the same ideas in short Innovus examples: querying objects, parsing a report, wrapping a step in catch, and writing a small flow script that runs in order.

12
lessons
Beginner to Intermediate
level
Free
every lesson
Start with lesson 1 →

Tcl for EDA

  1. 1Why every EDA tool speaks TclWhat Tcl is, why synthesis, place and route and timing tools all embed it, and how a script reaches the design database.
  2. 2Commands, words and substitutionThe one rule behind all Tcl syntax: how a line is split into words, which substitutions happen, and when braces and quotes change the result.
  3. 3Variables and expressionsSetting and reading variables, doing arithmetic with expr, integer versus floating point, comparisons, and why expressions go in braces.
  4. 4ListsThe list is the workhorse of Tcl: building, indexing, searching, sorting and looping, plus the pitfalls that come from confusing a list with a string.
  5. 5Strings and regular expressionsCutting, matching and formatting text with string, format and scan, then pulling values out of reports and log lines with regexp and regsub.
  6. 6Control flow and error handlingif, switch and loops, then catch, error and try: how to make a script decide, repeat and survive a failing step.
  7. 7Procedures, scope and namespacesWriting reusable procedures with default and variable arguments, where variables live, passing names with upvar, and keeping flow code tidy with namespaces.
  8. 8Arrays and dictionariesKeyed storage in Tcl: arrays for quick lookups and dictionaries for values you pass around, with counting, grouping and nested records.
  9. 9Files, directories and external programsReading and writing files, finding reports with glob, running other programs with exec, and a small tool that counts the messages in a log.
  10. 10Working with design objectsThe query, filter, loop and act pattern behind most EDA scripts, practised on plain Tcl lists first and then on Innovus collections and database queries.
  11. 11Parameterised flow scriptsTurning a one-off script into a reusable flow: a config file, building and running commands from data, a step runner that records failures, and checkpoints.
  12. 12Debugging, speed and a complete scriptHow to find a fault in a Tcl script, the mistakes that catch most beginners, how to measure speed, and a complete report-summary tool that ties the course together.