Path Controllability Analysis for High Quality Designs

Size: px
Start display at page:

Download "Path Controllability Analysis for High Quality Designs"

Transcription

1 Path Controllability Analysis for High Quality Designs Li-Jie Chen 1, Hong-Zu Chou 2, Kai-Hui Chang 2, Sy-Yen Kuo 1, Chi-Lai Huang 2 1 Department of Electrical Engineering, National Taiwan University, Taipei 106, Taiwan 2 Avery Design Systems, Inc., Tewksbury, MA, USA 1 {r , sykuo}@ntu.edu.tw, 2 {hzchou, changkh, chilai}@avery-design.com ABSTRACT Given a design variable and its fanin cone, determining whether one fanin variable has controlling power over other fanin variables can benefit many design steps such as verification, synthesis and test generation. In this work we formulate this path controllability problem and propose several algorithms that not only solve this problem but also return values that enable or block other fanin variables. Empirical results show that our algorithms can effectively perform path controllability analysis and help produce high-quality designs. CCS CONCEPTS Hardware Software tools for EDA; Semi-formal verification; Theorem proving and SAT solving; Test-pattern generation and fault simulation; KEYWORDS Path Controllability, At-Speed Test, CDTG, X-Analysis ACM Reference Format: Li-Jie Chen 1, Hong-Zu Chou 2, Kai-Hui Chang 2, Sy-Yen Kuo 1, Chi-Lai Huang Path Controllability Analysis for High Quality Designs. In ASPDAC 19: 24th Asia and South Pacific Design Automation Conference (ASPDAC 19), January 21 24, 2019, Tokyo, Japan. ACM, New York, NY, USA, 6 pages. 1 INTRODUCTION Given a variable and its functional fanin variables, determining whether any fanin variable has controlling power over the rest of the fanin variables is useful for several circuit designs and verification activities. For example, if a register has unexpected X propagation in its downstream logic [13], finding a side signal with controlling power can block the X propagation and fix the problem. Another example is that in Coverage-Driven Test Generation (CDTG) [4, 8, 10], if it is known that a fanin variable must have a specific value for other fanin variables to affect the target variable, then one can add a constraint to the constraint solver so that the target is easier to hit. In Automatic Test Pattern Generation (ATPG) [5, 7] knowing the controllability of a path is useful, too, because the ATPG algorithm can then use specific values to sensitize a particular Acknowledgement: This research was supported by the Ministry of Science and Technology, Taiwan under Grant E MY3 ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only. ASPDAC 19, January 21 24, 2019, Tokyo, Japan 2019 Association for Computing Machinery. ACM ISBN /19/01... $ path. For example, [3] reported that solving controllability issues before ATPG is performed can considerably reduce ATPG runtime. Despite the usefulness of this controllability analysis, to the best of our knowledge no existing work focuses entirely on this important topic, even though some work implies its usefulness [2, 3, 9]. The main contribution of this work is to formulate the path controllability problem and provide several algorithms based on SAT and Boolean quantification for solving the problem. Our experimental results show that our proposed algorithms can solve path controllability problems effectively and efficiently, and we provide an example to show how our analysis can help CDTG reach its goal quicker. Additionally, key control signals can be identified as a side-product of this analysis, which can help designers improve their Design-for-Verifiability (DFV) implementation. All such work can help improve final design quality. The rest of the paper is organized as follows. Section 2 provides necessary background. Path controllability problem is formulated in Section 3 and algorithms to solve it are presented in Section 4. Experimental results are reported in Section 5. Section 6 concludes this paper. 2 BACKGROUND In this section we provide background information for understanding our work and introduce related work. 2.1 Symbolic Simulation In this work we use symbolic traces generated by symbolic simulation [1] as the basis for our analysis. However, other Boolean representations for a design s logic can also be used. Symbolic simulation is different from logic simulation in that logic simulation simulates one specific value while symbolic simulation simulates symbols that represent all possible values. Take a two-input AND gate as an example, logic simulation takes values like {0, 1} as inputs and produces 0 at its output. Symbolic simulation takes two symbols, s 0 and s 1, as inputs and generates a symbolic trace s 0 AND s 1 at its output. This symbolic trace can be converted to Boolean functions and is suitable for formal analysis. In this work, we use And-Inverter Graph (AIG) [11] or Functionally Reduced AIG (FRAIG) [12] to represent the Boolean function of a symbolic trace. 2.2 Path Controllability Analysis Given a multi-output Boolean function, path controllability analysis identifies inputs along with specific values that control whether other inputs can affect the outputs of the function. Guzey et al. [9] run logic simulation on a Boolean network to find relationship between its inputs and outputs. It leverages data mining techniques to extract the values on part of the inputs that can possibly control the output value from simulation data. Campos et al. [2] build Data

