Types of Control. Programmed Non-programmed. Program Counter Hardwired

Similar documents
UNIVERSITI MALAYSIA PERLIS

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-2700:

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 5

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-2700:

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-2700:

Ring Counter. 4-bit Ring Counter using D FlipFlop. VHDL Code for 4-bit Ring Counter and Johnson Counter 1. Contents

ELECTRICAL AND COMPUTER ENGINEERING DEPARTMENT, OAKLAND UNIVERSITY ECE-378:

Four-Way Traffic Light Controller Designing with VHDL

CS/EE Homework 9 Solutions

EASTERN MEDITERRANEAN UNIVERSITY COMPUTER ENGINEERING DEPARTMENT CMPE224 DIGITAL LOGIC SYSTEMS VHDL EXPERIMENT VII

CHAPTER FIVE - Flip-Flops and Related Devices

DIGITAL DESIGN WITH SM CHARTS

First Name: Last Name: Lab Cover Page. Teaching Assistant to whom you are submitting

Arria V Timing Optimization Guidelines

Module -18 Flip flops

CSE 260 Digital Computers: Organization and Logical Design. Midterm Solutions

Written exam IE1204/5 Digital Design Friday 13/

Synthesis Minimizations and Mesh Algorithm Selection: An Extension of the Ultrasonic 3D Camera

EECS-140/141 Introduction to Digital Logic Design Lecture 7:Sequential Logic Basics

Adder Comparator 7 segment display Decoder for 7 segment display D flip flop Analysis of sequential circuits. Sequence detector

SRI VENKATESWARA COLLEGE OF ENGINEERING AND TECHNOLOGY (AUTONOMOUS)

High Speed Binary Counters Based on Wallace Tree Multiplier in VHDL

6.111 Lecture # 19. Controlling Position. Some General Features of Servos: Servomechanisms are of this form:

Lecture 3: Logic circuit. Combinational circuit and sequential circuit

Finite State Machines CS 64: Computer Organization and Design Logic Lecture #16

Chapter 5 Sequential Logic Circuits Part II Hiroaki Kobayashi 7/11/2011

Introduction to Digital Signal Processing

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

Configuring CorePWM Using RTL Blocks

Digital Integrated CircuitDesign

Digital Circuits Laboratory LAB no. 12. REGISTERS

Hardware Design with VHDL Design Example: UART ECE 443

Chapter 9. sequential logic technologies

Chapter 9. sequential logic technologies

PE713 FPGA Based System Design

Senior Capstone Project Proposal Reconfigurable FPGA Implementation Of Digital Communication System

Topics. FPGA Design EECE 277. Combinational Logic Blocks. From Last Time. Multiplication. Dr. William H. Robinson February 25, 2005

FPGA & Pulse Width Modulation. Digital Logic. Programing the FPGA 7/23/2015. Time Allotment During the First 14 Weeks of Our Advanced Lab Course

Multiplier and Accumulator Using Csla

Digital Circuits II Lecture 6. Lab Demonstration 3 Using Altera Quartus II to Determine Simplified Equations & Entering Truth Table into VHDL

Daisy II. By: Steve Rothen EEL5666 Spring 2002

Computer Architecture and Organization:

DELD MODEL ANSWER DEC 2018

DIGITAL ELECTRONICS QUESTION BANK

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING SEMESTER TWO EXAMINATION 2017/2018

Page 1. Last time we looked at: latches. flip-flop

Implementing Multipliers with Actel FPGAs

EE 42/100 Lecture 24: Latches and Flip Flops. Rev A 4/14/2010 (8:30 PM) Prof. Ali M. Niknejad

ICS 151 Final. (Last Name) (First Name)

IES Digital Mock Test

Learning Outcomes. Spiral 2 3. DeMorgan Equivalents NEGATIVE (ACTIVE LO) LOGIC. Negative Logic One hot State Assignment System Design Examples

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

Solutions. ICS 151 Final. Q1 Q2 Q3 Q4 Total Credit Score. Instructions: Student ID. (Last Name) (First Name) Signature

Controller Implementation--Part I. Cascading Edge-triggered Flip-Flops

ECOM 4311 Digital System Design using VHDL. Chapter 9 Sequential Circuit Design: Practice

Chapter 5 Sequential Logic Circuits Part II Hiroaki Kobayashi 6/30/2008

Midterm Exam ECE 448 Spring Thursday Section. (15 points)

HDL CODE TO REALIZE ALL THE LOGIC GATES

logic system Outputs The addition of feedback means that the state of the circuit may change with time; it is sequential. logic system Outputs

! Sequential Logic. ! Timing Hazards. ! Dynamic Logic. ! Add state elements (registers, latches) ! Compute. " From state elements

A-PDF Split DEMO : Purchase from to remove the watermark 114 FSM

Clocking Schedule and Writing VHDL Programs for Synthesis

Hardware Realization of Embedded Control Algorithm on FPGA

Digital Logic Circuits

Design For Test. VLSI Design I. Design for Test. page 1. What can we do to increase testability?

MODULE-4 Memory and programmable logic

Spec. Instructor: Center

