multiply - Auburn University

advertisement
Built-In Self-Test for Multipliers
Mary Pulukuri
Dept. of Electrical & Computer Engineering
Auburn University
Outline of Presentation
Overivew of multiplier architectures
History of Digital Signal Processor
(DSP) Architectures in FPGAs
Overview of Virtex-4 DSP
Prior Testing R&D for Multipliers
Our Approach
Analysis Methodology
Simulation Results
Application to Virtex-4 & 5 DSPs
Summary and Conclusions
M. Pulukuri 9/09
VLSI D&T Seminar
2
Overview of Multipliers
Array Multiplier
Final product calculated by using an array of
full adders & and gates
M. Pulukuri 9/09
VLSI D&T Seminar
3
Overview of Multipliers
Signed array or Baugh Wooley multiplier
Final product calculated using an array of full
adders, and gates & nand gates
M. Pulukuri 9/09
VLSI D&T Seminar
4
Overview of Multipliers
 Modified Booth multipliers
 Partial products calculated using the modified booth algorithm
 Modified booth algorithm uses a binary encoder to calculate partial
products using a series of shift operations
 Summation of partial products done using CLA adders
A.R. Cooper, “Parallel architecture modified Booth multiplier” IEEE Proc.
Electronic Circuits and Systems, vol. 135, no. 3, pp. 125-128, 1998
M. Pulukuri 9/09
VLSI D&T Seminar
5
Overview of Multipliers
Modified Booth/Wallace Tree multipliers
Summation of partial products done using a Wallace
Tree
 Each column of partial products are summed using a multistage setup of half and full adders
 Each multi-stage adder circuit generates a sum and carry
which form the two final partial products
Two final stage partial products from the wallace tree
are added using a CLA adder
M. Pulukuri 9/09
VLSI D&T Seminar
6
Xilinx FPGA Architectures
4000/Spartan
NxN array of unit cells
Unit cell = CLB + routing
 Fast carry logic in CLBs for adders
Virtex/Spartan-2
MxN array of unit cells
 Carry logic + AND gate for array
multipliers
4K block RAMs at edges
PC
PC
Virtex-2/Spartan-3
18K block RAMs in array
18x18-bit multipliers with each RAM
 “based on modified Booth architecture”
PC
Virtex-4/Virtex-5
Added 48-bit DSP cores w/multipliers
M. Pulukuri 9/09
VLSI D&T Seminar
PC
7
Virtex-4 DSP Architecture
Outputs w/ dedicated routing
 2 DSP slices per tile
 16-256 tiles in 1-8
columns
X
A(18)
B(18)

Y
 Each DSP includes:C(48)
 18x18-bit 2's-comp
multiplier (w/o adder)
 3-input, 48-bit
adder/subtractor
P
(48)
X
A(18)
B(18)

 For X, Y, & Z MUXs
 Configuration bits control
other MUXs
Z
M. Pulukuri 9/09

Inputs for cascading
Outputs w/ dedicated routing
Y
 Pipelining registers
 Accumulator register
 Easily tested
P
(48)
Z
 P = Z(X+Y+Cin)
 Optional accum reg
 User controlled
operational modes

Inputs for cascading
VLSI D&T Seminar
8
BIST Approach for Virtex-5 DSP
Larger multiplier
M. Pulukuri 9/09
VLSI D&T Seminar
9
Multiplier Architectures
Test algorithm depends on architecture
But architecture is not specified in data sheets
 Eliminate sequential logic architectures
 “Based on modified Booth”
Multiplier choices include:
Array
Booth
Modified Booth
Modified Booth/Wallace tree
 Our assumption based on area/performance analysis
Our goal: find/develop architecture independent
test algorithm(s)
M. Pulukuri 9/09
VLSI D&T Seminar
10
Modified Booth Test Algorithms
Test algorithm uses 8-bit counter (256 vectors)
“ “Effective Built-In Self-Test for Booth Multipliers”
Gizopoulos, Paschalis & Zorian
 IEEE Design & Test of Computers
pp. 105-111, 1998
 Claim fault coverage ~ 99.8%
4x4 connections to multiplier inputs
 Order of the bits does not matter
 Algorithm used in Srinivas Garimella’s
MS thesis for Virtex-2 multipliers
M. Pulukuri 9/09
VLSI D&T Seminar
4×4 algorithm
8-bit counter
MSB
4
n
Booth
encoding
LSB
4
n
×
2n
n×n multiplier
11
Modified Booth Test Algorithms
Test algorithm uses 8-bit counter (256 vectors)
“An Effective BIST Architecture for Fast Multiplier Cores”
 Paschalis, Kranitis, Psarakis
Gizopoulus & Zorian
 Proc. Design, Automation and Test in
Europe Conf. pp. 117-121, 1999
 Claim fault coverage ~99.8%
 5x3 connections with 5 inputs to
Booth encoding
 But this was not explicit in paper
 Only shown in figure
 Order of the bits does not matter
5×3 algorithm
8-bit counter
MSB
5
n
Booth
encoding
LSB
3
n
×
2n
n×n multiplier
Note that this paper is from 1999
M. Pulukuri 9/09
VLSI D&T Seminar
12
Modified Booth Test Algorithms
Test algorithm uses 8-bit counter (256 vectors)
“Low Power BIST for Wallace Tree-based Fast Multipliers”
 Bakalis, Kalligeros, Nikolos,
Vergos & Alexiou
 Proc. Int. Symp. on Quality of Electronic Design,
pp. 433-438, 2000
 Claim fault coverage > 99%
 5x3 connections with 5 inputs to
Booth encoding
 Specifically stated in paper
 But no data to back up claim that 5x3 better than 3x5
 Did they just observe it in Zorian paper?
