Registers and clocking issues

Slides:



Advertisements
Similar presentations
Registers and Counters
Advertisements

Give qualifications of instructors: DAP
CS 151 Digital Systems Design Lecture 19 Sequential Circuits: Latches.
Flip-Flops Last time, we saw how latches can be used as memory in a circuit. Latches introduce new problems: We need to know when to enable a latch. We.
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
Henry Hexmoor1 Chapter 7 Henry Hexmoor Registers and RTL.
S. RossEECS 40 Spring 2003 Lecture 28 Today… Analyzing digital computation at a very low level! The Latch Pipelined Datapath Control Signals Concept of.
Computer ArchitectureFall 2008 © August 20 th, Introduction to Computer Architecture Lecture 2 – Digital Logic Design.
Fall 2007 L16: Memory Elements LECTURE 16: Clocks Sequential circuit design The basic memory element: a latch Flip Flops.
Registers and Counters
How circuits acquire memory: Sequential & Clocked Circuits. COS 116, Spring 2011 Sanjeev Arora.
Memory; Sequential & Clocked Circuits; Finite State Machines
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
ENG241 Digital Design Week #8 Registers and Counters.
COUNTERS Why do we need counters?
CO5023 Latches, Flip-Flops and Decoders. Sequential Circuit What does this do? The OUTPUT of a sequential circuit is determined by the current output.
Clocking System Design
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 5, 2012 Synchronous Circuits.
Instructor: Alexander Stoytchev CprE 281: Digital Logic.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
Counters and registers Eng.Maha Alqubali. Registers Registers are groups of flip-flops, where each flip- flop is capable of storing one bit of information.
Computer Science 210 Computer Organization
REGISTER TRANSFER LANGUAGE (RTL)
Registers and Counters
Sequential circuit design with metastability
Instructor: Alexander Stoytchev
Morgan Kaufmann Publishers
Timing issues.
EKT 221 : Digital 2 COUNTERS.
Appendix B The Basics of Logic Design
Sequential Circuit: Counter
Minimization and Sequential Logic
Binary Addition and Subtraction
Basic Delay in Gates Definitions
Computer Science 210 Computer Organization
Instructor: Alexander Stoytchev
Chapter Five.
Digital Logic Design Sequential Circuits (Chapter 6)
Registers and Counters
Registers and Counters Register : A Group of Flip-Flops. N-Bit Register has N flip-flops. Each flip-flop stores 1-Bit Information. So N-Bit Register Stores.
Inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #21 State Elements: Circuits that Remember Hello to James Muerle in the.
Elec 2607 Digital Switching Circuits
COMP541 Sequential Circuits
Computer Science 210 Computer Organization
Asynchronous Counters with SSI Gates
Counters and Registers
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
CSE 370 – Winter Sequential Logic - 1
332:578 Deep Submicron VLSI Design Lecture 14 Design for Clock Skew
CSE 370 – Winter Sequential Logic-2 - 1
The Processor Lecture 3.1: Introduction & Logic Design Conventions
Flip-Flops Last time, we saw how latches can be used as memory in a circuit. Latches introduce new problems: We need to know when to enable a latch. We.
Arithmetic and Decisions
CSE 370 – Winter Sequential Logic-2 - 1
ECE 352 Digital System Fundamentals
ECE 352 Digital System Fundamentals
Digital Logic Department of CNET Chapter-6
ECE 352 Digital System Fundamentals
Digital Logic Department of CNET Chapter-6
Lecture 19 Logistics Last lecture Today
Outline Registers Counters 5/11/2019.
Digital Circuits and Logic
Registers Today we’ll see some common sequential devices: counters and registers. They’re good examples of sequential analysis and design. They are also.
ECE 352 Digital System Fundamentals
DeMorgan’s Law and Gates
Instructor: Michael Greenbaum
Lecture 3: Timing & Sequential Circuits
Presentation transcript:

Registers and clocking issues CS/COE 0447 (term 2181) Jarrett Billingsley

Class announcements Anyone not get their exams baaaaaack? Trying to squeeeeeze some things into today's lecture 10/26/2017 CS/COE 0447 term 2181

Registers 10/26/2017 CS/COE 0447 term 2181

