Outcomes. Spiral 1 / Unit 6. Flip Flops FLIP FLOPS AND REGISTERS. Flip flops and Registers. Outputs only change once per clock period

Similar documents
Outcomes. Spiral 1 / Unit 6. Flip Flops FLIP FLOPS AND REGISTERS. Flip flops and Registers. Outputs only change once per clock period

Spiral 1 / Unit 6. Flip-flops and Registers

ECE 331: N0. Professor Andrew Mason Michigan State University. Opening Remarks

University of Technology

Unit 15. Building Wide Muxes. Building Wide Muxes. Common Hardware Components WIDE MUXES

Using Programmable Logic and the PALCE22V10

Ripple Counters. Lecture 30 1

Verilog for High Performance

3. The high voltage level of a digital signal in positive logic is : a) 1 b) 0 c) either 1 or 0

Hours / 100 Marks Seat No.

ECE 465, Fall 2013, Instructor: Prof. Shantanu Dutt. Project 2 : Project Files Due Tue Nov. 26, Report Due Wed. Nov. 27, both at midnight

(Refer Slide Time: 00:01:53)

Mark Redekopp, All rights reserved. EE 352 Unit 8. HW Constructs

Sequential Circuit Design: Principle

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

Sequential Circuit Design: Principle

register:a group of binary cells suitable for holding binary information flip-flops + gates

Verilog for Synthesis Ing. Pullini Antonio

VHDL: RTL Synthesis Basics. 1 of 59

Last Lecture. Talked about combinational logic always statements. e.g., module ex2(input logic a, b, c, output logic f); logic t; // internal signal

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

Principles of Digital Techniques PDT (17320) Assignment No State advantages of digital system over analog system.

L5: Simple Sequential Circuits and Verilog

Lecture 12 VHDL Synthesis

FPGA for Software Engineers

L5: Simple Sequential Circuits and Verilog

Control Unit: Binary Multiplier. Arturo Díaz-Pérez Departamento de Computación Laboratorio de Tecnologías de Información CINVESTAV-IPN

VHDL for Synthesis. Course Description. Course Duration. Goals

L5: Simple Sequential Circuits and Verilog

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

ECE 465, Spring 2010, Instructor: Prof. Shantanu Dutt. Project 2 : Due Fri, April 23, midnight.

Controller Implementation--Part I. Cascading Edge-triggered Flip-Flops. Clock Skew. Cascading Edge-triggered Flip-Flops. Why Gating of Clocks is Bad!

Philadelphia University Department of Computer Science. By Dareen Hamoudeh

Binary Adders. Ripple-Carry Adder

The University of Alabama in Huntsville ECE Department CPE Midterm Exam February 26, 2003

Sequential Logic - Module 5

CDA 4253 FPGA System Design Op7miza7on Techniques. Hao Zheng Comp S ci & Eng Univ of South Florida

Control and Datapath 8

Good Evening! Welcome!

L5: Simple Sequential Circuits and Verilog

Verilog Execution Semantics

HANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment

VERILOG: FLIP-FLOPS AND REGISTERS

Learning Outcomes. Spiral 3 1. Digital Design Targets ASICS & FPGAS REVIEW. Hardware/Software Interfacing

Nonblocking Assignments in Verilog Synthesis; Coding Styles That Kill!

CS429: Computer Organization and Architecture

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

EECS 270 Verilog Reference: Sequential Logic

Microcomputers. Outline. Number Systems and Digital Logic Review

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

SHRI ANGALAMMAN COLLEGE OF ENGINEERING. (An ISO 9001:2008 Certified Institution) SIRUGANOOR, TIRUCHIRAPPALLI

MCMASTER UNIVERSITY EMBEDDED SYSTEMS

VHDL Modeling Behavior from Synthesis Perspective -Part B - EL 310 Erkay Savaş Sabancı University

ELCT 501: Digital System Design

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1

ECE 341 Midterm Exam

DESCRIPTION OF DIGITAL CIRCUITS USING VHDL

ECE 341 Final Exam Solution

BUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

Inferring Storage Elements

Scheme G. Sample Test Paper-I

R10. II B. Tech I Semester, Supplementary Examinations, May

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

REGISTER TRANSFER LANGUAGE

Topics. Midterm Finish Chapter 7

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.

Verilog Tutorial. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Chapter 5 Registers & Counters

Verilog Tutorial 9/28/2015. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Modeling Synchronous Logic Circuits. Debdeep Mukhopadhyay IIT Madras

Topics of this Slideset. CS429: Computer Organization and Architecture. Digital Signals. Truth Tables. Logic Design

EEL 4783: HDL in Digital System Design

CSE140L: Components and Design Techniques for Digital Systems Lab

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

EE 109L Review. Name: Solutions

Final Exam Solution Sunday, December 15, 10:05-12:05 PM

CHAPTER 6 Sequential Logic Design with PLDS

Injntu.com Injntu.com Injntu.com R16

Summer 2003 Lecture 21 07/15/03

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

CSE 502: Computer Architecture

CSE140L: Components and Design

Digital Design with SystemVerilog

problem maximum score 1 8pts 2 6pts 3 10pts 4 15pts 5 12pts 6 10pts 7 24pts 8 16pts 9 19pts Total 120pts

UNIT I BOOLEAN ALGEBRA AND COMBINATIONAL CIRCUITS PART-A (2 MARKS)

EECS150 - Digital Design Lecture 17 Memory 2

Chapter 10. Counters (a short discussion)

