Lecture #4: Potpourri

Similar documents
Timing Constraints in Sequential Designs. 63 Sources: TSR, Katz, Boriello & Vahid

Sequential Logic Design: Controllers

Problem Set 9 Solutions

State & Finite State Machines

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

EECS 427 Lecture 14: Timing Readings: EECS 427 F09 Lecture Reminders

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

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

Preparation of Examination Questions and Exercises: Solutions

State and Finite State Machines

ENGG 1203 Tutorial _03 Laboratory 3 Build a ball counter. Lab 3. Lab 3 Gate Timing. Lab 3 Steps in designing a State Machine. Timing diagram of a DFF

The Linear-Feedback Shift Register

Laboratory Exercise #8 Introduction to Sequential Logic

Jin-Fu Li Advanced Reliable Systems (ARES) Lab. Department of Electrical Engineering. Jungli, Taiwan

Clock Strategy. VLSI System Design NCKUEE-KJLEE

ALU A functional unit

State & Finite State Machines

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING EXAMINATION SEMESTER /2017

5. Sequential Logic x Computation Structures Part 1 Digital Circuits. Copyright 2015 MIT EECS

ALU, Latches and Flip-Flops

CSE241 VLSI Digital Circuits Winter Lecture 07: Timing II

Designing Sequential Logic Circuits

EE115C Winter 2017 Digital Electronic Circuits. Lecture 19: Timing Analysis

Adders allow computers to add numbers 2-bit ripple-carry adder

Latches. October 13, 2003 Latches 1

Laboratory Exercise #11 A Simple Digital Combination Lock

Topic 8: Sequential Circuits

CHAPTER 9: SEQUENTIAL CIRCUITS

Sequential Circuits. Circuits with state. Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. L06-1

UNIVERSITY OF CALIFORNIA

Lecture 7: Logic design. Combinational logic circuits

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

Digital Control of Electric Drives

Sequential Logic. Road Traveled So Far

Lecture 9: Clocking, Clock Skew, Clock Jitter, Clock Distribution and some FM

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007

EECS150 - Digital Design Lecture 23 - FSMs & Counters

UNIVERSITY OF CALIFORNIA, BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences

Parity Checker Example. EECS150 - Digital Design Lecture 9 - Finite State Machines 1. Formal Design Process. Formal Design Process

Name: Answers. Mean: 83, Standard Deviation: 12 Q1 Q2 Q3 Q4 Q5 Q6 Total. ESE370 Fall 2015

GMU, ECE 680 Physical VLSI Design 1

EECS150 - Digital Design Lecture 22 - Arithmetic Blocks, Part 1

EET 310 Flip-Flops 11/17/2011 1

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

EECS150 - Digital Design Lecture 17 - Sequential Circuits 3 (Counters)

Xarxes de distribució del senyal de. interferència electromagnètica, consum, soroll de conmutació.

Sequential Logic. Handouts: Lecture Slides Spring /27/01. L06 Sequential Logic 1

Chapter 3. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 3 <1>

EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs. Cross-coupled NOR gates

Fundamentals of Computer Systems

CPS 104 Computer Organization and Programming Lecture 11: Gates, Buses, Latches. Robert Wagner

Models for representing sequential circuits

Example: vending machine

Timing Issues. Digital Integrated Circuits A Design Perspective. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolić. January 2003

Clock signal in digital circuit is responsible for synchronizing the transfer to the data between processing elements.

Synchronous Sequential Circuit Design. Digital Computer Design

Fundamentals of Computer Systems

Digital Electronics II Mike Brookes Please pick up: Notes from the front desk

Y. Tsiatouhas. VLSI Systems and Computer Architecture Lab

Next, we check the race condition to see if the circuit will work properly. Note that the minimum logic delay is a single sum.

CSE140: Components and Design Techniques for Digital Systems. Midterm Information. Instructor: Mohsen Imani. Sources: TSR, Katz, Boriello & Vahid

