Digital Testing with Multivalued Logic Signals Final Exam, April 15, 2015 Baohu Li Committee Chair: Dr. Vishwani Agrawal Committee Members: Dr. Adit Singh.

Slides:



Advertisements
Similar presentations
10/28/2009VLSI Design & Test Seminar1 Diagnostic Tests and Full- Response Fault Dictionary Vishwani D. Agrawal ECE Dept., Auburn University Auburn, AL.
Advertisements

Apr. 20, 2001VLSI Test: Bushnell-Agrawal/Lecture 311 Lecture 31 System Test n Definition n Functional test n Diagnostic test  Fault dictionary  Diagnostic.
Analog-to-Digital Converter (ADC) And
1 A Random Access Scan Architecture to Reduce Hardware Overhead Anand S. Mudlapur Vishwani D. Agrawal Adit D. Singh Department of Electrical and Computer.
Using MVL (Multi-Valued Logic) Signal in Test Application Baohu Li, Bei Zhang, Vishwani Agrawal Auburn University.
Designing Variation-Tolerance in Mixed-Signal Components of a System-on-Chip Wei Jiang and Vishwani D. Agrawal Electrical and Computer Engineering Auburn.
Dynamic Scan Clock Control In BIST Circuits Priyadharshini Shanmugasundaram Vishwani D. Agrawal
Copyright 2001, Agrawal & BushnellDay-1 AM Lecture 11 Design for Testability Theory and Practice January 15 – 17, 2005 Vishwani D. Agrawal James J. Danaher.
Externally Tested Scan Circuit with Built-In Activity Monitor and Adaptive Test Clock Priyadharshini Shanmugasundaram Vishwani D. Agrawal.
Feng-Xiang Huang A Low-Cost SOC Debug Platform Based on On-Chip Test Architectures.
11/17/05ELEC / Lecture 201 ELEC / (Fall 2005) Special Topics in Electrical Engineering Low-Power Design of Electronic Circuits.
Spring 08, Jan 15 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11 Lecture 1 Introduction n VLSI realization process n Verification and test n Ideal and real tests.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
A Two Phase Approach for Minimal Diagnostic Test Set Generation Mohammed Ashfaq Shukoor Vishwani D. Agrawal 14th IEEE European Test Symposium Seville,
An Arithmetic Structure for Test Data Horizontal Compression Marie-Lise FLOTTES, Regis POIRIER, Bruno ROUZEYRE Laboratoire d’Informatique, de Robotique.
Designing Variation-Tolerance in Mixed-Signal Components of a System-on-Chip Wei Jiang and Vishwani D. Agrawal Electrical and Computer Engineering Auburn.
Fall 2006, Nov. 30 ELEC / Lecture 12 1 ELEC / (Fall 2006) Low-Power Design of Electronic Circuits Test Power Vishwani D.
Spring 07, Jan 25 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 VLSI System DFT Vishwani D. Agrawal James J. Danaher.
An Efficient Test Data Reduction Technique Through Dynamic Pattern Mixing Across Multiple Fault Models 2011 VLSI Test Symposium S. Alampally 1, R. T. Venkatesh.
IC-SOC STEAC: An SOC Test Integration Platform Cheng-Wen Wu.
Copyright 2001, Agrawal & BushnellDay-1 AM-1 Lecture 11 Testing Analog & Digital Products Dr. Vishwani D. Agrawal James J. Danaher Professor of Electrical.
Multivalued Logic for Reduced Pin Count and Multi-Site SoC Testing Baohu Li and Vishwani D. Agrawal Auburn University, ECE Dept., Auburn, AL 36849, USA.
BIST vs. ATPG.
04/26/2006VLSI Design & Test Seminar Series 1 Phase Delay in MAC-based Analog Functional Testing in Mixed-Signal Systems Jie Qin, Charles Stroud, and Foster.
Spring 07, Jan 30 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 SOC Test Scheduling Vishwani D. Agrawal James.
By Praveen Venkataramani Vishwani D. Agrawal TEST PROGRAMMING FOR POWER CONSTRAINED DEVICES 5/9/201322ND IEEE NORTH ATLANTIC TEST WORKSHOP 1.
By Praveen Venkataramani Committee Prof. Vishwani D. Agrawal (Advisor) Prof. Adit D. Singh Prof. Fa Foster Dai REDUCING ATE TEST TIME BY VOLTAGE AND FREQUENCY.
Robust Low Power VLSI ECE 7502 S2015 SmartScan - Hierarchical Test Compression for Pin-limited Low Power Designs ECE 7502 Class Discussion Arijit Banerjee.
Juanjo Noguera Xilinx Research Labs Dublin, Ireland Ahmed Al-Wattar Irwin O. Irwin O. Kennedy Alcatel-Lucent Dublin, Ireland.
Copyright 2001, Agrawal & BushnellLecture 1 Introduction1 VLSI Testing Lecture 1: Introduction Dr. Vishwani D. Agrawal James J. Danaher Professor of Electrical.
Copyright 2001, Agrawal & BushnellLecture 1 Introduction1 VLSI Testing Dr. Vishwani D. Agrawal James J. Danaher Professor of Electrical and Computer Engineering.
EE141 VLSI Test Principles and Architectures Ch. 6 - Test Compression – P. 1 1 Chapter 6 Test Compression.
Finding Optimum Clock Frequencies for Aperiodic Test Master’s Thesis Defense Sindhu Gunasekar Dept. of ECE, Auburn University Advisory Committee: Dr. Vishwani.
Testimise projekteerimine: Labor 2 BIST Optimization
Adopting Multi-Valued Logic for Reduced Pin-Count Testing Baohu Li, Bei Zhang and Vishwani Agrawal Auburn University, ECE Dept., Auburn, AL 36849, USA.
Presenter: Hong-Wei Zhuang On-Chip SOC Test Platform Design Based on IEEE 1500 Standard Very Large Scale Integration (VLSI) Systems, IEEE Transactions.
SoC TAM Design to Minimize Test Application Time Advisor Dr. Vishwani D. Agrawal Committee Members Dr. Victor P. Nelson, Dr. Adit D. Singh Apr 9, 2015.
Robust Low Power VLSI ECE 7502 S2015 Analog and Mixed Signal Test ECE 7502 Class Discussion Christopher Lukas 5 th March 2015.
SoC TAM Design to Minimize Test Application Time Huiting Zhang Vishwani D. Agrawal May 12, North Atlantic Test Workshop.
Optimal Selection of ATE Frequencies for Test Time Reduction Using Aperiodic Clock Sindhu Gunasekar Vishwani D. Agrawal.
PRAVEEN VENKATARAMANI VISHWANI D. AGRAWAL Auburn University, Dept. of ECE Auburn, AL 36849, USA 26 th International.
1 System-on-Chip (SoC) Testing An Introduction and Overview of IEEE 1500 Standard Testability Method for Embedded Core-based ICs.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
Test and Test Equipment Joshua Lottich CMPE /23/05.
Reducing Test Application Time Through Test Data Mutation Encoding Sherief Reda and Alex Orailoglu Computer Science Engineering Dept. University of California,
Integrated Test Data Compression and Core Wrapper Design for Low-Cost System-on-a-Chip Testing Paul Theo Gonciari Bashir Al-Hashimi Electronic Systems.
VTS 2012: Zhao-Agrawal1 Net Diagnosis using Stuck-at and Transition Fault Models Lixing Zhao* Vishwani D. Agrawal Department of Electrical and Computer.
By Praveen Venkataramani
A Test Time Theorem and Its Applications Praveen Venkataraman i Suraj Sindia Vishwani D. Agrawal
Improving NoC-based Testing Through Compression Schemes Érika Cota 1 Julien Dalmasso 2 Marie-Lise Flottes 2 Bruno Rouzeyre 2 WNOC
Floyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd © 2008 Pearson Education Chapter 1.
Technical University Tallinn, ESTONIA Copyright by Raimund Ubar 1 Raimund Ubar N.Mazurova, J.Smahtina, E.Orasson, J.Raik Tallinn Technical University.
VLSI Design & Embedded Systems Conference January 2015 Bengaluru, India Few Good Frequencies for Power-Constrained Test Sindhu Gunasekar and Vishwani D.
Power Problems in VLSI Circuit Testing Keynote Talk Vishwani D. Agrawal James J. Danaher Professor Electrical and Computer Engineering Auburn University,
RTL Hardware Design by P. Chu Chapter 9 – ECE420 (CSUN) Mirzaei 1 Sequential Circuit Design: Practice Shahnam Mirzaei, PhD Spring 2016 California State.
ELEC 7950 – VLSI Design and Test Seminar
July 10, th VLSI Design and Test Symposium1 BIST / Test-Decompressor Design using Combinational Test Spectrum Nitin Yogi Vishwani D. Agrawal Auburn.
ELEC 7770 Advanced VLSI Design Spring 2016 Introduction
VLSI Testing Lecture 14: Built-In Self-Test
ELEC 7770 Advanced VLSI Design Spring 2014 Introduction
Digital Systems: Introductory Concepts
ELEC 7770 Advanced VLSI Design Spring 2012 Introduction
ELEC 7770 Advanced VLSI Design Spring 2010 Introduction
Esam Ali Khan M.S. Thesis Defense
Post-Silicon Calibration for Large-Volume Products
Energy Efficient Power Distribution on Many-Core SoC
Test Data Compression for Scan-Based Testing
A Low-Power Analog Bus for On-Chip Digital Communication
A Random Access Scan Architecture to Reduce Hardware Overhead
Presentation transcript:

