Size: px
Start display at page:

Transcription

1 A New Paradigm for Synchronous State Machine Design in Verilog Randy Nuss Copyright 1999 Idea Consulting Introduction Synchronous State Machines are one of the most common building blocks in modern digital systems. They handle everything from communications handshaking protocols to microprocessor bus wait state insertion. State machines operate at hardware speeds where software cannot compete. All too often engineers take an ad-hoc approach to state machine design. Subtle and frustrating problems can arise from poorly designed state machines which typically manifest themselves as intermittent operation or lockup. Other problems such as glitches may appear in the outputs causing headaches for customers and service personnel long after a product is in production. This article will first describe the basic architectures for synchronous state machines, then describe a method of State Machine implementation which leads to glitchless, minimum-delay operation. The Verilog Hardware Description Language will be utilized. State Machine Architectures There are two generally accepted architectures for Synchronous State Machines. The first type considered is a state machine in which the outputs depend only on the current state. This is commonly known as a Moore machine. In the second type, the outputs depend on both the current state and the input variables. This is known as a Mealy Machine. Input State F/Fs CLK Current State Figure 1: Moore State Machine

2 Moore Machine This is the simplest of the two state machine types. The outputs are combinatorial signals based solely on the current state. Unfortunately, this can lead to glitches on the output signals which can cause erratic operation of circuitry driven by the state machine. The glitches are due to unequal delays in the Clock to Q path of the flip-flops which make up the state bits as well as unequal propagation delays in the combinatorial logic which derives the output from the state bits. Moore machine implementations are generally simpler than Mealy machines and may allow somewhat higher clock rates than a Mealy machine. Input State F/Fs CLK Current State Figure 2: Mealy State Machine Mealy Machine In a Mealy machine, the outputs are a function of not only the current state, but also the inputs. This implementation can lead to timing problems since the output timing is not simply a function of the clock, but of the input timing as well. For this reason, the Mealy architecture is generally a poor choice for synchronous devices or designs.

3 S1A 1110 OUT3 S in1 in2 &!in1 S in1 S S OUT0 in2 S OUT3 Figure 3: Example State Diagram (Moore Machine) State Diagram A state diagram allows the designer to describe the desired state machine operation graphically. This helps him or her visualize the operation of the state machine prior to implementation. The diagram contains a wealth of information. First, the diagram shows state transitions. The circles and arrows describe how the state machine moves from one state to another. The circles represent a particular value of the state variable. The arrowed lines describe how the state machine transitions from one state to the next state. The arrowed lines contain a boolean expression which shows the criteria for a transition from one state to another. If the boolean expression is TRUE and the current state is the state at the source of the arrowed line, the state machine will transition to the destination state on the next clock. The diagram also shows the values of the output variables during each state. In a Moore Machine, the outputs are only a function of the current state; inputs have no effect after the clock. This makes the Moore Machine an ideal candidate for a fully synchronous design. s of a Moore Machine have reasonably predictable timing and are always referenced to the clock. On the other hand, Mealy Machine outputs can be dependent on the value of inputs to the state machine which may be transitioning at less predictable times. It is for this reason, that Moore Machines generally provide for a smoother implementation in FPGA and Gate Array designs. In a Moore Machine, the outputs can be represented just to the right of the circle which represents the state

