Standard Level - 3 daysview 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
Pre-requisitesNo 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 materialsDoulos 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
IntroductionOrigins 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 StartedRunning 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 TclStructure 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 detailsCommands 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 MatchingGlob-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 applicationsOpening 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/TkTk basics • Tk Geometry manager • Creating useful GUI windows • Commands and menus • Creating graphics on a canvas
Namespaces and PackagesTcl's facilities for encapsulating code and data • Namespace import/export • Creating and using packages • Overview about predefined packages [incr Tcl], [incr Tk], BLT
Realistic applicationsAutomating 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