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

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

2.6 Reset Design Strategy

Chapter 2 Clocks and Resets

Lecture 23 Design for Testability (DFT): Full-Scan

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43

TKK S ASIC-PIIRIEN SUUNNITTELU

Lecture 23 Design for Testability (DFT): Full-Scan (chapter14)

Design for Testability

ECE321 Electronics I

Clocking Spring /18/05


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

VARIABLE FREQUENCY CLOCKING HARDWARE

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

Lecture 8: Sequential Logic

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity.

Lecture 11: Sequential Circuit Design

At-speed Testing of SOC ICs

Sequential Circuit Design: Part 1

Based on slides/material by. Topic Testing. Logic Verification. Testing

Sequential Circuit Design: Part 1

EE273 Lecture 11 Pipelined Timing Closed-Loop Timing November 2, Today s Assignment

Keeping The Clock Pure. Making The Impurities Digestible

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

Overview: Logic BIST

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

COMP2611: Computer Organization. Introduction to Digital Logic

Chapter 5 Flip-Flops and Related Devices

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

Lecture 21: Sequential Circuits. Review: Timing Definitions

Experiment 8 Introduction to Latches and Flip-Flops and registers


Sequential Circuit Design: Principle

EITF35: Introduction to Structured VLSI Design

Flip-Flops and Related Devices. Wen-Hung Liao, Ph.D. 4/11/2001

Using on-chip Test Pattern Compression for Full Scan SoC Designs

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

Fundamentals of Computer Systems

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

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

Digital Blocks Semiconductor IP

K.T. Tim Cheng 07_dft, v Testability

Introduction. NAND Gate Latch. Digital Logic Design 1 FLIP-FLOP. Digital Logic Design 1

Lecture 17: Introduction to Design For Testability (DFT) & Manufacturing Test

The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both).

Combinational vs Sequential

Testing Digital Systems II

UNIT IV CMOS TESTING. EC2354_Unit IV 1

Lecture 10: Sequential Circuits

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

Introduction to Digital Logic Missouri S&T University CPE 2210 Flip-Flops

Basis of sequential circuits: the R-S latch

Engr354: Digital Logic Circuits

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits

Unit 11. Latches and Flip-Flops

Scan. This is a sample of the first 15 pages of the Scan chapter.

Chapter 8 Design for Testability

Digital Circuits and Systems

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

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

CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits. Sequencing

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

11. Sequential Elements

A clock is a free-running signal with a cycle time. A clock may be either high or low, and alternates between the two states.

Fundamentals of Computer Systems

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

EECS 373 Design of Microprocessor-Based Systems

The University of Texas at Dallas Department of Computer Science CS 4141: Digital Systems Lab

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Sequential Circuits

Digital Integrated Circuits EECS 312. Review. Combinational vs. sequential logic. Sequential logic. Introduction to sequential elements

Chapter 6. Flip-Flops and Simple Flip-Flop Applications

Fundamentals of Computer Systems

Clock Domain Crossing. Presented by Abramov B. 1

Chapter 9. Timing Design. (Based on Chapter 7 and Chapter 8 of Wakerly) Data Path Comb. Logic. Reg. Reg. Reg C <= A + B

Chapter 7 Sequential Circuits

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

Glitches/hazards and how to avoid them. What to do when the state machine doesn t fit!

Unit 8: Testability. Prof. Roopa Kulkarni, GIT, Belgaum. 29

Synchronizing Multiple ADC08xxxx Giga-Sample ADCs

Unit V Design for Testability

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

Digital Fundamentals

EE241 - Spring 2007 Advanced Digital Integrated Circuits. Announcements

Clocks. Sequential Logic. A clock is a free-running signal with a cycle time.

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

An On-Chip Test Clock Control Scheme for Multi-Clock At-Speed Testing

CHAPTER 1 LATCHES & FLIP-FLOPS

Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky,

Topics of Discussion

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

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

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

Static Timing Analysis for Nanometer Designs

Digital Integrated Circuits Lecture 19: Design for Testability

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

Why FPGAs? FPGA Overview. Why FPGAs?

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

EE 367 Lab Part 1: Sequential Logic

DIGITAL ELECTRONICS MCQs

Transcription:

System IC esign: Timing Issues and FT Hung-Chih Chiang

Outline SoC Timing Issues Timing terminologies Synchronous vs. asynchronous design Interfaces and timing closure Clocking issues Reset esign for Testability (FT) SoC Test Plan Scan, ATPG, memory BIST FT design rules 2

SoC Clock Issues ata Cache Instr. Cache Clock/OSC Microprocessor Memory High Speed I/O Ctrl High Speed Bus Memory Ctrl HS IP Bus Bridge Peripheral Bus Timer Intr Ctrl GPIO UART LS I/O Clock/OSC 3

SoC Clock omains CLK2 OSC Clock Generator CLK1 CLK3 CLK4 CLK6 CLK5 4