Digital Testing with Multivalued Logic Signals Final Exam, April 15, 2015 Baohu Li Committee Chair: Dr. Vishwani Agrawal Committee Members: Dr. Adit Singh Dr. Bogdan Wilamowski Dr. Victor Nelson External Reader: Dr. Xiao Qin Department of Electrical and Computer Engineering Auburn University, AL USA

Acknowledgment Prof. Vishwani Agrawal for his invaluable guidance throughout my research and study, Prof. Adit Singh, Prof. Bogdan Wilamowski and Prof. Victor Nelson for being my committee members and for their courses, Prof. Xiao Qin for being my external reader, and My family and friends for their support. Final Exam - Baohu Li24/15/2015

Outline  Introduction  Problem Statement  Multi-valued logic (MVL) test application and its error protection  Hardware design for MVL channel  Experimental setup and results  Conclusion Final Exam - Baohu Li34/15/2015

Introduction How to test a device Final Exam - Baohu Li44/15/2015

ATE (Automatic Test Equipment) Final Exam - Baohu Li54/15/2015

Our ATE Advantest T2000GS ATE System –Housed in the ECE department Final Exam - Baohu Li64/15/2015

Advantest T2000GS System Components –Main frame –Test head –User interface –Manipulator (optional) Properties –Expensive in capital and running costs –Speed cap 125MHz –Limited channels (128) and memory depth (64MW/CH) Major modules –250MHz DM (Digital Module) and 500mA DPS (Device Power Supply) Final Exam - Baohu Li74/15/2015