4 as well as inside the circle. A useful system is to include just the outputs which are to be asserted during that cycle to the right of the circle. This highlights the fact that a particular signal is active during that state and nowhere. For signals which do not have an asserted and deasserted state, the signals value can be shown for each cycle. An example of this might be a signal like RDWR. If the signal is logic 1, a read of some sort is implied while a logic 0 indicates a write is active. Whenever possible, choose 0 to be the deasserted state and 1 to be the asserted state for State Machine inputs and outputs. Most FPGA and ASIC primitive libraries allow an I/O buffer to invert or not with no degradation in propagation delay. The signals may be inverted to the outside world, but inside the device, try to make all signals active high. Its less confusing, and when the complexity of the design ratchets up, you will be glad to have fewer mental inversions to make. Input Variables ALL Input variables MUST be synchronous to the state machine clock. If they are not, strange things will begin to happen to the state machine in actual operation. Illegal states will be mysteriously entered. Total state machine lockup can result. Inevitably, the design will fail intermittently in the field. Why? The reason lies in the fact that a physical state machine implementation uses physical gates which have a non-zero propagation delay. An input signal progagating through gates to the D input of one state flip flop will be slightly faster or slower than that same input signal travelling through a different set of gates to another flip flop s D input. If the input signal changes at just the wrong time, the fast path will see the change, but the slow one won t. The clock comes along and one of the flip-flops will now have an incorrect logic level. The overall state machine just made an illegal state transition; the circuit has failed. This type of design error generally goes unnoticed because the faulty behavior shows up only a small percentage of the time. Bewareof the asynchronous input! The cure for the asynchronous input is a synchronizer. Generally a 2 stage synchronizer is adequate to prevent illegal state entry. It should be noted that there is a statistical probability, albeit very low, that an asynchronous input may still be able to propagate through a synchronizer. For each stage of synchronization employed, the probability is reduced considerably. Some space/military designs require the use of a 3 stage synchronizer, but 2 stages is generally considered the standard for commercial and industrial grade designs. To minimize latency, use the falling edge of the clock for the first stage and the rising edge as the second stage. Variables Remember that in a Moore state machine, the value of output variables are solely a function of the current state. One of the valuable things about a Moore design is that the timing of the state transitions/outputs is dependent only upon the clock. But, we start to lose that timing simplicity when combinatorial logic is used to generate outputs which are functions of the state bits. Depending on the complexity of this back-end logic, the actual timing of the outputs can be seriously degraded. Another problem with this popular approach is that narrow glitches can appear on these combinatorial outputs during state transitions. Due to clock skew, unequal clock to Q prop delay and unequal combinatorial logic prop delay, glitches will invariably occur. These glitches may be very narrow, and may not be visible at all on most logic analyzers and some scopes. You can be assured that sensitive edge based circuits which are driven by these outputs will see them and again circuit failure can result.

5 Worse still, glitch width and severity will change with temperature and power supply variations. A Better Way Input State F/Fs CLK Current State Registered s Figure 4: Modified Moore Machine A way to avoid both of the previous problems is to define the state machine such that the outputs ARE the state bits. Each output has predictable timing and minimal propagation delay. There are no glitches, because a single flip-flop changes at most once per clock assuming setup and hold timing on the input is observed. If an output is to be a logic 1 for two consecutive states, it is guaranteed that there will be no low going glitch if the inputs are properly synchronized as described above. State Selection It is certainly possible, even likely, that the state machine requires that the output variables be at a unique logical level pattern in two different machine states. This presents a minor problem to the scheme described above in that we have decided to make the machine state equal to the state of the outputs. To solve this problem, we must add 1 or more additional state bits which serve no purpose other than to differentiate two or more unique machine states which have the same output variable values. For instance, suppose that we are designing a state machine as shown in the diagram below: Notice in the State Diagram example, that State S1 and State S4 require that the 4 outputs be at logic level To differentiate the two states, we add another state bit so that state S1 is now and S4 is now The added state bit is not wired to anything outside the state machine, but it allows each state to have

6 a unique output pattern. Verilog Implementation Variable Definition Section In this section, we will use the verilog define statement to associate a state value to each state name.we simply transform the data directly from the State Diagram. The State Name and the state value are inside the circle that defines each state. Note the additional bit added to differentiate S1 and S4. // // Define states in terms of input variables // OUT3 // // // extra bit OUT0 // // V VVVV define S0 5 b0_0000 // Idle state, all bits set to 0 define S1 5 b0_0110 // extra bit == 0 here define S1A 5 b0_1110 define S2 5 b0_0101 define S3 5 b0_1010 define S4 5 b1_0110 // extra bit == 1 here Assignment Section In this section, we will first declare the state register. In this case it will be a 5 bit reg. Then we will use a continuous assignment to assign an output to its associated state bit. This continuous assignment will synthesize to a zero delay wire i.e. the output name and the register bit are synonyms. If there are asynchronous inputs to the state machine, this is a good place to instantiate synchronizers. // Declare state flip flops reg [4:0] state; // Continuous assignment of state bits to outputs assign {OUT3,,, OUT0} = state[3:0]; // Synchronize asynchronous inputs if needed State Transition Section In this section, we use the State Diagram as a guide to explicitly define how the state machine transitions from one state to another. We also provide a means of initializing the state machine with a synchronous reset. The state machine will enter state S0 upon reset. Note that as reset is just another input to the state machine, care should be taken to ensure that it is synchronous as well.