Timing Terminologies Setup time, hold time, release time, width, period and skew Cell delay and wire delay Best case, typical case, worst case and pseudo worst case Loading and driving capacity 5

Basic Cell Timings SN N RN Interconnection elay IA IB O Cell elay Cell elay Setup Hold Recovery Width Width Skew RN 1 Period 2 6

Best, Typical, Worst & Pseudo Worst Cases Best Case highest operation voltage, lowest temperature, fast process eg. 0.25µm@2.75V, 0 C, fast process Typical Case standard operation voltage, room temperature, typical process eg. 0.25µm@2.5V, 25 C, typical process Pseudo Worst Case lowest operation voltage, highest temperature, typical process eg. 0.25µm@2.25V, 125 C, typical process Worst Case lowest operation voltage, highest temperature, slow process eg. 0.25µm@2.25V, 125 C, slow process 7

Loading and Cell elay Linear elay Model t typical = t intrinsic + (K load * C load ) (atabook) Non-Linear elay Model (Table Lookup) t typical = F(t rf, C load ) (EA Timing Model) 8

Cell atasheet: NAN2 (1) 9

Cell atasheet: NAN2 (2) 10

Cell atasheet: FF (1) 11

Cell atasheet: FF (2) 12

Cell atasheet: FF (3) 13

Clock-Based Timing (single clock source) d 1 d 2 combination logic d 1 + d 2max < T t setup d 1 + d 2min > t hold 14

Outline SoC Timing Issues Timing terminologies Synchronous vs. asynchronous design Interfaces and timing closure Clocking issues Reset esign for Testability (FT) SoC Test Plan Scan, ATPG, memory BIST FT design rules 15

Synchronous vs. Asynchronous esign Synchronous esign Flip-flop based (clock based) Easy timing handling FT compliant Asynchronous Latch based Timing ambiguity cause problems Not FT compliant 16

Flip-Flop (Clock) Based esign combination logic Poor HL coding of combination logics can produce unintentional latches Avoid using flip-flops with enable input Use positive clock edge trigger for flip-flops for module RTL coding if flip-flops in cell library is triggered at positive clock edge 17

Flip-Flop Clock Edge If negative edge triggered flip-flops are required in a design while Cell Library contains positive edge triggered flip-flops, invert the clock phase first and then write RTL codes using positive edge triggered flip-flops to avoid inverters being inserted at clock inputs of each modules during logic synthesis. 18

Problem of Latch: timing ambiguity in E E output setup output setup 19

Problem of Latch: possible /E race E E E Need to ensure there is enough hold time for after the falling edge of E 20

Problem of Latch: FT scan_enable E scan path normal operation path is generally not controllable by due to E => A latch can not be part of a scan chain 21

Outline SoC Timing Issues Timing terminologies Synchronous vs. asynchronous design Interfaces and timing closure Clocking issues Reset esign for Testability (FT) SoC Test Plan Scan, ATPG, memory BIST FT design rules 22

Interfaces and Timing Closure A proper design of block interfaces makes timing closure a local problem. A major timing issue in deep submicron technology is the wire delay due to wire load capacitance and RC delay can be much larger than intrinsic cell delays. Timing driven APR helps deal with this problem by taking into account the wire load model. Physical synthesis takes a further stride in achieving timing closure by combining synthesis and timing driven placement. 23

Macro Interfaces Macro A Macro B Both inputs and outputs should be registered. This gives a full clock cycle to propagate the outputs of one macro to inputs of another. 24

Sub-block Interfaces Subblock Macro AA Subblock B Any block that is synthesized as a unit should have its own outputs registered. Any block that is floorplanned as a unit should have its own inputs and outputs registered. 25

Example: interface specification 3ns 3ns T on t care Valid on t care 26

Example: registered vs. unregistered inputs d 1 + t setup < 3ns? Combination d 2 + t setup < 3ns Combination 27

Outline SoC Timing Issues Timing terminologies Synchronous vs. asynchronous design Interfaces and timing closure Clocking issues Reset esign for Testability (FT) SoC Test Plan Scan, ATPG, memory BIST FT design rules 28

Clocking Issues Clock skew and clock tree ivided clocks Asynchronous clock interface Clock gating Synchronize Hard IP Other considerations 29

Clock Skew in Combination FF0/ FF1/ FF0/ Skew FF1/ 30

Clock Skew May Cause Errors in 0 0 1 1 FF0/ FF1/ in in FF0/ FF0/ 0 0 FF1/ FF1/ 1 1 31

Clock Tree Insert clock tree during APR Clock tree can significantly increase power consumption 32

Clock Tree Example Match + Skew 33

Clock Tree Example 34

ivided Clocks 1 (f/2 Hz) 1 +skew 1 Module A Clock Generator 0 (f Hz) 0 +skew 0 Module B t0 t1 t2 Ck2 (f/4 Hz) 2 +skew 2 Module C 0 1 2 35