2 ASPDAC 19, January 21 24, 2019, Tokyo, Japan Lie-Jie Chen et al. Dependency Graph (DDG) from RTL code for relations among output constraints, registers and primary inputs. Then the ATPG engine runs implication on DDG to find certain values on registers which allow a set of inputs to satisfy the constraints. In this work we take a formal approach and propose several algorithms based on Boolean analysis to solve this problem. 3 PATH CONTROLLABILITY ANALYSIS PROBLEM In this section we formulate the path controllability problem and describe how a Boolean function for solving the problem can be generated using symbolic simulation. 3.1 Problem Formulation Given a variable V and its n fanin variables i 1...i n, we say that one fanin variable i j has controlling power over other fanin variables if i j can control whether other fanin variables can affect the value of V or not. More specifically, certain values for i j that can disallow any other fanin variables to affect the value of V must exist, and certain values must also exist that allow other fanin variables to affect the value of V. In other words, both values must exist for i j to be controlling. If a fanin variable has controlling power, the values that allow other fanin variables to affect V are called enabling values since they enable other fanin variables to affect V. The rest of the values are called blocking values, which disallow V to change its value. Take Fig.1 as an example, addr, x and y are fanin variables of var1. Only addr has controlling power in this example because it has both enabling and blocking values: value 32 h1 is an enabling value because it allows other inputs, x and y, to affect the value of var1; all other values are blocking values because x and y cannot affect the value of var1 unless addr is 32 h1. Variables x and y do not have controlling power because there are no specific values for them to allow or disallow the value from addr to affect var1. reg [31:0] addr, val1, x, y; if (addr == 32 h1) var1 = x + y; Figure 1: Path controllability example. Variable addr controls path between var1 and its fanin variable x and y. Based on the above discussions, we formally formulate the path controllability analysis problem as follows. Definition 1. Given a variable V whose original value is val with n fanin variables i 1 to i n in its functional fanin cone, path controllability analysis determines whether fanin variable i j, j {1..n} has specific values that allow or disallow all other fanin variables i k, k {1..n}, k j to affect the value of V. In other words, whether i j possesses specific values that allow or disallow other fanin variables to produce a value for V that is different from val. Values that allow other fanin variables to affect the value of V are called enabling values. Values that disallow other fanin variables to affect the value of V are called blocking values. Each value of i j is either enabling value or blocking value. If variable i j has both enabling values and blocking values for V, we say i j has path controllability over other fanin variables of V. Path controllability analysis can be performed at either the word or the bit level. When performed at the word level, all bits in the variable are considered together for controllability; otherwise each bit is considered separately. 3.2 Generate Problem Instance Using Symbolic Simulation Under the problem definition in 3.1, we can generate an instance of controllability analysis problem using symbolic simulation as follows. We first use logic simulation to bring the design to a desired state. Next, we start symbolic simulation and inject symbols to variables whose path controllability need to be analyzed. We denote value of the variable Vk, typically a register, using Vk s0 when the symbolic simulation start. Vk s0 can be symbol or constant depending on whether a symbol is injected to Vk. We then perform symbolic simulation for the needed number of cycles to create symbolic traces among design variables. During symbolic simulation, new symbols are injected to primary inputs at each cycle if needed. We denote the symbol injected to input variable Ik at cycle j using Ik s j. After n cycle symbolic simulation is performed, the target variable, Vi, will have its original value denoted using Vi s0, and a symbolic trace denoted using Vi sn. Inputs of Vi sn come from injected symbols in Vk or Ik if they are fanin variables of Vi, which can be obtained by functional path extraction algorithms. We then create a Boolean function f V i for controllability analysis by f V i = Vi s0 Vi sn. f V i resolves to true when there is no value difference between Vi s0 and Vi sn, and it resolves to f alse otherwise. f V i can be used to analyze if any fanin variables of Vi have controllability, since it shows whether value of Vi can be changed. Based on our definition of controllability, we have the following corollary. Corollary 1. Given a Boolean function f V i constructed above and a variable V j, V j has controllability over Vi if and only if (1) f V i is not tautology (always true); and (2) under certain values of V j, f V i is tautology. Criterion (1) in the corollary ensures each fanin variable of Vi has enabling values because the value of Vi can change. (2) ensures that blocking values for V j exist. In the next section we describe three algorithms that solve the path controllability problem based on f V i. 4 ALGORITHMS TO SOLVE PATH CONTROLLABILITY In this section we propose three algorithms for solving the path controllability problem, and then we provide a heuristic that utilizes the strength of different algorithms for the best performance. To facilitate the presentation of our algorithms, we simplify the notation of f V i to f and rename inputs to f from {Vk s0, Ik s j } to i 1...i n, where n is the total number of Vi s fanin variables. In this new notation, we essentially have a Boolean function f with inputs i 1...i n for solving the controllability problem.

3 Path Controllability Analysis for High Quality Designs ASPDAC 19, January 21 24, 2019, Tokyo, Japan Under this new notation, the problem can be solved as follows. Given a function f and inputs i 1 to i n, our path controllability analysis algorithm iteratively tests each input i j, j {1..n} for controllability over other inputs. Inputs to our algorithm are the Boolean function f and the input i j being tested. The output is null if there is no controllability, and the output will be enabling values saved in enabling_vals if there is controllability. We assume all inputs i k, k {1..n} of f are in functional supports of f without any false path. As a result f cannot be tautoloдy since the value of Vi is possible to change, and hence each input has enabling values. Based on this assumption, i j has controllability if and only if i j has blocking values. We further assume that f is not contradiction (always false) because if f is always false, the value of Vi s0 and Vi sn will never be the same, and there is no blocking value for any input. Checking whether f is contradiction can be performed by forming a SAT instance from f and checking whether output 1 is satisfiable. If it is unsatisfiable, then none of the inputs have blocking values and hence no controllability. The following algorithms focus on how to find blocking values of i j. 4.1 Enabling Value Enumeration (EVE) One simple way to determine whether i j has controlling power over other inputs is to try all possible values of i j and see if any of the values makes f const1 (always true no matter what values other inputs are). If such a value exists, then the value is a blocking value because the target variable cannot have value change when i j has the specific value. All i j values that can make f resolve to f alse are then enabling values. Fig.2 shows our first algorithm. It uses a SAT solver to enumerate all enabling values, so the performance depends on the number of enabling values. In the algorithm, lines 3-6 use the SAT solver to enumerate the enabling values that make f false. When the result is SAT, we can extract the enabling value from the counterexample, and this value is added as a blocking clause so that the same value will not be enumerated again (lines 4-5). When the result is UNSAT, the loop is broken and we need to check if all possible values of i j are enumerated. If not, the remaining values are blocking values and i j has controllability over other inputs. Line 8 returns enablinд_vals only when i j has controllability over other inputs. Otherwise null is returned in line 10. 1: function EVE(input f, i j ; output enablinд_vals) 2: counter 0; 3: while (SatSolve(f = f alse)) do 4: push(enablinд_vals, InputGetSol(i j )); 5: AddClauseBlockVal(f, i j, enablinд_val); 6: counter counter + 1; 7: if (counter < 2 Bit Len(i j ) ) then 8: return enablinд_vals; 9: else 10: return null; Figure 2: Enabling Value Enumeration (EVE) algorithm This method is efficient when the number of enabling values is small. If there are too many enabling values, this method needs to add an exponential number of clauses to the SAT solver to block all the enumerated values, and it will greatly slow down the speed of the solver. 4.2 Exhaustive Enumeration (EE) In EVE, blocking clauses added to the solver considerably increase runtime and memory use when the number of enabling values is large. Our proposed second algorithm addresses this inefficiency using assumptions, which can be removed after the value is enumerated. Our algorithm is shown in Fig. 3. In the algorithm, lines 2-3 apply each value of i j as an assumption. If the result is SAT, the applied value is an enabling value; if the result is UNSAT, the value is a blocking value and i j has controllability over other inputs (lines 4-7). Line 9 returns enablinд_vals only when i j has controllability over other inputs. Otherwise null is returned. 1: function EE(input f, i j ; output enablinд_vals) 2: for val {0,..., 2 Bit Len(i j ) 1} do 3: AddAssumptionVal(i j,val) 4: if (SatSolve(f = f alse)) then 5: push(enablinд_vals, val)); 6: else 7: controllability true; 8: if (controllability) then 9: return enablinд_vals; 10: else 11: return null; Figure 3: Exhaustive Enumeration (EE) algorithm The advantage compared to EVE is that it does not need to add a large number of clauses to block the enabling values, so the solver is more efficient. Additionally, learned clauses from solving one value can be reused when solving other values, which also improves performance. The disadvantage is that if the bit length of i j is large, a large number of values will need to be enumerated. Setting an upper limit on the number of enabling values returned can alleviate this problem. However, if all enabling or blocking values cluster at the end of enumeration, runtime can still be long. 4.3 Enumeration after Quantification (EQ) Given a function f with n inputs, universal quantification on an input i k produces a new function f 1 = f (i k = 0) f (i k = 1). If f 1 can resolve to true, it means no matter what value i k has, the target variable will not have a different value under the given input values that make f 1 true. Based on this observation, if we perform universal quantification on all inputs other than i j, then the function f n 1 obtained after all the quantifications should resolve to true only when i j has a blocking value because f n 1 = true essentially means no matter what values all other inputs are, the value of i j can make sure the target variable does not have value change. Fig.4 shows our algorithm using quantification.