7 // // Define State Transitions // clk) if (reset) case (state) S0: if (in1 &&!in2) state = S1; if (in2) state = S1A; S1: if (in1) state = S4; state = S2; S1A: S2: if (in2) state = S3; state = S2; S3: state = S4; S4: default: endcase Summary This paper first discussed some of the pitfalls which hardware designers can fall prey to in the design of synchronous state machines. Then a method avoiding these problems was discussed which has particular usefulness in FPGA and Gate Array implementations. Finally a complete example was presented in Verilog HDL to illustrate the simplicity of the problem solution.

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

A. M. Niknejad University of California, Berkeley EE 100 / 42 Lecture 24 p. 1/20 EE 42/100 Lecture 24: Latches and Flip Flops ELECTRONICS Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad University of California,

### Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems

Harris Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems David Harris Harvey Mudd College David_Harris@hmc.edu Based on EE271 developed by Mark Horowitz, Stanford University MAH

### CS311 Lecture: Sequential Circuits

CS311 Lecture: Sequential Circuits Last revised 8/15/2007 Objectives: 1. To introduce asynchronous and synchronous flip-flops (latches and pulsetriggered, plus asynchronous preset/clear) 2. To introduce

### Lecture 7: Clocking of VLSI Systems

Lecture 7: Clocking of VLSI Systems MAH, AEN EE271 Lecture 7 1 Overview Reading Wolf 5.3 Two-Phase Clocking (good description) W&E 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.9, 5.5.10 - Clocking Note: The analysis

### ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

ETEC 2301 Programmable Logic Devices Chapter 10 Counters Shawnee State University Department of Industrial and Engineering Technologies Copyright 2007 by Janna B. Gallaher Asynchronous Counter Operation

### To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

8.1 Objectives To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC. 8.2 Introduction Circuits for counting events are frequently used in computers and other digital

### ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. http://www.ecs.umass.edu/ece/ece232/ Basic Verilog

ECE232: Hardware Organization and Design Part 3: Verilog Tutorial http://www.ecs.umass.edu/ece/ece232/ Basic Verilog module ();

### Cascaded Counters. Page 1 BYU

Cascaded Counters Page 1 Mod-N Counters Generally we are interested in counters that count up to specific count values Not just powers of 2 A mod-n counter has N states Counts from 0 to N-1 then rolls

### Module 3: Floyd, Digital Fundamental

Module 3: Lecturer : Yongsheng Gao Room : Tech - 3.25 Email : yongsheng.gao@griffith.edu.au Structure : 6 lectures 1 Tutorial Assessment: 1 Laboratory (5%) 1 Test (20%) Textbook : Floyd, Digital Fundamental

### Combinational Logic Design Process

Combinational Logic Design Process Create truth table from specification Generate K-maps & obtain logic equations Draw logic diagram (sharing common gates) Simulate circuit for design verification Debug

### State Machines in VHDL

State Machines in VHDL Implementing state machines in VHDL is fun and easy provided you stick to some fairly well established forms. These styles for state machine coding given here is not intended to

### Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw. Sequential Circuit

Modeling Sequential Elements with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw 4-1 Sequential Circuit Outputs are functions of inputs and present states of storage elements

### PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics

PROGETTO DI SISTEMI ELETTRONICI DIGITALI Digital Systems Design Digital Circuits Advanced Topics 1 Sequential circuit and metastability 2 Sequential circuit - FSM A Sequential circuit contains: Storage

### WEEK 8.1 Registers and Counters. ECE124 Digital Circuits and Systems Page 1

