Semiconductor Glossary
Digital design and hardware engineering terms — definitions, code examples, and links to courses and practice problems.
191 terms
A
Adder
A combinational circuit that performs arithmetic addition of binary numbers.
Address Bus
A set of parallel signal lines used to specify memory or I/O locations for read/write operations.
ALU (Arithmetic Logic Unit)
A combinational circuit that performs arithmetic and logical operations on binary data.
AMBA (Advanced Microcontroller Bus Architecture)
ARM's open standard for on-chip interconnect specification, including APB, AHB, and AXI protocols.
APB Interface
The SystemVerilog interface construct that bundles the APB signal set so masters, slaves, and testbench components can connect through a single handle.
APB Master
The APB agent that initiates transactions — drives address, data, and control signals, and waits for the slave's ready.
APB Protocol (Advanced Peripheral Bus)
A low-complexity AMBA protocol designed for low-bandwidth peripheral access with minimal power consumption.
APB Slave
The APB agent that responds to the master — decodes the address, returns read data, accepts writes, and drives the ready signal.
Arbiter
A circuit that manages access to a shared resource among multiple requestors, granting access based on a priority or fairness scheme.
ASIC (Application-Specific Integrated Circuit)
A custom-designed integrated circuit optimized for a specific application rather than general-purpose use.
Assertion
A statement in verification code that checks whether a design property holds true during simulation or formal analysis.
Asynchronous Circuit
A digital circuit that operates without a global clock signal, using handshaking or other mechanisms for synchronization.
Asynchronous Reset
A reset signal that immediately forces registers to their initial state regardless of clock state.
Atomic Operation
An operation that completes entirely without interruption, appearing instantaneous to other observers in the system.
AXI (Advanced eXtensible Interface)
A high-performance AMBA protocol supporting multiple outstanding transactions, out-of-order completion, and separate read/write channels.
B
Back-Pressure
A flow control mechanism where a receiver signals that it cannot accept more data, causing the sender to pause transmission.
Barrel Shifter
A combinational circuit that can shift or rotate data by any number of positions in a single cycle.
Big Endian Converter
A circuit that swaps byte order to convert between big-endian and little-endian data formats.
Binary
A base-2 number system using only digits 0 and 1, fundamental to digital electronics.
Bit
The smallest unit of digital information, representing a single binary value of 0 or 1.
Blocking Assignment
A SystemVerilog assignment (=) that executes sequentially, completing before the next statement begins.
Boolean Algebra
Mathematical system for analyzing and simplifying logic expressions using AND, OR, NOT operations and their laws.
Branch Control
The logic that decides whether a branch instruction is taken and computes the resulting program counter.
Branch Prediction
A technique where processors guess the outcome of conditional branches before they're resolved to maintain pipeline flow.
Buffer
A circuit that isolates input from output, provides drive strength, or stores data temporarily.
Buffering
Techniques for storing data temporarily between pipeline stages or interfaces operating at different rates.
Burst Transfer
A bus transaction that transfers multiple data words using a single address phase, improving throughput efficiency.
Bus
A shared communication pathway connecting multiple components, allowing data transfer between them.
Byte
A unit of digital information consisting of 8 bits.
C
Cache
A small, fast memory that stores copies of frequently accessed data to reduce average access time.
Cache Coherence
Protocols ensuring all processors see a consistent view of shared memory despite having private caches.
Cache Line
The fixed-size block of memory data that a cache stores and transfers as a single unit.
Cache Pipeline
The staged implementation of cache access logic so tag lookup, data read, and hit/miss handling can meet timing at higher clock frequencies.
Carry
The output generated when the sum of binary digits exceeds the column's capacity, propagating to the next column.
Checksum
A small fixed-width value computed from a block of data and sent alongside it so the receiver can detect corruption.
Clock
A periodic signal that synchronizes operations in a digital circuit, triggering state changes on its edges.
Clock Domain Crossing (CDC)
The interface between two parts of a design operating on different clocks, requiring special synchronization.
Clock Gating
A power-saving technique that disables the clock to idle circuit blocks, eliminating switching power.
cocotb
A Python-based verification framework that enables writing testbenches in Python rather than HDL.
Combinational Circuit
A circuit whose output depends only on current inputs, with no memory or feedback.
Comparator
A circuit that compares two binary values and outputs their relationship (equal, greater than, less than).
Compression Engine
A hardware block that reduces data size using algorithms like run-length encoding or dictionary-based compression.
Constraint Randomization
A SystemVerilog verification technique where random stimulus is generated subject to user-defined constraints.
Control Unit
The combinational block that decodes an instruction's opcode into the control signals that drive the datapath.
Counter
A sequential circuit that cycles through a sequence of states, typically incrementing or decrementing a binary value.
Coverage
Metrics measuring how thoroughly a testbench exercises the design, indicating verification completeness.
Credit-Based Flow Control
A flow control mechanism where the sender tracks available receiver buffer space using credits, sending data only when credits are available.
Cross Correlation
A measure of similarity between two signals as a function of displacement, used for pattern matching and synchronization.
Crossbar
An interconnect that allows any input to connect to any output simultaneously, enabling parallel transfers.
D
D Flip-Flop
A fundamental memory element that captures its data input on a clock edge and holds the value until the next clock edge.
Data Bus
A set of parallel signal lines carrying data between components in a digital system.
Data Memory
The memory region that holds program data, accessed via load and store instructions in the memory stage.
Data Pipeline
The part of a cache pipeline that reads, aligns, and returns the actual data stored in cache lines.
Deadlock
A system state where circular dependencies prevent any progress, with each component waiting for resources held by others.
Decoder
A combinational circuit that converts a binary input code into a one-hot output, activating exactly one output line.
Demultiplexer (DEMUX)
A circuit that routes a single input to one of many outputs based on a select signal.
DMA (Direct Memory Access)
A mechanism allowing peripherals to transfer data directly to/from memory without processor intervention.
Don't Care
A condition where the output value doesn't matter, allowing synthesis tools freedom to optimize.
Driver
A testbench component that consumes transaction objects and drives them onto the DUT's interface pins according to the protocol timing.
Dual-Port RAM
Memory that supports simultaneous access from two independent ports, each with its own address and data interface.
E
Edge Detection
A circuit that detects transitions (rising edge, falling edge, or both) on an input signal.
Encoder
A combinational circuit that converts a one-hot or binary-active input to a compact binary code.
Endianness
The convention determining byte ordering when storing multi-byte values in memory.
Environment
The top-level verification container that connects generators, drivers, monitors, scoreboards, and other testbench infrastructure around a DUT.
F
Fan-In
The number of inputs to a logic gate, affecting its propagation delay and drive capability.
Fan-Out
The number of gate inputs driven by a single gate output, affecting signal integrity and timing.
FIFO (First-In-First-Out)
A buffer that stores data elements and retrieves them in the order they were written.
Finite State Machine (FSM)
A sequential circuit with a finite number of states, transitioning between states based on inputs and producing outputs.
Flip-Flop
A bistable circuit that stores one bit of data, changing state on clock edges.
Flow Control
Mechanisms that regulate data transmission to prevent overflow when receiver can't keep pace with sender.
FPGA (Field-Programmable Gate Array)
An integrated circuit that can be programmed after manufacturing to implement digital logic.
Frequency
The number of clock cycles per second, measured in Hertz (Hz), determining system speed.
Full Adder
A combinational circuit that adds three single bits (two operands plus carry-in) producing sum and carry-out.
G
Gate
A fundamental digital circuit element that performs a basic Boolean operation on one or more inputs.
Generator
A testbench component that creates transaction objects and feeds them to downstream components such as drivers or sequencers.
Glitch
A brief, unwanted signal transition caused by unequal propagation delays through combinational logic paths.
Gray Code
A binary encoding where consecutive values differ by exactly one bit, minimizing transition errors.
H
Half Adder
A combinational circuit that adds two single bits, producing a sum and carry output but no carry input.
Handshaking
A synchronization protocol where communicating parties exchange signals to coordinate data transfer.
Hardware Description Language (HDL)
A specialized language for describing digital circuit structure and behavior, used for simulation and synthesis.
Hazard
A condition where circuit behavior differs from expected due to timing or structural issues.
Hexadecimal
A base-16 number system using digits 0-9 and A-F, providing compact representation of binary values.
Hold Time
The minimum time a data signal must remain stable after the clock edge for reliable flip-flop capture.
I
Instruction
A single operation command in a processor's ISA, specifying an operation and its operands.
Instruction Decode
The pipeline stage that interprets an instruction's bit fields to extract the opcode, register specifiers, and immediate values.
Instruction Fetch
The first pipeline stage of a processor, where the next instruction is read from instruction memory using the program counter.
Instruction Memory
The memory region that stores a program's instructions, addressed by the program counter during fetch.
Interrupt
An asynchronous signal that diverts processor execution to handle an event requiring attention.
Inverter
A logic gate that produces the complement (NOT) of its input—0 becomes 1, 1 becomes 0.
ISA (Instruction Set Architecture)
The abstract interface between hardware and software, defining instructions, registers, and programming model.
L
Latch
A level-sensitive storage element that passes input to output when enabled and holds when disabled.
Latency
The time delay between initiating an operation and receiving the result.
Least Significant Bit (LSB)
The bit position with the smallest weight (2⁰) in a binary number, typically the rightmost bit.
Livelock
A condition where processes continuously change state in response to each other but make no progress.
Logic Gate
A physical device implementing a Boolean function with one or more inputs and one output.
Low Power Design
Design techniques that minimize power consumption while meeting performance requirements.
LPC (Low Pin Count)
A legacy bus protocol using few pins for low-speed peripheral communication, common in PC motherboards.
LRU (Least Recently Used)
A cache replacement policy that evicts the cache line accessed longest ago.
LUT (Lookup Table)
An FPGA primitive that implements any Boolean function of its inputs by storing the truth table in SRAM.
M
Mealy Machine
A finite state machine where outputs depend on both current state and current inputs.
Memory
A device or circuit that stores digital data for later retrieval.
Memory-Mapped I/O
A technique where peripheral registers are accessed through the same address space as memory.
MESI Protocol
A cache coherence protocol tracking line states as Modified, Exclusive, Shared, or Invalid.
Metastability
An unstable state where a flip-flop's output is undefined, occurring when setup or hold time is violated.
Microarchitecture
The hardware implementation of an ISA, defining how instructions are executed internally.
Monitor
A passive testbench component that observes a DUT interface and reconstructs protocol transactions for logging, coverage, and checking.
Moore Machine
A finite state machine where outputs depend only on the current state, not directly on inputs.
Most Significant Bit (MSB)
The bit position with the largest weight in a binary number, typically the leftmost bit.
Multiplexer (MUX)
A combinational circuit that selects one of multiple inputs and routes it to a single output based on select signals.
N
NAND Gate
A logic gate that outputs the complement of AND—low only when all inputs are high.
Netlist
A textual description of circuit connectivity, listing components and their connections.
Non-Blocking Assignment
A SystemVerilog assignment (<=) that schedules updates for the end of the time step, enabling correct sequential logic modeling.
NOR Gate
A logic gate that outputs the complement of OR—high only when all inputs are low.
O
One-Hot Encoding
An encoding scheme where exactly one bit is high among a group, with each state represented by a single active bit position.
One-Shot
A circuit that generates a single output pulse in response to an input edge or level change.
Opcode
The portion of an instruction that specifies the operation to be performed.
Ordering
Rules governing the sequence in which memory operations become visible to different observers in a system.
Overflow
The condition when an arithmetic result exceeds the representable range, causing incorrect results.
P
Packet
A structured unit of transmitted data that contains both payload and control information such as headers, length, or checksums.
Palindrome Detector
A circuit that determines whether an input sequence reads the same forward and backward.
Parallel-to-Serial Converter
A circuit that accepts multiple bits in parallel and transmits them one bit at a time over successive clock cycles.
Parameterizable Design
Design technique using parameters to create configurable, reusable modules with variable widths, depths, or features.
Parity
An error detection bit added to data, making the total number of 1s either even (even parity) or odd (odd parity).
Perfect Squares
An algorithm or circuit that detects whether a number is a perfect square (the square of an integer).
Performance Counter
Hardware registers that count events (instructions, cache misses, cycles) for performance analysis and profiling.
Peripheral
A hardware component that provides I/O or specialized functionality, connected to the processor via bus interfaces.
Pipeline
A technique where multiple instructions execute simultaneously by dividing execution into stages, each handling a different instruction.
Place and Route (P&R)
The physical design step that positions cells and creates wiring to implement a synthesized netlist.
Pointer
A value that holds the address of a memory location, enabling indirect access to data.
Power Consumption
The electrical energy used by a circuit per unit time, comprising dynamic and static components.
Priority
A ranking that determines service order when multiple requestors compete for a shared resource.
Process
The semiconductor manufacturing technology used to fabricate integrated circuits, characterized by feature size.
Processor
A digital circuit that executes instructions, fetching, decoding, and performing operations on data.
Program Counter
A register that holds the address of the next instruction to be fetched.
Propagation Delay
The time for a signal change at a gate input to cause the corresponding change at its output.
Protocol
A set of rules governing communication between hardware components, defining signal meanings and sequences.
Pulse
A brief signal assertion, typically one clock cycle wide, indicating an event or trigger.
R
RAM (Random Access Memory)
Memory that allows reading and writing to any address with similar latency, regardless of access pattern.
Register
A group of flip-flops that store a multi-bit value, typically controlled by a common clock and enable.
Register File
An array of registers with multiple read and write ports, forming the processor's fast storage.
Replacement Policy
The rule a cache uses to decide which existing line to evict when a new line must be inserted into a full set.
Reset
A signal that forces circuit elements to known initial states, ensuring deterministic power-on behavior.
RISC (Reduced Instruction Set Computing)
A processor design philosophy emphasizing simple instructions that execute quickly, enabling pipelining.
RISC-V
An open-source instruction set architecture based on RISC principles, free to implement without licensing fees.
Round-Robin
An arbitration scheme that grants access to requestors in circular order, ensuring fairness.
RTL (Register-Transfer Level)
An abstraction level describing digital circuits in terms of registers and the combinational logic transferring data between them.
Running Average
A filter that computes the mean of the most recent N samples, smoothing data by attenuating high-frequency variations.
S
Schematic
A graphical representation of a circuit showing components and their interconnections.
Scoreboard
A testbench component that keeps a parallel reference model and checks DUT outputs against expected values on every transaction.
Self-Reloading Counter
A counter that automatically reloads a configured value upon reaching zero or a terminal count.
Sequence Detector
An FSM that identifies a specific pattern in a serial input stream, asserting an output when the pattern occurs.
Sequential Circuit
A circuit whose output depends on both current inputs and past history, incorporating memory elements.
Setup Time
The minimum time before the clock edge during which the data signal must be stable for reliable capture.
Shift Register
A chain of flip-flops where data shifts from one stage to the next on each clock cycle.
Sign Extension
The process of increasing the bit width of a signed number while preserving its value by replicating the sign bit.
Simulation
The process of executing a hardware model to verify behavior before physical implementation.
Skid Buffer
A single-entry buffer that decouples pipeline stages, enabling ready signal registration for timing closure.
SoC (System-on-Chip)
An integrated circuit combining processor(s), memory, peripherals, and interconnect on a single chip.
SRAM (Static RAM)
Memory using bistable circuits (flip-flop-like) to store bits, providing fast access without refresh.
SRAM Macro
A pre-designed SRAM block provided as a hardened memory instance for use in ASIC or SoC designs.
Standard Cell
A pre-designed, pre-characterized logic cell used as a building block in ASIC design.
State Machine
A circuit that transitions through defined states based on inputs, producing outputs corresponding to each state or transition.
Synchronizer
A circuit that safely transfers signals between different clock domains, mitigating metastability.
Synchronous Circuit
A digital circuit where all state changes are coordinated by a common clock signal.
Synchronous Reset
A reset signal that takes effect only on the active clock edge, not immediately.
Synthesis
The automated transformation of HDL code into a gate-level netlist optimized for specific constraints.
SystemVerilog
An IEEE standard hardware description and verification language extending Verilog with advanced features.
T
Tag Pipeline
The portion of a cache pipeline responsible for reading tags and checking whether the requested address matches a stored cache line.
Testbench
A simulation environment that drives inputs to a design under test (DUT) and checks its outputs for correctness.
Throughput
The rate of data processed or operations completed per unit time, measuring sustained performance.
Timing
The analysis and verification that signals arrive at destinations within required time windows.
Transaction
A high-level object representing one protocol operation, such as a read, write, packet, or command, used by verification components instead of raw signal toggles.
Tri-State
A logic state (high-impedance or 'Z') where a driver disconnects from a bus, allowing other drivers to control it.
Truth Table
A table listing all possible input combinations and their corresponding outputs for a combinational function.
Two's Complement
A signed number representation where negation is computed by inverting all bits and adding one.
V
Valid-Ready Protocol
A handshake protocol where valid indicates data presence and ready indicates receiver acceptance, with transfer occurring when both are asserted.
Verification
The process of ensuring a design meets its specification through simulation, formal methods, and testing.
Verilog
A hardware description language widely used for digital design and verification, now largely superseded by SystemVerilog.
VHDL
A hardware description language with Ada-like syntax, offering strong typing and used heavily in aerospace and European designs.
VIPT Cache
A cache that indexes its sets using virtual address bits but tags its lines with physical addresses — "Virtually Indexed, Physically Tagged".
Voltage Scaling
Reducing supply voltage to decrease power consumption, trading off performance.
W
Waveform
A graphical representation of signal values over time, used for debugging and analyzing circuit behavior.
Wire
A signal type in Verilog/SystemVerilog representing a physical connection driven by continuous assignments or module outputs.
Word
The natural data unit for a processor, typically 32 or 64 bits, defining register and bus width.