Job Posting (Aug. 19) ECE 425. ARM7 Block Diagram. ARM Programming. Assembly Language Programming. ARM Architecture 9/7/2017. Microprocessor Systems

COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK SUBJECT CODE & NAME: EC 1312 DIGITAL LOGIC CIRCUITS UNIT I

Computer Architecture: Part III. First Semester 2013 Department of Computer Science Faculty of Science Chiang Mai University

Structure of Computer Systems

EECS150 - Digital Design Lecture 10 Logic Synthesis

MLR Institute of Technology

falling edge Intro Computer Organization

From Datasheets to Digital Logic. synthesizing an FPGA SPI slave from the gates

Single Cycle Datapath

Transcription:

1-5.1 1-5.2 Spiral 1 / Unit 6 Flip flops and Registers Mark Redekopp Outcomes I know the difference between combinational and sequential logic and can name examples of each. I understand latency, throughput, and at least 1 technique to improve throughput I can identify when I need state vs. a purely combinational function I can convert a simple word problem to a logic function (TT or canonical form) or state diagram I can use Karnaugh maps to synthesize combinational functions with several outputs I understand how a register with an enable functions & is built I can design a working state machine given a state diagram I can implement small logic functions with complex CMOS gates 1-5.3 Flip Flops 1-5.4 Outputs only change once per clock period Outputs change on either the positive edges of the clock or the negative edges FLIP FLOPS AN REGISTERS Positive-Edge of the Clock Negative-Edge of the Clock

1-5.5 1-5.6 Flip Flops Positive Edge Triggered FF To indicate negative edge triggered use a bubble in front of the clock input Positive-Edge Triggered -FF Negative-Edge Triggered -FF looks at only at the positive edge * * x 1 x 1 1 1 -FF -FF No bubble indicates positive-edge triggered Bubble indicates negative-edge triggered only samples at the positive edges and then holds that value until the next edge 1-5.7 1-5.8 Negative Edge Triggered FF FF Example looks at only at the negative edge * * x 1 x 1 1 1 Assume positive edge triggered FF only samples at the negative edges and then holds that value until the next edge

1-5.9 1-5.1 FF Example Assume positive edge triggered FF FF Example Assume negative edge triggered FF 1-5.11 1-5.12 Shift Register Shift Register A shift register is a device that acts as a queue or FIFO (First in, First Out). It can store n bits and each bit moves one step forward each clock cycle One bit comes in the overall input per clock One bit falls out the output per clock

1-5.13 Initializing Outputs 1-5.14 Need to be able to initialize to a known value ( or 1) FF inputs are often connected to logic that will produce values after initialization Two extra inputs are often included: P and CLEAR INITIALIZING OUTPUTS Logic When CLEAR = active *= When = active *=1 When NEITHER = active Normal FF operation Note: and have priority over normal FF inputs 1-5.15 1-5.16 Initializing Outputs Initializing Outputs To help us initialize our FF s use a signal Generally produced for us and given along with It starts at Active (1) when power turns on and then goes to Inactive () for the rest of time When it s active use it to initialize the FF s and then it will go inactive for the rest of time and the FF s will work based on their inputs Need to be able to initialize to a known value ( or 1) Logic * = Logic When =, is inactive and looks at at each clock edge * = Inactive () for the rest of time Active (1) at time= 1

1-5.17 1-5.18 Implementing an Initial State Preset / Clear Example When is activated s initialize to and then when it goes back to 1 the s look at the inputs Assume an synchronous Preset Forces s to because it s connected to the inputs 1 3 5 7... Once goes to, the FF s look at the inputs 1... 1-5.19 Register Resets/Clears 1-5.2 Using muxes to control when register save data REGISTER WITH ABLES When the power turns on the bit stored in a flip flop will initialize to a random value Better to initialize it to a known value (usually 's) Use a special signal called "reset" to force the flip flops to 's i i * 1 2 3 1 2 3 1, X X i 1 X 1 1 4-bit Register

Register Problem Whatever the value is at the clock edge is sampled and passed to the output until the next clock edge Problem: Register will save data on EVER edge [3:] Often we want the ability to save on one edge and then keep that value for many more cycles 1 [3:]? 11 1 11 11 111 1 11 11 11 1 11 11 111 1 11 4-bit Register On clock edge, is passed to 1-5.21 Solution Registers ( FF s) will sample the bit every clock edge and pass it to Sometimes we may want to hold the value of and ignore even at a clock edge We can add an enable input and some logic in front of the FF to accomplish this i i *,1 X X X i 1 X X X i 1 1 1 1 1 S FF with ata Enable (Always clocks, but selectively chooses old value,, or new value ) 1-5.22 1-5.23 1-5.24 Registers w/ Enables 4 bit Register w/ ata (Load) Enable When =, value is passed back to the input and thus will maintain its value at the next clock edge When =1, value is passed to the input and thus will change at the edge based on 1 When =, is recycled back to the input When =1, input is passed to FF input Registers ( FF s) will sample the bit every clock edge and pass it to Sometimes we may want to hold the value of and ignore even at a clock edge We can add an enable input and some logic in front of the FF to accomplish this i i *,1 X X X i 1 X X X i 1 1 1 1 1 2 3 4-bit register with 4-bit wide 2-to-1 mux in front of the inputs 1 2 3

Registers w/ Enables 1-5.25 The value is sampled at the clock edge only if the enable is active Otherwise the current value is maintained [3:] 1 11 1 11 11 111 1 11 11 [3:] 11 111 1