ISSN: ISO 9001:2008 Certified International Journal of Engineering and Innovative Technology (IJEIT) Volume 4, Issue 11, May 2015

Brought to you by. Priti Srinivas Sajja. PS01CMCA02 Course Content. Tutorial Practice Material. Acknowldgement References. Website pritisajja.

ENHANCING SPEED AND REDUCING POWER OF SHIFT AND ADD MULTIPLIER

COMPUTER ORGANIZATION & ARCHITECTURE DIGITAL LOGIC CSCD211- DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF GHANA

I2C Demonstration Board I 2 C-bus Protocol

I hope you have completed Part 2 of the Experiment and is ready for Part 3.

JDT LOW POWER FIR FILTER ARCHITECTURE USING ACCUMULATOR BASED RADIX-2 MULTIPLIER

UNIT II: Clocked Synchronous Sequential Circuits. CpE 411 Advanced Logic Circuits Design 1

Fan in: The number of inputs of a logic gate can handle.

Code No: R Set No. 1

SIR C.R.REDDY COLLEGE OF ENGINEERING ELURU Department of Electronics and Communications

Vol. 4, No. 4 April 2013 ISSN Journal of Emerging Trends in Computing and Information Sciences CIS Journal. All rights reserved.

Computer Architecture and Organization: L08: Design Control Lines

On Built-In Self-Test for Adders

Efficient Parallel Real-Time Upsampling with Xilinx FPGAs

Number system: the system used to count discrete units is called number. Decimal system: the number system that contains 10 distinguished

CSE 260 Digital Computers: Organization and Logical Design. Lab 4. Jon Turner Due 3/27/2012

Linear Integrated Circuits

Unit-6 PROGRAMMABLE INTERRUPT CONTROLLERS 8259A-PROGRAMMABLE INTERRUPT CONTROLLER (PIC) INTRODUCTION

Field Programmable Gate Array Implementation and Testing of a Minimum-phase Finite Impulse Response Filter

2014 Paper E2.1: Digital Electronics II

Design of High Speed Power Efficient Combinational and Sequential Circuits Using Reversible Logic

Data Sheet. HCTL-2000 Quadrature Decoder/Counter Interface ICs HCTL-2000, HCTL-2016, HCTL-2020

Design of Microprogrammed Control Units (MCU) using VHDL Description. Arvutitehnika erikusus

Chapter 4: FLIP FLOPS. (Sequential Circuits) By: Siti Sabariah Hj. Salihin ELECTRICAL ENGINEERING DEPARTMENT EE 202 : DIGITAL ELECTRONICS 1

Key words: DWT, VHDL, MATLAB, Power Systems, Digital Modeling

IMPLEMENTATION OF UNSIGNED MULTIPLIER USING MODIFIED CSLA

Implementation of Parallel Multiplier-Accumulator using Radix- 2 Modified Booth Algorithm and SPST

ENGG1015: lab 3. Sequential Logic

DS1720 ECON-Digital Thermometer and Thermostat

Topics Introduction to Microprocessors

Generation of Digital System Test Patterns Based on VHDL Simulations

Lecture 20: Several Commercial Counters & Shift Register

Transcription:

Lecture #5 In this lecture we will introduce the sequential circuits. We will overview various Latches and Flip Flops (30 min) Give Sequential Circuits design concept Go over several examples as time permits

Control Circuitry Binary information is either data or control. Data paths are responsible for processing the data, Control signals are responsible for generation and sequencing of events. Signals like load are used for example when and where to place a data item in a register or select signal on a MUX to select an item or Enable signal to put data on a bus. The term sequential circuit is referred to circuits that sequence such events. Types of Control Programmed Non-programmed Program Counter Hardwired Memory Microcoded (As in microprocessor) Finite state Machines covered in this lecture Algorithmic State Machines covered in this lecture

Digital Design: Parameters to be considered Memory I/O Control Data Path

RS Latch + = S + R R R S t+1 0 0 q t 0 1 1 1 0 0 1 1 S Two Problems: R=S= 1 Not allowed, Data is transparent

The D Latch C RS Flip Flop D D C Problem: Level sensitive

JK Latch : Universal, Level sensitive, Timing Constraints due to feed back. Other latches can be constructed using JK Latch C JK Flip Flop: J S K R t + 1 = J t + K t JK Flip Flop with a rising-edge : J K JK FF C J K J K

Master Slave Flip Flop Edge sensitive,set up and Hold time Master and Slave Flip Flop : A D Flip Flop with a falling-edge trigger. Master Slave D C D C D Latch D C D Latch D C

