An improved register–transfer level functional partitioning approach for testability1

https://doi.org/10.1016/S1383-7621(98)00079-4Get rights and content

Abstract

This paper presents an improved register–transfer level functional partitioning approach for testability. Based on an earlier work (X. Gu, K. Kuchcinski, Z. Peng, An efficient and economic partitioning approach for testability, in Proceedings of International Test Conference, Washington DC, 1995.), the proposed method identifies the hard-to-test points initially based on data path testability and control state reachability. These points will be made directly accessible by DFT techniques. Then the actual partitioning procedure is performed by a quantitative clustering algorithm which clusters directly interconnected components based on a new global testability of data path and global state reachability of control part. After each clustering step, we use a new estimation method which is based partially on explicit re-calculation and partially on gradient techniques for incremental testability and state reachability analysis to update the test property of the circuit. This process will be iterated until the design is partitioned into several disjoint sub-circuits and each of them can be tested independently. The control part is then modified to control the circuit in normal and test mode accordingly. Therefore, test quality is improved by independent test generation and application for every partition and by combining the effect of data path with control part. Experimental results show the advantages of the proposed algorithm compared to other conventional approaches.

Introduction

The development of VLSI technology has brought with it many testing problems. To solve these problems, various approaches have been proposed to enhance the testability of VLSI circuits by incorporating extra testability features. Scan design is a very popular approach which improves the testability by increasing the controllability and observability of the memory elements of sequential circuits 10, 32, 34, 35. In the scan technique, the memory elements are configured into a shift register during testing in order to control as well as observe their states. However, scan design usually introduces a significant area and delay overhead due to the multiplexers in the scan latches and the routing area for the scan chains and the extra inputs. To minimize these overheads, some approaches are based on the concept of partial scan where only a few selected latches are scanned 3, 4, 15, 27, 33. These testability features such as scan are usually incorporated in a post-synthesis step. As the performance and quality requirements of VLSI circuits increase, these DFT methods of improving testability become less attractive due to their unacceptable area and performance overheads.

Different from the above techniques, Synthesis for Testability (SFT) considers testability of the circuits from the early stage of the synthesis process. The overhead due to testability improvement can be reduced by using SFT techniques, since there is a greater flexibility in the design options during the early design stages, and the synthesis process can be guided towards a more testable design. Gebotys et al., [9]and Mujumdar et al. [24]target full or partial scan path techniques during data path allocation to improve testability. Papachristou et al. 25, 26, Flottes [7]and Avra [2]minimize the number of loops for BIST during the allocation phase. Harris et al. [17], Yang et al. [37]and Parulkar [28]have presented integrated scheduling and allocation methods that improve the test quality or reduce the BIST area overhead and resources. Lee et al. 20, 21employ behavioral synthesis rules to ease test generation and therefore improve testability.

In most of these SFT techniques, test generation is still performed as a post-synthesis step and will take a significant amount of the overall design time. Partitioning for a design can lead to the simplifications of many design procedures such as synthesis and test. Partitioning for testability will lead to the simplification of Automatic Test Pattern Generation (ATPG) and the ability to apply different test strategies to different partitions. The proposed partitioning technique transforms some hard-to-test registers and/or lines to boundary components. These components act as normal registers and/or lines in the normal mode and serve as partitioning boundaries in test mode. Therefore, a design is partitioned into several sub-circuits and each of them can be tested and controlled. It is, therefore, possible to apply different test strategies, such as scan for deterministic and BIST for random test to different partitions.

The circuit partitioning problem can, in general, be formulated as a graph partitioning problem. Given a graph with nodes and arcs, the objective is to partition the nodes into several subsets, such that the total costs of the arcs between nodes in different partitions is minimized. Optimal partitioning is known to be NP-complete [8]. Recent work on partitioning for testability has been reported in 1, 5, 13, 16, 23. These papers underline the different aspects which can influence the testability of a design. De and Banerjee [5]present a technique which ensures the minimal number of redundant faults after resynthesizing each partitioned block and subsequent re-connection. Maxii and Meo [23]guarantee that each partitioned block is a fanout free region. In [1], Abadir and Newman partition a design to ease testing, but do not take into account whether the partitioning will result in the optimal or near-optimal solution for testability. The depth-first strategy they use to search adjacent cells to be in the same cluster does not guarantee the best testability after partitioning. In [16], Gupta et al. partition a design by clustering gates to clouds. During clustering, testability issue is not considered. Since full scan is used in their approach, all clouds are combinational.

