This course provides a detailed introduction to the EDA applications of Perl, covering all of its core features, showing its application in analyzing large quantities of textual data and offering expert tips on how to construct effective scripts. Conventional Perl classes tend to concentrate on web programming applications. This class has been specifically written to emphasize the Perl features which are of more interest to EDA engineers and CAD departments.
About Perl for EDA
Perl is a general purpose scripting language with outstanding features for text, file and process manipulation. In the EDA world, these features make Perl extremely useful for applications such as:
- Extracting specific data from a text file, e.g. tool reports, logs, code or netlists
- Translating or tweaking code formats between tools
- Generating code, e.g. testbenches, stimulus vectors, code wrappers or shells
- Executing multi-tool operations in a design flow
In this course you will:
- Gain an in-depth understanding of the essential concepts of Perl.
- Understand the Perl syntax
- Learn about the different variable types in Perl - scalars, arrays and hashes
- Understand Flow Control
- Understand the idea of context
- Create complex data structures by means of references
- Read and Write - explore Perl's IO system
- Create reusable code by means of subroutines and modules
- Master Regular Expressions in Perl
- Use the Perl Debugger to trace problems
Knowledge of at least one other programming or scripting language and some basic Unix experience are required. No prior knowledge of Perl is required.
Describing the basic syntax and concepts of Perl. Constructing robust, reusable Perl modules using best-practice guidelines for coding, documentation and testing.
Understanding how to create, read, update and delete common Perl data structures (arrays, hashes, arrays-of-arrays, arrays-of-hashes etc). Using Regular Expression syntax to extract and edit specific data from such structures and from text files. Manipulating files and directories in Perl.
- Course Introduction
- Getting Help
- Executing Perl Programs
- Pragmas and Modules
- Flow Control
- FILE I/O
- Regular Expressions
- The Perl debugger
- Perl and the File System
Lab sessions include:
- Text search, substitution and processing
- Creating and manipulating data structures
- Use of subroutines
- Module management and installation
- Recursively programming