4 ASPDAC 19, January 21 24, 2019, Tokyo, Japan Lie-Jie Chen et al. 1: function EQ(input f, i j ; output enablinд_vals) 2: for k {1,..., n} do 3: if (k = j) then continue; 4: f UniversalQuantification(f, i k ); 5: f ToFRAIG(f ); 6: if (f = const0) then 7: return null; 8: while (SatSolve(f = f alse)) do; 9: push(enablinд_vals, InputGetSol(i j )); 10: AddClauseBlockVal(f, i j, enablinд_val); 11: return enablinд_vals; Figure 4: Enumeration after Quantification (EQ) algorithm In the algorithm, lines 2-7 perform universal quantification on input i k, k {1..n}, k j. Line 5 (ToFRAIG) is for better performance that we will discuss in Section 4.4. If f equals constant zero (f alse) after quantification, it means i j does not have blocking values because no value for i j can make f resolve to true, and null is returned. If f is still not a constant after all quantifications are done, then value of f only depends on i j because it is the only input left. In this case, there is at least one blocking value for i j. Otherwise, f will be constant. Therefore, i j has controllability over other inputs. Lines 8-10 use a SAT solver to enumerate enabling values for i j that make f f alse until all values are found. Line 11 then returns the results in enabling_vals. The advantage of this algorithm is that its performance often does not depend on the bit length of i j when there is no blocking value. This is important for word-level analysis because number of bits for i j can be large. Another advantage is that during universal quantification, if f becomes constant, the problem is solved. Additionally, if an input has controlling power over other inputs, its number of enabling values is typically small, hence the enumeration process is faster. However, total bit length of all other inputs i k, k {1..n}, k j is usually much larger than the bit length of i j, making the quantifications potentially time and memory intensive. 4.4 Heuristics for Better Performance Our algorithms rely on SAT solvers and the time complexity is at least NP-complete. Excluding SAT solving itself, time complexity of EVE is the number of enabling values, complexity of EE is O(2 Bit Len(i j ) ), and complexity of EQ is from performing universal quantification on n 1 inputs and SAT emulation on the final f. In practice, however, our algorithms can often determine controllability and enabling values in a reasonable amount of time. To further improve the performance of our algorithms, we present four heuristics. First, for algorithms EVE and EE, if i j is a word-level input, bitlevel false paths in i j should always be eliminated first: removing a bit in the false path can reduce enumeration by half. Second, in EQ algorithm, memory usage may grow exponentially during universal quantification. In addition, numerous dangling AIG nodes may be created that take considerable time to remove. Therefore, in our implementation we convert f into FRAIG after each quantification operation. We observed that the number of AIG nodes greatly reduced with this heuristic. After the number of nodes is reduced, if there is no blocking value for i j, f will become constant much faster. And if there are blocking values for i j, since blocking values can disallow other inputs to affect the output of f, the resulting Boolean function tends to be simpler. As a result, the number of AIG nodes also tends to be considerably smaller after converting f into FRAIG, which also makes value enumeration faster. Based on this observation, we propose the third heuristic: after quantifying i k, if f still has a large number of AIG nodes, we can skip i j because it is less likely to have blocking values. Our experimental results show that this heuristic can produce good approximate results with shorter runtime. From our experimental results, we observe that if the bit length of i j is small, EE usually can solve it efficiently. However, its performance deteriorates when the bit length gets large. Since the performance of EQ does not depend on the bit length of i j, it is more suitable for i j with larger bit length. Our fourth heuristic is that if the bit length of i j is small, EE should be used. Otherwise, use EQ. In this way, our algorithms can efficiently handle variables up to several tens of bits. In summary, we propose the following flow to efficiently solve the path controllability problem for an input i j. (1) Eliminate false paths for bits in i j. (2) If bit length of i j is large, use EQ with FRAIGing after quantification; otherwise use EE. 5 EXPERIMENTAL RESULTS In this section we show experimental results on our path controllability analysis algorithms. The benchmarks used in our experiments are summarized in Table 1. USB_RE is a commercial USB core and path controllability is obtained for CDTG or X propagation. More specifically, logic simulation brings the design to an initial state, and then symbols are injected to the inputs to read a USB packet. Symbolic simulation is performed for several cycles and path controllability analysis identifies which packet symbols can control target internal variables. The rest of the benchmarks are from Open- Cores [6] and have symbols injected to all storage devices with one cycle symbolic simulation performed. The obtained path controllability information is useful in ATPG, which enables a transition on a path under test. Table 1: Characteristics of benchmarks. Design #Register (word/bit) Description DLX 20/559 MIPS-lite 5-stage CPU CPU / compatible CPU TV80 101/230 Z-80 compatible CPU AES_core 23/426 AES encoder USB_funct 329/1767 USB function IP core USB_phy 60/98 USB physical layer USB_RE 3508/13415 Commercial USB core

5 Path Controllability Analysis for High Quality Designs ASPDAC 19, January 21 24, 2019, Tokyo, Japan Table 2: Results of path controllability analysis algorithms on different benchmarks. Word level #Variables #Ctrl. #Enab. Runtime Memory variables values EQ EVE EE EQ EVE EE DLX 1972 N/A N/A * * * N/A N/A N/A CPU s s 86.1s 12M 1340M 14M TV s 587.5s 85.7s 80M 439M 19M AES_core s 108.0s 77.8s 17M 33M 16M USB_funct s * 114.9s# 137M N/A 49M USB_phy s 0.2s 0.2s 5M 6M 6M USB_RE (10th clk) s * 468.5s# 28M N/A 25M Bit level EQ EVE EE EQ EVE EE DLX * 612.6s 566.1s N/A 12M 5M CPU s 14.9s 14.0s 53M 12M 12M TV s 39.9s 38.0s 130M 19M 19M AES_core s 78.3s 77.1s 17M 16M 16M USB_funct s 48.4s 45.3s 236M 40M 40M USB_phy s 0.3s 0.2s 17M 6M 6M USB_RE (10 clk) s 14.6s 14.5s 28M 15M 15M EQ = Enumeration after Quantification, EVE = Enabling Value Enumeration, EE = Exhaustive Enumeration, # = skip 32 bit variables Table 2 provides experimental results of our path controllability analysis algorithms applied to word-level and bit-level. In 4 of the 7 benchmarks, variables possessing controlling power are found, and some of them have multiple enabling values. When our algorithms are applied to word-level fanin variables, EQ can solve most variables in the benchmarks since it is not affected by the bit length of i j. Its memory usage is also reasonable because our FRAIG step will remove redundant nodes after each quantification operation. However, when f is too complicated, converting f into FRAIG can take an exceeding amount of time. We also observe from the results that EVE often has longer runtime. This is because there are many variables that do not have blocking values. For such variables, an exponential number of clauses need to be added to the solver, which increases memory usage and runtime. Our proposed EE algorithm uses assumptions to enumerate enabling values, which improves both runtime and memory usage. More specifically, by removing the assumption after trying a value, memory usage can be reduced. Runtime is improved because the number of total clauses is reduced and learned clauses are kept. However, EE timed out for DLX because there are numerous 32 bit variables and most bits are in real paths. In this case, EE needed to enumerate a large number of values and timed out. For USB_funct, there are also a large number of 32 bit variables, but only 6 of them have all 32 bits in real paths. For EE, we skipped these 32 bit variables to avoid timeout. Those variables in USB_funct are buffers and are less likely to have controllability over other variables. We also applied bit-level path controllability analysis to the benchmarks because bit-level analysis is important for applications such as DFT. Typically, variables can be solved very quickly at bitlevel and memory usage is reduced. More specifically, the efficiency of EVE is significantly improved because for each variable we only need to add one clause to block the enabling value. On the other hand, the efficiency of EQ is not improved much because it does not depend on the bit length of i j. To measure the performance of our third heuristic that skips inputs with a large number of nodes after quantification and FRAIGing, we apply it to the benchmarks at word level and the results are shown in Table 3. In the table, Dec. time is the runtime improvement in percentage compared with the original result. In our experiment we skip inputs that have more than 1000 nodes after quantification. Compared with the original word-level EQ results in Table 2, runtime and memory usage of most benchmarks were greatly reduced without losing much accuracy. For example, DLX timed out in the original algorithm but can be solved in 158s using our proposed heuristic. Although TV80 loses 69% enabling values, its runtime is reduced by 98.4%. This shows our heuristic is effective, but the threshold may need to be adjusted to provide good runtime and accuracy tradeoff. To measure the performance of our proposed fourth heuristic that uses different algorithms based on the bit length of the input, Table 3: Results of third heuristic that skips variables with large numbers of FRAIG nodes after quantification. Benchmark Time Dec. time Mem. Lost var. Lost val. DLX 158.5s N/A 5M 0% 0% CPU s 50.1% 11M 25.3% 19% TV s 98.4% 19M 37.6% 69% AES_core 50.2s 0% 17M 0% 0% USB_funct 313.6s 94.9% 41M 0% 0% USB_phy 0.8s 11.1% 6M 0% 0% USB_RE 10.1s 95.3% 16M 0% 0%

6 ASPDAC 19, January 21 24, 2019, Tokyo, Japan Lie-Jie Chen et al. Table 4: Results of fourth heuristic that uses different algorithms based on bit length. Benchmark Runtime Memory DLX * N/A CPU s 11M TV s 19M AES_core 78.2s 17M USB_funct 36.2s 41M USB_phy 0.2s 6M USB_RE (10th clk) 129.5s 34M clk) begin offset = offset + counter; if (addr + offset == 858 addr + offset == 13 ) if (rxdata == rxdata == 1148) begin counter = counter + 1; rxdata_d = rxdata[15:0] + counter; end if (counter % 3 == 0) txdata = rxdata_d; end Figure 5: Example RTL code of the DUT. we performed the same word-level experiments using the heuristic, and the results are shown in Table 4. In this experiment, if the functional bit length (i.e. number of bits in the real path) of i j is larger than 10, we use EQ. Otherwise, we use EE. The results show that runtime of most benchmarks are improved, suggesting the effectiveness of our heuristic. It is noteworthy to mention that for both bit and word-level experiments, the found variables with controllability often have names suggesting their controlling power. For example, state and opcode were found to have controllability over other inputs, and they usually have more than one enabling values. Variables such as rx_valid and rx_active were also found and they have enabling value 1 to allow propagation. Variable like rx_err was found and has enabling value 0. These results show that our controllability analysis algorithms can effectively extract meaningful controllability information from the circuit. To show how path controllability analysis can be used to improve design verifiability in a constrained-random simulation environment, we created a Design Under Test (DUT) and a simple testbench that generates random patterns to exercise the DUT. Fig.5 shows a simplified version of the DUT code. Variable addr and rxdata are inputs whose values are generated by the testbench, and txdata is the output of the DUT that will be checked by the testbench. A coverpoint is set on txdata and simulation stops when its coverage reaches 90%. In the DUT, specific values for addr and rxdata are needed for rxdata to reach txdata. Pure-random simulation will most likely time out because it is extremely difficult to generate correct values for addr and rxdata to enable data propagation from rxdata to txdata. To address this problem, we perform path controllability analysis by first injecting symbols into addr and rxdata and then run symbolic simulation for several cycles. Then we apply the EQ algorithm, which took 2.6 seconds to run and extracted 2 enabling values for rxdata and 6 for addr. After adding the enabling values as constraints to the testbench, it reached 90% coverage in 405 logic simulation cycles. In this simple example an engineer can easily deduce that rxdata and addr have controlling power and need to be constrained. However, for a large complicated design, such information may not be readily available, and our analysis can provide useful information to help engineers better constrain their testbenches to achieve coverage closure faster. 6 CONCLUSION Identifying variable controllability on functional paths is important for many circuit design steps such as verification and test generation. In this paper we formulated the path controllability problem and proposed several algorithms and heuristics to solve this problem. Our empirical results show that our proposed algorithms can solve path controllability analysis problems effectively and efficiently. This controllability analysis can help designers better verify and test their designs, producing higher quality final circuits that can benefit all end users. REFERENCES [1] R. E. Bryant Symbolic simulation techniques and applications. In DAC [2] J. Campos and H. Al-Asaad Search-space optimizations for high-level ATPG. In MTV [3] K. H. Chang, H. Z. Chou, and I. L. Markov RTL analysis and modifications for improving at-speed test. In DATE [4] W. Chen, L. C. Wang, J. Bhadra, and M. Abadir Simulation knowledge extraction and reuse in constrained random processor verification. In DAC [5] S. Eggersglüß and R. Drechsler As-robust-as-possible test generation in the presence of small delay defects using pseudo-boolean optimization. In DATE [6] D. Lampret et al OpenCores. Retrieved April 7, 2018 from opencores.org [7] S. Eggersglüß et al MONSOON: SAT-based ATPG for path delay faults using multiple-valued logics. Journal of Electronic Testing: Theory and Applications 26, 3 (2010), [8] D. Geist, M. Farkas, A. Landver, Y. Lichtenstein, S. Ur, and Y. Wolfsthal Coverage-directed test generation using symbolic techniques. In FMCAD [9] O. Guzey and L. C. Wang Coverage-directed test generation through automatic constraint extraction. In HLDVT Workshop [10] L. Liu and S. Vasudevan STAR Generating input vectors for design validation by static analysis of RTL. In HLDVT Workshop [11] A. Mishchenko, S. Chatterjee, and R. Brayton DAG-aware AIG rewriting: a fresh look at combinational logic synthesis. In DAC [12] A. Mishchenko, S. Chatterjee, R. Jiang, and R. Brayton FRAIGs: A unifying representation for logic synthesis and verification. In ERL Technical Report 05. [13] L. Piper and V. Vimjam X-Propagation Woes: Masking bugs at RTL and unnecessary debug at the netlist. In DVCon 12. session 5.3.

A Toolbox for Counter-Example Analysis and Optimization

A Toolbox for Counter-Example Analysis and Optimization A Toolbox for Counter-Example Analysis and Optimization Alan Mishchenko Niklas Een Robert Brayton Department of EECS, University of California, Berkeley {alanmi, een, brayton}@eecs.berkeley.edu Abstract

