Abstract
The efficient representation and manipulation of a large number of paths in a Directed Acyclic Graph (DAG) requires the usage of special data structures that may become of exponential size with respect to the size of the graph. Several methodologies targeting Electronic Design Automation problems such as timing analysis, physical design, verification and testing involve path representation and necessary manipulation. Previous works proposed an encoding using Zero-suppressed Binary Decision Diagrams (ZDDs), which has been shown experimentally to cope well when representing structural or logical paths in VLSI circuits. However, it is well known that the ordering of the variables in a ZDD highly affects its size and, therefore, the efficiency of the methodologies utilizing these data structures. In this work, we show that using a reverse topological order for the ZDD variables bounds the number of nodes in the ZDD representing structural paths to the number of edges in the DAG considered, hence, making the ZDD size linear to the DAG’s size. This result, supported here both theoretically and experimentally, is very important as it can render methodologies with questionable scalability applicable to larger industrial designs. We demonstrate the applicability of the proposed variable ordering in one such methodology which utilizes ZDDs to grade the Path Delay Fault coverage of a given test set.
Similar content being viewed by others
Notes
This definition of the variable order is in accordance with the one proposed in [6] where Ordered BDDs were introduced, and is the one mostly used in the related literature. The work of [31] uses a definition for the variable order in the completely opposite fashion, i.e., nodes with higher order appear above nodes with lower order. While this does not affect the nature of the proposed work, we have changed the procedures of Fig. 4 to follow the most common definition, as in [6].
References
Ababei C, Selvakkumaran N, Bazargan K, Karypis G (2002) Multi-objective circuit partitioning for cutsize and path-based delay minimization. In: Proceedings of international conference on CAD, pp 181–185
Abdulrazzaq NM, Gupta SK (2003) Path-delay fault simulation for circuits with large numbers of paths for very large test sets. In: Proceedings of VLSI test symposium, pp 186–193
Abramovici M, Menon P, Miller DT (1984) Critical path tracing: an alternative to fault simulation. IEEE Des Test Comput 1(1):83–93
Aloul FA, Markov IL, Sakallah KA (2004) Mince: a static global variable-ordering heuristic for SAT search and BDD manipulation. J UCS 10(12):1562–1596
Bollig B, Wegener I (1996) Improving the variable ordering of OBDDs is NP-complete. IEEE Trans Comput 45(9):993–1002
Bryant R (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput C-35 (8):677–691
Cheng KT, Chen HC (1996) Classification and identification of nonrobust untestable path delay faults. IEEE Trans CAD Integr Circuits Syst 15(8):845–853
Christou K, Michael MK, Tragoudas S (2008) On the use of ZBDDs for implicit and compact critical PDF test generation. J Electron Test 24(1-3):203–222
Cruz R, Santhanam A (2003) Optimal routing, link scheduling and power control in multihop wireless networks. In: Proceedings of IEEE INFOCOM, vol 1, pp 702–711
Drechsler R (2002) Evaluation of static variable ordering heuristics for MDD construction. In: Proceedings of international symposium on multiple-valued logic, pp 254–260
Drechsler R, Gunther W, Somenzi F (2001) Using lower bounds during dynamic BDD minimization. IEEE Trans CAD Integr Circuits Syst 20(1):51–57
Drechsler R, Shi J, Fey G (2004) Synthesis of fully testable circuits from BDDs. IEEE Trans CAD Integr Circuits Syst 23(3): 440–443
Ebendt R, Drechsler R (2009) Approximate BDD minimization by weighted A. In: Proceedings of international symposium on circuits and systems, pp 2974–2977
Ebendt R, Fey G, Drechsler R (2005) Advanced BDD optimization. Springer, Berlin
Friedman SJ, Supowit KJ (1987) Finding the optimal variable ordering for binary decision diagrams. In: Proceedings of international conference on CAD, pp 348–356
Fujita M, Fujisawa H, Matsunaga Y (1993) Variable ordering algorithms for ordered binary decision diagrams and their evaluation. IEEE Trans CAD Integr Circuits Syst 12(1):6–12
Gharaybeh MA, Bushnell ML, Agrawal VD (1998) The path-status graph with application to delay fault simulation. IEEE Trans CAD Integr Circuits Syst 17(4):324–332
Gibbons A (1985) Algorithmic graph theory. Cambridge University Press, Cambridge
Goczyłla K, Cielatkowski J (1995) Optimal routing in a transportation network. Eur J Oper Res 87 (2):214–222
Ishiura N, Sawada H, Yajima S (1991) Minimazation of binary decision diagrams based on exchanges of variables. In: Proceedings of international conference on CAD, vol 91, pp 472–475
Iwasaki H, Minato SI, Zeugmann T (2007) A method of variable ordering for zero-suppressed binary decision diagrams in data mining applications. In: Proceedings of international workshop on databases for next generation researchers. IEEE, pp 85–90
Iwashita H, Kawahara J, Minato SI (2012) ZDD-based computation of the number of paths in a graph. Hokkaido University, Division of Computer Science, TCS Technical Reports, vol TCS-TR-a-10-60
Knuth DE (2009) The art of computer programming, vol 4, fascicles 0-4, 1st edn. Addison-Wesley Professional, Reading
Kocan F, Gunes M, Thornton MA (2004) Static variable ordering in ZBDDs for path delay fault coverage calculation. In: Proceedings of midwest symposium on circuits and systems, vol 1, pp 497–500
Kocan F, Gunes MH (2005) On the ZBDD-based nonenumerative path delay fault coverage calculation. IEEE Trans CAD Integr Circuits Syst 24(7):1137–1143
Kocan F, Li L, Saab DG (2009) Exact path delay fault coverage calculation of partitioned circuits. IEEE Trans Comput 58(6):858–864
Kurai R, Minato SI, Zeugmann T (2007) N-gram analysis based on zero-suppressed BDDs. In: Proceedings of new frontiers in artificial intelligence, pp 289–300
Lenox J, Tragoudas S (2014) Adapting an implicit path delay grading method for parallel architectures. IEEE Trans CAD Integr Circuits Syst 33(12):1965–1976
Li WN, Reddy SM, Sahni SK (1989) On path selection in combinational logic circuits. IEEE Trans CAD Integr Circuits Syst 8(1):56–63
Michael MK, Tragoudas S (2005) Function-based compact test pattern generation for path delay faults. IEEE Trans Very Large Scale Integr Syst 13(8):996–1001
Minato SI (1993) Zero-suppressed BDDs for set manipulation in combinatorial problems. In: Proceedings of conference on design automation, pp 272–277
Mironov D, Ubar R, Raik J (2014) Logic simulation and fault collapsing with shared structurally synthesized BDDs. In: Proceedings of European test symposium, pp 1–2
Neophytou S, Christou K, Michael MK (2012) A non-enumerative technique for measuring path correlation in digital circuits. J Electron Test 28(6):843–856
Neophytou SN, Michael MK (2014) Optimal variable ordering in zbdd-based path representations for directed acyclic graphs. In: Proceedings of international conference on computer design, pp 489–492
Nevo Z, Farkash M (2006) Distributed dynamic BDD reordering. In: Proceedings of design automation conference, pp 223–228
Padmanaban S, Michael MK, Tragoudas S (2003) Exact path delay fault coverage with fundamental ZBDD operations. IEEE Trans CAD Integr Circuits Syst 22(3):305–316
Panda S, Somenzi F (1995) Who are the variables in your neighbourhood. In: Proceedings of international conference on CAD, pp 74–77
Qiu W, Walker D (2003) An efficient algorithm for finding the k longest testable paths through each gate in a combinational circuit. In: Proceedings of international test conference, pp 592–592
Rudell R (1993) Dynamic variable ordering for ordered binary decision diagrams. In: Proceedings of international conference on CAD, pp 42–47
Shah T, Matrosova A, Fujita M, Singh V (2018) Multiple stuck-at fault testability analysis of ROBDD based combinational circuit design. J Electron Test 34(1):53–65
Shah T, Singh V, Matrosova A (2016) ROBDD Based path delay fault testable combinational circuit synthesis. In: Proceedings of east-west design & test symposium, pp 1–4
Smith GL (1985) Model for delay faults based upon paths. In: Proceedings of international test conference, pp 342–351
Somenzi F (1999) CUDD: CU decision diagram package. Dept. of ECE, The University of Colorando, Colorando
Ubar R, Jürimägi L, Raik J, Viies V (2017) Modeling and simulation of circuits with shared structurally synthesized BDDs. J Microprocess Microsys 48:56–61
Wall DW (1991) Limits of instruction-level parallelism. In: Proceedings of international conference on architectural support for programming languages and operating systems, pp 176–188
Wang LT, Chang YW, Cheng KTT (2009) Electronic design automation: synthesis, verification, and test. Morgan Kaufmann
Yoon S, De Micheli G (2004) An application of zero-suppressed binary decision diagrams to clustering analysis of DNA microarray data. In: Proceedings of international conference of the IEEE engineering in medicine and biology society, vol 2, pp 2925–2928
Author information
Authors and Affiliations
Corresponding author
Additional information
Responsible Editor: S. Kajihara
Rights and permissions
About this article
Cite this article
Neophytou, S.N., Michael, M.K. Path Representation in Circuit Netlists Using Linear-Sized ZDDs with Optimal Variable Ordering. J Electron Test 34, 667–683 (2018). https://doi.org/10.1007/s10836-018-5761-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-018-5761-6