Lecture #4: Clocking in Synchronous Circuits

Similar documents
EE178 Spring 2018 Lecture Module 5. Eric Crabill

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Homework #8 due next Tuesday. Project Phase 3 plan due this Sat.

Clock - key to synchronous systems. Lecture 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

CS3350B Computer Architecture Winter 2015

Clock - key to synchronous systems. Topic 7. Clocking Strategies in VLSI Systems. Latch vs Flip-Flop. Clock for timing synchronization

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Static Timing Analysis for Nanometer Designs

EE141-Fall 2010 Digital Integrated Circuits. Announcements. Synchronous Timing. Latch Parameters. Class Material. Homework #8 due next Tuesday

Testing Results for a Video Poker System on a Chip

1. Synopsis: 2. Description of the Circuit:

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Lecture 8: Sequential Logic

Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift Register. Fall 2017

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

VARIABLE FREQUENCY CLOCKING HARDWARE

Digital Electronics II 2016 Imperial College London Page 1 of 8

Timing EECS141 EE141. EE141-Fall 2011 Digital Integrated Circuits. Pipelining. Administrative Stuff. Last Lecture. Latch-Based Clocking.

EE 209 Lab 7 A Walk-Off

ECE 555 DESIGN PROJECT Introduction and Phase 1

CARLETON UNIVERSITY. Facts without theory is trivia. Theory without facts is bull 2607-LRB

CS61C : Machine Structures

Asynchronous inputs. 9 - Metastability and Clock Recovery. A simple synchronizer. Only one synchronizer per input

CS61C : Machine Structures

Digital System Design

EE 101 Lab 7 Crosswalk

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:

11. Sequential Elements

More Digital Circuits


FSM Cookbook. 1. Introduction. 2. What Functional Information Must be Modeled

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

TKK S ASIC-PIIRIEN SUUNNITTELU

First Name Last Name November 10, 2009 CS-343 Exam 2

EECS150 - Digital Design Lecture 19 - Finite State Machines Revisited

Software Engineering 2DA4. Slides 9: Asynchronous Sequential Circuits

Chapter 4: One-Shots, Counters, and Clocks

Clocking Spring /18/05

Name Of The Experiment: Sequential circuit design Latch, Flip-flop and Registers

Chapter 7 Sequential Circuits

FPGA Design. Part I - Hardware Components. Thomas Lenzi

Contents Slide Set 6. Introduction to Chapter 7 of the textbook. Outline of Slide Set 6. An outline of the first part of Chapter 7

Modeling Latches and Flip-flops

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

EE 447/547 VLSI Design. Lecture 9: Sequential Circuits. VLSI Design EE 447/547 Sequential circuits 1

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Level and edge-sensitive behaviour

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers

Laboratory 4. Figure 1: Serdes Transceiver

Digital Circuits and Systems

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

EECS150 - Digital Design Lecture 18 - Circuit Timing (2) In General...

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

Clock Domain Crossing. Presented by Abramov B. 1

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

Chapter 3: Sequential Logic

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

EEC 116 Fall 2011 Lab #5: Pipelined 32b Adder

Combinational vs Sequential

Achieving Timing Closure in ALTERA FPGAs

EECS150 - Digital Design Lecture 10 - Interfacing. Recap and Topics

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8

Memory elements. Topics. Memory element terminology. Variations in memory elements. Clock terminology. Memory element parameters. clock.

Metastability Analysis of Synchronizer

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

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

Field Programmable Gate Array (FPGA) Based Trigger System for the Klystron Department. Darius Gray

Go BEARS~ What are Machine Structures? Lecture #15 Intro to Synchronous Digital Systems, State Elements I C

EECS 270 Group Homework 4 Due Friday. June half credit if turned in by June

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

L11/12: Reconfigurable Logic Architectures

Review C program: foo.c Compiler Assembly program: foo.s Assembler Object(mach lang module): foo.o. Lecture #14

CS61C : Machine Structures

CS61C : Machine Structures

Figure 1 Block diagram of a 4-bit binary counter

Lecture 11: Sequential Circuit Design

Lecture 10: Sequential Circuits

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

Sequential Elements con t Synchronous Digital Systems

Last time, we saw how latches can be used as memory in a circuit

6.S084 Tutorial Problems L05 Sequential Circuits

L14: Quiz Information and Final Project Kickoff. L14: Spring 2004 Introductory Digital Systems Laboratory

Modeling Latches and Flip-flops

Efficient 500 MHz Digital Phase Locked Loop Implementation sin 180nm CMOS Technology

EITF35: Introduction to Structured VLSI Design

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

EECS 270 Midterm 1 Exam Closed book portion Winter 2017

EECS 427 Discussion 1

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

Synchronous Sequential Design

EE273 Lecture 15 Synchronizer Design

2.6 Reset Design Strategy

Advanced Digital Logic Design EECS 303

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

CSE 140 Exam #3 Tajana Simunic Rosing

Keeping The Clock Pure. Making The Impurities Digestible

FSM Implementations. TIE Logic Synthesis Arto Perttula Tampere University of Technology Fall Output. Input. Next. State.

Transcription:

