Feedback Sequential Circuits

Similar documents
Unit 11. Latches and Flip-Flops

Flip-flop and Registers

INTRODUCTION TO SEQUENTIAL CIRCUITS

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

D Latch (Transparent Latch)

Flip-Flops. Because of this the state of the latch may keep changing in circuits with feedback as long as the clock pulse remains active.

The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both).

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

CSE115: Digital Design Lecture 23: Latches & Flip-Flops

ECE 341. Lecture # 2

Digital Design, Kyung Hee Univ. Chapter 5. Synchronous Sequential Logic

Synchronous Sequential Logic

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

LAB #4 SEQUENTIAL LOGIC CIRCUIT

Logic Design. Flip Flops, Registers and Counters

6. Sequential Logic Flip-Flops

Lecture 8: Sequential Logic

Sequential Logic. E&CE 223 Digital Circuits and Systems (A. Kennings) Page 1

EMT 125 Digital Electronic Principles I CHAPTER 6 : FLIP-FLOP

Digital Fundamentals: A Systems Approach

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

Chapter 11 Latches and Flip-Flops

Modeling Latches and Flip-flops

Unit 9 Latches and Flip-Flops. Dept. of Electrical and Computer Eng., NCTU 1

Sequential circuits. Same input can produce different output. Logic circuit. William Sandqvist

Chapter 5: Synchronous Sequential Logic

Digital Logic Design Sequential Circuits. Dr. Basem ElHalawany

CHAPTER 1 LATCHES & FLIP-FLOPS

CS/EE Homework 6

PRE J. Figure 25.1a J-K flip-flop with Asynchronous Preset and Clear inputs

COE 202: Digital Logic Design Sequential Circuits Part 1. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

DIGITAL CIRCUIT LOGIC UNIT 11: SEQUENTIAL CIRCUITS (LATCHES AND FLIP-FLOPS)

Introduction. NAND Gate Latch. Digital Logic Design 1 FLIP-FLOP. Digital Logic Design 1

Engr354: Digital Logic Circuits

3 Flip-Flops. The latch is a logic block that has 2 stable states (0) or (1). The RS latch can be forced to hold a 1 when the Set line is asserted.

ESE 570 STATIC SEQUENTIAL CMOS LOGIC CELLS. Kenneth R. Laker, University of Pennsylvania, updated 25Mar15

Synchronous Sequential Logic

hochschule fu r angewandte wissenschaften hamburg Prof. Dr. B. Schwarz FB Elektrotechnik/Informatik

P U Q Q*

Combinational vs Sequential

Class 19 Sequential Logic: Flip-Flop

Class 06 Sequential Logic: Flip-Flop

Advanced Digital Logic Design EECS 303

Note that none of the above MAY be a VALID ANSWER.

RS flip-flop using NOR gate

Chapter 5 Synchronous Sequential Logic

CHAPTER 4: Logic Circuits

CHAPTER 4: Logic Circuits

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE422) LATCHES and FLIP-FLOPS

Switching Circuits & Logic Design

Laboratory Exercise 7

Sequential Circuits: Latches & Flip-Flops

cascading flip-flops for proper operation clock skew Hardware description languages and sequential logic

ACS College of Engineering. Department of Biomedical Engineering. HDL pre lab questions ( ) Cycle-1

CMOS Latches and Flip-Flops

Flip-Flops and Registers

Chapter 5 Flip-Flops and Related Devices

Software Engineering 2DA4. Slides 9: Asynchronous Sequential Circuits

Sequential Circuits. Output depends only and immediately on the inputs Have no memory (dependence on past values of the inputs)

P U Q Q*

Chapter 6. sequential logic design. This is the beginning of the second part of this course, sequential logic.

CHAPTER 11 LATCHES AND FLIP-FLOPS

ECEN454 Digital Integrated Circuit Design. Sequential Circuits. Sequencing. Output depends on current inputs

Introduction to Sequential Circuits

