ceng 241 digital design 1 lecture 11 amirali baniasadi [email protected]
TRANSCRIPT
![Page 2: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/2.jpg)
2
This Lecture
Chapter 6: Registers and Counters
![Page 3: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/3.jpg)
3
Registers
Sequential circuits are classified based in their function, e.g., registers.
Register: A group of flip-flops each storing one bit of information.
Registers include flip-flops and gates: flip-flops hold the information, gates control how the information is transferred to the register.
Counter is a register that goes through a predetermined sequence of states.
![Page 4: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/4.jpg)
4
4-bit Register
Loads in parallel
Clear: Cleans the output to all 0’s.
![Page 5: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/5.jpg)
5
Register with Parallel Load
To fully synchronize the system clock signals should arrive at the same time at all flip-flops.
Therefore we do not control the clock by gates.
Load = 1, we load data
Load =0, register content does not change
1
I0
I3
I2
I1
1
1
1
1
1
![Page 6: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/6.jpg)
6
Register with Parallel Load
Load =0, register content does not change
0
A0
A3
A2
A1
0
0
0
0
0
1
1
1
1
![Page 7: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/7.jpg)
7
Shift Registers
A register capable of shifting its binary information in one or both directions is called the shift register.
![Page 8: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/8.jpg)
8
Serial Transfer
A digital system is in the serial mode when information is processed one bit at a time.
Serial transfer of information from A to B:
![Page 9: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/9.jpg)
9
Remember 4-bit Parallel Adder Circuit?
![Page 10: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/10.jpg)
10
Serial Addition
Slower compared to parallel addition, but uses less equipment.
![Page 11: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/11.jpg)
11
Serial Adder vs. Parallel Adder
PA uses registers with parallel load, SA uses shift registers.
PA uses more FAs compared to SA.
Excluding the registers, PA is a combinational circuit, SA is sequential.
![Page 12: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/12.jpg)
12
Serial Adder: Design Procedure
State Table for a Serial Adder:
Present State Inputs Next State Output Flip-Flop inputs Q x y Q S J0 K0 0 0 0 0 0 0 x 0 0 1 0 1 0 x 0 1 0 0 1 0 x 0 1 1 1 0 1 x 1 0 0 0 1 x 1 1 0 1 1 0 x 0 1 1 0 1 0 x 0 1 1 1 1 1 x 0
J0=xy K0=x’y’= (x+y)’ S=x XOR y XOR z
![Page 13: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/13.jpg)
13
Serial 4-bit Parallel Adder Circuit
![Page 14: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/14.jpg)
14
Universal Shift Register
A register capable of shifting in both directions and loading in parallel.
Multiplexer Inputs:0: No Change1:Shift Right2:Shift Left3:Parallel load
Controls information transfer
Stores Information
![Page 15: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/15.jpg)
15
Ripple Counters
A register that goes trough a prescribed sequence of states is called a counter.
There are two groups of counters: Ripple counters and Synchronous counters.
Ripple counters: The flip-flop output triggers other flip-flops. Synchronous counters count the clock.
![Page 16: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/16.jpg)
16
Binary Ripple Counter
A binary ripple counter consists of a series of complementing flip-flops, with the output of each flip-flop connected to the next higher order.
Examples of complementing flip-flops are T and D (with the output complement connected to the input) flip-flop.
Binary Count Sequence A3 A2 A1 A0 0 0 0 0 A0 is complemented with each count pulse 0 0 0 1 A1 is complemented when A0 goes from 1 to 0 0 0 1 0 A2 is complemented when A1 goes from 1 to 0 0 0 1 1 A3 is complemented when A2 goes from 1 to 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0
![Page 17: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/17.jpg)
17
Examples of Binary Ripple Counters
![Page 18: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/18.jpg)
18
Binary Ripple Counter
Count-down counter: A binary counter with reverse count: Starts from 15 goes down.
In a count-down counter the least significant bit is complemented with every count pulse. Any other bit is complemented if the previous bit goes from 0 to 1.
We can use the same counter design with negative edge flip-flops to make a count-down flip-flop.
![Page 19: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/19.jpg)
19
BCD Ripple Counter
A BCD counter starts from 0 ends at 9.
![Page 20: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/20.jpg)
20
Logic Diagram of BCD Ripple Counter
Q1 is applied to the C inputs of Q2 and Q8
Q2 is applied to the C input of Q4
J and K are connected to either 1 or flip-flop outputs
![Page 21: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/21.jpg)
21
Logic Diagram of BCD Ripple Counter
Verification: Does the circuit follow the states?
Q1 is complemented with every count (J=K=1)
Q2 complements if Q1 goes from 1 to 0 and Q8 is 0
Q2 remains 0 if Q8 becomes 1
Q4 complements if Q2 goes from 1 to 0
Q8 remains 0 as long as Q2 or Q4 is 0
When Q2 and Q4 are 1, Q8 complements when Q1 goes from 1 to 0. Q8 clears and the next Q1 transition.
![Page 22: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/22.jpg)
22
Three-Decade Decimal BCD Counter
Counts from 0 to 999: When Q8 goes from 1 to 0 the next higher order decade is triggered
![Page 23: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/23.jpg)
23
4-bit Synchronous Binary Counters
A flip-flop is complemented if all lower bits are 1.
A3 A2 A1 A00 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 10 1 1 00 1 1 11 0 0 0
![Page 24: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/24.jpg)
24
4-bit Up-Down Binary Counters
In a down binary countera) The least significant bit is always complementedb) a bit is complemented if all lower bits are 0.
Change an up counter to a down counter:The AND gates should come from the complement outputs instead of the normal one
Up = 1, Down =0: Circuit counts up since input comes from Normal output
Up = 0, Down =1: Circuit counts down since input comes from Complemented output
![Page 25: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/25.jpg)
25
Binary Counter with Parallel Load
Sometimes we need an initial value prior to the count operation. Initial value: I3 I2 I1 I0
![Page 26: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/26.jpg)
26
Binary Counter with Parallel Load
Count = 1, Load =0 1
01
1
10
0
0
0
0
0
0
0
1
1
1
0
0
00
0
0
0
0
0
![Page 27: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/27.jpg)
27
Binary Counter with Parallel Load
Count = 0, Load =1 0
10
0
I01
1
1
1
1
1
1
1
1
1
1
1
I0
I3’
I0’0
I1
I1’
I2
I2’
I3
I1
![Page 28: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/28.jpg)
28
BCD counter with parallel load
In part a, 1001 is detected. In part b, 1010 is detected.In part a, LOAD is set to 1 and effective next cycle. In part b, counter is immediately cleared
![Page 29: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/29.jpg)
29
Other Counters: Counters with unused states
Present State Next State Flip-Flop InputsA B C A B C JA KA JB KB JC KC0 0 0 0 0 1 0 X 0 X 1 X0 0 1 0 1 0 0 X 1 X X 10 1 0 1 0 0 1 X X 1 0 X1 0 0 1 0 1 X 0 0 X 1 X1 0 1 1 1 0 X 0 1 X X 11 1 0 0 0 0 X 1 X 1 0 X
JA=KA=BJB=C, KB=1JC=B’ KC=1
![Page 30: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/30.jpg)
30
Other Counters: Counters with unused states
What happens if we fall in unused states?
In this case, 111 results in 000. 011 results in 100.
The Counter is self-correcting.
![Page 31: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/31.jpg)
31
Other Counters: Ring Counter
A ring counter is a counter with ONLY 1 flip-flop set to 1 at any particular time, all other are cleared.
![Page 32: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/32.jpg)
32
Other Counters: Johnson Counter
A 4 flip-flop ring counter that produces 8 states (not 4).
![Page 33: CENG 241 Digital Design 1 Lecture 11 Amirali Baniasadi amirali@ece.uvic.ca](https://reader035.vdocument.in/reader035/viewer/2022062712/56649c785503460f9492ceae/html5/thumbnails/33.jpg)
33
Summary
Counters & Registers
Reading up to page 269
Homework 5-Chapter 6 problems 6,7,11,15,18,19,23,29 and 30 Due Wednesday July 30th.