Short definitions for terms used across the course. Each entry links to the topic that teaches it. All definitions are tool-neutral.
Term | Definition | Where taught |
|---|---|---|
Elaboration | Building a generic hardware structure of operators, muxes and registers from RTL, before optimisation. | |
Generic netlist | The tool-independent netlist of generic operators produced by elaboration, before technology mapping. | |
Mapped netlist | A netlist of standard cells from the target library, produced by technology mapping. | |
Technology mapping | Covering a Boolean network with standard cells so cost is minimised under delay constraints. | |
Boolean optimisation | Two-level and multi-level logic minimisation before mapping, using factoring and don't-care sets. | |
Don't-care | Input combinations or outputs the function never uses, which optimisation may assign freely. | |
Restructuring | Rebalancing logic trees, such as a chain into a tree, to cut depth at some area cost. | |
Buffering | Inserting buffers or inverter pairs to isolate loads and repair slew and capacitance violations. | |
Sizing | Swapping cell drive strengths to trade delay against area and power on chosen paths. | |
dont_touch | An attribute marking a net or cell the tool must preserve, blocking optimisation across it. | |
Timing-driven synthesis | Optimisation guided by slack: sizing, buffering and restructuring aimed at violating paths. | |
Resource sharing | Implementing mutually exclusive operations on one unit, such as one adder for two branches. | |
Standard cell | A fixed-height, variable-width library gate with characterised timing, power and area. | |
Liberty library | The library format carrying NLDM tables, cell areas, leakage and pin data for mapping. | |
NLDM table | Non-linear delay model: lookup tables of cell delay and output slew indexed by input slew and load. | |
Drive strength | A cell variant's output current capability; stronger variants drive larger loads faster at more area. | |
Fanout | The number of driven inputs on a net; large fanout slows the driver and may need buffering. | |
Slew | Transition time of a signal edge between fixed thresholds; slow slews delay the driven cells. | |
Arrival time | The latest (setup) or earliest (hold) time a signal reaches a point, from launch plus path delay. | |
Required time | The latest (setup) or earliest (hold) time a signal may reach a point and still meet the check. | |
Slack | Required time minus arrival time on a setup path; hold slack is the earliest arrival minus the hold required time. Non-negative slack meets timing. | |
WNS | Worst (minimum) slack over all checked paths; negative when timing fails. | |
TNS | Total negative slack: the sum of all negative endpoint slacks; zero means no violating endpoint. | |
Critical path | The longest checked setup path under the active constraints, which sets the maximum clock frequency. | |
Setup time | How long data must be stable before the clock edge at a flop input. | |
Hold time | How long data must stay stable after the clock edge at a flop input. | |
SDC | SDC: the widely used text format for clocks, IO delays and timing exceptions. | |
Clock uncertainty | Margin covering jitter and pre-layout skew, subtracted from the available time. | |
Input delay | SDC bound on latest and earliest arrival at an input port, standing in for the driver. | |
Output delay | SDC bound on external setup and hold at an output port, standing in for the receiver. | |
False path | A path exempt from checks because it is never exercised functionally. | |
Multicycle path | A path allowed more than one clock cycle, checked at the stated cycle multiplier. | |
Inference | The hardware a synthesis tool builds from an RTL construct. | |
Latch inference | Unintentional level-sensitive storage built when combinational code leaves an output unassigned. | |
Reset | Synchronous reset acts through the data path and needs a clock; asynchronous reset is immediate and needs synchronised release. | |
Clock enable | A flop enable that holds state without gating the clock. | |
One-hot encoding | State encoding with one flop per state and exactly one active; fast decode at the cost of one flop per state. | |
FSM encoding | State assignment choice: binary is compact, Gray coding assigns codes that differ by one bit to states adjacent in sequence, reducing transitions for sequential traversals, while arbitrary jumps can still change several bits, and one-hot is fastest to decode at the cost of one flop per state. | |
Memory inference | The tool mapping an array with read and write patterns to a memory macro instead of flops. | |
Retiming | Moving registers across combinational logic to balance stage delays without changing cycle behaviour. | |
Ripple-carry adder | N-bit ripple adder with a half-adder LSB and no carry-in: N minus 1 full-adder carry stages on the carry path; with a carry-in the LSB is a full adder and there are N. | |
Carry-lookahead | Group generate and propagate signals computed in parallel to break the linear carry chain. | |
Prefix adder | A parallel-prefix carry network, such as Kogge-Stone, Sklansky or Brent-Kung, with O(log N) depth. | |
Booth recoding | Recoding multiplier bits in overlapping groups so each partial product is 0 or a small multiple of the multiplicand. | |
Compressor | A circuit reducing several same-weight bits to fewer bits, such as four inputs to sum plus carry. | |
Carry-save adder | An adder keeping sum and carry separate with no carry propagation, compressing three rows to two. | |
Wallace tree | A tree of carry-save adders compressing many partial products to two rows, finished by one adder. | |
Dynamic power | Charging power alpha times C times V squared times f, spent only when nets toggle. | |
Leakage power | Static power from subthreshold and gate leakage, drawn with power on and no toggling. | |
Switching activity | The average number of transitions per clock cycle for a net, in toggles per cycle. | |
Clock gating | Disabling clock toggles to idle registers to save dynamic power. | |
ICG | Integrated clock-gating cell: a latch plus AND gate packaged so that a correctly timed enable does not glitch the clock. | |
Scan | Test structures threading flops into shift chains so patterns can control and observe internal state. | |
Equivalence checking | Formal proof that a netlist behaves like its RTL on all sequences from reset. | |
Miter | A circuit XORing pairwise outputs of two designs and ORing the results; constant zero proves equivalence. | |
ECO | Engineering change order: a small late fix applied to the mapped netlist with minimal disturbance. | |
Incremental compile | Re-running synthesis on part of a design while preserving the rest, for fast ECO turnaround. | |
Wire-load model | A statistical capacitance estimate from fanout used before placement; later replaced by extraction. | |
Congestion | Routing demand exceeding track supply in a region; spread or duplicated logic can worsen it. | |
Handoff | The package for physical design: mapped netlist, constraints, assumptions and labelled reports. | |
QoR | Quality of results: the measured area, timing and power of a synthesis run. | |
Scripted flow | A checked-in sequence of synthesis steps plus regression checks reproducing every QoR number. | |
Simulation-synthesis mismatch | Behaviour differing between RTL simulation and the netlist, from X handling, latches or async logic. | |
X-optimism | Simulation resolves an unknown favourably while synthesis is free to implement either value, so silicon can disagree with simulation. |