Basis of sequential circuits: the R-S latch

Laboratory Exercise 7

The NOR latch is similar to the NAND latch

Synchronous Sequential Logic. Chapter 5

California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7

Level and edge-sensitive behaviour

Digital Fundamentals

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98

Digital Circuit And Logic Design I. Lecture 8

Digital Circuit And Logic Design I

Sequential Logic Circuits

IT T35 Digital system desigm y - ii /s - iii

ECE 3401 Lecture 11. Sequential Circuits

EITF35: Introduction to Structured VLSI Design

MUX AND FLIPFLOPS/LATCHES

Sequential Design Basics

ELCT201: DIGITAL LOGIC DESIGN

EEE2135 Digital Logic Design Chapter 6. Latches/Flip-Flops and Registers/Counters 서강대학교 전자공학과

Combinational / Sequential Logic

EEC 118 Lecture #9: Sequential Logic. Rajeevan Amirtharajah University of California, Davis Jeff Parkhurst Intel Corporation

CMSC 313 Preview Slides

Sequential Circuit Design: Principle

Experiment 8 Introduction to Latches and Flip-Flops and registers

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits

CS8803: Advanced Digital Design for Embedded Hardware

ELE2120 Digital Circuits and Systems. Tutorial Note 7

Review of Flip-Flop. Divya Aggarwal. Student, Department of Physics and Astro-Physics, University of Delhi, New Delhi. their state.

Lecture 11: Sequential Circuit Design

Slide Set 7. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

Topics of Discussion

Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems

STATIC RANDOM-ACCESS MEMORY

UNIT III. Combinational Circuit- Block Diagram. Sequential Circuit- Block Diagram

2 Sequential Circuits

Eng. Mohammed Samara. Fall The Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department

Chapter 8 Sequential Circuits

Transcription:

Feedback Sequential Circuits sequential circuit output depends on 1. current inputs 2. past sequence of inputs current state feedback sequential circuit uses ordinary gates and feedback loops to create memory

Simplest Memory Element strictly digital analysis two stable states Vout1, high or low no inputs, no control from an analog perspective three stable states

Metastability From a practical perspective: may happen at power up marginal triggering conditions asynchronous inputs do not meet flip-flop setup and hold times especially severe in high speed systems clock period too short hold may require more that one clock period

Latch vs Flip-flop latch sequential device that changes outputs when inputs change (no clock) level sensitive flip-flop sequential device that changes outputs at times determined by clocking signal edge sensitive

SR Latch (set-reset latch) if S=R=0 S=0;R=1 S R Q Q_N 0 0 Q t-1 Q_N t-1 0 1 0 1 1 0 1 0 1 1 0 0 S=1;R=0 S=R=1

SR Latch Timing Parameters propagation delay, t plh, t phl time for transition on input to produce a transition on output minimum pulse width (shaded), t pw if pulse < minimum, output is metastable

SR Latch in VHDL library IEEE; use IEEE.std_logic_1164.all; entity srlatch is port ( R, S : in std_logic; Q, QN : buffer std_logic); end entity srlatch; architecture srlatch_a of srlatch is begin Q <= R nor QN; QN <= S nor Q; end architecture srlatch_a;

Quartus (older versions) what you used to see functional timing

QSim what you now see functional timing

Quartus what happens? 1. Functional Start Analysis & Synthesis Simulate via Qsim 2. Functional + Design Assistant Start Analysis & Synthesis Processing Start Start Design Assistant Warning (335093): TimeQuest Timing Analyzer is analyzing 1 combinational loops as latches. 3. Timing Start Compilation Warning (335093): TimeQuest Timing Analyzer is analyzing 1 combinational loops as latches. Simulate via QSim

D latch (data latch, transparent latch, dlatch) C D Q Q_N 0 -- Q t-1 Q_N t-1 1 0 0 1 1 1 1 0 SR latch constrained so that S=R eliminates simultaneous assertion problem C enable (level triggered)

