Synchronous Digital Design Methodology and Guidelines Digital System

  • Slides: 26
Download presentation
Synchronous Digital Design Methodology and Guidelines Digital System Design

Synchronous Digital Design Methodology and Guidelines Digital System Design

What is Synchronous Design and Why? Rules • All flip-flops clocked by one common

What is Synchronous Design and Why? Rules • All flip-flops clocked by one common clock • Reset only used for initialization Advantages • • Races and hazards are no problem Simple design methodology Wide EDA tool support Simple DFT

Timing Hazard • Static hazard: possibility of a brief signal value change when the

Timing Hazard • Static hazard: possibility of a brief signal value change when the signal was expected to be stable, due to timing (glitch) • Dynamic hazard: possibility of multiple output transitions caused by a single input transition due to multiple signal paths with different delays

Static Hazard If d is the delay of each gate

Static Hazard If d is the delay of each gate

Analyzing Static Hazards using Karnaugh maps A static hazard can occur when changing a

Analyzing Static Hazards using Karnaugh maps A static hazard can occur when changing a single input variable causes a jump from one prime implicant to another Solution: include an additional prime implicant

Eliminating hazards using Flip. Flops

Eliminating hazards using Flip. Flops

Synchronous Design • Three things must be ensured by the designer: – Minimize and

Synchronous Design • Three things must be ensured by the designer: – Minimize and determine clock skew – Account for flip-flop setup and hold times – Reliably synchronize asynchronous inputs

Timing Analysis >0 Setup time margin >0 Hold time margin

Timing Analysis >0 Setup time margin >0 Hold time margin

Example The circuit of Figure 1 is synthesized to a gate-level netlist. What is

Example The circuit of Figure 1 is synthesized to a gate-level netlist. What is the estimated maximum operating frequency for the circuit, assuming: • A flip-flop setup-time requirement of 0. 8 ns, • A flip-flop hold-time requirement of 0. 2 ns, • A flip-flop propagation delay of 1 ns, • A comb 1 (combinational) block delay of 6 ns • A comb 2 block delay of 10 ns • A comb 3 block delay of 5 ns • A comb 4 block delay of 4 ns • A comb 5 block delay of 2 ns

Clock skew

Clock skew

Example • Determine the maximum frequency of the following circuit with and without skew

Example • Determine the maximum frequency of the following circuit with and without skew

Clock Jitter

Clock Jitter

Clock Gating • Clock gating is done to disable the clock for low power

Clock Gating • Clock gating is done to disable the clock for low power consumption using a clken signal • It is wrong to gate the clock in the following way, instead use a synchronous load (enable) signal

Asynchronous Inputs It is impossible to guarantee setup and hold timing constraints on inputs

Asynchronous Inputs It is impossible to guarantee setup and hold timing constraints on inputs synchronized with a clock unrelated to the system clock

Asynchronous inputs • Synchronize only in one place

Asynchronous inputs • Synchronize only in one place

Metastability • Metastability is a phenomenon that may occur if the setup and hold

Metastability • Metastability is a phenomenon that may occur if the setup and hold time requirements of the FF are not met, leading in the output settling in an unknown value after unspecified time.

Reliable synchronizer design

Reliable synchronizer design

Example • Design a synchronizer that synchronizes two inputs async 1 and async 2

Example • Design a synchronizer that synchronizes two inputs async 1 and async 2 generated with a 50 MHz clock CLK 1, to a system with a 33 MHz clock CLK 2 totally independent of CLK 1. Draw appropriate timing diagrams.

Mean-time between failures f: frequency of flip-flop clock a: number of asynchronous input changes

Mean-time between failures f: frequency of flip-flop clock a: number of asynchronous input changes per second in flipflop input To, τ: constants depending on flip-flop electrical characteristics Assume a 10 Mhz clock, ts = 20 ns, To = 0. 4 sec, τ = 1. 5 ns and that the asynchronous input can change 100, 000 times per second, then tr = 1/f – ts = 80 ns MTBF(80 ns) = exp(80/1. 5)/0. 4× 10^7× 10^5= 3. 6× 10^11 s

Cascaded synchronizer

Cascaded synchronizer

Synchronizing bus transfers • Do not use dual f/f synchronizers in all bits, this

Synchronizing bus transfers • Do not use dual f/f synchronizers in all bits, this will only increase the chances of metastability • Synchronize the control signals and read the input when safe to do so

Synchronization circuit

Synchronization circuit

Synchronizing high-speed data transfers • What happens when the asynchronous inputs are clocked faster

Synchronizing high-speed data transfers • What happens when the asynchronous inputs are clocked faster than the system clock? Or in a long burst transfer such as AXI bus?

FIFO Synchronizer basic concept • On burst transfers, the receiver cannot afford to wait

FIFO Synchronizer basic concept • On burst transfers, the receiver cannot afford to wait for the signal to settle. • Solution: A dual-port RAM FIFO • Problem: How do we synchronize the counters?

Summary • In order to avoid hazards and races, synchronous design is used •

Summary • In order to avoid hazards and races, synchronous design is used • In synchronous design a single common clock is used and reset is only used for initialization • The only considerations in synchronous design are the flip-flop setup and hold times, clock skew and asynchronous input synchronization • Asynchronous inputs are commonly synchronized using 2 flip-flops clocked with the synchronous system clock • Synchronization should only be done in one place • In bus transfers, synchronize only the control signals or use a FIFO