Lecture #4: Clocking in Synchronous Circuits Kunle Stanford EE183 January 15, 2003 Tutorial/Verilog Questions? Tutorial is done, right? Due at midnight (Fri 1/17/03) Turn in copies of all verilog, copy of verification scripts you wrote, corresponding waveforms annotated, FGPA Editor output (use PrtSc and copy to MS Paint), the part of the implementation output that shows the speed and the amount of logic units utilized. Check out the tao of EE183 on the web 1

Course Logistics Labs due every two weeks Prelab report due a week before demo Demo due on Fridays at 5pm Report due by following Monday at midnight Lab Pre-Lab Report Due Demo Due by 5 pm Final Report Due 1 Jan 17 Jan 24 Jan 27 2 Jan 30 Feb 17 Feb 10 3 Feb 14 Feb 21 Feb 24 4 Feb 28 Mar 7 Mar 10 All reports are submitted by email using PDF PreLab Encourage you to think about structure of your design before you implement Datapath control decomposition FSM hierarchy and states Better prelab leads to easier implementation Worth 2pts of your report Demo: 20 pts Prelab: 2pts Report: 18pts 2

VGA TCGROM Lab 1 Questions? Sega Game Controller Two dual port memories Why? 4Kx1 architecture CoreGen Lab 1: Optional Fun Things Display the number of iterations Capability to clear the screen Instead of the cheesy (but perfectly fine) board reset Capability to start with a random game board LFSR seeded by counter from powerup Fastforward Have the next N game states be computed in rapid succession Perhaps use a third BRAM 3

Lab 1: Known Interesting Initial States Some starting states are more interesting than others Have the initialization of the BRAM be one of them. Have multiple ones and switch between them Use Memutils.zip to generate the BRAMs init files. http://groups.yahoo.com/xsboard-users/files http://groups.yahoo.com/group/xsboard-users/files/ Lab 1: Background Image When the game state location is off show a background image Have another 64x64 BRAM storing the image and index it the same way as the game board. If the location is vacant then display whatever is in the background image. we only have 10 4kbit BRAMs 4

Lab 1 Design Structure Hierarchy of cooperating FSMs Master control FSM Gamepad FSM VGA FSM Board update FSM Game state FSM Datapath elements BRAMCounters Registers Make VGA and gamepad modules resuable Today s Lecture Clocking in synchronous systems Skew jitter H clock distribution tree Max path, min path, critical path 5

FSM Timing Now that we know how to design a state machine, how fast can we make it run? The register-to-register performance is the key metric to consider. Clock Skew We have assumed that the clock reaches each DFF simultaneously. It should be no surprise that this assumption is not entirely valid. Clock Skew is the non-time varying (static) difference in the clock arrival time at two different DFFs. 6

Clock Skew The wire propagation delay is non trivial and the difference in arrival times for this type of layout is unacceptable. H Clock Distribution Tree Make Clock distribution tree in the form of an H so that all flops are equidistant to the root of the tree. An FPGA is a very regular structure but for an ASIC, there are a variable number of DFFs in each sector. CLK 7

Spartan II Skew Data Clock Jitter Clock Jitter is the time-varying (cycle to cycle) difference in the clock arrival time at the same DFF. There are many sources of jitter inaccuracies in the source oscillator, drifting of the Phase Lock Loop (PLL), and crosstalk between the clock and other transitioning signals. 8

Spartan II Jitter Data DFF values: Example Parameters T clk->q =1ns, T setup =1ns, T hold =1ns Clock skew is max 2ns and jitter is 2ns Combinational logic T cl_pdmax =10ns, T cl_pdmin =1ns 9

MaxPath Timing Constraint Add up the components that result in the time budget; the period must be greater than this value. T clk->q +T cl_pdmax +T setup +T skew +T jitter <= Clock Period 1 + 10 + 1 + 2 + 2 <= Clock Period 16ns <= Clock Period Max Frequency is 62.5MHz MinPath Timing Constraint Consider what happens when the same clock edge is considered at the far DFF. T clk->q +T cl_pdmin >= T skew + T jitter + T hold 1 + 1 >= 2 + 2 + 1 Whoops!! L AKA, Hold-Time Violation 10

MinPath and ShiftRegisters Shift Registers can easily fall prey to min path timing violations. Fix the violations by increasing delay between Ds and Qs Insert pairs of inverters FPGA DFF clk->q is big enough so that MinPath violations are rare. T clk-q = 1.0ns T hold = 0ns T skew = 0.14ns T jitter = 0.06ns Impacts You can fix MaxPath timing constraint violations by slowing down the clock after the circuit is implemented. You cannot fix MinPath timing constraint violations by modifying the clock. 11

Static Timing Tool Longest MaxPath Constraint is called Critical Path of design. Find critical path by calculating all the MaxPath constraints of ever every path in the design and picking the largest. Perfect tool for a computer. Xilinx Timing Analyzer is an example of a static timing tool. Timing Closure Challenges When integrate individual blocks that meet timing, the combined system might not meet timing. In general have registered outputs from top-level blocks. This doesn t solve the problem if the chip is so large/fast that a signal cannot propagate all the way across the chip. Reason that I/Os are always useful to register Not always certain timing budget available on the board. 12