Recently, Gu et al. [13]have proposed an efficient and economic partitioning approach for testability. The data path is partitioned at some hard-to-test points detected by an RT level testability analysis algorithm. These points are then made directly accessible by DFT techniques. The control part is also modified to control the circuit in normal mode and test mode. However, the heuristics used for partitioning are too fuzzy to be applied for boundary components selection in large circuits. Further a testability analysis algorithm of data path is used to guide the selection of partitioning boundaries. After the initial selection, updating the test property of the circuit is not carried out. Additionally, to control and observe a data path, we need not only to take care of its controllability and observability, but also to move the control part from a given state to another state, since the control states determine when data transfers in the data path take place. Therefore, the state reachability has the same importance as the controllability and observability of the data path for high test quality.

In this paper, we present an improved register-transfer level partitioning approach for testability based on [13]. It is based on a testability analysis algorithm [12]with an incremental testability analysis approach 36, 38for data path and a state reachability analysis algorithm [14]with its incremental analysis approach for control path at register-transfer level. Initially we use the testability algorithm for data path and state reachability algorithm for control part to find partitioning boundaries. Then the partitioning procedure is performed quantitatively by a clustering algorithm which clusters directly interconnected components excluding boundary components based on the global testability of data path and global state reachability analysis of control part. After each selection step, we use a new and efficient estimation method which is based partially on explicit re-calculation and partially on gradient techniques for incremental testability and state reachability to update the test property of the circuit. This process will be iterated until the design is partitioned into several disjoint subcircuits and each of them can be tested independently.

In our approach, the design is only functionally partitioned which means that operations in different partitions can still be allocated to the same physical component in the late design stages. As a result, this approach gives the synthesis tool more flexibility to make trade-offs between the level of parallelism and the area overhead. When a physical component belongs to several partitions, it will be tested several times because we need to test all these partitions. However, we can also eliminate some test vectors which are duplicated for testing the same component.

The paper is organized as follows. Section 2and Section 3describe briefly the design representation and the testability and state reachability analysis algorithm [12], respectively. The corresponding incremental testability and state reachability are described in Section 4. The partitioning algorithm will be presented in two parts, data paths partitioning and control part modification and implementation, in Section 5. Some experimental results compared to other conventional approaches are presented in Section 6. Finally we offer some conclusions and remarks in Section 7.

Section snippets

Design representation

Our system takes a VHDL behavioral specification of a digital system and a set of design constraints as input and generates a Register–Transfer Level (RTL) hardware implementation which consists of a data path and a controller. The kernel of the system is an intermediate design representation, called Extended Timed Petri Net (ETPN), which can be used both for testability analysis and high-level synthesis [31]. In ETPN, the structural properties of the data path and controller are explicitly

Data path testability analysis

Our data path testability analysis is mainly based on Gu et al. [12]. The testability definition assumes that a stuck-at fault model is used and ATPG is random and/or deterministic.

The testability of a circuit is mainly measured by controllability which reflects the cost of setting up any specific value on a line and observability which, on the other hand, measures the cost of observing any specific value on a line. They are used to measure the fault sensitization and fault propagation costs

Incremental testability and reachability analysis

Due to the large computational complexity of testability and state reachability analysis and the need to perform such analysis after each partitioning steps such as boundary selection and component clustering, we have developed a systematic technique to approximate accurately the repeated testability and state reachability calculation and evaluation.

First of all, the global testability of a data path is based on a cost function in [22]and is used to estimate the global testability of an entire

The partitioning algorithm

The main objective of the partitioning is to use the testability and state reachability analysis with their incremental results and other heuristics to find partitioning boundaries and isolate data communication among partitions in the test mode. Partitioning is done in two steps: 1) selecting partitioning boundaries, and 2) identifying partitions by clustering a set of components surrounded by the partitioning boundaries.

Experimental results

The proposed functional partitioning approach has been incorporated into the synthesis environment with Mentor Graphics to produce testable designs. The whole procedure can be summarized as follows:

  • 1.

    Partitioning formulation and boundary allocations.

  • 2.

    Control path modifications.

  • 3.

    Autologic of Mentor Graphic to synthesize the whole design to generate a netlist.

  • 4.

    Sorting out each partition from the partitioned netlist since the boundaries of all partitions are known.

  • 5.

    Test vectors generated by ATPG for

