chapter 8 · 2019. 11. 1. · chapter 8 -chu 5 synchronous circuits •one of the most difficult...
TRANSCRIPT
![Page 1: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/1.jpg)
Chapter 8 - Chu 1
Chapter 8Sequential Circuit Design: Principle
Dr. Curt NelsonEngr433 – Digital Design
Outline
• Overview of sequential circuits;• Synchronous circuits;• Danger of synthesizing asynchronous circuits;• Inference of basic memory elements;• Simple design examples;• Timing analysis;• Alternative one-segment coding style;• Use of variable for sequential circuits.
![Page 2: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/2.jpg)
Chapter 8 - Chu 2
Overview of Sequential Circuits
• Combinational vs sequential circuit– Sequential circuit: output is a function of current input and state
(memory).
• Basic memory elements– D latch– D FF (Flip-Flop)– RAM
• Synchronous vs asynchronous circuits
• D latch: level sensitive • D FF: edge sensitive
D Latch and D Flip-Flops
![Page 3: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/3.jpg)
Chapter 8 - Chu 3
D Latch and D Flip-Flops Example
• Problem with D latch - Can the two latches swap data?
D Latch Example
![Page 4: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/4.jpg)
Chapter 8 - Chu 4
• Timing of a D FF:– Clock-to-q delay– Constraints: setup time and hold times
D Flip-Flop Timing
Synchronous vs Asynchronous Circuits
• Globally synchronous circuit: all memory elements (D FFs) synchronized by a common global clock signal.
• Globally asynchronous but locally synchronous circuits (GALS).• Globally asynchronous circuit
– Use D FF but not a global clock.– Use no clock signal.
![Page 5: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/5.jpg)
Chapter 8 - Chu 5
Synchronous Circuits
• One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints.
• A Big, Useless idea – Group all D FFs together with a single clock.– Only need to deal with the timing constraint of one memory element.
• Operation – At the rising edge of the clock, state_next sampled and stored into the
register (and becomes the new value of state_reg).– The next-state logic determines the new value (new state_next) and the
output logic generates the output.– At the rising edge of the clock, the new value of state_next sampled
and stored into the register.– Glitches have no effect as long as the state_next is stable at the
sampling edge.
Basic Block Diagram
![Page 6: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/6.jpg)
Chapter 8 - Chu 6
Sync Circuit and EDA
• Synthesis: reduce to combinational circuit synthesis• Timing analysis: involve only a single closed feedback loop
(others reduce to combinational circuit analysis)• Simulation: support “cycle-based simulation”• Testing: can facilitate scan-chain
Types of Sync Circuits
• Not formally defined, Just for coding• Three types:
– “Regular” sequential circuit – “Random” sequential circuit (FSM)– “Combined” sequential circuit (FSM with a Data path, FSMD)
![Page 7: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/7.jpg)
Chapter 8 - Chu 7
Danger of Synthesizing Asynchronous Circuits
• D Latch/DFF – Are combinational circuits with feedback loop– Design is different from normal combinational circuits (it is delay-
sensitive)– Should not be synthesized from scratch– Should use pre-designed cells from device library
E.g., a D latchfrom scratch
![Page 8: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/8.jpg)
Chapter 8 - Chu 8
Inference of Basic Memory Elements
• VHDL code should be clear so that the pre-designed cells can be inferred
• VHDL code – D Latch– Positive edge-triggered D FF – Negative edge-triggered D FF – D FF with asynchronous reset
![Page 9: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/9.jpg)
Chapter 8 - Chu 9
D Latch
• No else branch • D latch will be
inferred
Pos edge-triggered D FF
• No else branch • Note the
sensitivity list
![Page 10: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/10.jpg)
Chapter 8 - Chu 10
• Neg edge-triggered D FF
• No else branch • Note the sensitivity list
D FF with Async Reset
![Page 11: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/11.jpg)
Chapter 8 - Chu 11
Multiple D FFs with same clock and reset
Simple Design Examples
• Follow the block diagram– Register– Next-state logic (combinational circuit)– Output logic (combinational circuit)
![Page 12: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/12.jpg)
Chapter 8 - Chu 12
D FF With Synchronous Enable
• Note that the en is controlled by clock• Note the sensitivity list
![Page 13: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/13.jpg)
Chapter 8 - Chu 13
T FF
![Page 14: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/14.jpg)
Chapter 8 - Chu 14
![Page 15: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/15.jpg)
Chapter 8 - Chu 15
Free-Running Shift Register
![Page 16: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/16.jpg)
Chapter 8 - Chu 16
![Page 17: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/17.jpg)
Chapter 8 - Chu 17
Universal Shift Register• 4 ops: parallel load, shift right, shift left, pause
![Page 18: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/18.jpg)
Chapter 8 - Chu 18
Arbitrary Sequence Counter
![Page 19: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/19.jpg)
Chapter 8 - Chu 19
Free-Running Binary Counter• Count in binary sequence• With a max_pulse output: asserted when counter is in
“11…11” state
![Page 20: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/20.jpg)
Chapter 8 - Chu 20
• Wrapped around automatically• Poor practice:
![Page 21: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/21.jpg)
Chapter 8 - Chu 21
Binary counter with bells & whistles
![Page 22: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/22.jpg)
Chapter 8 - Chu 22
Decade (mod-10) counter
![Page 23: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/23.jpg)
Chapter 8 - Chu 23
Programmable mod-m counter
![Page 24: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/24.jpg)
Chapter 8 - Chu 24
![Page 25: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/25.jpg)
Chapter 8 - Chu 25
Timing analysis
• Combinational circuit: – characterized by propagation delay
• Sequential circuit: – Has to satisfy setup/hold time constraint– Characterized by maximal clock rate
(e.g., 200 MHz counter, 2.4 GHz Pentium II)– Setup time and clock-to-q delay of register and the propagation delay of
next-state logic are embedded in clock rate
• state_next must satisfy the constraint • Must consider effect of
– state_reg: can be controlled – synchronized external input (from a subsystem of same clock)– unsynchronized external input
• Approach– First 2: adjust clock rate to prevent violation– Last: use “synchronization circuit” to resolve violation
![Page 26: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/26.jpg)
Chapter 8 - Chu 26
• Setup time violation and maximal clock rate
![Page 27: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/27.jpg)
Chapter 8 - Chu 27
• E.g., shift register; let Tcq=1.0ns Tsetup=0.5ns
• E.g., Binary counter; let Tcq=1.0ns Tsetup=0.5ns
![Page 28: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/28.jpg)
Chapter 8 - Chu 28
• Hold time violation
![Page 29: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/29.jpg)
Chapter 8 - Chu 29
Output delay
![Page 30: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/30.jpg)
Chapter 8 - Chu 30
7. Alternative one-segment coding style
• Combine register and next-state logic/output logic in the same process
• May appear compact for certain simple circuit• But it can be error-prone
D FF with sync enable
![Page 31: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/31.jpg)
Chapter 8 - Chu 31
![Page 32: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/32.jpg)
Chapter 8 - Chu 32
• Interpretation: any left-hand-side signal within the clk’eventand clik=‘1’ branch infers a D FF
T FF
![Page 33: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/33.jpg)
Chapter 8 - Chu 33
![Page 34: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/34.jpg)
Chapter 8 - Chu 34
Binary counter with bells & whistles
![Page 35: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/35.jpg)
Chapter 8 - Chu 35
![Page 36: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/36.jpg)
Chapter 8 - Chu 36
Free-running binary counter• Count in binary sequence• With a max_pulse output: asserted when counter is in
“11…11” state
![Page 37: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/37.jpg)
Chapter 8 - Chu 37
![Page 38: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/38.jpg)
Chapter 8 - Chu 38
Programmable mod-m counter
![Page 39: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/39.jpg)
Chapter 8 - Chu 39
![Page 40: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/40.jpg)
Chapter 8 - Chu 40
![Page 41: Chapter 8 · 2019. 11. 1. · Chapter 8 -Chu 5 Synchronous Circuits •One of the most difficult design aspects of a sequential circuits is how to satisfy the timing constraints](https://reader035.vdocuments.us/reader035/viewer/2022071500/611fa2f1ed948c23c4604ca6/html5/thumbnails/41.jpg)
Chapter 8 - Chu 41
• Two-segment code – Separate memory segment from the rest– Can be little cumbersome – Has a clear mapping to hardware component
• One-segment code– Mix memory segment and next-state logic / output logic– Can sometimes be more compact– No clear hardware mapping– Error prone
• Two-segment code is preferred