簡易檢索 / 詳目顯示

研究生: 盧泰樺
Lu, Tai-Hua
論文名稱: 管線化處理器核心測試程式發展與其錯誤涵蓋率評估方法之研究
Development of Efficient Test Programs and Fault Coverage Evaluation Methods for Pipeline Processor Cores
指導教授: 陳中和
Chen, Chung-Ho
學位類別: 博士
Doctor
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2010
畢業學年度: 98
語文別: 英文
論文頁數: 87
中文關鍵詞: 軟體自我測試管線化處理器測試確定性的軟體自我測試隨機性的軟體自我測試混合式軟體自我測試錯誤涵蓋率評估錯誤觀察方法
外文關鍵詞: Software-based self-testing (SBST), Pipeline processor testing, Deterministic SBST, Random SBST, Hybrid SBST, fault coverage measure, Fault observation method
相關次數: 點閱:156下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 測試系統晶片中的嵌入式處理器,軟體自我測試是一種大有可為的方法。然而達到高錯誤涵蓋率仍是軟體自我測試方法的挑戰。對此挑戰,本篇論文提出可結合多層次抽象化的軟體自我測試方法的高效率程式區塊軟體自我測試方法與其兩者的混和式軟體測試方法。多層級抽象化的軟體自我測試方法使用了邏輯閘層與架構層的資訊來改善結構性錯誤的涵蓋率,使用ATPG軟體產生限制性的測試樣本去有效的測試基本IP,並且參考暫存器傳輸層與架構層來發展剩下的控制邏輯電路的測試程式。而高效率程式區塊為基礎的軟體自我測試方法包含了依序區塊、亂序區塊、返回區塊、與觸發例外/中斷要求的指令流。為了改善結構性錯誤涵蓋率,這些區塊的建立參考了微處理器架構與指令集架構的資訊。最後,為了實現最高錯誤涵蓋率,我們將上述的兩者方法結合成混合式軟體自我測試方法。由於這種結合的混合測試程式的互補性,它可以實現處理器的錯誤涵蓋率的效果相媲美與傳統掃描鏈的方法。本文對測試反應的觀察方法其錯誤覆蓋率的影響也進行了研究。我們提出宏觀觀察與微觀觀測的觀察方法模型,研究顯示使用軟體自我測試的最有效的觀察方法是通過多重輸入簽名暫存器直接連接處理器的內部匯流排,而只有觀察記憶體內的程式測試結果將導致處理器錯誤涵蓋率的降低。

    Software-based self-test (SBST) is a promising approach for testing a processor core embedded in an SoC system; however, to achieve high processor fault coverage is a great challenge in SBST methodologies. To tackle this challenge, an effective program-block based random SBST and its hybrid SBST which combines with a multiple-level abstraction based deterministic SBST (MLA-SBST) for pipeline processor cores are presented. The MLA-SBST methodology uses gate-level and architecture information to improve coverage for structural faults. This SBST methodology uses an automatic test pattern generation (ATPG) tool to generate the constrained test patterns to effectively test the combinational fundamental IPs used in the processor. The approach refers to the register transfer level (RTL) code and processor architecture for the test of the control and steering logic in test routine development. The effective program-block based SBST consists of a combination of in-order blocks, out-of-order blocks, return blocks, as well as instruction sequences to trigger exception/interrupt requests. To improve fault coverage, the development of these blocks also refers to the instruction set architecture and processor architecture. Finally, we present a hybrid SBST which combines the MLA-SBST with the program-block based SBST for higher fault coverage. Due to the complementary nature of this hybrid test program, it can achieve processor fault coverage that is comparable to the performance of the conventional scan chain method. The test response observation methods and their impacts on processor fault coverage are also investigated. We present the concept of micro observation versus macro observation and show that the most effective method of using SBST is through a multiple input signature register connected to the processor local bus, while conventional methods that only observe the program results in the memory lead to significantly less processor fault coverage.

    摘 要 I ABSTRACT II 誌 謝 IV TABLE OF CONTENTS V LIST OF TABLES IX LIST OF FIGURES X CHAPTER 1 INTRODUCTION 1 1.1 MOTIVATION 1 1.2 INTRODUCTION TO THE PROPOSED METHODS 2 1.3 CONTRIBUTIONS 4 1.4 ORGANIZATION OF THESIS 5 CHAPTER 2 BACKGROUND AND PREVIOUS WORK 7 2.1 BACKGROUND 7 2.2 PREVIOUS WORK 8 2.3 OVERVIEW OF TARGET PROCESSORS 11 CHAPTER 3 FAULT OBSERVATION AND FAULT COVERAGE ESTIMATION 15 3.1 CONCEPT 15 3.2 FAULT OBSERVATION METHODS 17 3.2.1 MICRO OBSERVATION METHOD - MISR 17 3.2.2 MACRO OBSERVATION METHOD 18 3.2.2.1 SPACIAL AND TEMPORAL RELATIONSHIPS 20 3.2.2.2 UNCERTAIN RELATIONSHIP 22 3.3 FAULT OBSERVATION MECHANISMS 23 3.3.1 CONTROL SIGNAL OF MASK CIRCUIT FOR MACRO OBSERVATION MECHANISMS 26 3.4 SUMMARY 26 CHAPTER 4 DETERMINISTIC SBST METHODOLOGY WITH MULTIPLE LEVEL ABSTRACTION 28 4.1 CONCEPT 28 4.2 PROCESSOR PART CLASSIFICATION BASED ON MULTIPLE-LEVEL ABSTRACTION 29 4.2.1 INSTRUCTION SET ARCHITECTURE REGISTER 30 4.2.2 FUNDAMENTAL IP 31 4.2.3 CONTROL, STEERING LOGIC, AND PIPELINE REGISTERS 31 4.2.4 PIPELINE-RELATED CONTROL LOGIC 32 4.3 TEST ROUTINE DEVELOPMENT 32 4.3.1 TEST ROUTINE DEVELOPMENT FOR INSTRUCTION SET ARCHITECTURE(ISA) REGISTER 32 4.3.2 TEST ROUTINE DEVELOPMENT FOR FUNDAMENTAL IP 35 4.3.2.1 CONSTRAINT SETTING 36 4.3.2.2 TEST ROUTINE DEVELOPMENT FOR DATA PROCESSING IP 37 4.3.2.3 TEST ROUTINE DEVELOPMENT FOR DATA MEMORY ADDRESS MANIPULATION IP 37 4.3.2.4 TEST ROUTINE DEVELOPMENT FOR INSTRUCTION MEMORY ADDRESS MANIPULATION IP 38 4.3.3 TEST ROUTINE DEVELOPMENT FOR CONTROL, STEERING LOGIC, AND PIPELINE REGISTERS 39 4.3.4 TEST ROUTINE DEVELOPMENT FOR PIPELINE-RELATED CONTROL REGISTERS 40 4.3.4.1 TEST ROUTINE DEVELOPMENT FOR HAZARD DETECTION LOGIC 40 4.3.4.2 TEST ROUTINE DEVELOPMENT FOR PIPELINE FORWARDING MECHANISM 42 4.4 SUMMARY 43 CHAPTER 5 RANDOM SBST METHODOLOGY USING EFFECTIVE PROGRAM BLOCKS 44 5.1 CONCEPT 44 5.2 ORGANIZATION OF BLOCKS 46 5.2.1 IN-ORDER BLOCK 47 5.2.2 OUT-ORDER BLOCK 48 5.2.3 RETURN BLOCK 48 5.2.4 REGISTER FILE TEST 49 5.2.5 CONTROL AND DATA PATH TEST 50 5.2.6 FORWARDING TEST 51 5.2.7 EXCEPTION/INTERRUPT TESTING 53 5.3 ISSUE OF THE RANDOM SBST METHOD 54 5.3.1 TEST SHELL MECHANISM 54 5.3.1.1 THE ARCHITECTURE OF THE TEST SHELL 55 5.3.1.2 MULTIPLEXERS 56 5.3.1.3 DATA ADDRESS MASK 57 5.3.1.4 TEST CONTROLLER 58 5.3.2 MMU FOR TESTING MECHANISM 59 5.4 SUMMARY 60 CHAPTER 6 EXPERIMENTAL RESULTS 61 6.1 THE FLOW OF FAULT SIMULATION 61 6.2 SYNTHESIS CASE 1: 0.35UM, 50MHZ 62 6.3 SYNTHESIS CASE 2: 0.18UM, 125MHZ 65 6.4 RESULT DISCUSSIONS 67 6.5 EFFECTIVENESS OF VARIOUS PROGRAM BLOCKS 68 6.6 DIFFERENCE BETWEEN TEST SHELL MECHANISM AND MMU FOR TESTING MECHANISM 69 6.7 DISCUSSION ON OPTIMISTIC MACRO OBSERVATION METHOD AND PESSIMISTIC MACRO OBSERVATION MEHTOD 70 6.8 IMPACT OF RANDOM TEST PROGRAM SIZE AND OBSERVATION METHODS 71 6.9 ON THE TESTING OF EXCEPTIONS AND INTERRUPTS 73 6.10 APPLICATION AND LIMITATION 74 6.11 COMPARISONS WITH OTHER WORKS 75 6.12 SUMMARY 77 CHAPTER 7 CONCLUSIONS AND FUTURE WORK 78 7.1 CONCLUSIONS 78 7.2 FUTURE WORK 80 REFERENCES 81 PUBLICATIONS 86 VITA 87

    [1]A. Burdass, G. Campbell, R. Grisenthwaite, D. Gwilt, P. Harrod, and R. York, “Embedded Test and Debug of Full Custom and Synthesisable Microprocessor Cores,” In Proceedings of the IEEE European Test Workshop, pp.17-22, 2000.
    [2]J. Shen and J. A. Abraham, “Native Mode Functional Test Generation for Processors with Applications to Self Test and Design Validation,” In Proceedings of the IEEE International Test Conference, pp.990-999, October 1998.
    [3]D. Brahme and J. A. Abraham, “Functional Testing of Microprocessors,” IEEE Transactions on Computers, Vol.C-33, No.6, pp.475-485, June 1984.
    [4]N. Kranitis, A. Paschalis, D. Gizopoulos, and G. Xenoulis, “Software-Based Self-Testing of Embedded Processor,” IEEE Transactions on Computers, vol. 54, no.4, pp. 461-475, April 2005.
    [5]N. Kranitis, A. Paschalis, D. Gizopoulos, and Y. Zorian, “Effective Software Self-Test Methodology for Processor Cores,” In Proceedings of the Design Automation and Test in Europe Conference, 2002.
    [6]D. Gizopoulos, M. Psarakis, M. Hatzimihail, M. Maniatakos, A. Paschalis, A. Raghunathan, and S. Ravi, “Systematic Software-Based Self-Test for Pipelined Processors,” IEEE Transactions on Very Large Scale Integration Systems, Vol. 16, No. 11, pp. 1441-1453, November 2008.
    [7]C.-H. Chen, C.-K. Wei, T.-H. Lu, and H.-W. Gao, “Software-Based Self-Testing with Multiple-Level Abstractions for Soft Processor Core,” IEEE Transactions on Very Large Scale Integration Systems, Vol. 15, No. 5, pp. 505-517, May 2007.
    [8]N. Kranitis, D. Gizopoulos, A. Paschalis, and Y. Zorian, “Instruction-Based Self-Testing of Processor Cores,” In Proceedings of the IEEE VLSI Test Symposium, pp. 223-228, 2002.
    [9]F. Cormo, M. S. Reorda, G. Squillero and M. Violante, “A Genetic Algorithm-based System for Generating Test Programs for Microprocessor IP Cores,” In Proceedings of the International Conference on Tools with Artificial Intelligence, pp.195-198, 2000.
    [10]R. S. Tupuri and J. A. Abraham, “A Novel Functional Test Generation Method for Processors using Commercial ATPG,” In Proceedings of the IEEE International Test Conference, pp.743-752, November 1997.
    [11]R. S. Tupuri, A. Krishnamachary and J. A. Abraham, “Test Generation for Gigahertz Processors Using an Automatic Functional Constraint Extractor,” In Proceedings of the ACM/EDAC/IEEE Design Automation Conference, pp.647-652, 1999.
    [12]H.-P. Klug, “Microprocessor Testing by Instruction Sequences Derived from Random Patterns,” In Proceedings of the IEEE International Test Conference, pp.73-80, September 1988.
    [13]K. Batcher and C. Papachristou, “Instruction Randomization Self Test for Processor Cores,” In Proceedings of the 17th IEEE VLSI Test Symposium, pp. 34-40, 1999.
    [14]P. Parvathala, K. Maneparambil, and W. Lindsay, “FRITS-A Microprocessor Functional BIST Method,” In Proceedings of the IEEE International Test Conference, pp. 590-598, 2002.
    [15]F. Corno, M. Reorda, G. Squillero, and M. Violante, “On the Test of Microprocessor IP Cores,” In Proceedings of the IEEE Design Automation and Test in Europe Conference, 2001.
    [16]F. Corno, G. Cumani, M. Reorda, and G. Squillero, “Fully Automatic Test Program Generation for Microprocessor Cores,” In Proceedings of the IEEE Design Automation and Test in Europe Conference, 2003.
    [17]L. Chen and S. Dey, “Software-Based Self-Testing Methodology for Processor Cores,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 20, no. 3, pp. 369-380, March 2001.
    [18]L. Chen, S. Ravi, A. Raghunathan, and S. Dey, “A Scalable Software-Based Self-Test Methodology for Programmable processors,” In Proceedings of the 40th Design Automation Conference, pp. 548-553, June 2003.
    [19]E. Sanchez, M. S. Reorda, G. Squillero, and M. Violante, “Automatic Generation of Test Sets for SBST of Microprocessor IP Cores,” In Proceedings of the 18th Annual Symposium on Integrated Circuits and System Design, pp.74-79, 2005.
    [20]C. H.-P Wen, L.-C Wang, and K.-T Cheng, “Simulation-Based Functional Test Generation for Embedded Processors,” IEEE Transactions on Computers, Vol. 55, No. 11, pp. 1335-1343, November 2006.
    [21]ARM Corporation, “LF025 ARM926EJ_1616- TSMC CL013G FSG (Revision r0p4) Core Configuration and Performance Summary,” GENC-003812 1.0, 2003.
    [22]ARM Corporation, “ARM Architecture Reference Manual,” ARM DDI 0100E, 2000.
    [23]D. A. Patterson and J. L. Hennessy, “Computer Organization & Design,” Morgan Kaufmann , San Francisco,, 2005.
    [24]ARM Corporation, “ARM922T Technique Reference Manual,” ARM DDI 0184A, 2000.
    [25]SynTest Technologies Inc., USA, “TubroScan,” version 2.8, 2007. [Online]. Available: http://www.syntest.com/
    [26]N. Kranitis, A. Merentitis, and D. Gizopoulos, “Hybrid-SBST Methodology for Efficient Testing of Processor Cores,” IEEE Design & Test of Computers, Vol. 25, No. 1, pp. 64-75, January-February 2008.
    [27]MiniMIPSwebsite.http://www.opencores.org/cvsweb.shtml/minimips/miniMIPS/
    [28]C.H.-P. Wen, L.-C. Wang, K.-T. Cheng, K. Yang, W-T. Liu, and J.-J. Chen, “On a Software-Based Self-Test Methodology and its Application,” In Proceedings of the 23rd IEEE VLSI Test Symposium, pp.107-113, May 2005.
    [29]Mentor Graphics, USA, “ModelSim SE,” version 6.3c, 2007. [Online].Available: http://www.model.com/
    [30]Synopsys Inc., San Jose, CA, “Design Analyzer,” version X-2005.09, 2006. [Online]. Available: http://www.synopsys.com/
    [31]N. Kranitis, D. Gizopoulos, A. Paschalis, and Y. Zorian, “Instruction-Based Self-Testing of Processor Cores,” In Proceedings of the IEEE VLSI Test Symposium, pp. 223-228, 2002.
    [32]N. Kranitis, G. Xenoulis, D. Gizopoulos, A. Paschalis, and Y. Zorian, “Low-Cost Software-Based Self-Testing of RISC Processor Cores,” In Proceedings of the IEEE Design Automation and Test in Europe Conference, 2003.
    [33]N. Kranitis, G. Xenoulis, A. Paschalis, D. Gizopoulos, and Y. Zorian, “Application and Analysis of RT-Level Software-Based Self-Testing for Embedded Processor Cores,” In Proceedings of the IEEE International Test Conference, pp. 431-440, 2003.
    [34]W.-C. Lai, A. Krstic, and K.-T. Cheng, “Test Program Synthesis for Path Delay Faults in Microprocessor Cores,” In Proceedings of the IEEE International Test Conference, pp. 1080-1089, 2000.
    [35]X. Fedi, and R. David, “Some experimental results from random testing of microprocessors,” IEEE Transactions on Instrumentation & Measurement, vol. IM-35, no.1, pp. 78-86, March 1986.
    [36]S. M. Thatte, and J. A. Abraham, “Test Generation of Microprocessors,” IEEE Transactions on Computers, vol. C-29, pp. 429-441, June 1980.
    [37]P. Thevenod-Fosse, and R. David, “Random testing of the Data Processing Section of a Microprocessor,” In Proceedings of the Fault-Tolerant Computing Symposium, pp 275-280, 1981.
    [38]P. Thevenod-Fosse, and R. David, “Random testing of Control Processing Section of a Microprocessor,” In Proceedings of the Fault-Tolerant Computing Symposium, pp 366-373, 1983.
    [39]C. Timoc, F. Stoot, K. Wickman, and L. Hess, “Adaptative self-test for a microprocessor,” In Proceedings of the IEEE International Test Conference, pp.701-703, 1983.
    [40]W. Zhao, and C. Papachristou, “Testing DSP Cores Based on Self-Test Programs,” In Proceedings of the IEEE Design Automation & Test in Europe Conference, pp. 166-172, 1998.
    [41]I. Bayraktaroglu, J. Hunt, and D. Watkins, “Cache Resident Functional Microprocessor Testing: Avoiding High Speed IO Issues,” In Proceedings of the IEEE International Test Conference, pp.27-34, 2006.
    [42]W.-C. Lai and K.-T. Cheng, “Instruction-Level DFT for Testing Processor and IP Cores in System-on-a-Chip,” In Proceedings of the 38th Design Automation Conference, pp. 59-64, 2001.
    [43]A. Paschalis, D. Gizopoulos, N. Kranitis, M. Psarakis, and Y. Zorian, “Deterministic Software-Based Self-Testing of Embedded Processor Cores,” In Proceedings of the Design Automation and Test in Europe Conference, pp. 0092, 2001.
    [44]M. Abramovici, M. Breuer, and A. D. Friedman, “Digital Systems Testing and Testable Design,” Piscataway, New Jersey: IEEE Press, 1994.
    [45]M. L. Bushnell, and V. D. Agrawal, “Essentials of Electronic Testing for Digital,” Memory and Mixed-Signal VLSI Circuits, Kluwer Academic Publishers, 2000.
    [46]E. B. Eichelberger, E. Lindbloom, and J. A. Waicukauski, T. W. Williams, “Structured Logic Testing,” Englewood Cliffs, New Jersey: Prentice-Hall, 1991.
    [47]M. J. Y. Williams, and J. B. Angell, “Enhancing Testability of Large-Scale Integrated Circuits via Test Points and Additional Logic,” IEEE Transactions on Computers, vol. C-22, no. 1, pp. 46-60, January 1973.
    [48]K. P. Parker, “The Boundary-Scan Handbook,” Kluwer Academic Publishers, 2003.
    [49]IEEE P1500 SECT web site. http://grouper.ieee.org/groups/1500
    [50]C.-K. Wei, “Improving Software-Based Self-Testing with Multiple-Level Abstractions for Embedded Processors,” Master Thesis, Institute of Computer and Communication Engineering, National Cheng Kung University, Tainan, Taiwan, ROC, July 2006.
    [51]M.-C. Chen, “A Hybrid Method on Functional Testing for Embedded Processor Cores,” Master Thesis, Department of Electrical Engineering, National Cheng Kung University, Tainan, Taiwan, ROC, June 2003.

    下載圖示 校內:立即公開
    校外:立即公開
    QR CODE