10/12/2016. An FSM with No Inputs Moves from State to State. ECE 120: Introduction to Computing. Eventually, the States Form a Loop

Lab 3 Revisited. Zener diodes IAP 2008 Lecture 4 1

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1

Lab #10: Design of Finite State Machines

EECS150 - Digital Design Lecture 18 - Counters

EECS150 - Digital Design Lecture 18 - Counters

Fundamentals of Computer Systems

Solution (a) We can draw Karnaugh maps for NS1, NS0 and OUT:

Ch 9. Sequential Logic Technologies. IX - Sequential Logic Technology Contemporary Logic Design 1

Chapter 3. Chapter 3 :: Topics. Introduction. Sequential Circuits

EECS150 - Digital Design Lecture 16 Counters. Announcements

Chapter 7 Sequential Logic

COE 328 Final Exam 2008

Lecture 10: Synchronous Sequential Circuits Design

EE382 Processor Design Winter 1999 Chapter 2 Lectures Clocking and Pipelining

Sequential Logic Circuits

Lecture 9: Sequential Logic Circuits. Reading: CH 7

Clocked Synchronous State-machine Analysis

Digital System Clocking: High-Performance and Low-Power Aspects. Vojin G. Oklobdzija, Vladimir M. Stojanovic, Dejan M. Markovic, Nikola M.

Lecture 13: Sequential Circuits, FSM

ELCT201: DIGITAL LOGIC DESIGN

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec09 Counters Outline.

Programmable Logic Devices II

Generalized FSM model: Moore and Mealy

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)

CMPEN 411. Spring Lecture 18: Static Sequential Circuits

Lecture 13: Sequential Circuits, FSM

CE1911 LECTURE FSM DESIGN PRACTICE DAY 1

Digital Fundamentals

EE371 - Advanced VLSI Circuit Design

CSE140: Design of Sequential Logic

EEE2135 Digital Logic Design

Review Problem 1. should be on. door state, false if light should be on when a door is open. v Describe when the dome/interior light of the car

Combinational vs. Sequential. Summary of Combinational Logic. Combinational device/circuit: any circuit built using the basic gates Expressed as

MODULE 5 Chapter 7. Clocked Storage Elements

Integrated Circuits & Systems

Lecture 3 Review on Digital Logic (Part 2)

EE141- Spring 2007 Digital Integrated Circuits

11.1 As mentioned in Experiment 10, sequential logic circuits are a type of logic circuit where the output of

Transcription:

Lecture #4: Potpourri Paul Hartke Phartke@stanford.edu Stanford EE183 April 15, 2002 Tutorial/Verilog Questions? Tutorial is mostly done, right? Due tonight at Midnight (Mon 4/14/02) 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. Try to print side by side and duplex to save the forests. As usual, I ll be in the lab after lecture to answer questions. 1

Course Logistics Labs due every two weeks Writeup due by following Monday at Midnight Lab 1 is due Wed April 24 th at Midnight Lab 2 is due Wed May 8 th at Midnight Lab 3 is due Wed May 22 nd at Midnight Lab 4 is due Wed June 5 th at Midnight Final Quiz 7-9pm TBD Most likely week of May 20 th or 27 th Lab 1 Questions? VGA TCGROM Sega Game Controller Two dual port memories Why? 4Kx1 architecture CoreGen 2

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 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/group/xsboard-users/files/ 3

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 EE121 Topics (cont 2.) FSM Timing Skew, jitter, H clock distribution tree Max path, min path, critical path Metastability, latches and flops Async Input Synchronizer Circuit Memory Architectures ROM, SRAM, Dual Port SRAM, DRAM We ll have a guest lecture on metastability 4

FSM Timing Now that we now 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. 5

Clock Skew II 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 6

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. 7

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 8

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 <= Clock Period 1 + 10 + 1 + 2 <= Clock Period 14ns <= Clock Period Max Frequency is 71MHz 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 hold 1 + 1 >= 2 + 1 Whoops!! AKA, Hold-Time Violation 9

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. 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 be modifying the clock. 10

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. 11