An Alternative esign Approach for a ivided Clock omain +skew Module A En1 Clock Generator Ck Module B En2 Module C En1 En2 36

Asynchronous Clock Interface d b X Y a a 1a Ck2 Combination Z b b 1b d a Ck1 Block 1 angerous design!!! Random logic errors may occur due to the delay time difference between d a and d b. 37

Asynchronous Errors 2 X Y (a) Z (b) 1/CLK2 E.g. 01 X=0 X=1 X=0/1 01 X=1/0 10 11 00 38

Clock Synchronization in Synchronization in Ck2 Ck1 Block A Not all asynchronous inputs need to be synchronized! A single flip-flop may not be good enough for clock synchronization. 39

ASIC Flip-Flop N N N N 40

Metastability 41

Standard Asynchronous Interface in Ck2 Ck1 Block A Two staged flip-flop to reduce the probability of metastability 42

ual Flip-Flop Synchronization 43

Peak Power Reduction A Sync. I/F Clock Generator Ck B Sync. I/F Sync. I/F C Cka A Clock Generator Ckb Ckc B C Async. I/F Async. I/F Async. I/F a b c 44

Clock Gating For Low Power esign Module A Clock Generator Module B Module C Clock Enable 45

Clock elays For Hard Blocks 1 +skew 1 Clock Generator 2 +skew 2 Take into account insertion delays of hard macros 46

Bypass PLL & Clock Gating For ebugging Clock PLL Test_en Clock Gate_en or Test_en 47

Clock Planning Guidelines The system clock generation and control logic should be separate from all function blocks of the system ocument clock domain information - frequencies, PLL - interface timing (input and output) - skew requirement among clocks Use the standard synchronization interface for asynchronous inputs Compensate insertion delays of hard macros Bypass clock gating and PLL in test mode 48

Outline SoC Timing Issues Timing terminologies Synchronous vs. asynchronous design Interfaces and timing closure Clocking issues Reset esign for Testability (FT) SoC Test Plan Scan, ATPG, memory BIST FT design rules 49

Chip Reset Issues Synchronous or Asynchronous? External or Internal Power On Reset? Voltage etector for Power own Reset? Hard Reset and Soft Reset? Each Module Individually Resettable for ebugging Purposes? 50

Synchronous Reset Reset N N N Easy to synthesize since reset is treated as a logic signal Reset slightly affect data timing Need at least one active clock edge for reset to take place. This could become a problem at power on 51

Asynchronous Reset N N N RN SN RN No clock required during reset period Reset does not affect data timing Like clock, a reset tree is usually required during APR 52

Avoid logical signal reset N N RN RN Avoid using a logic signal as a reset signal 53

Reset Guideline Asynchronous reset is preferred. Reset must be synchronously deasserted so that all state machine flipflops starts at the same active clock edge. All flip-flops/latches should be reset to a pre-defined state ( 0 or 1 ) to avoid ambiguity voltage output of sequential elements. 54

Outline SoC Timing Issues Timing terminologies Synchronous vs. asynchronous design Interfaces and timing closure Clocking issues Reset esign for Testability (FT) SoC Test Plan Scan, ATPG, memory BIST FT design rules 55

esign For Testability IC testing vs. verification - manufacturing defect vs. functional defect Importance of IC testing -cost of RMA Test phases: - wafer test (Chip Probing), - final test (packaged IC testing) Test principle: - different kinds of blocks require different test strategies - use a test controller at top level to sequence the test of different function blocks 56

An Example of SoC Test Plan T_ T_M S_I S_O Test Mode Register Test Circuits Test Mode: Processor Test RAM BIST ROM Check Sum SCAN/ATPG Functional Test Analog Macros... 57

SCAN Chain & ATPG Reset_n Scan_en RN N N SN combination logic 58

Memory BIST Software Memory BIST Hardware Memory BIST A/i/En clock test_crtl Pattern Generator A//En Memory Module Compressor o q So 59

FT Guidelines - 1 Avoid internally gated clocks or derived clocks Clock Gated clock erived clock 60

FT Guidelines - 2 Avoid using latches Controllable E Uncontrollable A latch can not be inserted into a scan chain due to the uncontrollable enable input 61

FT Guidelines - 3 Avoid using flip-flops with an enable input (synthesis) E Enable is not controllable 62

FT Guidelines - 4 Avoid combinational feedback Race/unstable ATPG is not applicable 63

FT Guidelines - 5 Avoid uncontrollable asynchronous signals N RN Uncontrollable 64

FT Guidelines - 6 Avoid feeding data path with clocks N RN 65

FT Guidelines - 7 Provide test control for uncontrollable signals Clock PLL Clock Test_en Gate_en or Test_en 66

Summaries Recommend flip-flop based design. Use Latches only when you know what you are doing. A proper design of block interfaces makes timing closure a local problem. Clock domains require special cares. A global reset signal is recommended. A proper SoC test plan is important to reduce RMA costs. FT rules must be followed to ensure the testability of designs. 67