Digital Integrated Circuits A Design Perspective

Slides:



Advertisements
Similar presentations
Digital Integrated Circuits A Design Perspective
Advertisements

Sequential Circuit Design
Digital Integrated Circuits A Design Perspective
1 Introduction Sequential circuit –Output depends not just on present inputs (as in combinational circuit), but on past sequence of inputs Stores bits,
ELEC 256 / Saif Zahir UBC / 2000 Timing Methodology Overview Set of rules for interconnecting components and clocks When followed, guarantee proper operation.
Digital Design - Sequential Logic Design Chapter 3 - Sequential Logic Design.
Lecture 11: Sequential Circuit Design. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 11: Sequential Circuits2 Outline  Sequencing  Sequencing Element Design.
L06 – Clocks Spring /18/05 Clocking.
(Neil west - p: ). Finite-state machine (FSM) which is composed of a set of logic input feeding a block of combinational logic resulting in a set.
Introduction to CMOS VLSI Design Lecture 19: Design for Skew David Harris Harvey Mudd College Spring 2004.
Introduction to CMOS VLSI Design Clock Skew-tolerant circuits.
EE141 © Digital Integrated Circuits 2nd Timing Issues 1 Digital Integrated Circuits A Design Perspective Timing Issues Jan M. Rabaey Anantha Chandrakasan.
Sequential Definitions  Use two level sensitive latches of opposite type to build one master-slave flipflop that changes state on a clock edge (when the.
Reconfigurable Computing - Clocks John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound, Western Australia.
EE141 © Digital Integrated Circuits 2nd Timing Issues 1 Digital Integrated Circuits A Design Perspective Timing Issues Jan M. Rabaey Anantha Chandrakasan.
CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 17: Dynamic Sequential Circuits And Timing Issues [Adapted from Rabaey’s Digital Integrated Circuits,
CSE477 L19 Timing Issues; Datapaths.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Lecture 19: Timing Issues; Introduction to Datapath.
Clock Design Adopted from David Harris of Harvey Mudd College.
Technical Seminar on Timing Issues in Digital Circuits
Chapter 11 Timing Issues in Digital Systems Boonchuay Supmonchai Integrated Design Application Research (IDAR) Laboratory August 20, 2004; Revised - July.
Assume array size is 256 (mult: 4ns, add: 2ns)
CSE477 L19 Timing Issues; Datapaths.1Irwin&Vijay, PSU, 2002 Complex Digital Circuits Design Lecture 2: Timing Issues; [Adapted from Rabaey’s Digital Integrated.
Digital Integrated Circuits A Design Perspective
Lecture 8: Clock Distribution, PLL & DLL
Embedded Systems Hardware:
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Hao Ji.
Temporizzazioni e sincronismo1 Progettazione di circuiti e sistemi VLSI Anno Accademico Lezione Temporizzazioni e sincronizzazione.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
© Digital Integrated Circuits 2nd Sequential Circuits Digital Integrated Circuits A Design Perspective Designing Sequential Logic Circuits Jan M. Rabaey.
Digital System Clocking: High-Performance and Low-Power Aspects Vojin G. Oklobdzija, Vladimir M. Stojanovic, Dejan M. Markovic, Nikola M. Nedovic Wiley-Interscience.
Reading Assignment: Rabaey: Chapter 9
Sp09 CMPEN 411 L18 S.1 CMPEN 411 VLSI Digital Circuits Spring 2009 Lecture 16: Static Sequential Circuits [Adapted from Rabaey’s Digital Integrated Circuits,
Introduction to Clock Tree Synthesis
Digital System Clocking: High-Performance and Low-Power Aspects Vojin G. Oklobdzija, Vladimir M. Stojanovic, Dejan M. Markovic, Nikola M. Nedovic Wiley-Interscience.
EE141 Timing Issues 1 Chapter 10 Timing Issues Rev /11/2003 Rev /28/2003 Rev /05/2003.
EE141 Timing Issues 1 Chapter 10 Timing Issues Rev /11/2003.
CSE477 L19 Timing Issues; Datapaths.1Irwin&Vijay, PSU, 2003 CSE477 VLSI Digital Circuits Fall 2003 Lecture 19: Timing Issues; Introduction to Datapath.
Sequential Logic Design
Digital Design - Sequential Logic Design
Digital Integrated Circuits A Design Perspective
Lecture 11: Sequential Circuit Design
Lecture #16: D Latch ; Flip-Flops
Digital Integrated Circuits A Design Perspective
Overview Part 1 – The Design Space
Flip Flops Lecture 10 CAP
Sequential circuit design with metastability
Digital Fundamentals Floyd Chapter 7 Tenth Edition
Mary Jane Irwin ( ) CSE477 VLSI Digital Circuits Fall 2002 Lecture 19: Timing Issues; Introduction to Datapath.
Digital Fundamentals Floyd Chapter 7 Tenth Edition
Appendix B The Basics of Logic Design
Flip-Flop.
Sequential Logic and Flip Flops
Introduction to CMOS VLSI Design Lecture 10: Sequential Circuits
DIGITAL ELECTRONICS ТHEME 4: SEQUENTIAL LOGIC CIRCUITS. FLIP- FLOPS – ASYNCHRONOUS AND SYNCHRONOUS, R - S, D, T, J - K FLIP- FLOPS. The value of the outputs.
Sequential Logic and Flip Flops
Timing Verification Presented by Rashmi H M.
Limitations of STA, Slew of a waveform, Skew between Signals
Introduction to Static Timing Analysis:
CMOS VLSI Design Chapter 13 Clocks, DLLs, PLLs
Timing Analysis 11/21/2018.
Clocking in High-Performance and Low-Power Systems Presentation given at: EPFL Lausanne, Switzerland June 23th, 2003 Vojin G. Oklobdzija Advanced.
Chapter 10 Timing Issues Rev /11/2003 Rev /28/2003
CSE 370 – Winter Sequential Logic - 1
CMOS VLSI Design Chapter 13 Clocks, DLLs, PLLs
332:578 Deep Submicron VLSI Design Lecture 14 Design for Clock Skew
Clockless Logic: Asynchronous Pipelines
Flip-Flops.
Lecture 19 Logistics Last lecture Today
Presentation transcript:

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

Synchronous Timing

Clock Uncertainties Sources of clock uncertainty

Clock Nonidealities Clock skew Clock jitter Spatial variation in temporally equivalent clock edges; deterministic + random, tSK Clock jitter Temporal variations in consecutive edges of the clock signal; modulation + random noise Cycle-to-cycle (short-term) tJS Long term tJL Variation of the pulse width Important for level sensitive clocking

Clock Skew and Jitter Clk tSK Clk tJS Both skew and jitter affect the effective cycle time Only skew affects the race margin

Positive and Negative Skew

Positive Skew Launching edge arrives before the receiving edge

Negative Skew Receiving edge arrives before the launching edge

ᵟ=-ve ᵟ=-ve

Impact of Jitter Absolute jitter tjitter Cycle-to-cycle jitter Tjitter

worst

Clock Distribution H-tree Clock is distributed in a tree-like fashion - Clock gating - Clock conditioning Balanced paths trees - RC delay H-tree Clock conditioning is the ability to shut down parts of the clock network to reduce power dissipation. clock gating to cut clock connection if a branch gets idle, saves clock power. Clock is distributed in a tree-like fashion

More realistic H-tree [Restle98]

The Grid System No rc-matching Large power (excess interconnect) The Grid System -Grids are typically used in the final stage of clock network to distribute the clock to the clocking element loads. -Delay from the final driver to each load is not matched (fundamental difference with RC matched CDN) -Allows late design changes, since CLK is easily accessible on die. -Large power dissipation since it has lot of unncessary interconnect.

Example: DEC Alpha 21164 (width of final driver inverter) (single phase clock on dynamic logic) (width of final driver inverter)

EE141 21264 Clocking Clock hierarchy

EV6 (Alpha 21264) Clocking 600 MHz – 0.35 micron CMOS trise = 0.35ns EE141 EV6 (Alpha 21264) Clocking 600 MHz – 0.35 micron CMOS trise = 0.35ns tskew = 50ps tcycle= 1.67ns Global clock waveform 2 Phase, with multiple conditional buffered clocks 2.8 nF clock load 40 cm final driver width Local clocks can be gated “off” to save power Reduced load/skew Reduced thermal issues Multiple clocks complicate race checking

Self-timed and Asynchronous Design Functions of clock in synchronous design 1) Acts as completion signal 2) Ensures the correct ordering of events Truly asynchronous design 1) Completion is ensured by careful timing analysis 2) Ordering of events is implicit in logic Self-timed design 1) Completion ensured by completion signal 2) Ordering imposed by handshaking protocol

