COE 202: Digital Logic Design Sequential Circuits Part 4 KFUPM Courtesy of Dr. Ahmad Almulhem.

Slides:



Advertisements
Similar presentations
CSE 205: Digital Logic Design
Advertisements

Registers and Counters
Registers and Counters
CENG 241 Digital Design 1 Lecture 11
COE 202: Digital Logic Design Sequential Circuits Part 3
COE 202: Digital Logic Design Sequential Circuits Part 1 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office: Ahmad Almulhem, KFUPM.
CHAPTER 3 Sequential Logic/ Circuits.  Concept of Sequential Logic  Latch and Flip-flops (FFs)  Shift Registers and Application  Counters (Types,
Chapter 7 Henry Hexmoor Registers and RTL
Homework Reading Machine Projects Labs Tokheim Chapter 9.1 – 9.6
Registers and Counters
11/16/2004EE 42 fall 2004 lecture 331 Lecture #33: Some example circuits Last lecture: –Edge triggers –Registers This lecture: –Example circuits –shift.
Logic and Computer Design Fundamentals Registers and Counters
CS370 Counters. Overview °Counter: A register that goes through a prescribed series of states °Counters are important components in computers. °Counters.
ENGIN112 L26: Shift Registers November 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 26 Shift Registers.
Sequential Circuit Introduction to Counter
C HAPTER S IX R EGISTERS AND C OUNTERS 1. A clocked sequential circuit consists of a group of flip-flops and combinational gates connected to form a feedback.
KU College of Engineering Elec 204: Digital Systems Design
A.Abhari CPS2131 Registers A register is a group of n flip-flops each of them capable of storing one bit of information There are two types of registers:
Mantıksal Tasarım – BBM231 M. Önder Efe
Registers and Counters
Counters  A counter is a device which stores (and sometimes displays) the number of times a particular event or process has occurred, often in relationship.
Registers and Counters
Chapter 1_4 Part II Counters
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
EE345: Introduction to Microcontrollers Register and Counters Prof. Ahmad Abu-El-Haija.
Registers and Counters
1 Shift Registers. –Definitions –I/O Types: serial, parallel, combinations –Direction: left, right, bidirectional –Applications –VHDL implementations.
Registers and Counters
COE 202: Digital Logic Design Sequential Circuits Part 1
Registers & Counters M. Önder Efe
1 Registers and Counters A register consists of a group of flip-flops and gates that affect their transition. An n-bit register consists of n-bit flip-flops.
Registers and Counters
Rabie A. Ramadan Lecture 3
Digital Logic Design Review Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office: Ahmad Almulhem, KFUPM 2010.
2017/4/24 CHAPTER 6 Counters Chapter 5 (Sections )
Princess Sumaya Univ. Computer Engineering Dept. Chapter 6:
Counters By Taweesak Reungpeerakul
7-6 단일 레지스터에서 Microoperation Multiplexer-Based Transfer  Register 가 서로 다른 시간에 둘 이상의 source 에서 data 를 받을 경우 If (K1=1) then (R0 ←R1) else if (K2=1) then.
1 Registers & Counters Logic and Digital System Design - CS 303 Erkay Savaş Sabancı University.
ENG241 Digital Design Week #8 Registers and Counters.
Registers and Counters Chapter 6. Digital Circuits 2 Clocked sequential circuits a group of flip-flops and combinational gates connected to form a feedback.
Chap 5. Registers and Counters. Chap Definition of Register and Counter l a clocked sequential circuit o consist of a group of flip-flops & combinational.
Chapter 1_4 Part III more on … Counters Chapter 1_4 Part III more on … Counters.
REGISTER A register is a group of flip-flops. Each flip- flop is capable of storing one bit of informa­ tion. An n-bit register consists of a group of.
Abdullah Said Alkalbani University of Buraimi
Sequential logic circuits
Registers and Counters
C HAPTER S IX R EGISTERS AND C OUNTERS 1. A clocked sequential circuit consists of a group of flip-flops and combinational gates connected to form a feedback.
Counters.
Chap 5. Registers and Counters
Chapter 1_0 Registers & Register Transfer. Chapter 1- Registers & Register Transfer  Chapter 7 in textbook.
DIGITAL COMPONENTS. MULTIPLEXERS A multiplexer is a combinational circuit that receives binary information from one of 2 n input data lines and directs.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
1 Registers A register is a group of n flip-flops each of them capable of storing one bit of information There are two types of registers: parallel and.
Flip-Flop Flip-flops Objectives Upon completion of this chapter, you will be able to :  Construct and analyze the operation of a latch flip-flop made.
Sequential logic circuits First Class 1Dr. AMMAR ABDUL-HAMED KHADER.
Registers and Counters
EKT 221 – Counters.
EKT 221 : Digital 2 COUNTERS.
Registers and Counters Register : A Group of Flip-Flops. N-Bit Register has N flip-flops. Each flip-flop stores 1-Bit Information. So N-Bit Register Stores.
COE 202: Digital Logic Design Sequential Circuits Part 4
29-Nov-18 Counters Chapter 5 (Sections ).
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
Registers and Register Transfers
Computer Architecture and Organization: L02: Logic design Review
Digital Logic Department of CNET Chapter-6
Digital Logic Department of CNET Chapter-6
Outline Registers Counters 5/11/2019.
Digital Electronics and Logic Design
Presentation transcript:

COE 202: Digital Logic Design Sequential Circuits Part 4 KFUPM Courtesy of Dr. Ahmad Almulhem

Objectives Registers Counters KFUPM

Registers A register is a group of flip-flops. An n-bit register is made of n flip-flips and can store n bits A register may have additional combinational gates to perform certain operations KFUPM n-1…10

4-Bit Register A simple 4-bit register can be made with 4 D-FF Data is loaded in parallel Common Clock At each positive-edge, 4 bits are loaded in parallel Previous data is overwritten Entering data is called loading Common Clear Asynchronous active-low clear When Clear = 0, all FFs are cleared; i.e. 0 is stored. KFUPM

4-Bit Register (cont.) KFUPM Question: How to modify this register to enable/disable loading new data (overwriting previous) ?

4-Bit Register (cont.) Question: How to modify this register to enable/disable loading new data (overwriting previous) ? Answer: When Load=0, the clock input to the FFs will never take a transition (0 to 1, 1 to 0), no new data will be loaded. When Load=1, normal data loading takes place This is called clock gating KFUPM

4-Bit Register (cont.) Clock Skew Problem: It results from clock gating. KFUPM

4-Bit Register (cont.) Better Solution: Register with Parallel Load Use a 2x1 MUX as shown: KFUPM Q: Why a D- FF output is feedback?

4-Bit Register (cont.) KFUPM clockload A 4-bit Parallel Load Register When Load = 0, the data is not changed (no loading) When Load = 1, the data is loaded in parallel at the rising edge (+ve)

Shift Registers KFUPM A shift register is a register which shifts its content (right, left, or both) Made of flip-flops with common clock Useful to load data serially n-1…10

4-bit Shift Register A simple 4-bit shift register can be made with 4 D-FF Common Clock At each positive-edge, 1 bit is shifted in Rightmost bit is discarded Which direction this register is shifting? KFUPM

Using Shift Register (Examples) Serial Addition KFUPM

Shift Register with Parallel Load Two control inputs (shift, load) Each stage consists of D-FF OR gate Three AND gates AND to enable shift AND to enable load AND for “no change” Idea: Use a MUX to implement more functions (see next slides) KFUPM Q i  Qi D0D1D2D3D0D1D2D3 Serial Input  Q 0 Q i-1  Q i ; i=1,…,3

Universal Shift Register Question: Design a Universal Shift Register with the following capabilities: A clear control to clear the register to 0 A clock to synchronize the operations A shift-right control (associated with serial in/out) A shift-left control (associated with serial in/out) A parallel-load control (to parallel load n bits) n-parallel output lines A control signal to leave register unchanged KFUPM

Universal Shift Register (cont.) KFUPM

Universal Shift Register (cont.) KFUPM How does it work? 4 D-FF and 4 MUXs with selection S 0,S 1 S 0 S 1 =00, FF output is feedback to its input S 0 S 1 =01, FF input comes from left FF or serial-in (shift-right) S 0 S 1 =10, FF input comes from right FF or serial-in (shift-left) S 0 S 1 =11, parallel data transferred in Applications: Parallel ↔ Serial conversions Arithmetic multiplication/division Delaying input sequence

Counters Counter: A register (sequential circuit) that goes through a pre- determined sequence of states upon the application of input (clock or other source) pulses Binary Counter: The sequence of the states follows the binary number sequence (e.g. 000  001  010  011  etc.) n-bit binary counter requires n flip-flops – counts from 0 to 2 n -1 Sequences can be binary, BCD, random, etc. Counting can be up, down A modulo-n counter goes through values 0,1,2, …, (n-1) e.g. modulo-10 up counter counts: 0,1,…9 Two Types of Counters: Ripple counter (asynchronous): Flip-flop output transition serves as source for triggering the other flip-flops Synchronous counter: common clock for all flip-flops (same design procedure) KFUPM

Counters Some Applications: Frequency division Event counting Timers KFUPM Successive Clock Pulses ABC (LSB) This is a modulo-? Up/Down? Counter

Ripple Counters Instead of having a common clock signal to all Flip Flops, in a Ripple counter the output of one stage (Flip Flop) is connected to the clock input of the next stage T or JK flip flops are used for this construction because of their capability to flip their stored bits (J=K=T=1) Clock is connected to the least significant bit Flip flops are negative edge-triggered (clock is bubbled) – are active when the clock signal is falling (high to low) Flip flops invert their stored bits, when the input clock signal goes from high (1) to low (0) KFUPM J C Q Q’K R J C Q K R J C Q K R J C Q K R clock pulses Q0Q0 clear’ Q1Q1 Q2Q2 Q3Q3 Logic 1

Ripple Counters (cont.) KFUPM Q1: How to make it count down? Q2: What if we use positive-edge FF? Q3: What if we use Q’ instead of Q? J C Q Q’K R J C Q K R J C Q K R J C Q K R clock pulses Q0Q0 clear’ Q1Q1 Q2Q2 Q3Q3 Logic 1 Q3Q3 Q2Q2 Q1Q1 Q0Q Q4: Is this counter asynchronous? Why?

Ripple Counters with T-FF/D-FF Alternative implementation of a 4-bit ripple counter using T-FF and D-FF For a D-FF, connecting Q’ to D makes it to toggle at each clock! KFUPM Src: Mano’s Textbook

Ripple Counters Advantages: Simple hardware Disadvantages: Asynchronous – delay dependent Good for low power circuits KFUPM

Synchronous Counters Common clock to all FFs Design following the same design procedure for synchronous sequential circuits (see slides 4_3) Important: Study the examples in slides 4_3 Counters have a regular pattern Alternatively, counters can be designed without following the procedure (algorithmically, hierarchically) KFUPM

4-bit Synchronous Binary Counter When EN = 0  No change When EN = 1 Least significant bit (A 0 ) toggles at every clock Other FFs toggle when all lower FFs are equal to 1 (e.g  0100) Question: What will happen if we use a negative edge triggered FF? KFUPM CO A0A1A2A3A0A1A2A3 En A0A1A2A3A0A1A2A3 CO En Building Bigger Counter Clock

4-bit Synchronous Binary Counter with D-FF KFUPM D3Q3 D2 Q2 D1 Q1 D0Q0 Incrementer A3 A2 A1 A0 Y3 Y2 Y1 Y0 +1 symbol When En = 0, feed back same value When En = 1, increment the saved value at each clock XORs act like an adder EN = 1  Q 3 Q 2 Q 1 Q EN = 0  Q 3 Q 2 Q 1 Q Tip: XOR + D-FF = T-FF

Binary Counter with Parallel Load Counter with parallel load: capability for transferring an initial binary number into the counter prior to the count operation Two control inputs: Load: enables loading an initial binary number Count: enables the counting Very useful to implement different counting sequences KFUPM

Binary Counter with Parallel Load When Load = 1, D 0 D 1 D 2 D 3 is loaded When Count = 1 (and Load = 0) Current value is incremented When Load=Count=0 Feedback current value KFUPM LoadCountAction 00Hold last count (No change) 01Increment current count 1XParallel Load D0-D3

BCD Counter KFUPM Q: How can we convert the parallel load binary counter into a BCD counter?

BCD Counter KFUPM Q: How can we convert the parallel load binary counter into a BCD counter?

3-to-12 Counter (Modulo 10, Divide by 10) KFUPM Q: How can we convert the parallel load binary counter into a 3-to-12 counter?

3-to-12 Counter (Modulo 10, Divide by 10) KFUPM Q: How can we convert the parallel load binary counter into a 3-to-12 counter?

9-to-69 Counter Problem: Use two binary counters with parallel load and logic gates to build a binary counter that counts from 9 to 69. Add an additional input to the counter that initializes it synchronously to 9 when the INIT is 1 Solution: KFUPM CTR 4 (1) Q0 Q1 Q2 Q3 CO Load En D0 D1 D2 D3 CTR 4 (2) Q4 Q5 Q6 Q7 CO Load En D0 D1 D2 D INIT 1 clock Converting to Binary Binary 09  Binary 69    0101

9-to-69 Counter (cont.) Notes about the Solution: The key word in the problem statement is “BINARY” Counter should count in binary from binary 9 through binary 69 and then back to binary 9 and so on Binary 09  Binary 69  Two counters providing 8 Qs are needed Least significant counter (LSC)  Q3Q2Q1Q0 Most significant counter (MSC)  Q7Q6Q5Q4 The counting sequence is as shown in table MSC increments only if LSC is equal to 1111; i.e the CO signal of LSC is 1 During count, LSC counts normally from all the way to 1111 and back to 0000, 0001, etc except when binary 69 is reached – 1001 is reloaded again During count, MSC counts normally from 0000 all the way to 0100 and then it restarts from 0000 again. KFUPM NoBinary Q 7 Q 6 Q 5 Q 4 Q 3 Q 2 Q 1 Q

Counter with Clear KFUPM clear Q0 Q1 Q2 Q3 clear Q0 Q1 Q2 Q3 If synchronous Clear 0000  0101 If asynchronous Clear 0000  0100

Arbitrary Count Sequence Problem: Design a counter that has a repeated sequence of 6 states, as listed in table. In this sequence, flip-flops B and C repeat the binary count 00, 01, 10, while flip-flop A alternates between 0 and 1 every three counts. Notes: Only 6 states (Module-6) 011, 111 are missing Follow the usual design procedure Present State Next State ABCABC KFUPM

Arbitrary Count Sequence – State Table Present StateNext StateFlip-flop Inputs ABCABCJAKAJBKBJCKC X0X1X X1XX XX10X X00X1X X01XX X1x10x Assuming JK flip-flops KFUPM

Arbitrary Count Sequence – Input Equations BC A x1 1xxxx BC A xxxx 100x1 JA = B KA = B BC A xx 101xx BC A xxx1 1xxx1 JB = C KB = 1 BC A xx0 11xx0 BC A x1xx 1x1xx JC = B’ KC = 1 KFUPM

clock JAJA C A A’ KAKA JBJB C B B’ KBKB JCJC C C C’ KCKC Logic ) What if the counter “finds itself” in state 111 or state 011? Will the counter be able to proceed (count) normally afterward? How? 2) Is this circuit safe or reliable? Arbitrary Count Sequence – Unused States KFUPM JA = B JB = C JC = B’ KA = B KB = 1 KC = 1

Summary Registers and Counters are versatile sequential circuits Registers Parallel Load Registers Shift Registers Universal Shift Registers Counters Ripple counters Synchronous counters KFUPM