Standard Level - 3 daysview dates and locations
Essential Perl is a 3-day course teaching the essentials of Perl and its application in the field of PLD and ASIC design.
Perl is a popular and widely-used cross-platform programming language. In particular, its powerful text processing capability can be used to automate many otherwise error-prone, repetitive and time-consuming tasks in the ASIC and PLD design process.
The syllabus covers the essential subset of the Perl5 scripting language and is packed with design related exercises and examples including: patching netlists, filtering reports, generating test vectors, and running tools.
Delegates can use their choice of PC or UNIX platforms during the workshops. The workshops are based around carefully designed exercises, to reinforce and challenge the extent of learning, and comprise approximately 50% of class time.
Who should attend?
- Engineers who wish to become skilled in the practical use of Perl for tasks related to programmable logic or ASIC design
- Engineers who have already acquired some practical experience in the use of Perl, but wish to consolidate and extend their knowledge within a training environment
What you will learn
- The essential syntax and semantics of Perl
- How to avoid common mistakes and how to use the Perl Debugger to track down problems in your Perl programs
- Techniques for writing Perl code that can be reused by others, thus improving overall design team productivity
- How to apply Perl to common tasks in the hardware design process
Pre-requisitesNo previous knowledge of Perl or software language experience is required, although the latter would be advantageous. 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 Perl • Exploring the benefits of Perl for design engineers • Internet resources for problem solving and sharing solutions • Perl book recommendations • Plain Old Documentation (POD) the language reference • Perl applications in design
Starting PerlRunning programs in UNIX or Windows • Using command line options • Understanding scalar variables • Numbers & strings • Interpolation explained • Arrays (lists) • Hashes (associative arrays) • Exploring scalar and list context
StatementsConditional statements: if, unless • Alternative case structures • Looping statements: until, while, for, foreach • Loop control using: next, last, redo • Conditional modifiers: if, unless • Loop modifiers – while, until • Using 'and' and 'or' for better readability
File OperationsOpening text files for reading, writing or appending • Using pipes to other processes • Testing file properties with file test operators • formatting output using print and write • frequently used special variables
Pattern MatchingMatching with modifiers • Substituting with modifiers • Inventing character classes • Quantifiers • Anchoring matches on character boundaries • Reusing matched groups with back references • Grouping and alternatives in regular expressions • Extended regular expressions • Guidance for complex regular expressions
Subroutines and ModulesWriting subroutines in Perl • Controlling variable scoping using my, our and local • Using references to variables and subroutines • Packaging scripts for reuse with modules
Debugger ScriptsUsing Perl debugger • Syntax checking • Generating extra warnings • Writing better code using pragmas
Application Examples and ExercisesModifying automatically generated netlists, to ensure different tools work together smoothly • Filtering long report files e.g. those generated by place & route tools • Creating, translating and modifying files containing test vectors • Autonomously running design tools in sequence, checking results then warning, re-running, stopping or continuing accordingly.
Supplementary Subjects (May be included if sufficient interest and time permits)
Packages and ModulesUnderstanding packages • Creating and using modules • Setting Perl's module search path • Installing CPAN modules • Object-oriented Perl • Creating a simple class
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