Latch-based clocking - Latch based design in which combinational logic is separated by transparent latches (vicver) - If a logic block finishes before the clock period, it has to idle till the next input is latched in on the next system clock edge. - The use of a latch based methodology (as illustrated in Figure 10.26) enables more flexible timing, allowing one stage to pass slack to or steal time from following stages. This flexibility, allows an overall performance increase.

Latch-based clocking For EE141 Latch-based clocking --However, there is an important performance related difference. In a latch based system, since the logic is separated by level sensitive latches, it possible for a logic block to utilize time that is left over from the previous logic block and this is referred to as slack borrowing. --This approach requires no explicit design changes, as the passing of slack from one block to the next is automatic. The key advantage of slack borrowing is that it allows logic between cycle boundaries to use more than one clock cycle while satisfying the cycle time constraint. --Stated in another way, if the sequential system works at a particular clock rate and the total logic delay for a complete cycle is larger than the clock period, then unused time or slack has been implicitly borrowed from preceding stages. --This implies that the clock rate can be higher than the worst case critical path! For

Slack borrowing

Minimum clock period required is 125 ns

Refer: Bernstein[98] for slack borrowing Minimum clock period required is 100 ns Refer: Bernstein[98] for slack borrowing

Synchronous Pipelined Datapath Solution: Asynchronous design