Test Mission and Technologies in Trend Enormous and growing test size Final Exam - Baohu Li84/15/2015 [ITRS 2011]

Test Compression What does test compression do –Reduce test volume as to reduce test time and cost Test compression technology types: –Code based schemes (Huffman code [Jas 2003] and Golomb code [Chandra 2003], etc.) –Linear-decompression based schemes (EDT (Embedded Deterministic Test) from Mentor Graphics [Rajski 2004], etc.) –Broad-scan based schemes (OPMISR+ from Cadence [Keller 2005] and adaptive scan from Synopsys [Sitchinava 2004], etc.) Performance –Reduce test size by up to 100x Final Exam - Baohu Li94/15/2015

Multi-site Test What does multi-site test do –Test multiple devices with fixed ATE resource Final Exam - Baohu Li104/15/2015

Multi-site Test Reason for multi-site test –Increase test parallelism and throughput –Better utilize ATE resource, avoid spare channels –Save test cost Multi-site test considerations –TAM optimization »Based on ATE resource constraints (number of channels and memory depth, etc. [Iyengar 2002], [Goel 2005] and [Bahuk. 2009], etc.) –Bandwidth matching ([Volkerink 2001]) –Reduce test pins in device Final Exam - Baohu Li114/15/2015

Reduce Test Pins Enhance multi-site test –Decrease test resource requirement per DUT –Increase multi-site test parallelism Implementations –Enhanced reduced pin-count test ([Vranken 2001]) Final Exam - Baohu Li124/15/2015

Enhanced Reduced Pin-count Test Final Exam - Baohu Li134/15/2015 Similar to RPCT we call today

Reduce Test Pins Enhance multi-site test –Decrease test resource requirement per DUT –Increase multi-site test parallelism Implementations –Enhanced reduced pin-count test ([Vranken 2001]) –Three-pin test ([Moreau 2009]) Final Exam - Baohu Li144/15/2015

Three-pin Test Final Exam - Baohu Li154/15/2015

Reduce Test Pins Enhance multi-site test –Decrease test resource requirement per DUT –Increase multi-site test parallelism Implementations –Enhanced reduced pin-count test ([Vranken 2001]) –Three-pin test ([Moreau 2009]) –SmartScan ([Chakra. 2013]) Final Exam - Baohu Li164/15/2015

SmartScan Final Exam - Baohu Li174/15/2015

Reduce Test Pins Enhance multi-site test –Decrease test resource requirement per DUT –Increase multi-site test parallelism Implementations –Enhanced reduced pin-count test ([Vranken 2001]) –Three-pin test ([Moreau 2009]) –SmartScan ([Chakra. 2013]) Similarity: all major test pin reduction schemes are based on serialization and deserialization of test data Approach to combine RPCT with test compression Final Exam - Baohu Li184/15/2015

Test Compression and RPCT Trend to combine two techniques –Three-pin test ([Moreau 2009]) –SmartScan ([Chakra. 2013]) –Pin-limited mode in adaptive scan ([Synopsys 2009]) How RPCT benefit test compression –Details discussed in SmartScan ([Chakra. 2013]) »Major reason: RPCT increases the number of decompressor inputs with narrow TAM, which breaks the inputs correlation barrier of compression algorithm, improving fault coverage. Final Exam - Baohu Li194/15/2015

Input correlation barrier of compression algorithm Final Exam - Baohu Li204/15/2015

RPCT Benefit to Test Compression Final Exam - Baohu Li214/15/2015

Problem in RPCT Sacrifice test speed for TAM reduction Final Exam - Baohu Li224/15/2015 Assume certain channel speed, the scan speed in RPCT scheme is 1/5 of traditional case to match the bandwidth.

Problem in RPCT Problem gets worse with multi-core SoCs Final Exam - Baohu Li234/15/2015 Scan speed: 1/5 of clock f → 1/20 of clock f Limited by the data rate of single channel

Problem Statement How to deal with the growing test volume Compress test data Faster tester Enhance the capacity (improve the data rate) of test channel (this work) How to resolve the mentioned problem in RPCT Increase the data rate of test channel (same as enhancing test channel capacity) Solutions to the two problems join together Final Exam - Baohu Li244/15/2015

Final Exam - Baohu Li254/15/2015 Multi-Valued Logic (MVL) Test Channel 2 5 = 32 levels Data Rate = clock f x log 2 N Enhancement

Final Exam - Baohu Li264/15/2015 MVL Channel for RPCT Scheme How MVL test application resolves test speed sacrifice in RPCT scheme Scan speed: 1/20 of clock f → 1/5 of clock f Speed increases by data rate enhancement of MVL channel (log 2 16)

Final Exam - Baohu Li binary pin serially send some data at clock f 274/15/2015 Advantage of MVL Data Transmission in Power Consumption binary pins parallel send same data at clock f A 16 lvls MVL pin send same data at clock f 1 binary pin send same data with 4x clock frequency (4f) One binary channel Four binary channels 4x SerDes channel 16-level MVL channel

In the ideal situation, every code is correctly encoded and decoded with maximum noise margin. Compared to binary signal, the noise margin is shrunk for MVL. Final Exam - Baohu Li284/15/2015 Ideal MVL Signal Transmission