WEEK 8.1 egisters and Counters ECE124 igital Circuits and Systems Page 1 Additional schematic FF symbols Active low set and reset signals. S Active high set and reset signals. S ECE124 igital Circuits

### (Refer Slide Time: 00:01:16 min)

Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control

### Asynchronous Counters. Asynchronous Counters

Counters and State Machine Design November 25 Asynchronous Counters ENGI 25 ELEC 24 Asynchronous Counters The term Asynchronous refers to events that do not occur at the same time With respect to counter

### Latch Timing Parameters. Flip-flop Timing Parameters. Typical Clock System. Clocking Overhead

Clock - key to synchronous systems Topic 7 Clocking Strategies in VLSI Systems Peter Cheung Department of Electrical & Electronic Engineering Imperial College London Clocks help the design of FSM where

### Finite State Machine Design and VHDL Coding Techniques

Finite State Machine Design and VHDL Coding Techniques Iuliana CHIUCHISAN, Alin Dan POTORAC, Adrian GRAUR "Stefan cel Mare" University of Suceava str.universitatii nr.13, RO-720229 Suceava iulia@eed.usv.ro,

### Lecture 8: Synchronous Digital Systems

Lecture 8: Synchronous Digital Systems The distinguishing feature of a synchronous digital system is that the circuit only changes in response to a system clock. For example, consider the edge triggered

### NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter Description: The NTE2053 is a CMOS 8 bit successive approximation Analog to Digital converter in a 20 Lead DIP type package which uses a differential

### Modeling Latches and Flip-flops

Lab Workbook Introduction Sequential circuits are digital circuits in which the output depends not only on the present input (like combinatorial circuits), but also on the past sequence of inputs. In effect,

### Timing Methodologies (cont d) Registers. Typical timing specifications. Synchronous System Model. Short Paths. System Clock Frequency

Registers Timing Methodologies (cont d) Sample data using clock Hold data between clock cycles Computation (and delay) occurs between registers efinition of terms setup time: minimum time before the clocking

### 7. Latches and Flip-Flops

Chapter 7 Latches and Flip-Flops Page 1 of 18 7. Latches and Flip-Flops Latches and flip-flops are the basic elements for storing information. One latch or flip-flop can store one bit of information. The

### Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill Objectives: Analyze the operation of sequential logic circuits. Understand the operation of digital counters.

### Wiki Lab Book. This week is practice for wiki usage during the project.

Wiki Lab Book Use a wiki as a lab book. Wikis are excellent tools for collaborative work (i.e. where you need to efficiently share lots of information and files with multiple people). This week is practice

### Counters and Decoders

Physics 3330 Experiment #10 Fall 1999 Purpose Counters and Decoders In this experiment, you will design and construct a 4-bit ripple-through decade counter with a decimal read-out display. Such a counter

### Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

Experiment # 9 Clock generator circuits & Counters Eng. Waleed Y. Mousa 1. Objectives: 1. Understanding the principles and construction of Clock generator. 2. To be familiar with clock pulse generation

### Modeling Registers and Counters

Lab Workbook Introduction When several flip-flops are grouped together, with a common clock, to hold related information the resulting circuit is called a register. Just like flip-flops, registers may

EE552 Advanced Logic Design and Switching Theory Metastability by Ashirwad Bahukhandi (Ashirwad Bahukhandi) bahukhan@usc.edu This is an overview of what metastability is, ways of interpreting it, the issues

### Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )

Sequential Logic (Materials taken from: Principles of Computer Hardware by Alan Clements ) Sequential vs. Combinational Circuits Combinatorial circuits: their outputs are computed entirely from their present

### Lesson 12 Sequential Circuits: Flip-Flops

Lesson 12 Sequential Circuits: Flip-Flops 1. Overview of a Synchronous Sequential Circuit We saw from last lesson that the level sensitive latches could cause instability in a sequential system. This instability

### ECE 451 Verilog Exercises. Sept 14, 2007. James Barnes (James.Barnes@colostate.edu)