Edge triggered Flip Flop: Set up and Hold time Constraints S Clk ` R

Input Combinational Logic Output States Excitation Vectors Memory

xample 1 esign a sequence detector that detects a sequence of 2 zeros or 3 ones on n incoming serial data line. Assume an asynchronous reset that initializes he machine. et input be x, and output be z.

xample 2 hen a minor road crosses a highway a traffic controller is installed to control the flow of traffic. Normally the highway is given the right of way nd where is a demand on the minor road then the highway is interrupted to give access to the minor road. You are asked to design controller to work n this principals. he highway should be given the right of way. If any of the sensors on the minor road do not detect presence of a car or if the sensor does detect a ar but an amount of time equal to or greater than Timer long=t30 seconds, has not elapsed since last change. f there was a car on the minor road and amount of time greater than Timer long has elapsed, then the traffic light should cycle through amber for imer short=3 seconds and change to Red, while minor road changes to Green. The minor road now should have access of the road while there is car ut never more than Timer long. The minor road then should cycle back to red through a Timer short=3 second. While the highway cycles back to reen Sensor Minor Road Highway Sensor

Example 3[1] Design a Tool Booth Controller that controls the signal and the barrier of a toll booth on a highway. The Booth and Controller is shown in the figu below and has the following components. A sensor on the driveway that shows presence of a car, ie signal S=1, S=0 otherwise. A coin machine receiving the exact coin. When coin is inserted, signal C =1, otherwise C=0. T=1 traffic light is green and the barrier open. T=0 traffic light is red and the barrier is closed. At normal times the tollbooth is idle. Traffic signal is red and the barrier is closed. When a car enters the driveway of the booth, then the presence the car is detected with S=1 from the sensor. The controller then waits for the right coin. When the coin is inserted, C=1, then the traffic light turn green T=1 and the barrier is raised. When the car passes all signals are reset and the barrier is lowered Assume there is room for one car only at th booth.

Example Design a sequence detector that detects a sequence of 2 zeros or 3 ones on an incoming serial data line. Assume an asynchronous reset that initializes the machine. Let the input be x, and the output be z. We have the following state diagram 0/1 P1 0/0 (01) P0 ( 00 ) 1/0 1/0 0/0 0/0 P2 1/1 (10) P3 1/0 (11 )

Controller for a Shift and Add Multiplier

Multiplier Design Block Diagram MULTIPLIER A_in 8 Multiplicand 8 RA reset 8-Bit Ripple Carry Adder LOAD_cmd Controller clk START STOP RB 8 C_out Add_out ADD_cmd SHIFT_cmd LSB B_in 8 Multiplier_Result 16 RC 8

Controller FSM Diagram START = 0 count = 8 IDLE STOP = 1 START = 1 SHIFT SHIFT_cmd =1 count=count+1 LSB = 0 INIT LOAD_cmd=1 count /= 8 ADD ADD_cmd = 1 LSB = 1 TEST

Multiplier controller VHDL: Controller (COEN 6501) ------------------------------------------------------ -- -- Library Name : DSD -- Unit Name : Controller -- ------------------------------------------------------ ------------------------------------------------------ -- Date : Mon Oct 27 12:36:47 2003 -- -- Author : Giovanni D'Aliesio -- -- Description: Controller is a finite state machine -- that performs the following in each -- state: -- IDLE > samples the START signal -- INIT > commands the registers to be -- loaded -- TEST > samples the LSB -- ADD > indicates the Add result to be stored -- SHIFT > commands the register to be shifted -- ------------------------------------------------------. Cell Information

Interface ------------------------------------------------------ library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity Controller is port (reset : in std_logic ; clk : in std_logic ; START : in std_logic ; LSB : in std_logic ; ADD_cmd : out std_logic ; SHIFT_cmd : out std_logic ; LOAD_cmd : out std_logic ; STOP : out std_logic); end; Reset Start LSB clk Controller ADD SHIFT LOAD STOP

START = 0 architecture rtl of Controller is signal temp_count : std_logic_vector(2 downto 0); -- declare states type state_typ is (IDLE, INIT, TEST, ADD, SHIFT); signal state : state_typ; begin process (clk, reset) begin if reset='0' then state <= IDLE; temp_count <= "000"; elsif (clk'event and clk='1') then case state is when IDLE => if START = '1' then state <= INIT; else state <= IDLE; end if; when INIT => state <= TEST; when TEST = if LSB = '0' then state <= SHIFT else state <= ADD; end if; when ADD => state <= SHIFT; when SHIFT =>if temp_count = "111" then -- verify if finished temp_count <= "000"; -- re-initialize counter state <= IDLE; -- ready for next multiply else temp_count <= temp_count + 1; -- increment counter state <= TEST; end if; end case; SHIFT SHIFT_cmd =1 count=count+1 ADD ADD_cmd = 1 count = 8 LSB = 1 count /= 8 IDLE STOP = 1 LSB = 0 TEST START = 1 INIT LOAD_cmd=1 end if; end process; STOP <= '1' when state = IDLE else '0'; ADD_cmd <= '1 when state = ADD else '0'; SHIFT_cmd <= '1' when state = SHIFT else '0'; LOAD_cmd <= '1' when state = INIT else '0'; end rtl;

Controller Simulation Timing Diagram

Stop command 0 STOP=1 START=? STOP=1 LOAD 1 001 Load command TEST 010 C=C + 1 RA Multiplicand RB Multiplier C=0, STOP=0 0 =? ADD 011 ACC <= ACC +RA ADD Commend C = C + 1 SHIFT 100 Shift Right C, ACC, RB Shift command /=8 =8 C= 8?