Data converter errors – Nonlinearity in DAC: DAC cannot convert a digital pattern into an analog voltage level exactly. – Nonlinearity in ADC: The ranges of ADC codes are not ideal. – Mismatch between DAC and ADC. Noise in channel – Data converters have dynamic noise. – Digital switching noise, power supply and ground noise, EMI. Final Exam - Baohu Li294/15/2015 Error Sources of MVL Channel

– DAC in ATE is assumed calibrated. – ADC in DUT is hard to modify after fabrication.  ADC nonlinearity must be calibrated. – Method: calibrate ADC nonlinearity by adjusting DAC output (use finer resolution DAC) Sweep all DAC input codes and capture the decoded codes from ADC Pick the code, which is median among which are decoded as the same code, to be the DAC output for this ADC code For devices cannot be calibrated, they are marked as MVL- incompatible to be tested with binary channel Final Exam - Baohu Li304/15/2015 Calibration of ADC nonlinearity

An error control technique: Noise is the major factor causing erroneous test data application after nonlinearity calibration. Solution: detect any error during test application; if error occurs, conduct retest. We compact all decoded patterns into the Applied Test Signature (ATS) to be examined at the end of test. Devices failing the maximum repetition of retests are marked as MVL-incompatible, to be tested with binary channel. Final Exam - Baohu Li314/15/2015 Error Detection and Retest

Final Exam - Baohu Li324/15/2015 Test Flow Design

MVL channel Implementation Requirements Able to generate MVL signal Able to conduct calibration Major components MVL generator (DAC) Calibration circuitry Final Exam - Baohu Li334/15/2015 Hardware Design for MVL Channel

RTL diagram Final Exam - Baohu Li344/15/2015 Hardware Design of 4-bit MVL Channel with 8-bit DAC

Simulation result of calibration procedure Dout is the ramp-up DAC inputs for calibration; Vre is the captured ADC output, corresponding to Dout; R1-R14 store the calibrated result. Final Exam - Baohu Li354/15/2015 Hardware Design of 4-bit MVL Channel with 8-bit DAC

MVL-compatible DUT Implementation Requirement Able to decode MVL signal Able to generate ATS Able to be tested with binary signal Major components MVL decoder (ADC) MISR for ATS compaction Multiplexers to switch between different modes Final Exam - Baohu Li364/15/2015 Hardware Design for MVL-compatible Device

RTL diagram Final Exam - Baohu Li374/15/2015 Hardware Design of MVL-Compatible DUT ModeTestBLCalBypass ADC Nonlinearity Calibration 0010 MVL Test11X0 ATS Capture000X Binary Test10X1

Setup of ELVIS system based experiment Use DAC AD557 and ADC AD7822 to imitate the MVL generator and decoder Use NI ELVIS II+ system as the platform to send and receive test data DE2 FPGA board is used to imitate the core logic under test Experimental items conducted Reliability Measurement: measure the SER (Symbol Error Rate) of the converter pair in terms of noise margin with/without FPGA load Verify the nonlinearity calibration scheme Apply scan test with MVL signal Final Exam - Baohu Li384/15/2015 Experimental Setup and Results

4/15/2015Final Exam - Baohu Li39 Experimental Setup Hardware setup Hardware system without FPGA load

4/15/2015Final Exam - Baohu Li40 Experimental Setup Hardware setup Hardware system with FPGA load

Reliability (SER) measurement – We used voltage divider on the output of DAC to change the full scale voltage in which case the noise margin was controlled. Final Exam - Baohu Li414/15/2015 Experimental Result

National Instruments ELVIS system and AD577 DAC serve as an ATE. AD7822 ADC and DE2 FPGA board implementing benchmark s298 serve as DUT. Five inputs, G0, G1, G2, scan_in1 and scan_en, are sent in MVL format, clock and reset remain binary. Test channels are reduced from 7 to 3. MVL test feasibility is established by obtaining test result identical to the case with 7 binary input pins. Final Exam - Baohu Li424/15/2015 Scan Test Result

Setup of ATE based experiment Use T2000GS tester to build MVL test channel Use ADC and DE2 FPGA board to build MVL-compatible DUT with RPCT interface and test compression decompressor. Experimental items conducted Apply scan test with compressed test data through RPCT interface using MVL signal Justify the test speed improvement with MVL channel Final Exam - Baohu Li434/15/2015 Experimental Setup and Results