Conclusions

This paper presents an improved register-transfer level functional partitioning approach for testability. According to the proposed iterative technique, the design is partitioned into several disjoint subcircuits and each of them can be tested independently. The control part is modified to control the circuit in normal and test mode accordingly. Therefore, test quality, verified by the experimental results of the proposed algorithm as compared to other conventional approaches, is improved by

Tianruo Yang is a Ph.D student at the Embedded Systems Laboratory (ESLAB) of Department of Computer and Information Science, Linköping university, Sweden. His research interests are design and synthesis for testability.

Zebo Peng is professor of the chair in Computer Systems and director of the Embedded Systems Laboratory (ESLAB) at Linköoping University. He received his Ph.D. degree in Computer Science from Linköping University in 1987. His current research interests include design and test of

References (38)

  • M. Abadir, J. Newman, Partitioning hierarchical designs for testability, in Proceedings of International Test...
  • L. Avra, Allocation and assignment in high level synthesis for self-testable data paths, in Proceedings of the...
  • S. Chakradhar, A. Balakrishnan, V.D. Agrawal, An exact algorithm for selecting partial scan flip-flops, in Proceedings...
  • K.T. Cheng, V.D. Agrawal, A partial scan method for sequential circuits with feedbacks, IEEE Transactions on...
  • K. De, P. Banerjee, A system for logic partitioning and resynthesis for testability, IEEE Transactions on VLSI Systems...
  • P. Dewilde, E. Deprettere, R. Nouta, Parallel and pipelined VLSI implementation of signal processing algorithms, in:...
  • M.L. Flottes, B. Rouzeyre, Testability driven synthesis of non-scan data paths, in: IEEE European Test Workshop,...
  • M.R. Garey, D.S. Johnson, Computers and Intractability, A Guide to the Theory of NP-Completeness, Freeman, San...
  • C.H. Gebotys, M.I. Elmasry, Vlsi design synthesis with testability, in Proceedings of the ACM/IEEE Design Automation...
  • L.H. Goldstein, Controllability/observability analysis of digital circuits, IEEE Transactions on Circuits and Systems,...
  • X. Gu, Register–Transfer level testability improvement by testability analysis and transformations, PhD thesis,...
  • X. Gu, K. Kuchcinski, Z. Peng, Testability analysis and improvement from VHDL behavioral specifications, in Proceedings...
  • X. Gu, K. Kuchcinski, Z. Peng, An efficient and economic partitioning approach for testability, in Proceedings of...
  • X. Gu, E. Larsson, K. Kuchcinski, Z. Peng, A controller testability and enhancement technique, in Proceedings of...
  • R. Gupta, R. Gupta, M.A. Breuer, The BALLAST methodology for structured partial scan design, IEEE Transaction on...
  • R. Gupta, R. Srinivasan, M.A. Breuer, Reorganizing circuits to aid testability, IEEE Design and Test of Computers,...
  • I.G. Harris, A. Orailoglu, Microarchitectural synthesis of VLSI designs with high test concurrency, in Proceedings of...
  • D.H. Lee, S.M. Reddy, On determining scan flip-flops in partial-scan designs, in Proceedings of International...
  • T.C. Lee, Behavioral synthesis of highly testable data path in VLSI digital circuits, PhD thesis, Department of...
  • Cited by (2)

    1. Download : Download full-size image

    Tianruo Yang is a Ph.D student at the Embedded Systems Laboratory (ESLAB) of Department of Computer and Information Science, Linköping university, Sweden. His research interests are design and synthesis for testability.

    1. Download : Download full-size image

    Zebo Peng is professor of the chair in Computer Systems and director of the Embedded Systems Laboratory (ESLAB) at Linköoping University. He received his Ph.D. degree in Computer Science from Linköping University in 1987. His current research interests include design and test of embedded systems, electronic design automation, design for testability, hardware/software co-design, and real-time systems. He has published over 80 technical papers in these areas and coauthored the book “System Synthesis with VHDL” (Kluwer Academic, 1997). He was corecipient of two best paper awards at the European Design Automation Conferences (EURO-DAC) in 1992 and 1994.

    1

    This work has been partially sponsored by the Swedish National Board for Industrial and Technical Development (NUTEK).

    View full text