The 3 day covers the following topics
Theory
- What is Tcl
- Tcl fundamentals
- Tcl command syntax
- Tcl variables
- Variable substitution
- Command substitution
- Backslash substitution
- Grouping
- Grouping using quotes (“)
- Grouping using curly braces ({})
- Grouping when command need to be executed ([])
- Substitution types
- Variable substitution
- Command substitution
- Backslash substitution
- Math expressions in tcl (expr)
- Arithmetic operators
- Math functions
- String processing
- string length
- string map
- string tolower
- string toupper
- Tcl lists
- list command
- split command
- List operations
- llength
- lindex
- lappend
- lsearch
- join
- tcl control structures
- if
- else
- elseif
- switch
- while
- for
- foreach
- multiple loop variables in foreach
- break
- continue
- Regular expressions
- regexp
- regsub
- Tcl procs
- Procs with default value
- Tcl arrays
- array set
- array exists
- array get
- array names
- Tcl file handling
- Special variables
- agrv0
- argv
- exec
- env
- info exists
- unset
- redirect command
- EDA tool extensions
- Netlist
- Hierarchical cells, nets, pin
- Leaf level cells nets and pin
- Fanin
- Fanout
- get_* query commands
- Collections and objects
- all_fanin
- all_fanout
Labs
- Regexp labs
- Write a Tcl script to execute shell script
- Parse a timing report to dump startpoint, endpoint and slack
- create tcl proc to initialize clock periods variables if not already defined
- Tcl for finding out all pins in the design and slack on them
- Find out all the ports in the design with direction as input
- Find high fanout nets
- Calculating logic levels in timing paths
‘
