1 / 33

Registers and Counters

Registers and Counters. Overview. Parallel Load Register Shift Registers Serial Load Serial Addition Shift Register with Parallel Load Bidirectional Shift Register. Registers and Counters. An n -bit register = n flip-flops Capable of storing n bits of binary information.

Download Presentation

Registers and Counters

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Registers and Counters

  2. Overview • Parallel Load Register • Shift Registers • Serial Load • Serial Addition • Shift Register with Parallel Load • Bidirectional Shift Register

  3. Registers and Counters • An n-bit register = n flip-flops • Capable of storing n bits of binary information. • A counter is an FSM that goes through a predetermined sequence of states upon the application of clock pulses.

  4. 4-Bit Register

  5. Register with parallel load

  6. Shift Register

  7. Serial data transfer Serial transfer of information from register A to register B

  8. Serial addition using shift registers • The two binary numbers to be added serially are stored in two shift registers. • The sum bit on the S output of the full adder is transferred into the result register A.

  9. Serial vs. parallel addition • The parallel adder is a combinational circuit, whereas the serial adder is a sequential circuit. • The parallel adder has n full adders whereas the serial adder requires only one full adder. • The serial circuit takes n clock cycles to complete an addition. • The serial adder, although it is n times slower, is n times smaller in space.

  10. Shift register with parallel load

  11. Shift register with parallel load

  12. Bidirectional shift register

  13. Bidirectional Shift Register

  14. Counters • A counter is a sequential circuit that goes through a predetermined sequence of states upon the application of clock pulses. • Counters are categorized as: • Synchronous Counter:All FFs receive the common clock pulse, and the change of state is determined from the present state. • Ripple Counters: The FF output transition serves as a source for triggering other FFs. No common clock.

  15. Synchronous Binary Counters • The design procedure for a binary counter is the same as any other synchronous sequential circuit. • Most efficient implementations usually use T-FFs or JK-FFs. We will examine JK and D flip-flop designs.

  16. Synchronous Binary Counters: J-K Flip Flop Design of a 4-bit Binary Up Counter

  17. Synchronous Binary Counters J-K Flip Flop Design of a Binary Up Counter (cont.)

  18. Synchronous Binary Counters J-K Flip Flop Design of a Binary Up Counter (cont.)

  19. Synchronous Binary Counters J-K Flip Flop Design of a Binary Up Counter (cont.)

  20. Synchronous Binary Counters J-K Flip Flop Design of a Binary Up Counter (cont.) JQ0 = 1 KQ0 = 1 JQ1 = Q0 KQ1 = Q0 JQ2 = Q0 Q1 KQ2 = Q0 Q1 JQ3 = Q0 Q1 Q2 KQ3 = Q0 Q1 Q2 logic 1 Q0 J C K Q1 J C K Q2 J C K Q3 J C K CLK

  21. Synchronous Binary Counters: J-K Flip Flop Design of a Binary Up Counter with EN and CO EN = enable control signal, when 0 counter remains in the same state, when 1 it counts CO = carry output signal, used to extend the counter to more stages JQ0 = 1 · EN KQ0 = 1 · EN JQ1 = Q0 · EN KQ1 = Q0 · EN JQ2 = Q0 Q1 · EN KQ2 = Q0 Q1 · EN JQ3 = Q0 Q1 Q2 · EN KQ3 = Q0 Q1 Q2 · EN C0 = Q0 Q1 Q2 Q3 · EN

  22. 4-bit Upward Synchronous Binary Counter in HDL - Simulation

  23. Load Count Q D D 0 0 C Q D D 1 1 C Q D D 2 2 C Q D D 3 3 C Carry Output CO Clock Counter with Parallel Load • Add path for input data • enabled for Load = 1 • Add logic to: • disable count logic for Load = 1 • disable feedback from outputsfor Load = 1 • enable count logic for Load = 0and Count = 1 • The resulting function table:

  24. Counting Modulo 7: Detect 7 and Asynchronously Clear • A synchronous 4-bit binary counterwith an asynchronous Clear isused to make a Modulo7 counter. • Use the Clear feature todetect the count 7 andclear the count to 0. Thisgives a count of 0, 1, 2, 3, 4,5, 6, 7(short)0, 1, 2, 3, 4, 5,6, 7(short)0, etc. • DON’T DO THIS! Referred to as a “suicide” counter! (Count “7” is “killed,” but the designer’s job may be dead as well!) Q3 D3 Q2 D2 Q1 D1 Q0 D0 Clock CP 0 LOAD CLEAR

  25. 0 Q3 D3 0 Q2 D2 0 Q1 D1 0 Q0 D0 Clock CP LOAD Reset CLEAR Counting Modulo 7: Synchronously Load on Terminal Count of 6 • A synchronous 4-bit binarycounter with a synchronousload and an asynchronousclear is used to make a Modulo 7 counter • Use the Load feature todetect the count "6" andload in "zero". This givesa count of 0, 1, 2, 3, 4, 5, 6,0, 1, 2, 3, 4, 5, 6, 0, ... • Using don’t cares for statesabove 0110, detection of 6 can be done with Load = Q4 Q2

  26. Counting Modulo 6: Synchronously Preset 9 on Reset and Load 9 on Terminal Count 14 • A synchronous, 4-bit binarycounter with a synchronousLoad is to be used to make aModulo 6 counter. • Use the Load feature topreset the count to 9 onReset and detection ofcount 14. • This gives a count of 9, 10, 11, 12, 13, 14, 9, 10, 11, 12, 13, 14, 9, … • If the terminal count is 15 detection is usually built in as Carry Out (CO) 1 Q3 D3 0 Q2 D2 0 Q1 D1 1 Q0 D0 Clock CP Reset LOAD CLEAR 1

  27. A D Clock CR D B CR Reset CP A B 0 1 0 1 2 3 Ripple Counter • How does it work? • When there is a positive edge on the clock inputof A, A complements • The clock input for flip-flop B is the complementedoutput of flip-flop A • When flip A changesfrom 1 to 0, there is apositive edge on theclock input of Bcausing B tocomplement

  28. Example (cont.)

  29. CP A B 0 1 0 1 2 3 (0,1), (1,1), (0,0), (1,0), (0,1), … Ripple Counter (continued) • The arrows show thecause-effect relation-ship from the priorslide => • The correspondingsequence of states =>(B,A) = (0,0), • Each additional bit, C, D, …behaves like bit B, changing half as frequently as the bit before it. • For 3 bits: (C,B,A) = (0,0,0), (0,0,1), (0,1,0), (0,1,1),(1,0,0), (1,0,1), (1,1,0), (1,1,1), (0,0,0), …

  30. tPHL CP tPHL A tpHL B C Ripple Counter (continued) • Starting with C = B = A = 1, equivalent to (C,B,A) = 7 base 10, the next clock increments the count to (C,B,A) = 0 base 10. In fine timing detail: • The clock to output delaytPHL causes an increasingdelay from clock edge foreach stage transition. • Thus, the count “ripples”from least to mostsignificant bit. • For n bits, total worst casedelay is n tPHL.

  31. Example: A 4-bit Upward Counting Ripple Counter Less Significant Bit output is Clock for Next Significant Bit! (Clock is active low) Recall...

  32. A 4-bit Downward Counting Ripple Counter • Use direct Set (S) signals instead of direct Reset (R), in order to start at 1111. • Alternative designs: • Change edge-triggering to positive • Connect the complement output of each FF to the C input of the next FF in the sequence.

  33. Simulation …

More Related