AXI4-Stream Valid/Ready Handshake: Demonstrates that data is transferred across the interface strictly on the rising clock edge where both TVALID (producer ready) and TREADY (consumer ready) are simultaneously asserted (HIGH). Notice how TVALID and TDATA remain stable until TREADY is acknowledged.
| Signal Name |
Type |
Default State / Radix |
Operations |
RTL Design & Digital Engineering • Clean Advertisement Area
What is a Digital Timing Diagram?
A Digital Timing Diagram is an indispensable 2D visual schematic used by RTL designers, verification engineers, and electronics students to depict digital signal voltage levels ($0, 1, X, Z$) transitioning along a synchronized horizontal time axis. It clarifies causal relationships between clock triggers, control enables, bus contention, and sequential logic outputs.
Unlike a static logic truth tableโwhich only specifies the steady-state mapping between Boolean inputs and outputsโa timing diagram introduces the fundamental dimension of physical time. It captures critical transient behaviors such as propagation delays ($t_{pd}$), clock skew, bus turnaround latency, and setup/hold timing margins across register boundaries.
Anatomy of a Clock Waveform: Period, Frequency & Duty Cycle
In synchronous digital systems, the master clock acts as the heartbeat coordinating every flip-flop update:
Setup Time ($t_{su}$) and Hold Time ($t_h$) Explained
For a flip-flop to reliably capture input data without entering a dangerous metastable state, the data input signal must obey a strict timing aperture window around the active clock edge:
- Setup Time ($t_{su}$): The minimum duration the data signal must remain completely stable before the arrival of the clock edge.
- Hold Time ($t_h$): The minimum duration the data signal must remain completely stable after the clock edge has transitioned.
- Metastability Hazard: If data switches inside the forbidden setup/hold window ($t_{su} + t_h$), the master latch's internal feedback loop cannot resolve to a stable $0$ or $1$, resulting in unpredictable intermediate voltages and extended oscillation that can corrupt downstream logic.
The AXI4-Stream Valid/Ready Handshake Protocol
The ARM AMBA AXI protocol family uses an elegant, two-wire backpressure handshake mechanism to govern point-to-point data transfers between a master (producer) and a slave (consumer):
| Signal |
Driven By |
Protocol Meaning |
| TVALID |
Master (Source) |
Asserted HIGH when the master has placed valid data onto TDATA. |
| TREADY |
Slave (Destination) |
Asserted HIGH when the slave is ready and capable of accepting a data beat. |
| TDATA |
Master (Source) |
The payload data bus. Must remain stable whenever TVALID is asserted. |
Fundamental Handshake Rules:
- Transfer Condition: A transfer occurs on any rising clock edge where
TVALID && TREADY == 1.
- Master Stability Rule: Once the master asserts
TVALID, it must not deassert TVALID or alter TDATA until the handshake successfully completes.
- No Deadlock Dependence: The master must not wait for
TREADY before asserting TVALID. However, the slave is permitted to wait for TVALID before asserting TREADY.
The AMBA APB Protocol: Setup & Access Phases
The Advanced Peripheral Bus (APB) is an unpipelined, low-power interface designed for connecting control registers, timers, UARTs, and configuration blocks to high-speed SoC interconnects. An APB transfer spans at least two clock cycles:
1. Setup Phase ($T_1$)
The APB bridge asserts the peripheral select line (PSEL) while keeping PENABLE LOW. The address bus (PADDR), write strobe (PWRITE), and write data (PWDATA for writes) are driven onto the bus.
2. Access Phase ($T_2$)
On the next clock edge, the bridge asserts PENABLE HIGH. The slave responds by driving PREADY:
- If
PREADY is HIGH, the transfer completes at the end of the access phase. For reads, read data (PRDATA) is sampled by the bridge on this clock edge.
- If
PREADY is held LOW, the slave introduces wait states, extending the access phase until PREADY rises.
Multi-Bit Bus Conventions: Hex, Binary & High-Z
In digital timing diagrams, multi-bit signals (e.g., 32-bit address and data buses) cannot be clearly drawn as individual single-bit lines. Instead, engineers use standardized bus symbols:
- Hexagonal / Diamond Packets: A parallel bus is represented by parallel upper and lower boundary lines that crossover in an 'X' shape at each transition boundary, with the alphanumeric payload (e.g.
0xDEADBEEF) printed inside.
- High Impedance (Z): Depicted as a single thin centerline, indicating that the tri-state buffer is disabled and the bus is floating.
- Unknown / Don't-Care (X): Depicted as an amber or red cross-hatched region indicating uninitialized registers, metastable conditions, or bus contention where two drivers conflict.
Common Timing Diagram Mistakes in RTL Design
- Sampling on the Wrong Clock Edge: Assuming combinational outputs are valid instantaneously on the clock edge that triggers the input flip-flop, neglecting flip-flop clock-to-Q delay ($t_{c2q}$).
- Premature Deassertion in Handshakes: Pulling
VALID low before sampling READY high, causing dropped data words.
- Omitting APB Setup Phase: Driving
PSEL and PENABLE simultaneously high in cycle 1, which violates the AMBA APB standard and corrupts register decoding in slow peripherals.
- Unsynchronized Asynchronous Resets: Deasserting asynchronous reset lines coincident with an active clock edge, causing recovery/removal timing violations and system reset lockups.
Frequently Asked Questions (FAQ)
Q1. What is a digital timing diagram?
A digital timing diagram is a graphical representation of digital signal state transitions (0, 1, X, Z) over discrete time or clock cycles. It illustrates sequence relationships, propagation delays, setup/hold requirements, and communication protocols between hardware components.
Q2. How does the AXI Valid-Ready handshake work in timing diagrams?
In the AMBA AXI protocol, data or address transfer occurs on the rising clock edge where both TVALID and TREADY are simultaneously asserted (HIGH). The sender must keep TVALID and TDATA stable until TREADY is asserted and sampled.
Q3. What are the two phases of an APB bus transaction?
The AMBA APB protocol consists of two phases: 1. Setup Phase: PSEL asserts while PENABLE remains LOW, presenting PADDR, PWRITE, and PWDATA. 2. Access Phase: PENABLE asserts HIGH on the subsequent clock edge. The transfer completes when PREADY is asserted by the slave.
Q4. What is the difference between HIGH-Z and UNKNOWN in digital waveforms?
High Impedance (Z) represents a floating, disconnected, or tri-stated bus driver (drawn as a centerline). Unknown (X) represents an uninitialized register or a bus contention hazard where multiple active drivers conflict (drawn as a hatched red or amber region).
Q5. How do setup and hold times affect digital flip-flops?
Setup time (tsu) is the minimum time data must be stable before the active clock edge. Hold time (th) is the minimum time data must remain stable after the clock edge. Violating this aperture window risks driving the flip-flop into a metastable state.
Q6. Can I export these timing diagrams into academic papers or datasheets?
Yes. This tool provides instant vector SVG export (ideal for LaTeX, academic papers, and technical documentation) as well as high-resolution PNG export and JSON configuration save/restore.
Explore Related VLSI & Digital Engineering Tools
Enhance your hardware verification and digital logic workflow with interactive EcrioniX laboratories: