Download Search for glitch free components

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Design and Timing Closure
Techniques for Managing
Wide Semiconductor Timing
Variations in Space Applications
Alexander Osovets
Michael Cuviello
Orbital Sciences
Corporation
Swales Aerospace
Incorporated
September 7, 2005
Osovets
1
MAPLD 2005 /219
The Design Problem:
 Long term exposure to
radiation in space
 Causes Component degradation
resulting in Integrated Circuit
specifications with wide timing
variations.
 Problems guaranteeing
timing margin of FPGA based
digital systems.
Osovets
2
MAPLD 2005 /219
Example System
Micro-controller
Aeroflex
RH80C196KDS
Memory
FPGA
ACTEL
RT54SX72S
Peripherals
Osovets
3
MAPLD 2005 /219
Example:
Aeroflex RH80C196KDS Micro-controller
Timing tolerance
Timing
tolerances
40-50%
40-50%
of of
system
system
clock
clock period
Signal Timing
relative to
output clock
Signal Timing
relative to
address latch
Osovets
Worst case timing doesn’t add up!
4
MAPLD 2005 /219
Time for an Updated Approach:
A Multiple Clock System
Re-Sync
Clock
Domain
Clock
Domain
Delay
Delay
Clock
Domain
System Clock
Osovets
5
MAPLD 2005 /219
New Issues!

Need for glitch free handshaking logic.

Re-synchronization of cross-clock domain
signals.

A more sophisticated static timing analysis tool
flow with multi-clock multi-mode capability.
Osovets
6
MAPLD 2005 /219
Issue 1: Glitch Free Handshaking
What Causes FPGA Cells To Glitch?

ASIC combinatorial cells do not glitch, since they are
custom designed for a specific function.

In FPGAs all combinatorial functions are created from
components available in the slice, i.e. C-Cell.

Actel devices have multiplexer based structures.

This results in all gates being built from muxes.

That in turn implies possibility of output glitches on the
input signal transitions, even in the cases when other
inputs are stable.
Osovets
7
MAPLD 2005 /219
Issue 1:
Glitch Free Logic
Why do we need glitch free components?

To avoid tri-state bus contention during the
enable/disable boundaries of multiple drivers.

To create glitch free clocks and clock like signals i.e. ram
writes, interrupts …

Clock gating.

Power dissipation reduction.

EMI reduction.
Osovets
8
MAPLD 2005 /219
Issue 1: Glitch Free Logic
Option 1: Register all desired ports

Hard macro Flip-Flops in Actel R-Cell provide glitch free
operation.

However, 54SX-S device has Triple Module Redundancy (TMR)
combinatorial voting circuit on the output of the registers.

Fortunately, glitch free operation is verified through simulation by
NASA TMR designers.

This solution is not always feasible due to design speed,
asynchronous driving modules or other limitations.
Osovets
9
MAPLD 2005 /219
Issue 1: Glitch Free Logic
Option 2 : OR-Gate or Multiplexer Macros


4 OR-gate macros with glitch free operation
MX2 macro with glitch free operation



Only on S input transition
When A and B inputs = 0
For Both




Osovets
The only way to ensure glitch free operation is to keep inputs transitions far
apart from each other (few gate delays).
Indicated by ACTEL Engineers; but not guaranteed.
Use syn_keep and alspreserve attributes for instantiation in VHDL.
Significantly reduces output glitch possibility.
10
MAPLD 2005 /219
Issue 1:
Glitch Free Logic
Option 3 : Asynchronous RS-Latch








Asynchronous RS-Latch may provide glitch free output transition
However, most of the Actel Flop and Latch macros are built from combinatorial
logic
DFPCB (presented on the previous slide) is one of few Actel macros comprised
out of pure sequential logic.
In addition CLR input has a precedence over PRE input, avoiding an uncertain
condition.
Actel confirmed glitch free operation of this device, but again, as long as inputs
transitions are kept far enough from each other
The hard macro approach is less susceptible to the affects of routing delays,
synthesis and placement variations.
This option shows the most promise.
Good Luck!
Osovets
11
MAPLD 2005 /219
Issue 2: Synchronizing Clock Domains
Out of Phase Correlated Clock Domains - Metastability
Tapperture = To * e-(tco-tmet)/t
Clock
thold+tsetup – metastability window
Input
Metastable
Output
Normal
Output
Osovets
tmet – output sample time
tco – normal output delay
12
MAPLD 2005 /219
Issue 2: Synchronizing Clock Domains
Out of Phase Correlated Clock Domains - Metastability

Osovets
Metastability

The output of the flip-flop becomes indeterminate for an
extended period of time beyond the normal specified output
delay.

Caused by flip-flop input setup or hold time violations.

tmet denotes the extended duration before the output settles.

tmet is related to a time window about the clock edge in which the
input data transitions.

taperture. denotes a time window about the clock edge in which the
input data transitions.

As tmet increases, taperture decreases.

The aperture need not be exactly centered on the clock edge.
13
MAPLD 2005 /219
Issue 2:
Synchronizing Clock Domains
Out of Phase Correlated Clock Domains - Metastability

To reduce the likelihood of propagating an indeterminate
value into the system, we double sample data that might
transition within the taperture window at a period beyond
what tmet is likely to be.

The Worst Case – Correlated Clocks (from the same source)
Osovets

Presents the possibility that the nominal data transition is always
centered exactly in the middle of the aperture.

Typically, only the case of random occurrence is analyzed.

A Latent Fault - Because of timing changes due to radiation and
correlated clock domains, this could occur repetitively at
sometime during the life of a mission.
14
MAPLD 2005 /219
Issue 2: Synchronizing Clock Domains
Out of Phase Correlated Clock Domains - Metastability

To analyze

Rely only on system noise to cause the actual data transition to occur
sometime off nominal that is outside taperture.

To eliminate any possibility that correlation between the system noise
and the input clock might work against us, we consider only thermal
noise that we know is truly random.

This thermal noise could be considered to be in the input signal or
actually noise on an internal node of the latch in the flip-flop. It is
caused by channel resistance of the transistor.

If we make our sampling period large enough, taperture reduces to the
point that it is insignificant compared to the timing jitter caused by
thermal noise.

Thus, the failure rate because of tmet exceeding our sampling period
also becomes very small.
Osovets
15
MAPLD 2005 /219
Issue 2: Synchronizing Clock Domains
Out of Phase Correlated Clock Domains - Metastability
Tc
Clock
Uniform
Input Distribution
Corelated
Input Distribution
Tjitter
Td
Apperture
Window
Tapperture
Osovets
16
MAPLD 2005 /219
Issue 2: Synchronizing Clock Domains
Out of Phase Correlated Clock Domains - Metastability
MTBF is expected value of the time between failures
For uniform failure distribution
MTBF =E(t)=T/Ne
Where T is operation time, Ne is number of faults
Ne= fd*T*Pfail= fd*T* Tapperure/Tjitter
MTBF =1/fjitter*fd*To* e-(tco-tmet)/t
Osovets
17
MAPLD 2005 /219
Issue 2: Synchronizing Clock Domains
Out of Phase Correlated Clock Domains
Input Jitter Estimate
Tjitter
Input slew
dU/dt=1V/ns
Vnoise
MTBF Estimate for Synchronizer in
Actel RT54SX72S
MTBF = (Tjitter * Td / C1) * e(C2 * tmet)
Tjitter~=.03pS
For Actel RT54SX72S
C1 = To*e-(tco/ t)  7E-10
C2=1/ t
 1e10
tmet
= Tc-tsetup-tpd-tco
tpd
= propagation delay
tsetup
= flip-flop setup time.
tco
= flip-flop output delay
tco+tpd+tsetup  1.5 ns
Tc
= 1/32 MHz
Td
= 1/8 MHz
This is a conservative noise estimate
disregarding system noise
MTBF  2.62 x 10110 years
Thermal noise
V2
noise=KT/C
For T=303K(30C);
C= 5E-12 pF
k=1.38E-23 J/K
Vnoise~=30μV translates into
Osovets
18
MAPLD 2005 /219
Issue 3: Static Timing Analysis
for Multi-Clock Domains Multimode Systems

Multiple Pseudo Asynchronous clocks - phase shifted
synchronous clocks with slow drifting undefined phases.



Synchronization to master clock leads to messy manual
analysis with reduced operating frequency and high
probability of mistakes. Clock uncertainty is on the order of
full cycle.
Sequential multi-cycle CPU operation and external DMA
block require multi-mode analysis.
Board level cross chip analysis is required to meet ICs
specification.

