System IC Design: Timing Issues and DFT140.117.160.140/CommEduImp/pdfdownload/9222/BBIC-11-System...
Transcript of System IC Design: Timing Issues and DFT140.117.160.140/CommEduImp/pdfdownload/9222/BBIC-11-System...
2
Outline
SoC Timing IssuesTiming terminologiesSynchronous vs. asynchronous designInterfaces and timing closureClocking issuesReset
Design for Testability (DFT)SoC Test PlanScan, ATPG, memory BISTDFT design rules
3
SoC Clock Issues
Clock/OSC
Microprocessor
DataCache
Instr.Cache
Memory High Speed I/O Ctrl
MemoryCtrl HS IP Bus
Bridge
LS I/OUARTGPIOIntrCtrlTimer
High Speed Bus
Peripheral Bus
Clock/OSC
5
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
6
Basic Cell Timings
IAIB O
D Q
CK
RN
SN
QNInterconnection Delay
Cell Delay
Cell Delay
Recovery Width Skew
CK1
CK2
SetupHold
D
CK CK
RN
Width
Period
CK
7
Best, Typical, Worst & Pseudo Worst CasesBest Casehighest operation voltage, lowest temperature, fast processeg. 0.25µ[email protected], 0°C, fast processTypical Casestandard operation voltage, room temperature, typical process
eg. 0.25µ[email protected], 25°C, typical processPseudo Worst Caselowest operation voltage, highest temperature, typical process
eg. 0.25µ[email protected], 125°C, typical processWorst Caselowest operation voltage, highest temperature, slow process
eg. 0.25µ[email protected], 125°C, slow process
8
Loading and Cell Delay
Linear Delay Modelt typical = t intrinsic + (K load * C load )
(Databook)
Non-Linear Delay Model (Table Lookup) t typical = F(trf , C load )
(EDA Timing Model)
14
Clock-Based Timing (single clock source)
d1 d2
D Q
CK
D Q
CK
combination logic
d1 + d2max < TCK – tsetupd1 + d2min> thold
D Q
CK
15
Outline
SoC Timing IssuesTiming terminologiesSynchronous vs. asynchronous designInterfaces and timing closureClocking issuesReset
Design for Testability (DFT)SoC Test PlanScan, ATPG, memory BISTDFT design rules
16
Synchronous vs. Asynchronous Design
Synchronous DesignFlip-flop based (clock based)Easy timing handlingDFT compliant
AsynchronousLatch based Timing ambiguity cause problemsNot DFT compliant
17
Flip-Flop (Clock) Based Design
D Q
CK
D Q
CKcombination logic
Poor HDL coding of combination logics can produce unintentional latchesAvoid using flip-flops with enable inputUse positive clock edge trigger for flip-flops for module RTL coding if flip-flops in cell library is triggered at positive clock edge
18
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.
D Q
CK
D Q
CK
D Q
CK
D Q
CK
D Q
CK
D Q
CK
20
Problem of Latch: possible D/E race
D Q
E
CK
D
E
D QCK
D QCK
CK
D
Q
E
Q
• Need to ensure there is enough hold time for D after the falling edge of E
21
Problem of Latch: DFT
scan path
normal operation path
D Q
E
D Q
CK
D Q
CK
D Q
CK
scan_enable
Q is generally not controllable by D due to E=> A latch can not be part of a scan chain
22
Outline
SoC Timing IssuesTiming terminologiesSynchronous vs. asynchronous designInterfaces and timing closureClocking issuesReset
Design for Testability (DFT)SoC Test PlanScan, ATPG, memory BISTDFT design rules
23
Interfaces and Timing ClosureA 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.
24
Macro Interfaces
Macro AMacro 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.
25
Sub-block Interfaces
Macro ASubblock A 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.
27
Example: registered vs. unregistered inputs
d1 + tsetup < 3ns ?
Combination D Q
CK
d2 + tsetup < 3ns
D Q
CK
Combination D Q
CK
28
Outline
SoC Timing IssuesTiming terminologiesSynchronous vs. asynchronous designInterfaces and timing closureClocking issuesReset
Design for Testability (DFT)SoC Test PlanScan, ATPG, memory BISTDFT design rules
29
Clocking Issues
Clock skew and clock tree
Divided clocks
Asynchronous clock interface
Clock gating
Synchronize Hard IP
Other considerations
31
Clock Skew May Cause Errors
FF0/CK
FF1/CK
Din Din
D0 Q0
CK
D1 Q1
CK
CK
Din
FF0/CK FF1/CK
FF0/CK
Q0
Q1
FF1/CK
Q0
Q1
35
Divided Clocks
ClockGenerator
Module A
Module B
Module C
CK0 (f Hz)
Ck2 (f/4 Hz)
CK1 (f/2 Hz) ∆1+skew1
∆0+skew0
∆2+skew2
t0 t1 t2
CK0
CK1
CK2
36
An Alternative Design Approach for a Divided Clock Domain
ClockGenerator
Module A
Module B
Module C
Ck
CK
En1
En2
∆+skew
En1
En2
37
Asynchronous Clock Interface
Ck1
XD Q
CKCk2
Block 1
Combination
Da QaCK1a
Db QbCK1b
da
db
Y
Z
Dangerous design!!!Random logic errors may occur due to the delay time difference between da and db.
39
Clock Synchronization
Synchronization
Ck1
DinD Q
CKCk2
D’in
Block A
Not all asynchronous inputs need to be synchronized!A single flip-flop may not be good enough for clock synchronization.
42
Standard Asynchronous Interface
D Q
CK
D Q
CKCk1
DinD Q
CKCk2
Block A
Two staged flip-flop to reduce the probability of metastability
44
Peak Power Reduction
ClockGenerator
A
B
C
Ck
Sync. I/F
Sync. I/F
Sync. I/F
ClockGenerator
A
B
C
Ckb
Async. I/F
Async. I/F
Async. I/F
Cka
Ckc
CKa
CKb
CKc
46
Clock Delays For Hard Blocks
ClockGenerator
∆1+skew1
∆2+skew2
Take into account insertion delays of hard macros
48
Clock Planning GuidelinesThe system clock generation and control logic should be separate from all function blocks of the systemDocument clock domain information- frequencies, PLL- interface timing (input and output)- skew requirement among clocksUse the standard synchronization interface for asynchronous inputs
Compensate insertion delays of hard macrosBypass clock gating and PLL in test mode
49
Outline
SoC Timing IssuesTiming terminologiesSynchronous vs. asynchronous designInterfaces and timing closureClocking issuesReset
Design for Testability (DFT)SoC Test PlanScan, ATPG, memory BISTDFT design rules
50
Chip Reset Issues
Synchronous or Asynchronous ?
External or Internal Power On Reset?
Voltage Detector for Power Down Reset ?
Hard Reset and Soft Reset ?
Each Module Individually Resettable for Debugging Purposes ?
51
Synchronous Reset
D Q
CK QN
D Q
CK QN
D Q
CK QNReset
Easy to synthesize since reset is treated as a logic signalReset slightly affect data timingNeed at least one active clock edge for reset to take place. This could become a problem at power on
52
Asynchronous Reset
D Q
CK
RN
QN
D Q
CK
SN
QN
D Q
CK
RN
QN
No clock required during reset periodReset does not affect data timingLike clock, a reset tree is usually required during APR
53
Avoid logical signal reset
D Q
CK
RN
QN
D Q
CK
RN
QN
Avoid using a logic signal as a reset signal
54
Reset Guideline
Asynchronous reset is preferred.
Reset must be synchronously de-asserted so that all state machine flip-flops 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.
55
Outline
SoC Timing IssuesTiming terminologiesSynchronous vs. asynchronous designInterfaces and timing closureClocking issuesReset
Design for Testability (DFT)SoC Test PlanScan, ATPG, memory BISTDFT design rules
56
Design For TestabilityIC testing vs. verification
- manufacturing defect vs. functional defectImportance of IC testing
- cost of RMATest 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
57
An Example of SoC Test Plan
Test Mode Register
Test Circuits
Test Mode:Processor TestRAM BISTROM Check SumSCAN/ATPGFunctional TestAnalog Macros ...
T_CK
T_M
S_I
S_O
59
Memory BIST
Software Memory BISTHardware Memory BIST
MemoryModule
A/D/En
Do
PatternGenerator
Compressor
A/Di/En
clock
test_crtl q
So
60
DFT Guidelines - 1
Avoid internally gated clocks or derived clocks
ClockD Q
CKGated clock
D Q
CK Derived clock
61
DFT Guidelines - 2
Avoid using latches Controllable
D Q
E
Uncontrollable
A latch can not be inserted into a scan chain due to the uncontrollable enable input
62
DFT Guidelines - 3
Avoid using flip-flops with an enable input (synthesis)
D Q
E
CK
Enable is not controllable
66
DFT Guidelines - 7
Provide test control for uncontrollable signals
ClockPLL
ClockTest_en
Gate_enor Test_en
67
SummariesRecommend 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.
DFT rules must be followed to ensure the testability of designs.