D Latch Timing Parameters propagation delay, t plh, t phl setup time, t setup (t s ); hold time, t hold (t h ) keep input stable before and after clock transition if setup and hold not met, output unpredictable and may become metastable

D Flip-flop (positive edge trigger) clk = 0, master slave D CLK Q Q_N 0 0 1 1 1 0 0 Q t-1 Q_N t-1 1 Q t-1 Q_N t-1 clk = 1, master slave BUT clk => means that there will be a setup and hold time requirement

D Flip-flop VHDL as dataflow library IEEE; use IEEE.std_logic_1164.all; entity dlatchedge is port ( D, clk : in std_logic; Q, QN : buffer std_logic); end entity dlatchedge; architecture dlatche_a of dlatchedge is signal QM, QMN : std_logic; begin QM <= (D nand not clk) nand QMN; QMN <= (not D nand not clk) nand QM; Q <= (QM nand not(not clk)) nand QN; QN <= (not QM nand not(not clk)) nand Q; end architecture dlatche_a; A1L5_p1_out = A1L5 & clk; A1L5_p2_out =!clk & D; A1L5_p3_out = A1L5 & D; A1L5_or_out = A1L5_p1_out # A1L5_p2_out # A1L5_p3_out; A1L5 = A1L5_or_out; A1L8_p1_out =!A1L8 &!clk; A1L8_p2_out = clk &!A1L5; A1L8_p3_out =!A1L8 &!A1L5; A1L8_or_out = A1L8_p1_out # A1L8_p2_out # A1L8_p3_out; A1L8 =!(A1L8_or_out); A1L7_p1_out =!A1L5 & clk; A1L7_or_out = A1L7_p1_out #!A1L8; A1L7 = A1L7_or_out; D = INPUT(); clk = INPUT(); QM = OUTPUT(A1L5); Q = OUTPUT(A1L8); QN = OUTPUT(A1L7);

D Flip-flop if clock library IEEE; use IEEE.std_logic_1164.all; entity dlatchedge2 is port ( D, clk : in std_logic; Q : out std_logic); end entity dlatchedge2; architecture dlatche2_a of dlatchedge2 is begin process (clk) begin if clk'event and clk='1' then Q <= D; end if; end process; end architecture dlatche2_a;

D Flip-flop if clock library IEEE; use IEEE.std_logic_1164.all; entity dlatchedge2 is port ( D, clk : in std_logic; Q : out std_logic); end entity dlatchedge2; architecture dlatche2_a of dlatchedge2 is begin process (clk) begin if clk'event and clk='1' then Q <= D; end if; end process; end architecture dlatche2_a; A1L4Q_or_out = D; A1L4Q_reg_input = A1L4Q_or_out; A1L4Q = DFFE(A1L4Q_reg_input, GLOBAL(clk),,, ); --D is D at PIN_41 --operation mode is input D = INPUT(); --clk is clk at PIN_43 --operation mode is input clk = INPUT(); --Q is Q at PIN_12 --operation mode is output Q = OUTPUT(A1L4Q);

D Flip-flop wait until library IEEE; use IEEE.std_logic_1164.all; entity dlatchedge3 is port ( D, clk : in std_logic; Q : out std_logic); end entity dlatchedge3; architecture dlatche3_a of dlatchedge3 is begin process begin wait until clk'event and clk='1'; Q <= D; end process; end architecture dlatche3_a;

Implied Memory library IEEE; use IEEE.std_logic_1164.all; entity implied is port ( A, B : IN std_logic; AeqB : OUT std_logic); end entity implied; - when executed, AeqB is always 1, why? architecture behav of implied is begin process (A, B) begin if A = B then AeqB <= '1'; end if; end process; end architecture behav;

Implied Memory Warning (10631): VHDL Process Statement warning at implied.vhd(11): inferring latch(es) for signal or variable "AeqB", which holds its previous value in one or more paths through the process