ECE 451 Verilog Exercises Sept 14, 2007 James Barnes (James.Barnes@colostate.edu) Organization These slides give a series of self-paced exercises. Read the specification of each exercise and write your

### Understanding Verilog Blocking and Non-blocking Assignments

Understanding Verilog Blocking and Non-blocking Assignments International Cadence User Group Conference September 11, 1996 presented by Stuart HDL Consulting About the Presenter Stuart has over 8 years

### Chapter 7: Advanced Modeling Techniques

Chapter 7: Advanced Modeling Techniques Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog HDL

### Lecture 11: Sequential Circuit Design

Lecture 11: Sequential Circuit esign Outline Sequencing Sequencing Element esign Max and Min-elay Clock Skew Time Borrowing Two-Phase Clocking 2 Sequencing Combinational logic output depends on current

### Design and Implementation of Vending Machine using Verilog HDL

2011 2nd International Conference on Networking and Information Technology IPCSIT vol.17 (2011) (2011) IACSIT Press, Singapore Design and Implementation of Vending Machine using Verilog HDL Muhammad Ali

### FINITE STATE MACHINE: PRINCIPLE AND PRACTICE

CHAPTER 10 FINITE STATE MACHINE: PRINCIPLE AND PRACTICE A finite state machine (FSM) is a sequential circuit with random next-state logic. Unlike the regular sequential circuit discussed in Chapters 8

### PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics

PROGETTO DI SISTEMI ELETTRONICI DIGITALI Digital Systems Design Digital Circuits Advanced Topics 1 Sequential circuit and metastability 2 Sequential circuit A Sequential circuit contains: Storage elements:

### Lecture 10: Multiple Clock Domains

Bluespec SystemVerilog Training Lecture 10: Multiple Clock Domains Copyright Bluespec, Inc., 2005-2008 Lecture 10: Multiple Clock Domains The Clock type, and functions Modules with different clocks Clock

### Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Dr. Greg Tumbush, gtumbush@uccs.edu Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Objective The objective of lab assignments 5 through 9 are to systematically design and implement

### EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 16 Timing and Clock Issues

EE 459/500 HDL Based Digital Design with Programmable Logic Lecture 16 Timing and Clock Issues 1 Overview Sequential system timing requirements Impact of clock skew on timing Impact of clock jitter on

### More Verilog. 8-bit Register with Synchronous Reset. Shift Register Example. N-bit Register with Asynchronous Reset.

More Verilog 8-bit Register with Synchronous Reset module reg8 (reset, CLK, D, Q); input reset; input [7:0] D; output [7:0] Q; reg [7:0] Q; if (reset) Q = 0; else Q = D; module // reg8 Verilog - 1 Verilog

### Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology

Topics of Chapter 5 Sequential Machines Memory elements Memory elements. Basics of sequential machines. Clocking issues. Two-phase clocking. Testing of combinational (Chapter 4) and sequential (Chapter

### Sequential Logic Design Principles.Latches and Flip-Flops

Sequential Logic Design Principles.Latches and Flip-Flops Doru Todinca Department of Computers Politehnica University of Timisoara Outline Introduction Bistable Elements Latches and Flip-Flops S-R Latch

### Lecture 10 Sequential Circuit Design Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

EE4800 CMOS igital IC esign & Analysis Lecture 10 Sequential Circuit esign Zhuo Feng 10.1 Z. Feng MTU EE4800 CMOS igital IC esign & Analysis 2010 Sequencing Outline Sequencing Element esign Max and Min-elay

### COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

PH-315 COMINATIONAL and SEUENTIAL LOGIC CIRCUITS Hardware implementation and software design A La Rosa I PURPOSE: To familiarize with combinational and sequential logic circuits Combinational circuits

### Master/Slave Flip Flops

Master/Slave Flip Flops Page 1 A Master/Slave Flip Flop ( Type) Gated latch(master) Gated latch (slave) 1 Gate Gate GATE Either: The master is loading (the master in on) or The slave is loading (the slave

### DIGITAL ELECTRONICS. Counters. By: Electrical Engineering Department

Counters By: Electrical Engineering Department 1 Counters Upon completion of the chapter, students should be able to:.1 Understand the basic concepts of asynchronous counter and synchronous counters, and

### Flip-Flops, Registers, Counters, and a Simple Processor

June 8, 22 5:56 vra235_ch7 Sheet number Page number 349 black chapter 7 Flip-Flops, Registers, Counters, and a Simple Processor 7. Ng f3, h7 h6 349 June 8, 22 5:56 vra235_ch7 Sheet number 2 Page number

### Chapter 2 Logic Gates and Introduction to Computer Architecture

Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are

### Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

Objectives Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop. describe how such a flip-flop can be SET and RESET. describe the disadvantage

### 150127-Microprocessor & Assembly Language

Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an

### 路 論 Chapter 15 System-Level Physical Design

Introduction to VLSI Circuits and Systems 路 論 Chapter 15 System-Level Physical Design Dept. of Electronic Engineering National Chin-Yi University of Technology Fall 2007 Outline Clocked Flip-flops CMOS

### Multiplexers Two Types + Verilog

Multiplexers Two Types + Verilog ENEE 245: Digital Circuits and ystems Laboratory Lab 7 Objectives The objectives of this laboratory are the following: To become familiar with continuous ments and procedural

### Take-Home Exercise. z y x. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas

Take-Home Exercise Assume you want the counter below to count mod-6 backward. That is, it would count 0-5-4-3-2-1-0, etc. Assume it is reset on startup, and design the wiring to make the counter count

### Lecture 10: Sequential Circuits

Introduction to CMOS VLSI esign Lecture 10: Sequential Circuits avid Harris Harvey Mudd College Spring 2004 Outline q Sequencing q Sequencing Element esign q Max and Min-elay q Clock Skew q Time Borrowing

### Sequential Circuits. Combinational Circuits Outputs depend on the current inputs

Principles of VLSI esign Sequential Circuits Sequential Circuits Combinational Circuits Outputs depend on the current inputs Sequential Circuits Outputs depend on current and previous inputs Requires separating

### Contents COUNTER. Unit III- Counters

COUNTER Contents COUNTER...1 Frequency Division...2 Divide-by-2 Counter... 3 Toggle Flip-Flop...3 Frequency Division using Toggle Flip-flops...5 Truth Table for a 3-bit Asynchronous Up Counter...6 Modulo

### Manchester Encoder-Decoder for Xilinx CPLDs

Application Note: CoolRunner CPLDs R XAPP339 (v.3) October, 22 Manchester Encoder-Decoder for Xilinx CPLDs Summary This application note provides a functional description of VHDL and Verilog source code

### PowerPC Microprocessor Clock Modes

nc. Freescale Semiconductor AN1269 (Freescale Order Number) 1/96 Application Note PowerPC Microprocessor Clock Modes The PowerPC microprocessors offer customers numerous clocking options. An internal phase-lock

### Chapter 9 Latches, Flip-Flops, and Timers

ETEC 23 Programmable Logic Devices Chapter 9 Latches, Flip-Flops, and Timers Shawnee State University Department of Industrial and Engineering Technologies Copyright 27 by Janna B. Gallaher Latches A temporary

### LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters

LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters LAB OBJECTIVES 1. Introduction to latches and the D type flip-flop 2. Use of actual flip-flops to help you understand sequential

### Traffic Light Controller. Digital Systems Design. Dr. Ted Shaneyfelt

Traffic Light Controller Digital Systems Design Dr. Ted Shaneyfelt December 3, 2008 Table of Contents I. Introduction 3 A. Problem Statement 3 B. Illustration 3 C. State Machine 3 II. Procedure 4 A. State

### The components. E3: Digital electronics. Goals:

E3: Digital electronics Goals: Basic understanding of logic circuits. Become familiar with the most common digital components and their use. Equipment: 1 st. LED bridge 1 st. 7-segment display. 2 st. IC

### Power Reduction Techniques in the SoC Clock Network. Clock Power

Power Reduction Techniques in the SoC Network Low Power Design for SoCs ASIC Tutorial SoC.1 Power Why clock power is important/large» Generally the signal with the highest frequency» Typically drives a

### CHAPTER 11: Flip Flops

CHAPTER 11: Flip Flops In this chapter, you will be building the part of the circuit that controls the command sequencing. The required circuit must operate the counter and the memory chip. When the teach

### A Verilog HDL Test Bench Primer Application Note

A Verilog HDL Test Bench Primer Application Note Table of Contents Introduction...1 Overview...1 The Device Under Test (D.U.T.)...1 The Test Bench...1 Instantiations...2 Figure 1- DUT Instantiation...2

### Chapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann

Chapter 7 Registers & Register Transfers J. J. Shann J.J. Shann Chapter Overview 7- Registers and Load Enable 7-2 Register Transfers 7-3 Register Transfer Operations 7-4 A Note for VHDL and Verilog Users

### Registers & Counters

Objectives This section deals with some simple and useful sequential circuits. Its objectives are to: Introduce registers as multi-bit storage devices. Introduce counters by adding logic to registers implementing

### Asynchronous counters, except for the first block, work independently from a system clock.

Counters Some digital circuits are designed for the purpose of counting and this is when counters become useful. Counters are made with flip-flops, they can be asynchronous or synchronous and they can

### Lecture-3 MEMORY: Development of Memory:

Lecture-3 MEMORY: It is a storage device. It stores program data and the results. There are two kind of memories; semiconductor memories & magnetic memories. Semiconductor memories are faster, smaller,

### ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path Project Summary This project involves the schematic and layout design of an 8-bit microprocessor data

### Low Power AMD Athlon 64 and AMD Opteron Processors

Low Power AMD Athlon 64 and AMD Opteron Processors Hot Chips 2004 Presenter: Marius Evers Block Diagram of AMD Athlon 64 and AMD Opteron Based on AMD s 8 th generation architecture AMD Athlon 64 and AMD

### Digital Logic Design Sequential circuits

Digital Logic Design Sequential circuits Dr. Eng. Ahmed H. Madian E-mail: ahmed.madian@guc.edu.eg Dr. Eng. Rania.Swief E-mail: rania.swief@guc.edu.eg Dr. Eng. Ahmed H. Madian Registers An n-bit register

### The 104 Duke_ACC Machine

The 104 Duke_ACC Machine The goal of the next two lessons is to design and simulate a simple accumulator-based processor. The specifications for this processor and some of the QuartusII design components

### Sequential Logic: Clocks, Registers, etc.

ENEE 245: igital Circuits & Systems Lab Lab 2 : Clocks, Registers, etc. ENEE 245: igital Circuits and Systems Laboratory Lab 2 Objectives The objectives of this laboratory are the following: To design

### Chapter 2 Clocks and Resets

Chapter 2 Clocks and Resets 2.1 Introduction The cost of designing ASICs is increasing every year. In addition to the non-recurring engineering (NRE) and mask costs, development costs are increasing due

### ASYNCHRONOUS COUNTERS

LB no.. SYNCHONOUS COUNTES. Introduction Counters are sequential logic circuits that counts the pulses applied at their clock input. They usually have 4 bits, delivering at the outputs the corresponding

### GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8 Robert G. Brown All Rights Reserved August 25, 2000 Alta Engineering 58 Cedar Lane New Hartford, CT 06057-2905 (860) 489-8003 www.alta-engineering.com

### Digital Fundamentals

Digital Fundamentals Tenth Edition Floyd hapter 8 2009 Pearson Education, Upper 2008 Pearson Saddle River, Education NJ 07458. All Rights Reserved ounting in Binary As you know, the binary count sequence

### Design and Verification of Nine port Network Router

Design and Verification of Nine port Network Router G. Sri Lakshmi 1, A Ganga Mani 2 1 Assistant Professor, Department of Electronics and Communication Engineering, Pragathi Engineering College, Andhra

### Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin

BUS ARCHITECTURES Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin Keywords: Bus standards, PCI bus, ISA bus, Bus protocols, Serial Buses, USB, IEEE 1394

### Counters & Shift Registers Chapter 8 of R.P Jain

Chapter 3 Counters & Shift Registers Chapter 8 of R.P Jain Counters & Shift Registers Counters, Syllabus Design of Modulo-N ripple counter, Up-Down counter, design of synchronous counters with and without

### Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip Ms Lavanya Thunuguntla 1, Saritha Sapa 2 1 Associate Professor, Department of ECE, HITAM, Telangana

### Let s put together a Manual Processor

Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce

### DIGITAL COUNTERS. Q B Q A = 00 initially. Q B Q A = 01 after the first clock pulse.

DIGITAL COUNTERS http://www.tutorialspoint.com/computer_logical_organization/digital_counters.htm Copyright tutorialspoint.com Counter is a sequential circuit. A digital circuit which is used for a counting

### CS 61C: Great Ideas in Computer Architecture Finite State Machines. Machine Interpreta4on

CS 61C: Great Ideas in Computer Architecture Finite State Machines Instructors: Krste Asanovic & Vladimir Stojanovic hbp://inst.eecs.berkeley.edu/~cs61c/sp15 1 Levels of RepresentaKon/ InterpretaKon High

### IE1204 Digital Design F12: Asynchronous Sequential Circuits (Part 1)

IE1204 Digital Design F12: Asynchronous Sequential Circuits (Part 1) Elena Dubrova KTH / ICT / ES dubrova@kth.se BV pp. 584-640 This lecture IE1204 Digital Design, HT14 2 Asynchronous Sequential Machines

### What is a bus? A Bus is: Advantages of Buses. Disadvantage of Buses. Master versus Slave. The General Organization of a Bus

Datorteknik F1 bild 1 What is a bus? Slow vehicle that many people ride together well, true... A bunch of wires... A is: a shared communication link a single set of wires used to connect multiple subsystems

### DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute. 2nd (Spring) term 2012/2013

DIGITAL TECHNICS II Dr. Bálint Pődör Óbuda University, Microelectronics and Technology Institute 4. LECTURE: COUNTERS AND RELATED 2nd (Spring) term 2012/2013 1 4. LECTURE: COUNTERS AND RELATED 1. Counters,

### Digital Design Verification

Digital Design Verification Course Instructor: Debdeep Mukhopadhyay Dept of Computer Sc. and Engg. Indian Institute of Technology Madras, Even Semester Course No: CS 676 1 Verification??? What is meant

### Lecture 5: Gate Logic Logic Optimization

Lecture 5: Gate Logic Logic Optimization MAH, AEN EE271 Lecture 5 1 Overview Reading McCluskey, Logic Design Principles- or any text in boolean algebra Introduction We could design at the level of irsim

### Getting the Most Out of Synthesis

Outline Getting the Most Out of Synthesis Dr. Paul D. Franzon 1. Timing Optimization Approaches 2. Area Optimization Approaches 3. Design Partitioning References 1. Smith and Franzon, Chapter 11 2. D.Smith,

### LatticeECP3 High-Speed I/O Interface

April 2013 Introduction Technical Note TN1180 LatticeECP3 devices support high-speed I/O interfaces, including Double Data Rate (DDR) and Single Data Rate (SDR) interfaces, using the logic built into the

### Asynchronous & Synchronous Reset Design Techniques - Part Deux

Clifford E. Cummings Don Mills Steve Golson Sunburst Design, Inc. LCDM Engineering Trilobyte Systems cliffc@sunburst-design.com mills@lcdm-eng.com sgolson@trilobyte.com ABSTRACT This paper will investigate

### Finite State Machine. RTL Hardware Design by P. Chu. Chapter 10 1

Finite State Machine Chapter 10 1 Outline 1. Overview 2. FSM representation 3. Timing and performance of an FSM 4. Moore machine versus Mealy machine 5. VHDL description of FSMs 6. State assignment 7.

### ECE 3401 Lecture 7. Concurrent Statements & Sequential Statements (Process)

ECE 3401 Lecture 7 Concurrent Statements & Sequential Statements (Process) Concurrent Statements VHDL provides four different types of concurrent statements namely: Signal Assignment Statement Simple Assignment