Saturday 11 July 2020

Developing & Delivering KnowHow

Home > Training > Essential Tcl/Tk

Essential Tcl/Tk

Standard Level - 3 days

view dates and locations

Essential Tcl/Tk is a 3-day course teaching the essentials of the language and its application in the field of PLD and ASIC design. It is packed full of examples and exercises all directly based on design related problems, and covers the need-to-know essentials for design engineers and EDA support specialists.

Tcl is a popular and widely used cross-platform script programming language that achieves significant productivity gains when used by skilled engineers. Its combination of text processing, file manipulation and system control features make it ideal for this purpose. Almost every industry-leading EDA tool uses it to provide a powerful and platform-independent command language, and some tools make use of the Tk graphical toolkit to implement a flexible GUI. The course discusses specific examples of the use of Tcl with selected simulation and synthesis tools.

The course covers the essential subset of the Tcl scripting language and Tk toolkit, with design related exercises and examples including: running EDA tools, design visualisation, creating custom GUIs and extracting key information from report and source files.

Workshops comprise approximately 50% of class time, during which delegates use their choice of PC or UNIX platforms. The workshop examples are carefully chosen to illustrate key techniques commonly needed when using EDA tools, and provide an ideal starting point for delegates' own developments after the course.

Who should attend

  • Engineers who wish to become skilled in the practical use of Tcl/Tk for tasks related to programmable logic or ASIC design
  • Engineers who have already acquired some practical experience in the use of Tcl/Tk, but wish to consolidate and extend their knowledge within a training environment

What you will learn

  • Tcl's core grammar: substitution and parsing rules that underpin the whole language
  • A solid grasp of an essential subset of the standard Tcl commands, and an overview of more advanced commands to facilitate further self-directed learning
  • Text processing techniques for analysing HDL source code and tool output files
  • Techniques for using Tcl to control and communicate with other tools, with special emphasis on FPGA/ASIC design tasks
  • Using Tcl/Tk to create and customise graphical user interfaces to EDA tools


No previous knowledge of Tcl/Tk is required. Some experience with at least one software programming language is highly advantageous, but not essential. Delegates are expected to be computer literate and to have an understanding of the digital hardware design process.

Course materials

Doulos Course materials are renowned for being the most comprehensive and user friendly available. Their style, content and coverage is unique in the HDL training world and has made them sought after resources in their own right.

Course fees include:
  • Fully indexed course notes creating a complete reference manual
  • Workbook full of practical examples and solutions to help you apply your knowledge

Structure and Content


Origins of Tcl • Exploring the benefits of Tcl in the digital design flow • Internet resources for problem solving and sharing solutions • Tcl book recommendations • Reference materials for the language

Getting Started

Running Tcl Shell in UNIX or Windows • Experimenting with commands in the shell • Creating and running a script file • Variables and substitution • Command substitution • A sample application

The basics of Tcl

Structure of a Tcl command • Quoting • More on substitution and quoting • Tcl grammar rules • Some common commands • Lists and strings • Launching other commands

Getting to grips with the details

Commands for flow control • Procedures and arguments • Reading and writing files • Catching errors • Formatting data as text • Commands for calculation • Manipulating strings • Manipulating lists • Array variables • Global and uplevel references • Introspection with the info command

Pattern Matching

Glob-style matching • Regular expressions - background • Using regular expressions to analyse text • Details of regular expression syntax • Grouping, capture and back-references • Regexp substitution • A significant example, analysing HDL source code

Interacting with other applications

Opening a command pipeline • File buffering and blocking • File event handling and the Tcl event loop • Examples of interaction with typical EDA tools

Creating your own GUIs with Tcl/Tk

Tk basics • Tk Geometry manager • Creating useful GUI windows • Commands and menus • Creating graphics on a canvas

Namespaces and Packages

Tcl's facilities for encapsulating code and data • Namespace import/export • Creating and using packages • Overview about predefined packages [incr Tcl], [incr Tk], BLT

Realistic applications

Automating parts of the tool flow • Analysing and visualising HDL programs • Adding new GUI functionality to EDA tools that already use Tcl/Tk • Stand-alone Tcl/Tk graphical applications

Looking for team-based training, or other locations?

Complete an on-line form and a Doulos representative will get back to you »

Price on request

Back to top
Privacy Policy Site Map Contact Us