Follow the leader The clock is the repeating signal that synchronizes everything. We don't always want to write to a register. Which register is changed in the instruction add t0, t1, t2? What about the other 31 registers? We want our registers to store their data: in sync with the clock, and only if we told that register to store the input data. We call this a write enable signal. Cause it enables writing. There's an and up there… 10/26/2017 CS/COE 0447 term 2181

Trying to make it work We can AND together the clock and the write enable signals, and feed that into the D latch's original "enable" input. write enable old enable clock 𝐐 data 10/26/2017 CS/COE 0447 term 2181

Not quite there… When the clock and write enable inputs are high (1), the latch will perfectly mirror its data input. That means… The data input can't change while the clock signal is high. Otherwise, it'll output incorrect values. This is easier to demonstrate than it is to explain. 10/26/2017 CS/COE 0447 term 2181

The majestic D flap-flap By chaining two D latches in a row and using some clever NOTs, we end up with the D Flip-Flop. The triangle on the symbol is the clock input. We might also call this a 1-bit register! It stores the input data the instant the clock goes high, and then becomes latched. D Q can't be changed. clock time store! 10/26/2017 CS/COE 0447 term 2181

A school of D flip-flops If we want an n bit register, we put n flip-flops next to each other. Each flip-flop holds 1 bit of the 4-bit value. write enable clock D Q 4 D Q 4 D Q Splitters can also bundle wires together. D Q A splitter lets us split up wire bundles. 10/26/2017 CS/COE 0447 term 2181

Clocking Issues 10/26/2017 CS/COE 0447 term 2181

The Critical Path A critical path is the path through a circuit (or a program, or any process) that requires the longest series of sequential operations. Those steps can't be done in parallel! For the following, what's the length of the critical path, in gates? 10/26/2017 CS/COE 0447 term 2181

Propagation Delay Propagation delay is the time it takes for a signal to pass from the inputs to the outputs. Everything, even wires, adds a delay. While the signal is moving through, the outputs are invalid. When the signal finishes moving, the outputs are valid. If you try to use the output before it's valid, things break. Propagation delay is the reason there are limits to how fast your processor can run. What's worse: the hotter it is, the worse the delay gets! 10/26/2017 CS/COE 0447 term 2181

Determining clock speed + 1 A D Q A value is written into register A. 1 is added to its output. Go back to step 1. Let's say that a register takes 2ns to propagate its value from D to Q, and the adder takes 3ns to compute its output. How fast can we run the clock? 10/26/2017 CS/COE 0447 term 2181

Determining clock speed Q + A 1 0ns 2ns 5ns time A's Q becomes valid. The adder has finished. Clock A to store! A is clocked. 10/26/2017 CS/COE 0447 term 2181

Determining clock speed It takes 5ns for a signal to propagate through our circuit. So how fast can we clock it? If the time between clocks is less than 5ns, we'll clock the register too early (before the adder has finished). If the time between clocks is longer than 5ns, no big deal. 𝟏 𝟓× 𝟏𝟎 −𝟗 𝒔 =𝟎.𝟐× 𝟏𝟎 𝟗 𝐇𝐳 =𝟐𝟎𝟎𝐌𝐇𝐳 In general, the fastest we can clock a sequential circuit is the reciprocal of the critical path's propagation delay. 10/26/2017 CS/COE 0447 term 2181

IN 12 ??? A D Q EN B D Q EN 12 ??? CLK Clock Skew The clock signal isn't immune to propagation delay! IN Watch the input as the clock pulse travels down the wire to B. 12 ??? A D Q EN B D Q EN 12 ??? CLK This is called a race condition. There's a race between the data and clock signals, and in this case the data signal wins. Avoiding race conditions is an extremely important part of design! 10/26/2017 CS/COE 0447 term 2181

Clock skew on a large scale The clock signal has to visit EVERY part of the processor. Long wires, lots of metal, nontrivial capacitance/inductance... 10/26/2017 CS/COE 0447 term 2181

Ripples in ripples If the clock sends out pulses too quickly... Different parts of the processor will think it's different times! Everything falls apart! How can we avoid this?? Make clock slower? Ehh... Make chip smaller Shorter wires and less metal means faster ripples Make gates faster New process technologies can reduce gate delay Use non-electronic clock distribution?? On-chip light guides to transmit clock pulses as light instead of electrons??!???!? Issues abound 10/26/2017 CS/COE 0447 term 2181