Sequential Circuit Design: 2

Sequential Circuit Design: 2

Outline 1. Overview on sequential circuits Sequential Circuit Design: 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit Principle 4. Inference of basic memory elements 5. Simple design examples 6. Timing analysis 7. Alternative one-segment coding style 8. Use of variable for sequential circuit RTL Hardware Design Chapter 8 1 RTL Hardware Design Chapter 8 2 by P. Chu by P. Chu • D latch: level sensitive 1. Overview on sequential circuit • D FF: edge sensitive • 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 circuit RTL Hardware Design Chapter 8 3 RTL Hardware Design Chapter 8 4 by P. Chu by P. Chu • Problem wit D latch: Can the two D latches swap data? RTL Hardware Design Chapter 8 5 RTL Hardware Design Chapter 8 6 by P. Chu by P. Chu 1 • Timing of a D FF: – Clock-to-q delay Synch vs asynch circuits – Constraint: setup time and hold time • Globally synchronous circuit: all memory elements (D FFs) controlled (synchronized) by a common global clock signal • Globally asynchronous but locally synchronous circuit (GALS). • Globally asynchronous circuit – Use D FF but not a global clock – Use no clock signal RTL Hardware Design Chapter 8 7 RTL Hardware Design Chapter 8 8 by P. Chu by P. Chu • Basic block diagram 2. Synchronous circuit – State register (memory elements) – Next-state logic (combinational circuit) • One of the most difficult design aspects of – Output logic (combinational circuit) a sequential circuit: • Operation – At the rising edge of the clock, state_next sampled How to satisfy the timing constraints and stored into the register (and becomes the new • The Big idea: Synchronous methodology value of state_reg – The next-state logic determines the new value (new – Group all D FFs together with a single clock: state_next) and the output logic generates the output Synchronous methodology – At the rising edge of the clock, the new value of state_next sampled and stored into the register – Only need to deal with the timing constraint of one memory element • Glitches has no effects as long as the state_next is stabled at the sampling edge RTL Hardware Design Chapter 8 9 RTL Hardware Design Chapter 8 10 by P. Chu by P. Chu 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 RTL Hardware Design Chapter 8 11 RTL Hardware Design Chapter 8 12 by P. Chu by P. Chu 2 3. Danger of synthesizing Types of sync circuits asynchronous circuit • Not formally defined, Just for coding • D Latch/DFF • Three types: – Are combinational circuits with feedback loop – “Regular” sequential circuit – Design is different from normal combinational – “Random” sequential circuit (FSM) circuits (it is delay-sensitive) – “Combined” sequential circuit (FSM with a – Should not be synthesized from scratch Data path, FSMD) – Should use pre-designed cells from device library RTL Hardware Design Chapter 8 13 RTL Hardware Design Chapter 8 14 by P. Chu by P. Chu E.g., a D latch from scratch RTL Hardware Design Chapter 8 15 RTL Hardware Design Chapter 8 16 by P. Chu by P. Chu 4. Inference of basic memory D Latch elements • No else branch • VHDL code should be clear so that the • D latch will be pre-designed cells can be inferred inferred • VHDL code – D Latch – Positive edge-triggered D FF – Negative edge-triggered D FF – D FF with asynchronous reset RTL Hardware Design Chapter 8 17 RTL Hardware Design Chapter 8 18 by P. Chu by P. Chu 3 Pos edge-triggered D FF • Neg edge-triggered D FF • No else branch • Note the sensitivity list RTL Hardware Design Chapter 8 19 RTL Hardware Design Chapter 8 20 by P. Chu by P. Chu D FF with async Register reset • No else branch • Multiple D FFs • Note the with same clock sensitivity list and reset RTL Hardware Design Chapter 8 21 RTL Hardware Design Chapter 8 22 by P. Chu by P. Chu 5. Simple design examples D FF with sync enable • Follow the block diagram • Note that the en is controlled by clock – Register • Note the sensitivity list – Next-state logic (combinational circuit) – Output logic (combinational circuit) RTL Hardware Design Chapter 8 23 RTL Hardware Design Chapter 8 24 by P. Chu by P. Chu 4 RTL Hardware Design Chapter 8 25 RTL Hardware Design Chapter 8 26 by P. Chu by P. Chu T FF RTL Hardware Design Chapter 8 27 RTL Hardware Design Chapter 8 28 by P. Chu by P. Chu Free-running shift register RTL Hardware Design Chapter 8 29 RTL Hardware Design Chapter 8 30 by P. Chu by P. Chu 5 RTL Hardware Design Chapter 8 31 RTL Hardware Design Chapter 8 32 by P. Chu by P. Chu Universal shift register • 4 ops: parallel load, shift right, shift left, pause RTL Hardware Design Chapter 8 33 RTL Hardware Design Chapter 8 34 by P. Chu by P. Chu RTL Hardware Design Chapter 8 35 RTL Hardware Design Chapter 8 36 by P. Chu by P. Chu 6 Arbitrary sequence counter RTL Hardware Design Chapter 8 37 RTL Hardware Design Chapter 8 38 by P. Chu by P. Chu Free-running binary counter • Count in binary sequence • With a max_pulse output: asserted when counter is in “11…11” state RTL Hardware Design Chapter 8 39 RTL Hardware Design Chapter 8 40 by P. Chu by P. Chu Binary counter with bells & whistles • Wrapped around automatically • Poor practice: RTL Hardware Design Chapter 8 41 RTL Hardware Design Chapter 8 42 by P. Chu by P. Chu 7 Decade (mod-10) counter RTL Hardware Design Chapter 8 43 RTL Hardware Design Chapter 8 44 by P. Chu by P. Chu Programmable mod-m counter RTL Hardware Design Chapter 8 45 RTL Hardware Design Chapter 8 46 by P. Chu by P. Chu RTL Hardware Design Chapter 8 47 RTL Hardware Design Chapter 8 48 by P. Chu by P. Chu 8 6. 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 RTL Hardware Design Chapter 8 49 RTL Hardware Design Chapter 8 50 by P. Chu by P. Chu • state_next must satisfy the constraint • Setup time violation and maximal clock rate • 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 RTL Hardware Design Chapter 8 51 RTL Hardware Design Chapter 8 52 by P. Chu by P. Chu • E.g., shift register; let Tcq=1.0ns Tsetup=0.5ns RTL Hardware Design Chapter 8 53 RTL Hardware Design Chapter 8 54 by P. Chu by P. Chu 9 • E.g., Binary counter; let Tcq=1.0ns Tsetup=0.5ns RTL Hardware Design Chapter 8 55 RTL Hardware Design Chapter 8 56 by P. Chu by P. Chu • Hold time violation RTL Hardware Design Chapter 8 57 RTL Hardware Design Chapter 8 58 by P. Chu by P. Chu 7. Alternative one-segment Output delay 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 RTL Hardware Design Chapter 8 59 RTL Hardware Design Chapter 8 60 by P. Chu by P. Chu 10 D FF with sync enable RTL Hardware Design Chapter 8 61 RTL Hardware Design Chapter 8 62 by P. Chu by P. Chu • Interpretation: any left-hand-side signal within the clk’event and clik=‘1’ branch infers a D FF RTL Hardware Design Chapter 8 63 RTL Hardware Design Chapter 8 64 by P. Chu by P. Chu T FF RTL Hardware Design Chapter 8 65 RTL Hardware Design Chapter 8 66 by P. Chu by P. Chu 11 RTL Hardware Design Chapter 8 67 RTL Hardware Design Chapter 8 68 by P. Chu by P. Chu Binary counter with bells & whistles RTL Hardware Design Chapter 8 69 RTL Hardware Design Chapter 8 70 by P. Chu by P. Chu Free-running binary counter • Count in binary sequence • With a max_pulse output: asserted when counter is in “11…11” state RTL Hardware Design Chapter 8 71 RTL Hardware Design Chapter 8 72 by P. Chu by P. Chu 12 RTL Hardware Design Chapter 8 73 RTL Hardware Design Chapter 8 74 by P. Chu by P. Chu RTL Hardware Design Chapter 8 75 RTL Hardware Design Chapter 8 76 by P. Chu by P. Chu Programmable mod-m counter RTL Hardware Design Chapter 8 77 RTL Hardware Design Chapter 8 78 by P. Chu by P. Chu 13 RTL Hardware Design Chapter 8 79 RTL Hardware Design Chapter 8 80 by P. Chu by P. Chu • 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 RTL Hardware Design Chapter 8 81 RTL Hardware Design Chapter 8 82 by P. Chu by P. Chu 14.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us