Essential Tcl/Tk
A.L.S.E.
[Link] Formation Pratique de 3 jours
v2019.11
Présentation
Essential Tcl/Tk est un cours de trois jours qui enseigne toutes les bases indispensables pour maîtriser le
langage Tcl (prononcer « Tiqueul ») et son extension « toolkit » graphique Tk, pour tout usage : cette
formation est parfaite même si vous n'êtes pas un électronicien !
En effet, Tcl est un langage de programmation puissant, gratuit, multi plate-formes (Windows / Linux / Mac)
et très largement utilisé dans de nombreux domaines. Ses fonctions de manipulation de texte, de gestion
de fichiers, ses caractéristiques de contrôle système et ses très nombreuses extensions de toutes natures
expliquent son succès universel.
Cette connaissance (générale) sur le langage s'applique également très bien au domaine de la conception
FPGA et ASIC et permet notamment d’obtenir un gain de productivité significatif. La plupart des outils EDA
sur le marché utilisent le Tcl, souvent en association avec le toolkit graphique Tk pour fournir une interface
graphique utilisateur flexible et indépendante de la plate-forme : ModelSim, Mentor Precision, Synopsys
Design Compiler, Synplify & Pro, Intel Quartus, Microsemi Libero, Xilinx Vivado, etc...
Le cours couvre l’essentiel du langage script Tcl et du toolkit Tk, avec de très nombreux exercices pratiques.
Il va jusqu'à montrer comment créer des interfaces graphiques personnalisées, comment extraire des
informations-clés de fichiers source et de rapports en format textuel, comment faire de la programmation
événementielle, contrôler facilement des interfaces comme RS232, etc...
Ce cours s’inscrit dans le cadre d’une action d’acquisition ou de perfectionnement des connaissances.
Les exercices pratiques, qui occupent environ 50 % du temps de la formation, sont des éléments clés
du succès de ces formations, ils sont indispensables pour un réel apprentissage. Ils assurent également un
contrôle continu de l'acquisition des compétences.
Les Instructeurs ALSE sont aussi et surtout des Experts en Conception et Vérification qui utilisent à
journée entière les langages qu'ils enseignent. Ils savent partager leur savoir-faire avec passion et sont
particulièrement appréciés des participants.
Pré-requis
Aucune connaissance préalable du langage Tcl/Tk n’est demandée. Une expérience avec au moins un
langage de programmation est fortement recommandée, mais n’est pas absolument obligatoire.
Objectifs pédagogiques
Maîtriser le Langage Tcl.
Maîtriser les bases du ToolKit Graphique Tk.
Savoir développer des utilitaires de toutes natures, y-compris avec des interfaces graphiques.
Option : applications dans le monde de la conception numériques (outils EDA).
Qu'apprendrez-vous ?
Les principes et le cœur grammatical du langage Tcl et l'organisation des programmes.
L'ensemble des fonctions Tcl de manipulation de données et de fichiers.
Les techniques de recherche et de manipulation de texte, dont les Expressions Régulières.
Les techniques pour contrôler et piloter périphériques et exécutables externes par le Tcl.
Comment utiliser Tk pour créer et exploiter des interfaces utilisateurs graphiques (GUI).
© ALSE sàrl - RCS = Dijon B 392822763 - SIRET = 39282276300018 - Code APE =7112B – TVA = FR72392822763
Supports de cours
Les manuels de cours Doulos sont réputés pour être détaillés, précis et faciles d’utilisation.
Leur style, leur contenu et leur exhaustivité sont uniques dans le monde de la formation HDL.
Ils sont souvent utilisés ensuite comme référence.
Sont compris dans la formation :
Le Classeur du cours théorique, avec un Index.
Il constitue un Manuel de Référence concis.
Le Cahier des Exercices pratiques, qui permet de mettre en
œuvre les connaissances théoriques.
Les fichiers des exercices et des solutions.
Formation Essential Tcl/Tk
Programme*
Introduction
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
A sample application
Getting started
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 commands using exec
Environment variables
File manipulation
.../...
* Programme et contenu sont susceptibles d'être modifiés et adaptés par l'Instructeur.
© ALSE sàrl - RCS = Dijon B 392822763 - SIRET = 39282276300018 - Code APE =7112B – TVA = FR72392822763
Creating Real Programs
Commands for flow control
Procedures and arguments
Default arguments
Scope Return values
Opening Files Reading and writing in files
Formatting strings and data as text
Glob Passing parameters to Tcl scripts
More on Tcl commands
Command for calculation using expr
Manipulating strings Manipulating lists
Manipulating path names
Building flexible data structures using lists
Array variables
Global and uplevel references
Introspection using info
Pattern Matching
Glob-style matching
Regular expressions-background
Using regular expressions to analyze text
Details of regular expression syntax
Character classes & Quantifiers
Lazy / Greedy / Eager Anchors
Sub-Expressions, Grouping & back-references
Expanded RE Complex Pattern Matching
Interacting with other applications
Opening a command pipeline
File buffering and blocking fconfigure
File event handling
The TCl event loop
Creating Event-driven Programs Co-operating Event Handlers RS232 example
Creating your own GUIs with Tcl/Tk
Tk basics Creating useful GUI windows
Geometry Managers Creating Menus & Tool bars
Widgets: buttons, checkboxes, text, scroll bars, frames
Window manager control
Creating graphics on a canvas Introspection and fonts
Namespaces and Packages
OOP introduction
Namespaces, variables & qualified names Namespace import/export
Packages Creating, building and distributing your own packages
Pre-defined packages
Tcl/Tk EDA applications (optional sections)
Automating parts of the tool flow
Case study
Mentor ModelSim Altera Quartus Xilinx Vivado
Synopsys Cadence
© ALSE sàrl - RCS = Dijon B 392822763 - SIRET = 39282276300018 - Code APE =7112B – TVA = FR72392822763