LessonRun EDA tools from Python with `subprocess.run`, using argument lists, timeouts and `check`; run many test-and-seed combinations in parallel with `concurrent.futures`; keep each run isolated in its own folder; make random seeds reproducible; and return an exit status that a…
Open reference →LessonRead and write Tcl, the command language used inside many EDA tools; explain Tcl's substitution rules; use variables, lists, dictionaries, `proc`, `foreach`, `if` and `while`; match text with `string` and `regexp`; read and write files; and handle errors with `catch`.
Open reference →LessonDrive Yosys synthesis from a Tcl script with `yosys -c` and `yosys -import`; write timing constraints as Tcl in SDC form with `create_clock`, `set_input_delay` and `set_output_delay`; run static timing with an OpenSTA-style script; make synthesis runs reproducible; and extract the…
Open reference →LessonRead the csh and tcsh setup scripts that many EDA sites and tool vendors still ship; explain the difference between `set` and `setenv`; extend the search path with the `path` array; test for variables with `$?name` and read exit status…
Open reference →LessonRead and write the Perl found in EDA flows: run one-liners that filter and edit files; start every script with `use strict` and `use warnings`; use scalars, arrays and hashes and their sigils; match and capture with regular expressions and…
Open reference →LessonRead and maintain the Perl scripts that run older chip-design flows: recognise common legacy idioms; parse options with `Getopt::Long`; run tools with `system` using a list of arguments and decode `$?` into an exit code; capture tool output safely; generate…
Open reference →GlossaryA file that groups other files; compression is a separate operation.
Open reference →GlossaryA Make variable such as $@, $< or $^ that refers to the current target or its prerequisites.
Open reference →Glossarycsh and its extended version tcsh, an older Unix shell still used by many EDA site and tool setup scripts.
Open reference →GlossaryA Python class declared with @dataclass that stores fields and generates common methods automatically.
Open reference →GlossaryA tool description loaded with module load that sets PATH and related variables for one tool version, in any shell.
Open reference →GlossaryA named value inherited by child processes when exported.
Open reference →GlossaryThe number a process returns to its caller; 0 means success and any other value signals a specific failure.
Open reference →GlossaryA numeric result returned by a process; zero normally indicates success.
Open reference →GlossaryAn error message with run-specific values removed, used to group failures that share a cause.
Open reference →GlossaryA text file of source paths, often with a .f extension, passed to a simulator or linter.
Open reference →GlossaryA Perl key-value table such as %count, read one value at a time with $count{key}.
Open reference →GlossaryRebuilding only outputs whose inputs changed, based on file timestamps.
Open reference →GlossaryFilesystem metadata object referenced by one or more names.
Open reference →GlossaryThe privileged core that manages processes, memory, devices and filesystems.
Open reference →