CLOCK DOMAINS ENCAPSULATION AND BOUNDARY
RE-SYNCHRONIZATION IS A BETTER SOLUTION.

PRIMETIME IS AN ASIC TOOL, WHICH CAN BE USED
FOR FPGA ANALYSIS TO MEET TIMING REQUIREMENTS.
Osovets
19
MAPLD 2005 /219
Issue 3:
Static Timing Analysis
for Multi-Clock Domains Multimode Systems
Addr
Processor
Block
Diagram
Data
Wr_n
wrln
Clko
OE
ALE
CS
RAM
CPU
DMA
FPGA
Sys_clk
Osovets
20
MAPLD 2005 /219
Issue 3:
Static Timing Analysis
Example of Manual Analysis Required with full resynchronization
to master clock
Setup Time Ts
to “Read Not” valid to
(3) Data Required on “AD” bus
wr: (1)“Address Latch” valid (2)
(4) “Address Latch” detected(5)
to “SRAM Read Not” valid (6)
to SRAM Access time (7)
to D bus to AD bus delay.
31.25ns Typical
SYS_CLK
SRAM
Bus
Read
T1min=2*Clk-10
ADV_RD
T2min=2*Clk-5
1
T3max=2*Clk-26
2
3
ALE
RD_N
Add/Data
Address
T5max= Tp_rd3
T4max=3*Clk + Ts_ale
Required Data Valid
7
T6max
=Tsram
T7max= Tp_d_ad
ALE_1
ALE_2
T1min=2*Clk-10
ALE_SYNC
4
Address
CSsram
5
RD_n_3v
6
Data
Osovets
21
MAPLD 2005 /219
Issue 3:
Static Timing Analysis
Multi Mode, Multi Clock Analysis
SYS_CLK
Read
margin
Address
margin
Clocks
Clocks
Clocks
Write
margin
80C196
Bus
Timing
Osovets
22
MAPLD 2005 /219
Issue 3:
Static Timing Analysis
Cross chip Data Mode Analysis
Latch Ram
Address
80C196
Bus
Timing
RAM data out
propagation
delay
Data Read
margins from
Ram CS to
CPU read
strobe
Osovets
CPU data read
23
MAPLD 2005 /219
Issue 3:
Static Timing Analysis
PrimeTime Advantages for FPGA design





Industry standard timing analysis tool
Tcl scripting capabilities
Case analysis capabilities
Allows you to perform board level timing analysis
Advanced timing analysis features:




Osovets
exceptions handling
multiple clocks and frequencies
transparent latch and time borrowing
mode analysis …
24
MAPLD 2005 /219
Issue 3:
Static Timing Analysis
Actel FPGA Static Timing Analysis Results w/ PrimeTime

Analyzed modes for setup and hold margins for best
and worst case corners:









CPU address latch
Clkout register to register
Sys_clk register to register
DMA RAM read/write
Timing analysis results:


Osovets

CPU address to RAM write
CPU address to IO write
CPU data to RAM write
CPU data to IO write
RAM data to CPU read
Setup timing margins were improved from negative slack to
greater than 20% positive slack.
Some tight hold margins were identified for buffer insertion.
25
MAPLD 2005 /219
Summary

Radiation environments present unique challenges for
timing closure.




To address these challenges, a single clock synchronous
design was changed to a multi-clock architecture.
To implement the new architecture, new issues had to be
addressed.
1.
2.
3.

Relaxed Timing Definition
Long term timing Drift
Guaranteeing glitch free handshaking signals from FPGA logic blocks.
Careful analysis of metastability in the cross-domain re-synchronization
circuits.
Multi-mode, multi-clock Static Timing Analysis
The new design successfully improved overall system
performance, timing margin, and quality of design.
Osovets
26
MAPLD 2005 /219
References
[1] Actel, “Metastability Characterization Report for Actel
Antifuse FPGAs,” Application Note, May 2004
[2] Actel, “Antifuse Macro Library Guide for Software 6.0,” May 2004
[3] Paul R. Gray and Robert G. Meyer. Analysis and Design of Analog
Integrated Circuits. Wiley, New York, 1993.
[4] Charles Dike and Edward (Ted) Burton, “Miller and Noise Effects in a
Synchronizing Flip-Flop,” IEEE J. Solid State Circuits, vol. 34, No. 6, June 1999.
Osovets
27
MAPLD 2005 /219