Tcl Scripting for EDA Training
Date | Version | Country | Location | |
---|---|---|---|---|
Scheduled upon demandOn demand | EXPRESS INTERESTINQUIRE |
Length : 2 days
Course Description
Tcl is the leading scripting language for a wide variety of integration application needs. If you need to build a powerful GUI, embed Tcl in your application, create a multi-threaded application, or develop a cross-platform program, Tcl is your best choice.
Since Tcl can be used for such a wide range of purposes, you can standardize on just one scripting language for all your needs. This is a great benefit, reducing the cost for your organization since you only need to learn, maintain, and support one scripting solution as well as significantly improving the ability for all your applications to integrate smoothly.
For several years now, Tcl has become the de facto standard embedded command language for Electronic Design Automation (EDA) and Computer-Aided Design (CAD) applications. Most designers use multiple tools from different vendors. Having a single common command language means that a designer only needs to learn Tcl in order to automate multiple tools. Furthermore, Tcl can also be used to coordinate and integrate different applications, which benefits both customers and vendors.
Learning Objectives
After completing this course, you will be able to:
- Use Tcl command and variable substitution
- Describe how Tcl commands are evaluated
- Perform mathematical calculations with Tcl
- Define Tcl procedures
- Use Tcl control flow statements
- Construct and manipulate strings
- Build and manipulate lists and arrays
- Read, write and manipulate external files
- Invoke external programs
- Define multi-process communication
- Perform search and replace with regular expression patterns
- Perform error handling
- Profile scripts
Software Used in This Course
- Any Tcl shell or any EDA tool with a Tcl command line, on any platform
Software Release(s)
- Not applicable
Course Agenda
Day 1
- Quiz 1
- Tcl commands
- Tcl variables
- Substitution
- Command evaluation
- Quiz 2
- Mathematical operations
- Basic procedures
- Advanced procedures
- Quiz 3
- Lab 1: Extracting bits from integers
- What is control flow?
- Conditional commands
- Looping commands?
- Loop control
- Quiz 4
- Constructing strings
- String operations
- Extracting information from strings
- Binary strings
- Quiz 5
- Lab 2: Working with a string bitstream
Day 2
- Lists and Arrays
- Lists
- Building lists
- Manipulating lists
- Arrays
- Building arrays
- Manipulating arrays
- Lists versus arrays
- Quiz 6
- Lab 3: Sorting design blocks
- Manipulating files
- Reading from and writing to files
- Invoking external programs
- Multi-process communication
- Quiz 7
- Regular expressions (REs): what and why?
- Regular expression patterns
- RE-based string searching
- RE-based string replacement
- Quiz 8
- Lab 4: Hacking VHDL netlist
- Advanced procedures
- Error handling
- Date & time in Tcl
- Scheduling and delaying command execution
- Script profiling
- Quiz 9
- Appendix A: From Scripts to Applications
- Tcl scripts versus applications
- Namespaces
- Distributing Tcl scripts
- Reading and writing binary files
- Binary strings
- Client-server applications
- Safe interpreters
- Simple networking
Audience
- FPGA, ASIC, and PCB design and verification engineers wishing to apply scripting to automate design and verification flows
Prerequisites
- Familiarity with UNIX-like command lines and any programming language
Related Courses
Click here to view course learning maps, and here for complete course catalogs.
"Very good course (...), can be useful in many tools. The lecturer is very patient and answers all the questions, also goes over the details."
Amir Knimah, Samsung
“Very good course, especially the instructor has very good teaching skills.”
Franz Hutter, NXP Semiconductors
"It was an interesting course which has met my expectations, well-structured and well taught by the trainer."
Christophe Taba, STMicroelectronics
“I am pleased about the outcome of this course. The instructor had strong knowledge about Tcl and how to use it in EDA tools.”
Evangelos Logaras, NXP Semiconductors
"I liked that the lecturer briefly and efficiently explained any command and issue. He explained enough to understand what is the idea and how to use it but not too much to avoid making it exhausting."
Ido Raz, Samsung
"A very good course, especially the tcl component.The instructor was also very knowledgeable about the subject."
Gabriel Duffy, STMicroelectronics
"Fruitful training in line with my expectations."
Michel Farges, STMicroelectronics