Self-Timed Pipelined Datapath This approach assumes that each combinational function has a means of indicating that it has completed a computation for a particular piece of data.

Asynchronous-Synchronous Interface EE141 Asynchronous-Synchronous Interface sample at regular intervals and check its value if the sampling rate is high enough, no transitions will be missed (Nyquist criterion) signal is sampled in the middle of a transition (key press)/undefined state (Crash) circuit that implements decision making function (high/low state) is called synchronizer an asynchronous signal must be resolved to be either in the high or low state before it is fed into the synchronous environment. A circuit that implements such a decision-making function is called a synchronizer. a synchronizer needs some time to come to a decision/ waiting helps reduce failure rate Consider a typical personal computer. All operations within the system are strictly orchestrated by a central clock that provides a time reference. This reference determines what happens within the computer system at any point in time. This synchronous com- puter has to communicate with a human through the mouse or the keyboard, who has no knowledge of this time reference and might decide to press a keyboard key at any point in time. The way a synchronous system deals with such an asynchronous signal is to sample or poll it at regular intervals and to check its value. If the sampling rate is high enough, no transitions will be missed—this is known as the Nyquist criterion in the communication community. However, it might happen that the signal is polled in the middle of a transi- tion. The resulting value is neither low or high but undefined. At that point, it is not clear if the key was pressed or not. Feeding the undefined signal into the computer could be the source of all types of trouble, especially when it is routed to different functions or gates that might interpret it differently. For instance, one function might decide that the key is pushed and start a certain action, while another function might lean the other way and issue a competing command. This results in a conflict and a potential crash. Therefore, the undefined state must be resolved in one way or another before it is interpreted further. It does not really matter what decision is made, as long as a unique result is available. For instance, it is either decided that the key is not yet pressed, which will be corrected in the next poll of the keyboard, or it is concluded that the key is already pressed. Thus, an asynchronous signal must be resolved to be either in the high or low state before it is fed into the synchronous environment. A circuit that implements such a deci- sion-making function is called a synchronizer.

Synchronizers and Arbiters Arbiter: Circuit to decide which of 2 events occurred first Synchronizer: Arbiter with clock f as one of the inputs Problem: Circuit HAS to make a decision in limited time - which decision is not important Caveat: It is impossible to ensure correct operation But, we can decrease the error probability at the expense of delay

A Simple Synchronizer metastability EE141 A Simple Synchronizer metastability To illustrate why waiting helps reduce the failure rate of a synchronizer, consider a synchro- nizer as shown in Figure 10.51. This circuit is a latch that is transparent during the low phase of the clock and samples the input on the rising edge of the clock CLK. However, since the sam- pled signal is not synchronized to the clock sig- nal, there is a finite probability that the set-up time or hold time of the latch is violated (the probability is a strong function of the transi- tion frequencies of the input and the clock). As a result, one the clock goes high, there is a the chance that the output of the latch resides somewhere in the undefined transition zone. The sampled signal eventually evolves into a legal 0 or 1 even in the latter case, as the latch has only two stable states. • Data sampled on rising edge of the clock since the sampled signal is not synchronized to the clock signal, there is a finite probability that the set-up time or hold time of the latch is violated (the probability is a strong function of the transition frequencies of the input and the clock). As a result, when the clock goes high, there is a chance that the output of the latch resides somewhere in the undefined transition zone.

Arbiters Decides which of the two events has occurred first (Two CPUs demanding same resource) The output consists of two Ack(nowledge) signals that should be mutually exclusive. While Requests may occur concurrently, only one of the Acknowledges isallowed to go high.

PLL-Based Synchronization EE141 PLL-Based Synchronization There are numerous digital applications that require the on-chip generation of a periodic signal. Synchronous circuits need a global periodic clock reference to drive sequential ele- ments. Current microprocessors and high performance digital circuits require clock fre- quencies in the gigahertz range. Crystal oscillators generate accurate, low-jitter clocks with a frequency range from 10’s of Megahertz to approximately 200MHz. To generate a higher frequency required by digital circuits, a phase-locked loop (PLL) structure is typi- cally used. A PLL takes an external low-frequency reference crystal frequency signal and multiplies its frequency by a rational number N (see the left side of Figure 10.56). To generate a higher frequency required by digital circuits, a phase-locked loop (PLL) structure is typically used. A PLL takes an external low-frequency reference crystal frequency signal and multiplies its frequency by a rational number N

PLL