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

Ripple Counters. Lecture 30 1

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.

Using Programmable Logic and the PALCE22V10

Verilog for High Performance

University of Technology

(Refer Slide Time: 00:01:53)

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

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

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

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

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

L5: Simple Sequential Circuits and Verilog

Sequential Circuit Design: Principle

L5: Simple Sequential Circuits and Verilog

L5: Simple Sequential Circuits and Verilog

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

VHDL: RTL Synthesis Basics. 1 of 59

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

Verilog for Synthesis Ing. Pullini Antonio

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

L5: Simple Sequential Circuits and Verilog

Lecture 12 VHDL Synthesis

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

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

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

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

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

FPGA for Software Engineers

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

VHDL for Synthesis. Course Description. Course Duration. Goals

ECE 341 Midterm Exam

ECE 341 Final Exam Solution

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

Scheme G. Sample Test Paper-I

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

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

REGISTER TRANSFER LANGUAGE

Control and Datapath 8

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

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

Good Evening! Welcome!

Binary Adders. Ripple-Carry Adder

CHAPTER 6 Sequential Logic Design with PLDS

Nonblocking Assignments in Verilog Synthesis; Coding Styles That Kill!

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

Injntu.com Injntu.com Injntu.com R16

Summer 2003 Lecture 21 07/15/03

Sequential Logic - Module 5

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

Microcomputers. Outline. Number Systems and Digital Logic Review

CS429: Computer Organization and Architecture

Philadelphia University Department of Computer Science. By Dareen Hamoudeh

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

Verilog Execution Semantics

Chapter 10. Counters (a short discussion)

MCMASTER UNIVERSITY EMBEDDED SYSTEMS

VERILOG: FLIP-FLOPS AND REGISTERS

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

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

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

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

DESCRIPTION OF DIGITAL CIRCUITS USING VHDL

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

Chapter 4. The Processor

Parallel Programming Multicore systems

Chapter 4. The Processor

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

Digital Design with FPGAs. By Neeraj Kulkarni

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

CSE140L: Components and Design Techniques for Digital Systems Lab

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

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Data Paths and Microprogramming

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

Modeling Synchronous Logic Circuits. Debdeep Mukhopadhyay IIT Madras

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

ELCT 501: Digital System Design

Chapter 5 Registers & Counters

Inferring Storage Elements

In this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified.

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

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

Final Examination (Open Katz, asynchronous & test notes only, Calculators OK, 3 hours)

CSE140L: Components and Design

Code No: R Set No. 1

ENGR 3410: MP #1 MIPS 32-bit Register File

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

Parallel logic circuits

CS61C : Machine Structures

CSE 502: Computer Architecture

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

Topics. Midterm Finish Chapter 7

Memory, Latches, & Registers

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

Transcription:

1-6.1 1-6.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-6.3 Flip Flops 1-6.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-6.5 1-6.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-6.7 1-6.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-6.9 1-6.1 FF Example Assume negative edge triggered FF 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-6.11 1-6.12 Shift Register INITIALIZING OUTPUTS

1-6.13 1-6.14 Initializing Outputs Initializing Outputs 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 Logic When CLEAR = active *= When = active *= When NEITHER = active Normal FF operation 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 Inactive () for the rest of time Note: and have priority over normal FF inputs Active (1) at time= 1-6.15 1-6.16 Initializing Outputs Implementing an Initial State Need to be able to initialize to a known value ( or 1) When is activated s initialize to and then when it goes back to 1 the s look at the inputs When =, is inactive and looks at at each clock edge Forces s to because it s connected to the inputs Logic * = _ Logic * = _... Once goes to, the FF s look at the inputs 1... 1

1-6.17 1-6.18 Preset / Clear Example Assume an synchronous Preset 1 3 5 7 Using muxes to control when register save data REGISTER WITH ABLES 1-6.19 1-6.2 Register Resets/Clears Register Problem When the power turns on the bit stored in a flip flop will initialize to a value Better to initialize it to a known value ( ) Use a special signal called " " to force the flip flops to 's 1 2 1 2 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 edge Often we want the ability to save on one edge and then that value for many more cycles i i * 1, X X i 3 3 [3:] 1 11 1 11 11 111 1 11 11 [3:]? 11 1 11 11 111 1 11 4-bit Register 4-bit Register On clock edge, is passed to

1-6.21 1-6.22 Solution Registers w/ Enables 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 1 S FF with ata Enable (Always clocks, but selectively chooses old value,, or new value ) 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 1-6.23 1-6.24 4 bit Register w/ ata (Load) Enable Registers w/ Enables 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 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