5×3 algorithm
8-bit counter
MSB
5
n
Booth
encoding
LSB
3
n
×
2n
n×n multiplier
 Note that this paper was published a year later than Zorian
M. Pulukuri 9/09
VLSI D&T Seminar
13
Modified Booth Test Algorithms
Test algorithm uses 8-bit counter (256 vectors)
But which side is Booth encoding?
Xilinx does not specify
Our original approach
Run 5x3 algorithm
 256 vectors
and run 3x5 algorithm
 512 vectors
Include 4x4 if fault coverage improves
 768 vectors
5×3
3×5 algorithm
8-bit counter
MSB
LSB
35
53
n
Booth
encoding
n
×
2n
n×n multiplier
Additional algorithms only require multiplexers to
change inputs
 Use same 8-bit counter
M. Pulukuri 9/09
VLSI D&T Seminar
14
Methodology for Analysis
Multipliers evaluated
Unsigned array
Signed array – Baugh Wooley
Modified Booth
 Carry look-ahead adders sum partial products in every stage
Modified Booth Wallace Tree
 Carry look-ahead adder sums final stage partial products
 Carry select adder sums final stage partial products
 Ripple carry adder sums final stage partial products
M. Pulukuri 9/09
VLSI D&T Seminar
15
Methodology for Analysis
Designed 8-bit models of the multipliers
Fault model: Collapsed single stuck-at
gate level faults
Exhaustive testing
To determine undetectable faults
Test algorithms evaluated
4×4
5×3
3×5
5×3 & 3×5
4×4, 5×3 & 3×5
M. Pulukuri 9/09
VLSI D&T Seminar
16
Multiplier
Total
Faults
Unsigned array 1648
Signed array
1648
Mod-Booth
2499
Mod-Booth
2184
Wall-Tree CLA
Mod-Booth
2422
Wall-Tree CSA
Mod-Booth
2021
Wall-Tree RCA
M. Pulukuri 9/09
Test Algorithm
# faults detected (effective fault coverage)
Exhaust
4×4
5×3
3×5
1644
(100)
1644
(100)
2196
(100)
2090
(100)
2243
(100)
1962
(100)
1644
(100)
1644
(100)
2180
(99.27)
2061
(98.61)
2215
(98.75)
1937
(98.73)
1644
(100)
1644
(100)
2168
(98.72)
2068
(98.95)
2217
(98.84)
1944
(99.08)
1621
(98.60)
1644
(100)
2179
(99.23)
2070
(99.04)
2218
(98.89)
1944
(99.08)
VLSI D&T Seminar
5×3 &
3×5
1644
(100)
1644
(100)
2182
(99.36)
2071
(99.09)
2222
(99.06)
1944
(99.08)
5×3, 3×5
& 4×4
1644
(100)
1644
(100)
2193
(99.86)
2074
(99.23)
2228
(99.33)
1947
(99.24)
17
Application to Virtex-4 & 5 DSPs
In Virtex-4 & 5 DSPs
Final stage carry look-ahead adder (CLA) separated from
the multiplier
5×3 & 3×5 give the same fault coverage for the multiplier
alone
Separate test algorithm for the CLA
 Run both 5×3 and 3×5 to test for bridging faults on the cascade
routing between adjacent slices
Mode (Test)
First 256 ccs
Second 256 ccs
Third 256 ccs
Fourth 256 ccs
00 (multiply)
P = A×B
P = A×B
P = A×B+C
P = A:B+C
M. Pulukuri 9/09
VLSI D&T Seminar
18
Summary and Conclusion
If the architecture of the multiplier is not known:
3×5 algorithm gives best overall fault coverage for most
multipliers
 Contradicting the claim of the authors who proposed 5×3
Running 3×5 & 5×3 gives better fault coverage for all
multipliers
Running all three algorithms: 3×5, 5×3 and 4×4 test
algorithms provides the best fault coverage for all
multipliers
 Architecture independent testing
Virtex-4 & Vritex-5 multipliers
Original approach was 3×5 and 5×3
Better approach would be 3×5 and 4×4
M. Pulukuri 9/09
VLSI D&T Seminar
19
Summary and Conclusion
For multipliers in Virtex-2 FPGAs
Adder not separated from the multiplier
 Run both 3×5 and 5×3 algorithms
 These give highest fault coverage for multiplier & CLA
The 3×5 and 4×4 BIST algorithm should be
applied to multipliers in
Spartan-3A
 Similar to multipliers in Virtex-4
Spartan-6
 Similar to multipliers in Virtex-4
Virtex-6
 Similar to multipliers in Virtex-5
If only 2 algorithms can be applied
 Best results if all 3 can be applied
M. Pulukuri 9/09
VLSI D&T Seminar
20
Summary and Conclusion
Area overhead for different approaches
In addition to 8-bit counter
Maximum area overhead for N-bit multiplier:
 One test algorithm: 2N 2:1 multiplexers
 Two test algorithms: 2N 3:1 multiplexers
 1 additional counter bit for control
 All three test algorithms: 2N 4:1 multiplexers
 2 additional counter bits for control
This is worst case since synthesis tools may reduce
multiplexers
 Particularly in case of two and three test algorithms
 Due to counter duplicate bits to same multiplexers
Regardless, this is an area efficient BIST approach
 Paper almost finished for JETTA Letter or Trans. IE Corr.
 Brad is using 3×5, 5×3 & 4×4 algorithms in test bench
for multipliers in Output Response Analyzer (ORA) for
mixed signal BIST
M. Pulukuri 9/09
VLSI D&T Seminar
21
M. Pulukuri 9/09
VLSI D&T Seminar
22
Download