More information

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

More information

Optimizing Blocks in an SoC Using

Optimizing Blocks in an SoC Using Optimizing Blocks in an SoC Using Symbolic Code-Statement t t Reachability Analysis Hong-Zu Chou January 21, 2010 Hong-Zu Chou, Kai-Hui Chang, Sy-Yen Kuo, National Taiwan Univ., Taipei, Taiwan Avery Design

More information

Finding Reset Nondeterminism in RTL Designs Scalable X-Analysis Methodology and Case Study

Finding Reset Nondeterminism in RTL Designs Scalable X-Analysis Methodology and Case Study Finding Reset Nondeterminism in RTL Designs Scalable X-Analysis Methodology and Case Study Hong-Zu Chou, Haiqian Yu, Kai-Hui Chang, Dylan Dobbyn, and Sy-Yen Kuo Electrical Engineering Department, National

More information

Large-scale Boolean Matching

Large-scale Boolean Matching Large-scale Boolean Matching Hadi Katebi, Igor L. Markov University of Michigan, 2260 Hayward St., Ann Arbor, MI 48109 {hadik, imarkov}@eecs.umich.edu Abstract We propose a methodology for Boolean matching

More information

Local Two-Level And-Inverter Graph Minimization without Blowup

Local Two-Level And-Inverter Graph Minimization without Blowup Local Two-Level And-Inverter Graph Minimization without Blowup Robert Brummayer and Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria {robert.brummayer,

More information

Node Mergers in the Presence of Don t Cares

Node Mergers in the Presence of Don t Cares Node Mergers in the Presence of Don t Cares Stephen M. Plaza, Kai-hui Chang, Igor L. Markov, Valeria Bertacco EECS Department, University of Michigan, Ann Arbor, MI 48109-2121 {splaza, changkh, imarkov,

More information

Node Mergers in the Presence of Don t Cares

Node Mergers in the Presence of Don t Cares Node Mergers in the Presence of Don t Cares Stephen M. Plaza, Kai-hui Chang, Igor L. Markov, Valeria Bertacco EECS Department, University of Michigan, Ann Arbor, MI 48109-2121 {splaza, changkh, imarkov,

More information

Node Mergers in the Presence of Don t Cares

Node Mergers in the Presence of Don t Cares Node Mergers in the Presence of Don t Cares Stephen Plaza, Kai-hui Chang, Igor Markov, and Valeria Bertacco CSE-TR-521-06 July 06, 2006 THE UNIVERSITY OF MICHIGAN Computer Science and Engineering Division

More information

MajorSat: A SAT Solver to Majority Logic

MajorSat: A SAT Solver to Majority Logic MajorSat: A SAT Solver to Majority Logic Speaker : Ching-Yi Huang Authors: Yu-Min Chou, Yung-Chih Chen *, Chun-Yao Wang, Ching-Yi Huang National Tsing Hua University, Taiwan * Yuan Ze University, Taiwan

More information

Efficient Circuit to CNF Conversion

Efficient Circuit to CNF Conversion Efficient Circuit to CNF Conversion Panagiotis Manolios and Daron Vroon College of Computing, Georgia Institute of Technology, Atlanta, GA, 30332, USA http://www.cc.gatech.edu/home/{manolios,vroon} Abstract.

More information

Boolean Functions (Formulas) and Propositional Logic

Boolean Functions (Formulas) and Propositional Logic EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part I: Basics Sanjit A. Seshia EECS, UC Berkeley Boolean Functions (Formulas) and Propositional Logic Variables: x 1, x 2, x 3,, x

More information

Accelerating CDC Verification Closure on Gate-Level Designs

Accelerating CDC Verification Closure on Gate-Level Designs Accelerating CDC Verification Closure on Gate-Level Designs Anwesha Choudhury, Ashish Hari anwesha_choudhary@mentor.com, ashish_hari@mentor.com Design Verification Technologies Mentor Graphics Abstract:

More information

Small Formulas for Large Programs: On-line Constraint Simplification In Scalable Static Analysis

Small Formulas for Large Programs: On-line Constraint Simplification In Scalable Static Analysis Small Formulas for Large Programs: On-line Constraint Simplification In Scalable Static Analysis Isil Dillig, Thomas Dillig, Alex Aiken Stanford University Scalability and Formula Size Many program analysis

More information

On Resolution Proofs for Combinational Equivalence Checking

On Resolution Proofs for Combinational Equivalence Checking On Resolution Proofs for Combinational Equivalence Checking Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann

More information

Combinational Equivalence Checking

Combinational Equivalence Checking Combinational Equivalence Checking Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab. Dept. of Electrical Engineering Indian Institute of Technology Bombay viren@ee.iitb.ac.in

More information

Design Diagnosis Using Boolean Satisfiability

Design Diagnosis Using Boolean Satisfiability Design Diagnosis Using Boolean Satisfiability Alexander Smith Andreas Veneris Anastasios Viglas University of Toronto University of Toronto University of Toronto Dept ECE Dept ECE and CS Dept CS Toronto,

More information

Test Scenarios and Coverage

Test Scenarios and Coverage Test Scenarios and Coverage Testing & Verification Dept. of Computer Science & Engg,, IIT Kharagpur Pallab Dasgupta Professor, Dept. of Computer Science & Engg., Professor-in in-charge, AVLSI Design Lab,

More information

Representations of Terms Representations of Boolean Networks

Representations of Terms Representations of Boolean Networks Representations of Terms Representations of Boolean Networks Logic Circuits Design Seminars WS2010/2011, Lecture 4 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology

More information

On Resolution Proofs for Combinational Equivalence

On Resolution Proofs for Combinational Equivalence 33.4 On Resolution Proofs for Combinational Equivalence Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

SAT-Based Area Recovery in Technology Mapping

SAT-Based Area Recovery in Technology Mapping SAT-Based Area Recovery in Technology Mapping Bruno Schmitt Ecole Polytechnique Federale de Lausanne (EPFL) bruno@oschmitt.com Alan Mishchenko Robert Brayton Department of EECS, UC Berkeley {alanmi, brayton}@berkeley.edu

More information

TABLE II Comparison Results on FU and Register Counts

TABLE II Comparison Results on FU and Register Counts 646 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 29, NO. 4, APRIL 2010 TABLE II Comparison Results on FU and Register Counts BIP Ours Inc (%) BIP Ours Inc (%) Bench

More information

FRAIGs: A Unifying Representation for Logic Synthesis and Verification

FRAIGs: A Unifying Representation for Logic Synthesis and Verification FRAIGs: A Unifying Representation for Logic Synthesis and Verification Alan Mishchenko, Satrajit Chatterjee, Roland Jiang, Robert Brayton Department of EECS, University of California, Berkeley {alanmi,

More information

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series Design Verification An Introduction Main References Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series A Roadmap

More information

Sequential Logic Rectifications with Approximate SPFDs

Sequential Logic Rectifications with Approximate SPFDs Sequential Logic Rectifications with Approximate SPFDs Yu-Shen Yang 1, Subarna Sinha, Andreas Veneris 1, Robert K. Brayton 3, and Duncan Smith 4 1 Dept. of ECE, University of Toronto, Toronto, Canada.

More information

VLSI Test Technology and Reliability (ET4076)

VLSI Test Technology and Reliability (ET4076) VLSI Test Technology and Reliability (ET4076) Lecture 4(part 2) Testability Measurements (Chapter 6) Said Hamdioui Computer Engineering Lab Delft University of Technology 2009-2010 1 Previous lecture What

More information

QuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University

QuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University QuteSat A Robust Circuit-Based SAT Solver for Complex Circuit Structure Chung-Yang (Ric) Huang National Taiwan University To appear: DATE 27 2/1/27 Fact Sheet (Background) Boolean Satisfiability (SAT)

More information

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley Project Proposals Due Friday, February 13 on bcourses Will discuss project topics on Monday Instructions

More information

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley The Boolean Satisfiability Problem (SAT) Given: A Boolean formula F(x 1, x 2, x 3,, x n ) Can F evaluate to 1

More information

Integrating an AIG Package, Simulator, and SAT Solver

Integrating an AIG Package, Simulator, and SAT Solver Integrating an AIG Package, Simulator, and SAT Solver Alan Mishchenko Robert Brayton Department of EECS, UC Berkeley {alanmi, brayton}@berkeley.edu Abstract This paper focuses on problems where the interdependence

More information

Testing Digital Systems I

Testing Digital Systems I Testing Digital Systems I Lecture 6: Fault Simulation Instructor: M. Tahoori Copyright 2, M. Tahoori TDS I: Lecture 6 Definition Fault Simulator A program that models a design with fault present Inputs:

More information

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore VLSI Testing Fault Simulation Virendra Singh Indian Institute of Science Bangalore virendra@computer.org E0 286: Test & Verification of SoC Design Lecture - 4 Jan 25, 2008 E0-286@SERC 1 Fault Model - Summary

More information

Power-Mode-Aware Buffer Synthesis for Low-Power Clock Skew Minimization

Power-Mode-Aware Buffer Synthesis for Low-Power Clock Skew Minimization This article has been accepted and published on J-STAGE in advance of copyediting. Content is final as presented. IEICE Electronics Express, Vol.* No.*,*-* Power-Mode-Aware Buffer Synthesis for Low-Power

More information

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27,

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27, VLSI Testing Fault Simulation Virendra Singh Indian Institute t of Science Bangalore virendra@computer.org E 286: Test & Verification of SoC Design Lecture - 7 Jan 27, 2 E-286@SERC Fault Simulation Jan

More information

Fault Simulation. Problem and Motivation

Fault Simulation. Problem and Motivation Fault Simulation Problem and Motivation Fault Simulation Problem: Given A circuit A sequence of test vectors A fault model Determine Fault coverage Fraction (or percentage) of modeled faults detected by

More information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: Formal System-Level to RTL Equivalence Checking ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008

More information

A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis

A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis A Lost Cycles Analysis for Performance Prediction using High-Level Synthesis Bruno da Silva, Jan Lemeire, An Braeken, and Abdellah Touhafi Vrije Universiteit Brussel (VUB), INDI and ETRO department, Brussels,

More information

InVerS: An Incremental Verification System with Circuit-Similarity Metrics and Error Visualization

InVerS: An Incremental Verification System with Circuit-Similarity Metrics and Error Visualization InVerS: An Incremental Verification System with Circuit-Similarity Metrics and Error Visualization Kai-hui Chang, David A. Papa, Igor L. Markov and Valeria Bertacco Department of EECS, University of Michigan

More information

A Fast Reparameterization Procedure

A Fast Reparameterization Procedure A Fast Reparameterization Procedure Niklas Een, Alan Mishchenko {een,alanmi}@eecs.berkeley.edu Berkeley Verification and Synthesis Research Center EECS Department University of California, Berkeley, USA.

More information

Seminar decision procedures: Certification of SAT and unsat proofs

Seminar decision procedures: Certification of SAT and unsat proofs Seminar decision procedures: Certification of SAT and unsat proofs Wolfgang Nicka Technische Universität München June 14, 2016 Boolean satisfiability problem Term The boolean satisfiability problem (SAT)

More information

Circuit versus CNF Reasoning for Equivalence Checking

Circuit versus CNF Reasoning for Equivalence Checking Circuit versus CNF Reasoning for Equivalence Checking Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Equivalence Checking Workshop 25 Madonna di Campiglio,

More information

Combining Algebraic Constraints with Graph-based Intelligent Testbench Automation by Mike Andrews, Verification Technologist, Mentor Graphics

Combining Algebraic Constraints with Graph-based Intelligent Testbench Automation by Mike Andrews, Verification Technologist, Mentor Graphics Combining Algebraic Constraints with Graph-based Intelligent Testbench Automation by Mike Andrews, Verification Technologist, Mentor Graphics 22 Abstract: The Questa infact intelligent testbench automation

More information

Versatile SAT-based Remapping for Standard Cells

Versatile SAT-based Remapping for Standard Cells Versatile SAT-based Remapping for Standard Cells Alan Mishchenko Robert Brayton Department of EECS, UC Berkeley {alanmi, brayton@berkeley.edu Thierry Besson Sriram Govindarajan Harm Arts Paul van Besouw

More information

Leveraging Transitive Relations for Crowdsourced Joins*

Leveraging Transitive Relations for Crowdsourced Joins* Leveraging Transitive Relations for Crowdsourced Joins* Jiannan Wang #, Guoliang Li #, Tim Kraska, Michael J. Franklin, Jianhua Feng # # Department of Computer Science, Tsinghua University, Brown University,

More information

On the Relation between SAT and BDDs for Equivalence Checking

On the Relation between SAT and BDDs for Equivalence Checking On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,

More information

Optimal Redundancy Removal without Fixedpoint Computation

Optimal Redundancy Removal without Fixedpoint Computation Optimal Redundancy Removal without Fixedpoint Computation Michael Case Jason Baumgartner Hari Mony Robert Kanzelman IBM Systems and Technology Group Abstract Industrial verification and synthesis tools

More information

Delay Estimation for Technology Independent Synthesis

Delay Estimation for Technology Independent Synthesis Delay Estimation for Technology Independent Synthesis Yutaka TAMIYA FUJITSU LABORATORIES LTD. 4-1-1 Kamikodanaka, Nakahara-ku, Kawasaki, JAPAN, 211-88 Tel: +81-44-754-2663 Fax: +81-44-754-2664 E-mail:

More information

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance

More information

Computing State Matching in Sequential Circuits in Application to Temporal Parallel Simulation

Computing State Matching in Sequential Circuits in Application to Temporal Parallel Simulation Computing State Matching in Sequential Circuits in Application to Temporal Parallel Simulation Dusung Kim 1 Daniel Gomez-Prado 1 Seiyang Yang 2 Maciej Ciesielski 1 1 Department of Electrical and Computer

More information

Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers

Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers , October 20-22, 2010, San Francisco, USA Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers I-Lun Tseng, Member, IAENG, Huan-Wen Chen, and Che-I Lee Abstract Longest-path routing problems,

More information

Logic synthesis and verification on fixed topology

Logic synthesis and verification on fixed topology Logic synthesis and verification on fixed topology Masahiro Fujita University of Tokyo lan Mishchenko University of California, erkeley bstract We discuss ab logic synthesis and formal verification of

More information

Cut-Based Inductive Invariant Computation

Cut-Based Inductive Invariant Computation Cut-Based Inductive Invariant Computation Alan Mishchenko 1 Michael Case 1,2 Robert Brayton 1 1 Department of EECS, University of California, Berkeley, CA 2 IBM Systems and Technology Group, Austin, TX

More information

High-Level Information Interface

High-Level Information Interface High-Level Information Interface Deliverable Report: SRC task 1875.001 - Jan 31, 2011 Task Title: Exploiting Synergy of Synthesis and Verification Task Leaders: Robert K. Brayton and Alan Mishchenko Univ.

More information

Is Power State Table Golden?

Is Power State Table Golden? Is Power State Table Golden? Harsha Vardhan #1, Ankush Bagotra #2, Neha Bajaj #3 # Synopsys India Pvt. Ltd Bangalore, India 1 dhv@synopsys.com 2 ankushb@synopsys.com 3 nehab@synopsys.com Abstract: Independent

More information

A Practical Solution to Fixing Netlist X-Pessimism

A Practical Solution to Fixing Netlist X-Pessimism A Practical Solution to Fixing Netlist X-Pessimism Most functional verification for SoC and FPGA designs is done prior to RTL hand-off to digital synthesis, since gate-level simulations take longer to

More information

Simulation-based Bug Trace Minimization with BMC-based Refinement

Simulation-based Bug Trace Minimization with BMC-based Refinement Simulation-based Bug Trace Minimization with BMC-based Refinement Kai-hui Chang University of Michigan EECS Department Ann Arbor, MI 48109-2122 changkh@umich.edu Valeria Bertacco University of Michigan

More information

Marrying Formal Methods With Simulation-Based Verification Function Verification Research at UCSB. Tim Cheng & Li-C. Wang UC-Santa Barbara

Marrying Formal Methods With Simulation-Based Verification Function Verification Research at UCSB. Tim Cheng & Li-C. Wang UC-Santa Barbara Marrying Formal Methods With Simulation-Based Verification Function Verification Research at UCSB Tim Cheng & Li-C. Wang UC-Santa Barbara 1 Outline Current Issues in Functional Verification Functional

More information

On Using Machine Learning for Logic BIST

On Using Machine Learning for Logic BIST On Using Machine Learning for Logic BIST Christophe FAGOT Patrick GIRARD Christian LANDRAULT Laboratoire d Informatique de Robotique et de Microélectronique de Montpellier, UMR 5506 UNIVERSITE MONTPELLIER

More information

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability Fadi A. Aloul and Karem A. Sakallah Department of Electrical Engineering and Computer Science University

More information

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts 1 ADVANCED DIGITAL IC DESIGN (SESSION 6) Digital Verification Basic Concepts Need for Verification 2 Exponential increase in the complexity of ASIC implies need for sophisticated verification methods to

More information

InVerS: An Incremental Verification System with Circuit Similarity Metrics and Error Visualization

InVerS: An Incremental Verification System with Circuit Similarity Metrics and Error Visualization InVerS: An Incremental Verification System with Circuit Similarity Metrics and Error Visualization Kai-hui Chang, David A. Papa, Igor L. Markov and Valeria Bertacco Department of EECS, University of Michigan

More information

Binary Decision Diagram with Minimum Expected Path Length

Binary Decision Diagram with Minimum Expected Path Length Binary Decision Diagram with Minimum Expected Path Length Yi-Yu Liu Kuo-Hua Wang TingTing Hwang C. L. Liu Department of Computer Science, National Tsing Hua University, Hsinchu 300, Taiwan Dept. of Computer

More information

4.1 Review - the DPLL procedure

4.1 Review - the DPLL procedure Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They

More information

Interplay Between Language and Formal Verification

Interplay Between Language and Formal Verification Interplay Between Language and Formal Verification Dr. Carl Seger Senior Principal Engineer Strategic CAD Labs, Intel Corp. Nov. 4, 2009 Quiz 1 Outline Context of talk Evolution of a custom language Stage

More information

Adaptive Techniques for Improving Delay Fault Diagnosis

Adaptive Techniques for Improving Delay Fault Diagnosis Adaptive Techniques for Improving Delay Fault Diagnosis Jayabrata Ghosh-Dastidar and Nur A. Touba Computer Engineering Research Center Department of Electrical and Computer Engineering University of Texas,

More information

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification? Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Lab 8 status report. Set SCIBD = 52; (The Mclk rate is 16 MHz.) Lecture 18: Introduction to Hardware Verification Scott R. Little

More information

Origins of Stuck-Faults. Combinational Automatic Test-Pattern Generation (ATPG) Basics. Functional vs. Structural ATPG.

Origins of Stuck-Faults. Combinational Automatic Test-Pattern Generation (ATPG) Basics. Functional vs. Structural ATPG. Combinational Automatic Test-Pattern Generation (ATPG) Basics Algorithms and representations Structural vs functional test efinitions Search spaces Completeness Algebras Types of Algorithms Origins of

More information

A Scalable Algorithm for Minimal Unsatisfiable Core Extraction

A Scalable Algorithm for Minimal Unsatisfiable Core Extraction A Scalable Algorithm for Minimal Unsatisfiable Core Extraction Nachum Dershowitz 1, Ziyad Hanna 2, and Alexander Nadel 1,2 1 School of Computer Science, Tel Aviv University, Ramat Aviv, Israel {nachumd,

More information

BOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction

BOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction BOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction Peer Johannsen Siemens AG, Corporate Technology, Design Automation, CT SE 4 81730 Munich, Germany peer.johannsen@mchp.siemens.de

More information

Automated Formal Verification of X Propagation with Respect to Testability Issues

Automated Formal Verification of X Propagation with Respect to Testability Issues Automated Formal Verification of X Propagation with Respect to Testability Issues Mehdi Dehbashi Daniel Tille Ulrike Pfannkuchen Stephan Eggersglüß Institute of Computer Science, University of Bremen,

More information

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007 VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

A proof-producing CSP solver: A proof supplement

A proof-producing CSP solver: A proof supplement A proof-producing CSP solver: A proof supplement Report IE/IS-2010-02 Michael Veksler Ofer Strichman mveksler@tx.technion.ac.il ofers@ie.technion.ac.il Technion Institute of Technology April 12, 2010 Abstract

More information

On the Verification of Sequential Equivalence

On the Verification of Sequential Equivalence 686 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL 22, NO 6, JUNE 2003 On the Verification of Sequential Equivalence Jie-Hong R Jiang and Robert K Brayton, Fellow, IEEE

More information

NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances

NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances Sathiamoorthy Subbarayan 1 and Dhiraj K Pradhan 2 1 Department of Innovation, IT-University of Copenhagen, Copenhagen,

More information

On Computing Minimum Size Prime Implicants

On Computing Minimum Size Prime Implicants On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for

More information

Plugging the Holes: SystemC and VHDL Functional Coverage Methodology

Plugging the Holes: SystemC and VHDL Functional Coverage Methodology Plugging the Holes: SystemC and VHDL Functional Coverage Methodology Pankaj Singh Infineon Technologies Pankaj.Singh@infineon.com Gaurav Kumar Verma Mentor Graphics Gaurav-Kumar_Verma@mentor.com ABSTRACT

More information

Improving Logic Obfuscation via Logic Cone Analysis

Improving Logic Obfuscation via Logic Cone Analysis Improving Logic Obfuscation via Logic Cone Analysis Yu-Wei Lee and Nur A. Touba Computer Engineering Research Center University of Texas, Austin, TX 78712 ywlee@utexas.edu, touba@utexas.edu Abstract -

More information

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Subash Chandar G (g-chandar1@ti.com), Vaideeswaran S (vaidee@ti.com) DSP Design, Texas Instruments India

More information

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt Verification (See related materials in textbook.) Outline What are the goals of verification? What are the main approaches to verification? What kind of assurance do we get through testing? How can testing

More information

Scalable Test Generation by Interleaving Concrete and Symbolic Execution

Scalable Test Generation by Interleaving Concrete and Symbolic Execution Scalable Test Generation by Interleaving Concrete and Symbolic Execution Xiaoke Qin and Prabhat Mishra Department of Computer and Information Science and Engineering University of Florida, Gainesville

More information

Quick Look under the Hood of ABC

Quick Look under the Hood of ABC Quick Look under the Hood of ABC A Programmer s Manual December 25, 2006 Network ABC is similar to SIS/MVSIS in that it processes the design by applying a sequence of transformations to the current network,

More information

Busy Man s Synthesis: Combinational Delay Optimization With SAT

Busy Man s Synthesis: Combinational Delay Optimization With SAT Busy Man s Synthesis: Combinational Delay Optimization With SAT Mathias Soeken 1 Giovanni De Micheli 1 Alan Mishchenko 2 1 Integrated Systems Laboratory, EPFL, Lausanne, Switzerland 2 Department of EECS,

More information

Learning Techniques for Pseudo-Boolean Solving and Optimization

Learning Techniques for Pseudo-Boolean Solving and Optimization Learning Techniques for Pseudo-Boolean Solving and Optimization José Faustino Fragoso Fremenin dos Santos September 29, 2008 Abstract The extension of conflict-based learning from Propositional Satisfiability

More information

Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets

Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets Optimization-based Multiple Target Test Generation for Highly Compacted Test Sets Stephan Eggersglüß Kenneth Schmitz René Krenz-Bååth Rolf Drechsler Institute of Computer Science University of Bremen 28359

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits

More information

Watching Clauses in Quantified Boolean Formulae

Watching Clauses in Quantified Boolean Formulae Watching Clauses in Quantified Boolean Formulae Andrew G D Rowley University of St. Andrews, Fife, Scotland agdr@dcs.st-and.ac.uk Abstract. I present a way to speed up the detection of pure literals and

More information

Normal Forms for Boolean Expressions

Normal Forms for Boolean Expressions Normal Forms for Boolean Expressions A NORMAL FORM defines a class expressions s.t. a. Satisfy certain structural properties b. Are usually universal: able to express every boolean function 1. Disjunctive

More information

Heuristic Algorithms for Multiconstrained Quality-of-Service Routing

Heuristic Algorithms for Multiconstrained Quality-of-Service Routing 244 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 10, NO 2, APRIL 2002 Heuristic Algorithms for Multiconstrained Quality-of-Service Routing Xin Yuan, Member, IEEE Abstract Multiconstrained quality-of-service

More information

Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms

Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms Joao Marques-Silva and Vasco Manquinho School of Electronics and Computer Science, University of Southampton, UK IST/INESC-ID,

More information

Exact Template Matching using Graphs

Exact Template Matching using Graphs Exact Template Matching using Graphs by Md. Mazder Rahman, Gerhard W. Dueck, and Joe Horton TR 13-224, April, 2013 Faculty of Computer Science University of New Brunswick Fredericton, NB, E3B 5A3 Canada

More information

Mapping-aware Logic Synthesis with Parallelized Stochastic Optimization

Mapping-aware Logic Synthesis with Parallelized Stochastic Optimization Mapping-aware Logic Synthesis with Parallelized Stochastic Optimization Zhiru Zhang School of ECE, Cornell University September 29, 2017 @ EPFL A Case Study on Digit Recognition bit6 popcount(bit49 digit)

More information

Coverage-based Trace Signal Selection for Fault Localisation in Post-Silicon Validation

Coverage-based Trace Signal Selection for Fault Localisation in Post-Silicon Validation Coverage-based Trace Signal Selection for Fault Localisation in Post-Silicon Validation Charlie Shucheng Zhu 1, Georg Weissenbacher 2, and Sharad Malik 1 1 Princeton University 2 Vienna University of Technology,

More information

Incremental Sequential Equivalence Checking and Subgraph Isomorphism

Incremental Sequential Equivalence Checking and Subgraph Isomorphism Incremental Sequential Equivalence Checking and Subgraph Isomorphism Sayak Ray Alan Mishchenko Robert Brayton Department of EECS, University of California, Berkeley {sayak, alanmi, brayton}@eecs.berkeley.edu

More information

Design and Synthesis for Test

Design and Synthesis for Test TDTS 80 Lecture 6 Design and Synthesis for Test Zebo Peng Embedded Systems Laboratory IDA, Linköping University Testing and its Current Practice To meet user s quality requirements. Testing aims at the

More information

Fault Injection & Formal Made for Each Other

Fault Injection & Formal Made for Each Other Fault Injection & Formal Made for Each Other Iain Singleton June 2018 2018 Synopsys, Inc. 1 Introduction Formal usage has been growing rapidly in recent years Formal Technology has evolved Lots of new

More information

Qualification of Verification Environments Using Formal Techniques

Qualification of Verification Environments Using Formal Techniques Qualification of Verification Environments Using Formal Techniques Raik Brinkmann DVClub on Verification Qualification April 28 2014 www.onespin-solutions.com Copyright OneSpin Solutions 2014 Copyright

More information

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Amit Goel Department of ECE, Carnegie Mellon University, PA. 15213. USA. agoel@ece.cmu.edu Randal E. Bryant Computer

More information

Zchaff: A fast SAT solver. Zchaff: A fast SAT solver

Zchaff: A fast SAT solver. Zchaff: A fast SAT solver * We d like to build a complete decision procedure for SAT which is efficient. Generalized D-P-L algorithm: while (true) { if (! decide( )) /* no unassigned variables */ return (sat) while (! bcp ( ))

More information

Reliable Verification Using Symbolic Simulation with Scalar Values

Reliable Verification Using Symbolic Simulation with Scalar Values Reliable Verification Using Symbolic Simulation with Scalar Values Chris Wilson Computer Systems Laboratory Stanford University Stanford, CA, 94035 chriswi@leland.stanford.edu David L. Dill Computer Systems

More information