CSE 140 – Discussion 7 Nima Mousavi.

Slides:



Advertisements
Similar presentations
CS 140 Lecture 11 Sequential Networks: Timing and Retiming Professor CK Cheng CSE Dept. UC San Diego 1.
Advertisements

EE 447 VLSI Design Lecture 7: Combinational Circuits
1 A latch is a pair of cross-coupled inverters –They can be NAND or NOR gates as shown –Consider their behavior (each step is one gate delay in time) –From.
1 COMP541 Flip-Flop Timing Montek Singh Oct 6, 2014.
Registers and Counters. Register Register is built with gates, but has memory. The only type of flip-flop required in this class – the D flip-flop – Has.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Modern VLSI Design 4e: Chapter 5 Copyright  2008 Wayne Wolf Topics n Performance analysis of sequential machines.
Introduction to CMOS VLSI Design Sequential Circuits.
Introduction to CMOS VLSI Design Sequential Circuits
MICROELETTRONICA Sequential circuits Lection 7.
Lecture 11: Sequential Circuit Design. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 11: Sequential Circuits2 Outline  Sequencing  Sequencing Element Design.
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Assume array size is 256 (mult: 4ns, add: 2ns)
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
Henry Hexmoor1 Chapter 7 Henry Hexmoor Registers and RTL.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
ENGIN112 L28: Timing Analysis November 7, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 28 Timing Analysis.
CSE 140L Lecture 4 Flip-Flops, Shifters and Counters Professor CK Cheng CSE Dept. UC San Diego.
Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits Credits: David Harris Harvey Mudd College (Material taken/adapted from Harris’ lecture.
ENGIN112 L25: State Reduction and Assignment October 31, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 25 State Reduction and Assignment.
ENGIN112 L26: Shift Registers November 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 26 Shift Registers.
CS 151 Digital Systems Design Lecture 28 Timing Analysis.
Lecture 5. Sequential Logic 3 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System Education & Research.
1 CSE370, Lecture 17 Lecture 17 u Logistics n Lab 7 this week n HW6 is due Friday n Office Hours íMine: Friday 10:00-11:00 as usual íSara: Thursday 2:30-3:20.
Abdullah Said Alkalbani University of Buraimi
Sequential Networks: Timing and Retiming
1 COMP541 Sequential Logic Timing Montek Singh Sep 30, 2015.
Clocking System Design
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
COE 360 Principles of VLSI Design Delay. 2 Definitions.
Digital Design - Sequential Logic Design
Lecture 11: Sequential Circuit Design
Chapter 3 Digital Design and Computer Architecture, 2nd Edition
Chapter 3 Digital Design and Computer Architecture: ARM® Edition
Finite state machine optimization
Finite state machine optimization
REGISTER TRANSFER LANGUAGE (RTL)
Flip Flops Lecture 10 CAP
Copyright © 2004 The McGraw-Hill Companies, Inc. All rights reserved.
Timing and Verification
Sequential circuit design with metastability
Sequential Circuit Timing
Timing issues.
Basic Delay in Gates Definitions
Reading: Hambley Ch. 7; Rabaey et al. Sec. 5.2
13. Sequential Circuit Timing
CSE 140 MT 2 Review By Daniel Knapp.
Instructor: Alexander Stoytchev
Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits
Satish Pradhan Dnyanasadhana college, Thane
COMP541 Flip-Flop Timing Montek Singh Feb 23, 2010.
COMBINATIONAL LOGIC.
Topics Performance analysis..
Instructor: Alexander Stoytchev
Instructor: Alexander Stoytchev
ARM implementation the design is divided into a data path section that is described in register transfer level (RTL) notation control section that is viewed.
332:578 Deep Submicron VLSI Design Lecture 14 Design for Clock Skew
CSE 370 – Winter Sequential Logic-2 - 1
Lecture 9: Combinational Circuit Design
Review Lectures Mar. 31 – April Note:.
Topics Clocking disciplines. Flip-flops. Latches..
ECE 352 Digital System Fundamentals
COMP541 Sequential Logic Timing
Lecture 19 Logistics Last lecture Today
Reading: Hambley Ch. 7; Rabaey et al. Secs. 5.2, 5.5, 6.2.1
ECE 352 Digital System Fundamentals
CSE 370 – Winter Sequential Logic-2 - 1
Instructor: Michael Greenbaum
Lecture 3: Timing & Sequential Circuits
Presentation transcript:

CSE 140 – Discussion 7 Nima Mousavi

Overview Midterm 2 Questions Delay and timing constraints State assignment strategies FSM partitioning Intro to Register Transfer Level (RTL design)

Any questions on Midterm 2?

Delay and Timing Constraints A brief déjà vu moment… TRANSISTORS! Have no fear, we’ll review!

CMOS Transistor as an Imperfect switch! nMOS pMOS 1

How about gates? RC model is used to estimate gate delay Why? Gate speed is determined by how fast it transistions 0  1 1  0 pMOS and nMOS are different! Rp ~ 2Rn Cp ~ Cn ~ Cg What would this cause?

Example Starting with a single inverter: Key ideas: What are different states? What is the resistance and capacitance? What is connected to F? What is this inverter “driving”? Fan out

Now that we are experts.. What does this circuit do? Delay analysis: Try different input combinations

Transistor level delay analysis is difficult! Introducing higher level delay properties for circuits and gates: Contamination delay (Min delay of gate) Minimum time from when an input changes until the output starts to change Propagation delay (Max delay of gate) Maximum time from when an input changes until the output is guaranteed to reach its final value (i.e., stop changing)

Flip Flops Delay in output Q Contamination delay (Min CLK to Q delay): tccq Time after clock edge that Q might be unstable (i.e., starts changing) Propagation delay (Max CLK to Q delay): tpcq Time after clock edge that the output Q is guaranteed to be stable (i.e. stops changing)

Flip Flops – Contd. Constraints for input D Setup time Hold time Time before the clock edge that data must be stable (i.e. not change) Hold time Time after the clock edge that data must be stable

How does this affect our design? - Y U so slow??

Being fast is not favorable either! - Y U so fast??

There is more to this: Clock skew - Y U so variant?? Wires from clock source to different components have different lengths. Resulting in slight variation in clock edges. Side note: How would you solve this problem?

Case 1: R1 is behind In the worst case, R1 receives the latest skewed clock and R2 receives the earliest skewed clock, leaving as little time as possible for data to propagate between the registers.

Case 2: R1 is ahead In the worst case, R1 receives an early skewed clock, CLK1, and R2 receives a late skewed clock, CLK2. The data zips through the register and combinational logic but must not arrive until a hold time after the late clock.

Example

Example

State assignment strategies One hot #states = #bits Wasteful, but easy to implement and debug. Minimum bit transition More bit flips mean more power usage and larger combinational logic. Output based encoding Use output logic to create state encoding.

Example – Min bit transition: 00 01 11 10 S0 S1 1 S4 S3 S2 BAD STATE ASSIGNMENT! Transition Bit flip S0  S1 2 S0  S2 3 S0  S3 S3  S0 S1  S4 S2  S4 S4  S1 Total 17

Example – Min bit transition: 00 01 11 10 S0 1 Transition Bit flip S0  S1 S0  S2 S0  S3 S3  S0 S1  S4 S2  S4 S4  S1 Total

Example – Min bit transition: 00 01 11 10 S0 S1 S3 1 S2 Transition Bit flip S0  S1 1 S0  S2 S0  S3 S3  S0 S1  S4 S2  S4 S4  S1 Total

Example – Min bit transition: 00 01 11 10 S0 S1 S3 1 S2 S4 GOOD STATE ASSIGNMENT! Transition Bit flip S0  S1 1 S0  S2 S0  S3 S3  S0 S1  S4 S2  S4 S4  S1 2 Total 8

State partitioning - Example

State partitioning - Solution

Intro to RTL design Complicated circuits are difficult to implement as FSMs Multi-bit inputs and outputs Complicated functionality Solution: Capture high-level functionality  HLSM (High Level State Machine) Example: Design an HLSM that captures the functionality of an incremental deposit function. Pushing a button adds 10 cents to the account.

Thank you! Any questions?