Standard Level – 2 days
Essential Tcl is a 2-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. 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, with design related exercises and examples including running EDA tools 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.
Looking for Tk training?
Some tools make use of the Tk graphical toolkit to implement a flexible GUI. If you have a team that requires Tk training, an additional day covering the Tk toolkit is available for on-site bookings. Please contact your local Doulos team to find out more.
Who should attend
- Engineers who wish to become skilled in the practical use of Tcl for tasks related to programmable logic or ASIC design
- Engineers who have already acquired some practical experience in the use of Tcl, 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
No previous knowledge of Tcl 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.
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
Running Tcl Shell in UNIX or Windows • Experimenting with commands in the shell • Creating and running a script file • Variables and substitution • Launching other commands • Command substitution • Structure of a Tcl command • Quoting • Reading the keyboard
The basics of Tcl
More on substitution and quoting • Tcl grammar rules • Comments • Some common commands • Lists and strings • Launching other commandsusing exec • Environment variables • File manipulation
Creating Real Programs
Commands for flow control • Procedures and arguments • Default arguments • Scope • Return values • Opening Files • Reading and writing files • Formatting data as text • Commands for calculation • Manipulating strings • Manipulating lists • Array variables • Dictionaries • Global and uplevel references • Introspection with the info command
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
Namespaces and Packages
Functional decomposition • Variables • Namespace import and export • Hierarchical namespaces • Tcl libraries • Autoloading • Providing and using packages • Packages and namespaces • Modules • Starkits • TEApot
Online or Heesch
30 Xilinx Training Credits