Slides for Lecture 31 ENEL 353: Digital Circuits Fall 2013 Term - - PowerPoint PPT Presentation

slides for lecture 31
SMART_READER_LITE
LIVE PREVIEW

Slides for Lecture 31 ENEL 353: Digital Circuits Fall 2013 Term - - PowerPoint PPT Presentation

Slides for Lecture 31 ENEL 353: Digital Circuits Fall 2013 Term Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary 22 November, 2013 slide 2/17 ENEL 353 F13 Section 02


slide-1
SLIDE 1

Slides for Lecture 31

ENEL 353: Digital Circuits — Fall 2013 Term Steve Norman, PhD, PEng

Electrical & Computer Engineering Schulich School of Engineering University of Calgary

22 November, 2013

slide-2
SLIDE 2

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 2/17

Previous Lecture

Completion of an FSM reverse-engineering example. Introduction to timing of sequential logic. Timing parameters for DFFs: tsetup, thold, tccq, and tpcq

slide-3
SLIDE 3

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 3/17

Today’s Lecture

Implications of DFF timing parameters for timing of synchronous sequential circuits. Examples of timing calculations for synchronous sequential logic. Introduction to clock skew. Related reading in Harris & Harris: Sections 3.5.2–3.5.3

slide-4
SLIDE 4

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 4/17

Remark about resettable, settable, and enabled flip-flops

The textbook doesn’t mention this, but it’s good to know. For DFFs with EN inputs, and/or synchronous reset or set inputs, the EN, reset and set inputs have tsetup and thold parameters that are similar to the tsetup and thold parameters for the D input. For DFFs with asynchronous reset or set inputs, the timing parameters for those inputs are typically a minimum width for a reset or set pulse, along with a minimum gap between when reset or set is turned off and a rising edge of the clock.

slide-5
SLIDE 5

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 5/17

A generic piece of synchronous sequential logic

Below is a small part of a larger synchronous sequential circuit. Registers R1 and R2 are collections of DFFs that all have the same tsetup, thold, tccq, and tpcq. C L CLK R2 R1 Q1 D1 Q2 D2 The combinational element shown has contamination delay tcd and propagation delay tpd. We’ll assume that signal D1 meets the setup and hold time requirements of R1, and look at whether signal D2 meets the setup and hold time requirements of R2.

slide-6
SLIDE 6

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 6/17

Setup time constraint

C L CLK R2 R1 Q1 D1 Q2 D2 Recall that TC stands for the clock period. Suppose there is a rising edge of CLK at time t0. What must be true so that there is no setup time violation at R2 at the next rising edge of CLK, at time t0 + TC? Let’s do the simple math, then make some remarks.

slide-7
SLIDE 7

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 7/17

Hold time constraint

C L CLK R2 R1 Q1 D1 Q2 D2 Suppose there is a rising edge of CLK at time t0. What must be true so that there is no hold time violation at R2 at the same rising edge of CLK, also at time t0? Again, let’s do some simple math, then make some remarks.

slide-8
SLIDE 8

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 8/17

Hold time constraint: Direct Q-to-D connection

Let’s look at this special case, in which there is no combinational delay between a Q output of a DFF and the D input of another DFF. Q1 D1 CLK FF1 FF2 D2 Q2 Let’s assume that the DFFs are identical, and that setup and hold time conditions are satisfied by the D1 input to FF1. Again, suppose there is a rising edge of CLK at time t0. What must be true so that there is no hold time violation at FF2 at the same rising edge of CLK, also at time t0? Let’s do the very simple math, then make some remarks.

slide-9
SLIDE 9

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 9/17

Setup time constraint for a Moore-type FSM circuit

  • utput

logic next state logic state next state k k M N inputs

  • utputs

CLK

Suppose that TC is the desired clock period. Suppose we know tsetup and tpcq for the register, and we know tpd for the next-state logic. Can we do a simple calculation to determine whether this circuit might have setup time violations? Why or why not?

slide-10
SLIDE 10

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 10/17

Setup time constraint for a “free running” Moore-type FSM circuit

  • utput

logic next state logic state next state k k N

  • utputs

CLK

Again, suppose that TC is the desired clock period. Again, suppose we know tsetup and tpcq for the register, and we know tpd for the next-state logic. For the above circuit, it is possible to do a simple calculation to check for possible setup time violations. Let’s do the calculation, then make some remarks.

slide-11
SLIDE 11

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 11/17

Synchronous logic timing: Detailed example

Suppose A is connected to VDD in the circuit on the next page. Bubbles on the AND gate inputs are implemented using NOT gates. For the register, tsetup = 35 ps and tpcq = 75 ps. Is it safe to run the clock with a frequency of 3.33 GHz? If not, what is a simple redesign that would allow safe operation at 3.33 GHz? gate tpd (ps) NOT 30 NAND2 40 NAND3 60 NAND4 80 AND2 60 AND3 80 AND4 100 OR2 80 OR3 110

slide-12
SLIDE 12

slide 12/17

S0 S1 S2 A S′

2

Y2 S2 Y1 Y0 S1 S′

1

S′ S0 CLK reset r

slide-13
SLIDE 13

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 13/17

Another example of timing analysis

Using some 1970’s/1980’s inverters and DFFs found in a junk drawer, a student builds a clock-divide-by-4 circuit. For the inverters, tcd = 9 ns and tpd = 15 ns. DFF timing parameters, in ns, are given in the table.

FooLogic BarTron CLK Y

family parameter Foo Bar tsetup 2 20 thold 1 7 tpcq 8 50 tccq 5 30 The student tests the circuit with a 1 MHz CLK input, expecting to see a 250 kHz square wave on Y. Why doesn’t the circuit work? What can be done to fix it?

slide-14
SLIDE 14

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 14/17

Introduction to clock skew

This list is review. It’s a list of sufficient conditions for building a synchronous sequential circuit . . .

  • 1. Every element in the circuit either is a register or is

combinational.

  • 2. At least one element is a register.
  • 3. All registers receive the same clock signal.
  • 4. Every cyclic path in the circuit passes through at least
  • ne register.

Unfortunately, the laws of physics make it very hard to perfectly satisfy condition 3 . . .

slide-15
SLIDE 15

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 15/17

Introduction to clock skew, continued

It takes time for a voltage change to propagate along a wire.

clock source

R1 Q1 D1 R2 Q2 D2 R3 Q3 D3 CLK1 CLK2 CLK3 Clock edges received by R1 are early relative to clock edges received by R2. Clock edges received by R3 are late relative to clock edges received by R2.

slide-16
SLIDE 16

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 16/17

Minimization of clock skew; definition of tskew

Clock skew is the name given to the problem having having different registers get clock edges at slightly different names. Delay from the clock source to clock inputs cannot be

  • avoided. Circuit designers try to minimize clock skew by

making all the source-to-input delays very close to the

  • same. (Because delays can be affected by factors such as

electrical noise, clock skew can’t be made zero just by making all clock wires the same length.) In a synchronous sequential circuit, tskew is defined as the worst-case difference in times of arrival of an active clock edge at any two registers in the circuit.

slide-17
SLIDE 17

ENEL 353 F13 Section 02 Slides for Lecture 31

slide 17/17

Upcoming topics

Adjustment of setup and hold time constraint inequalities to account for tskew. Metastability and synchronization. Related reading in Harris & Harris: Sections 3.5.3–3.5.5.