Engineering learning path

Scripting for EDA Automation

A practical scripting course for front-end ASIC engineers: automate compilation, simulation, log checking, regressions, synthesis and timing with Bash, Make, Python and Tcl, and read and maintain the csh setup scripts and Perl flows that many sites still run, using open-source tools.

Designed for: Students and engineers who run simulation, lint and synthesis flows and want them repeatable

11Modules
11Lessons
495Learning minutes
3 weeksSuggested pace
Outcomes

What you will be able to do

  • Write robust Bash wrappers with strict mode, quoting, options and exit codes
  • Check simulator and synthesis logs with grep, sed, awk and waivers
  • Describe incremental simulation flows in Make
  • Structure Python scripts with pathlib, argparse and exceptions
  • Parse logs into CSV and JSON reports
  • Run seeded regressions in parallel with timeouts
  • Read and write Tcl
  • Drive Yosys synthesis, SDC constraints and OpenSTA timing from reproducible Tcl scripts
  • Read csh and tcsh tool setup scripts and import their environment into Bash
  • Read, fix and extend Perl one-liners, log checkers and regression runners
Before you begin

Prerequisites

Linux Fundamentals, including the Bash lesson

How to use this course

Know the outcome before you begin.

01UnderstandRead the objective and concept
→
02ApplyWork through examples and practice
→
03VerifyCheck the expected behaviour
→
04ReviewUse knowledge checks to find gaps
→
05AdvanceContinue only when the reasoning is clear
Completion expectationUnderstand the concept → apply it → inspect the result → explain why it is correct.
Curriculum

Course roadmap

Progress through focused modules, technical lessons and practice checks in sequence.

8-week programme alignment

Scripting · Weeks 1–4

Scripting starts with the Week 1 shell work on Days 2–3 (log checking, Bash, Make and C shell setups) and returns in Week 4 on Days 18 and 20, where Python and Perl regression runners and reports support Verilog verification. The same Bash, Make, Python and Tcl habits run every simulation, regression and synthesis flow in the later weeks, and the C shell and Perl lessons prepare you for the setup scripts and legacy flows many design teams still use.

Week 1 assessmentFoundation Assessment · 2.0 h · 100 marksPrimary deliverable: Scripts + C++ transaction class
What comes next?

Use these scripts in every later week.

Keep your run scripts, Makefile and regression runner: Weeks 2–8 compile, simulate and check far more designs than you can run by hand. When you meet a csh tool setup or an inherited Perl flow, import its environment into Bash and maintain the script rather than rewriting it.

Return to Week 1 Foundation →