4/15/2015Final Exam - Baohu Li44 Experimental Setup Build MVL channel with Advantest T2000GS

4/15/2015Final Exam - Baohu Li45 Experimental Setup Build MVL-compatible device with RPCT and decompressor

4/15/2015Final Exam - Baohu Li46 Experimental Setup Hardware setup

20 inputs, including EDT channel inputs and other primary inputs, are sent in 4-bit MVL format; clocks and reset remain binary. Test channels are reduced from 23 to 4. MVL test feasibility is established by obtaining test result identical to the case uses binary channel and a 1-to-20 RPCT interface. Test time with MVL channel is 30.88ms, compared to ms with binary channel. (clock f = 2MHz) Final Exam - Baohu Li474/15/2015 Test Result and Speed Improvement

This is the first work to apply test data in MVL format. Application of MVL test channel on RPCT with test compression is proposed. Reliability issues and proposed solutions are discussed in the dissertation. A prototype experiment proves the feasibility and verifies proposed error control solutions. ATE-based experiment shows notable test speed improvement with RPCT. Overhead remains an issue but will be helped as data converter techniques evolve. Final Exam - Baohu Li484/15/2015 Conclusion

References [ITRS2011] “Test and Test Equipment,” International Technology Roadmap for Semiconductors, 2011 Edition, [Jas 2003] A. Jas et al., “An Efficient Test Vector Compression Scheme Using Selective Huffman Coding,” IEEE Trans. Computer-Aided Des., vol. 22, no. 6, pp. 797–806, [Chandra 2003] A. Chandra et al., “Test Data Compression and Test Resource Partitioning for System-on-a-Chip Using Frequency-Directed Run-Length (FDR) Codes,” IEEE Trans. Computers, vol. 52, no. 8, pp. 1076–1088, [Rajski 2004] J. Rajski et al., “Embedded Deterministic Test,” IEEE Trans. Comput.-Aided Des., vol. 23, no. 5, pp. 776–792, [Keller 2005] B. Keller, “Encounter Test OPMISR + On-Chip Compression, Proc. International Test Conference, Panel 5.2, [Sitchinava 2004] N. Sitchinava et al., “Changing the Scan Enable During Shift,” Proc. IEEE VLSI Test Symp., April 2004, pp. 73–78. [Iyengar 2002] V. Iyengar et al., “Test Resource Optimization for Multi-Site Testing of SOCs Under ATE Memory Depth Constraints,” Proc. International Test Conf., 2002, pp Final Exam - Baohu Li494/15/2015

References, Continued [Goel 2005] S. Goel and E. J. Marinissen, “Optimisation of On-Chip Design-for-Test Infrastructure for Maximal Multi-Site Test Throughput,” Proc. Computers and Digital Techs., 2005, pp [Bahuk. 2009] S. Bahukudumbi and K. Chakrabarty, “Test-Length and TAM Optimization for Wafer-Level Reduced Pin-Count Testing of Core-Based SoCs,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 28, no. 1, pp , [Volkerink 2001] E. Volkerink, A. Khoche, J. Rivoir, and K. Hilliges, “Enhanced Reduced Pin-Count Test for Full-Scan Design,” Proc. IEEE VLSI Test Symp., 2002, pp [Moreau 2009] J. Moreau et al., “Running scan test on three pins: yes we can!,” Proc. International Test Conf., 2009, pp [Sanghani 2011] A. Sanghani et al., “Design and Implementation of A Time-Division Multiplexing Scan Architecture Using Serializer and Deserializer in GPU Chips,” Proc. 29th IEEE VLSI Test Symp., 2011, pp [Chakra. 2013] K. Chakravadhanula, et al., “SmartScan - Hierarchical Test Compression for Pin-limited Low Power Designs,” Proc. International Test Conf., Paper 4.2. [Synopsys 2009] DFTMAX TM Compression Backgrounder, Synopsys, 2009, Final Exam - Baohu Li504/15/2015

Thank you 4/15/2015Final Exam - Baohu Li51