Use this page when a lesson uses a word you have not met. Each entry gives a one-line meaning and a link to the lesson that explains it.
Term | Meaning | Learn it in |
|---|---|---|
Front-end | The part of the chip flow that turns a spec into verified RTL and a checked netlist, before physical design begins. | |
Back-end | The part of the chip flow that turns a netlist into masks and silicon, covering placement, routing and sign-off checks. | |
RTL (register-transfer level) | A description of a design as registers and the logic between them, written in a hardware description language such as SystemVerilog. | |
ASIC (application-specific integrated circuit) | A chip manufactured for one product, with high upfront cost and logic that cannot change after fabrication. | |
FPGA (field-programmable gate array) | A chip whose logic you can reconfigure after manufacture, bought off the shelf and programmed for each application. | |
SoC (system on chip) | One chip that holds processors, memories and peripherals that used to be separate parts. | |
IP (intellectual property) | A reusable block, such as a counter or a bus interface, shared or bought instead of designed from scratch. | |
EDA (electronic design automation) | The tools that compile, simulate, check and build chip designs, such as Icarus, Verilator and Yosys. | |
PPA (performance, power, area) | The three costs traded against each other in every design decision: how fast, how much energy, how much silicon. | |
Sign-off | The set of checks, including timing and physical verification, that must pass before a design is released for manufacture. | |
Hand-off package | The bundle the front-end team delivers, with RTL, constraints, docs and version pins, so the back-end can build the chip. |
Term | Meaning | Learn it in |
|---|---|---|
Testable spec | A written behavior where every claim can be checked by a test, with numbers instead of vague words. | |
Microarchitecture | The block diagram drawn from the spec, naming the registers and logic that will become RTL. | |
Register contract | The agreed map of registers and fields that software and hardware both obey, checked by the golden model and the testbench. | |
Clock edge | The rising moment of the clock ( | |
Synchronous reset | A reset that takes effect on a clock edge, so it behaves like any other timed input. | |
Timescale | The directive (` | |
Constraints | Timing and physical requirements, written in SDC (Synopsys Design Constraints) format, that tell the back-end tools what the design must meet. |
Term | Meaning | Learn it in |
|---|---|---|
DUT (device under test) | The design module the testbench drives and checks. | |
Testbench | The code around the DUT that drives inputs, checks outputs and reports whether the test passed. | |
Simulation | Running the RTL and its testbench in software to see what the hardware would do, before anything is built. | |
Waveform | The drawing of signal values against time, read to find the cycle where behavior leaves intent. | |
VCD (value change dump) | The file format simulators write to record every signal change for a waveform viewer. |
Term | Meaning | Learn it in |
|---|---|---|
Mutant | A copy of the design with one deliberate bug, run to prove the testbench can fail. | |
Equivalent mutant | A mutant that still meets the spec, such as swapped reset and clear that both set the count to 0, which a good testbench keeps passing. | |
Golden model | A simple trusted program, often in Python, that computes the expected answers the RTL must match. | |
Self-checking testbench | A testbench that compares the DUT against the golden model by itself and reports the result without you reading waves. | |
Random stimulus | Test inputs drawn from a random generator instead of written by hand, so the test reaches cases you did not think of. | |
Seed | The starting number of a random generator; the same seed repeats the same test, which makes failures reproducible. | |
Assertion | A check written in the design or testbench that watches for a forbidden behavior every time it could happen. | |
SVA (SystemVerilog Assertions) | The SystemVerilog language for writing assertions, with immediate checks at one point and concurrent properties over time. | |
Coverage | The record of which behaviors the tests actually reached, used to find untested corners. | |
Formal verification | Proving a property holds for all possible inputs with math, instead of trying inputs one by one in simulation. |
Term | Meaning | Learn it in |
|---|---|---|
Elaboration | The step where the tool builds the design hierarchy from the compiled files, resolving parameters and generates before simulation or synthesis. | |
Lint | Static checks on RTL that flag likely bugs without running anything, such as widths that do not match. | |
Synthesis | Turning RTL into a netlist of gates for a target library, the step that shows what the code really infers. | |
Netlist | The list of gates and wires produced by synthesis, describing the same behavior as the RTL in hardware terms. | |
Synthesizable code | RTL written in the subset that maps to hardware, as opposed to simulation-only code such as delays that synthesis ignores. |
Term | Meaning | Learn it in |
|---|---|---|
Shell | The text prompt where you run commands; this course uses the same commands on macOS, Linux and WSL. | |
Git | The version control tool that saves snapshots of your work so you can compare versions and undo mistakes. | |
Icarus Verilog | The free simulator this course uses to compile with | |
Verilator | The free tool this course uses to lint RTL and to run the assertion testbench. | |
Yosys | The free synthesis tool this course uses for the first synthesis check. | |
GTKWave | The free waveform viewer this course uses to read VCD files. | |
Makefile | The file that names each flow step as a target, so one command reruns the whole loop the same way every time. | |
Exit code | The number a command returns when it finishes: 0 means success and anything else means failure, which make and CI read to decide pass or fail. | |
Pass marker | A short line at the end of a tool log that shows the step passed, which the Makefile counts to confirm success. | |
CI (continuous integration) | A server that runs the smoke test on every change, so a broken commit is caught the same day. | |
Smoke test | The short test that runs on every change to catch breakage fast. | |
Regression | The longer suite that reruns many tests, often nightly, to catch bugs a change dragged in elsewhere. |