- About this Journal
- Abstracting and Indexing
- Aims and Scope
- Annual Issues
- Article Processing Charges
- Articles in Press
- Author Guidelines
- Bibliographic Information
- Citations to this Journal
- Contact Information
- Editorial Board
- Editorial Workflow
- Free eTOC Alerts
- Publication Ethics
- Reviewers Acknowledgment
- Submit a Manuscript
- Subscription Information
- Table of Contents
Advances in Mechanical Engineering
Volume 2013 (2013), Article ID 305636, 14 pages
Approximate Bisimulation for High-Level Datapaths in Intelligent Transportation Systems
1School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044, China
2Guangxi Key Laboratory of Hybrid Computation and IC Design Analysis, Guangxi University for Nationalities, Nanning, Guangxi 530006, China
3Institute of Acoustics, Chinese Academy of Sciences, Beijing 100190, China
Received 10 July 2013; Revised 2 September 2013; Accepted 8 September 2013
Academic Editor: Wuhong Wang
Copyright © 2013 Hui Deng et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
A relation called approximate bisimulation is proposed to achieve behavior and structure optimization for a type of high-level datapath whose data exchange processes are expressed by nonlinear polynomial systems. The high-level datapaths are divided into small blocks with a partitioning method and then represented by polynomial transition systems. A standardized form based on Ritt-Wu’s method is developed to represent the equivalence relation for the high-level datapaths. Furthermore, we establish an approximate bisimulation relation within a controllable error range and express the approximation with an error control function, which is processed by Sostools. Meanwhile, the error is controlled through tuning the equivalence restrictions. An example of high-level datapaths demonstrates the efficiency of our method.
Intelligent transportation systems (ITSs) provide a substantial amount of convenience for daily life. However, with the ever-growing application demands, the scale of ITSs is increasing because ITSs must include an increasing number of features, which will lead us to a difficult situation when designing and verifying the system. With regard to this issue, there is a growing interest in researching how to reduce the scale of the elements in an ITS that involve hardware, software, and other components. In this paper, the research objective is circuit optimization. To achieve the behavior and structure optimization for circuits, the specific data exchange processes must be analyzed. Therefore, we must study circuits at a high level, called high-level datapaths. Complex high-level datapaths typically contain equivalent data exchange processes that are overly complex; worthwhile research on these datapaths considers either how to eliminate the superfluous portion of these processes, known as structure optimization, or how to simplify these processes, known as behavior optimization. In this paper, a novel method is established to address these optimization issues simultaneously for high-level datapaths. Equivalence verification is one of the most commonly used formal methods and is the basis for implementing this method.
There are several equivalent verification tools for circuits, but most of these tools are only suited for circuit verification at a low level, for example, binary decision diagrams (BDDs) , word-level decision diagrams (WLDDs) , and Taylor expansion diagrams (TEDs) . These tools were all defined on standardized graphs, which have large exponential spaces and time complexities. As a result, verification methods that are based on algebraic methods, such as equivalence verification, have been proposed to solve these problems. Although these methods are very powerful when addressing low-level circuits, they are less suitable for addressing special problems for high-level datapaths. For high-level datapath verification, Smith and Micheli presented a polynomial method for component matching and verification and researched polynomials as allocating components [4, 5]. Moreover, they found a polynomial model for component matching at a high synthesis level . Based on their studies, numerous other research efforts were performed; for instance, the algorithms were proposed to achieve lower costs and minimum timing, driven in high-level data flow synthesis with symbolic algebra [7–9].
For symbolic algebra, Buchberger demonstrated that useful research must combine a logic method with an algebraic method . In 2006, Zhou also noted that combining these types of methods would be an effective way to verify a system’s properties . Based on these ideas, Yang et al. presented a polynomial description and provided a functional equivalence algorithm based on the Groebner bases for one type of high-level datapath, whose data exchange processes are shown by nonlinear polynomial systems. The algorithm was defined from the perspective of common solutions of nonlinear polynomial systems . This work is the first to achieve the functional equivalence of a symbolic method for circuits, and the computing effort is less than that for BMDs or integer linear programming (ILP). However, the optimization is not complete; there is still some potential for improvement. Thus, we provide a more efficient method to achieve the equivalence verification for programs by Ritt-Wu’s method in this paper because the characteristic set of a polynomial set achieved by Ritt-Wu’s method is unique [13, 14]. Ritt-Wu’s method is an algorithm for solving multivariate polynomial equations. It is based on a mathematical concept of characteristic set and powerful for mechanical theorem proving in elementary geometry; then it gives a complete decision process for certain classes of problems.
Equivalence relations require that the behaviors of two high-level datapaths be equivalent, which appears to be impossible using existing technology. For example, consider that we choose two different microwaves to heat bread there are two parameters that we must consider: temperature and time. If both of the ovens can raise the temperature to the same level, then the bread can be heated by the two microwaves. In this case, time is not the critical parameter; the fact that one value is 30.0 s and the other is 29.9 s does not matter. Therefore, these two microwaves can be considered approximately the same. In this case, one of the microwaves, which has a simple behavior and structure, can be used to approximately replace the more complex microwave. This example illustrates that an appropriate approximation can be accepted and provide optimization for different systems without causing a crucial influence. This idea is the key concept that we will utilize to optimize the behavior and structure below and provide a more appropriate relation for high-level datapaths in this paper.
To make this idea come true, an approximate method for a single high-level datapath has already been proposed; this proposal establishes, for the first time, an approximate relation for the corresponding branches in a single datapath . However, this approach does not appear to be a good method for complex circuits that require a large amount of computing effort if we consider the circuits as a whole. Therefore, we must adopt a circuit partitioning method to divide the original datapath into several small blocks. For the circuits, there are already many different partitioning methods based on different demands [16, 17]; considering these methods, a new partitioning method based on an impact factor is proposed in this paper. After being partitioned, an appropriate description of the datapath must be given to research its behavior and structure. A labeled transition system is the basis for achieving this description. Based on this description, an equivalent relation must be proposed to achieve circuit optimization. For the equivalence relation, bisimulation has the best equivalence semantic in process algebra and will be chosen . Bisimulation has been applied to optimize property verifications for different systems, such as hybrid systems and dynamical systems [19–25]. However, these optimizations still have an issue in that the computing effort could be too large because the original system has not been standardized. We will address this problem here.
In the next section, we will choose nonlinear polynomial sets to represent the data exchange process of a type of high-level datapath in the same way as Yang et al. . To process these sets more conveniently, a datapath partitioning method is proposed to decompose a datapath into several small blocks. To achieve behavior and structure optimization, high-level datapaths are first modeled by polynomial transition systems. Then, a bisimulation relation is proposed. Standardized forms are achieved to determine the equivalence relation for high-level datapaths based on Ritt-Wu’s method. In this process, the polynomial sets that correspond to datapaths are changed into triangular sets and provide a space to obtain an approximate relation with their processing nondegeneracy conditions. Subsequently, an error control function is proposed to represent the difference between the datapaths and is processed by a numerical method. Finally, we ensure that our approach obtains circuit optimization by presenting a case study. The proposed method can be used to optimize some circuits within ITS. Our framework is a natural generalization for a type of circuit in ITS that is based on a formal method. For this process, we used Maple and MATLAB as technical tools. The theories of polynomial algebra, polynomial representation of circuits, and algebraic transition systems are the bases of our method, which are mostly available in the literature [12–14].
2. Partitioning Method and Polynomial Transition System for a High-Level Datapath
In ITS, there are a variety of circuits that can be used to satisfy the variety requirement [26, 27]. When researching the circuits at a high level, their data exchange processes can be expressed by differential semialgebraic systems, differential systems, and polynomial systems, among others. In this paper, we mainly research the circuits for which the data exchange processes can be represented by nonlinear polynomial systems. We have already proposed an approximate method for a single high-level datapath of this type , which is suitable only for some simple datapaths. Based on traditional circuit partitioning methods [28–30], a new partitioning method is introduced in this section to divide a datapath into small blocks for a complex datapath.
2.1. Partitioning Method
Let be an impact factor for a block in a datapath that sums the number of initial inputs and final outputs for this block. After being partitioned, the impact factor of every block is the same or similar. More complex blocks have higher impact factors.
Example 1. Figure 1 presents a datapath in which two inputs, and , pass through an adder to achieve an intermediate variable . Then, the output passes through a multiplier that has an additional input of , and then, the output is obtained.
With a partitioning method, when the impact factor is equal to three, the datapath is divided into two blocks, as shown in Figure 2.
The computing effort and memory usage of these blocks are less than those of the entire datapath. Using previous studies [7, 12], the two blocks in Figure 2 can be described by the following two polynomial sets:
There is a similarity between a labeled transition system and a high-level datapath after being partitioned. The labeled transition system is composed of limited states and transitions, and every transition represents a relation between inputs and outputs. Because the data exchange processes of high-level datapaths are also described by the polynomial sets to represent the relation between the inputs and outputs, the high-level datapath can be modeled by a labeled transition system, referred to as a polynomial transition system, which is summarized as follows.
Definition 2. A polynomial transition system for a high-level datapath is represented by a tuple :(i)a set of variables;(ii)a set of locations;(iii) a set of transitions; every transition is a tuple :(a) and are pre- and post-locations of this transition;(b) is a first-order assertion represented by a nonlinear polynomial system over , where , , and represent the input, middle, and output variables, respectively;(iv) a set of initial variables.
The polynomial transition system can be described as a state graph, which contains states and transitions. The entire exchange process between the datapath and polynomial transition system is illustrated in Figure 3.
In Figure 3, if , , and have solutions within the same value range and their solutions are equivalent, then the behaviors of these three blocks are identical. In this case, an interesting research topic is determining how to achieve the solutions for the blocks to determine their equivalence relations.
In this paper, and is a ring of polynomials. is a polynomial, and is considered a solution for or, alternatively, a solution for the polynomial equation when . The solutions are all defined in .
3. Equivalence Determination for High-Level Datapaths Based on Ritt-Wu’s Method
For the majority of polynomial sets, the solutions cannot be achieved easily; as a result, it is difficult to determine their equivalence relations. To solve this problem, we use Ritt-Wu’s method to standardize the behavior of high-level datapaths first, and we then obtain a standard and unique form to represent equivalence relations without calculating their solutions directly.
By comparing the Groebner basis with Ritt-Wu’s approach used in this problem , we find that the Groebner basis always results in additional polynomials, which will require a large amount of storage space. In contrast, Ritt-Wu’s method allows for simpler and more standardized polynomial sets. At the same time, Ritt-Wu’s method is a linear combination of polynomial sets. Its operations are linear, and the degrees are lower as well. Therefore, this method requires less storage space and is more efficient than the Groebner basis.
Before using Ritt-Wu’s method to process high-level datapaths, the order of the variables must be defined.
Definition 3. An order relation is denoted as follows, on :(i), , , then, ;(ii), then, ;(iii), then, ;(iv)(a), , , , , and represent input, middle, and output variables, respectively; then, ;(b), then, ;(c), then, ,where is a high-level datapath and , , and represent the input, middle, and output variables, respectively.
Theorem 4. Two blocks and are equivalent if
which equals where all .
Otherwise, it equals
represents the solutions for block after eliminating the middle variables . denotes an irreducible characteristic set after eliminating the middle variables for block . Here, is an initial set of . is the solution of .
Proof. It is well known that multivariate polynomial rings over fields are Noetherian; thus, the ideal can be decomposed into the following:
where is a primary ideal.
Using Ritt-Wu’s method, we obtain a variety decomposition: .
Each defines an unmixed algebraic variety. If , then the above decomposition can be rewritten as
By irreducible variety decomposition, a decomposition of the radical ideal for is generated by :
Thus, can be represented by because the radical ideals cannot be decomposed. Therefore, the two datapaths are equivalent if the solutions of the ideal are the same after eliminating the middle variables.
At the same time,
Because , we have
Thus, if , then and are equivalent.
This theorem solves the problem of theoretical determination. It provides us with a unique form to determine equivalent relations for two blocks without calculating their solutions directly and allows our calculation method to be more enriched and strengthened in the process of determining the equivalence relations. With the equivalence determination for blocks, additional blocks can be reduced and complex blocks can be replaced with simpler blocks to achieve structure and behavior optimization. The framework for circuit optimization is illustrated in Figure 4.
4. Approximate Bisimulation for High-Level Datapaths
After achieving the equivalence relation for the corresponding blocks of a high-level datapath, we next investigate how the equivalence for the entire datapath can be determined.
4.1. The Definition of Approximate Bisimulation
Exact equivalence demands that the solutions of polynomial sets for two datapaths be identical without any error. This constraint appears to be too strict for datapaths in technology because many values of special variables are achieved only by approximation. Thus, in this section, we relax the equivalence restrictions to create a more appropriate relation within a suitable range for all of the datapaths, and we use this relation to achieve behavior and structure optimization. This process is illustrated in Figure 5.
In the process of achieving optimization, bisimulation is applied to establish an approximate equivalence relation for the entire system, as illustrated in Figure 6.
In this figure, because the dotted part of the left state graph does not have the same trajectory as the right transition graph, they are not equivalent with bisimulation. Bisimulation provides us with the most exact equivalence relation, which can be used to achieve equivalence relations for circuit optimization.
Let and be polynomial transition systems for two datapaths, and . Here, is the error, is the precision, and represents a transition with error .
Definition 5. A relation is called an approximate bisimulation, where if, for all , and have solutions, and the variables of these two systems are the same after substitution:(i), , such that .(ii), , such that .
Thus, and are approximately bisimilar, which means that the solutions of two nonlinear polynomial systems of corresponding blocks are approximately the same for and .
If , then and are not approximately equivalent. (i) If , then we can find two polynomial systems and where there exists At the same time, the following hold. (a) If and can be changed into two datapaths, then and can be replaced with the simpler datapath in and . Therefore, the behavior and structure of and are approximately optimized. (b) Otherwise, and can be used to optimize the safety verification for and . If is safe, then Because Thus, is safe. (ii) If , then and are not approximately equivalent.
and are the characteristic sets after ignoring some initials for and ; and are the irreducible characteristic sets of and , respectively.
In this process, the initials of a characteristic set can be considered nondegeneracy conditions because their dimensions are always very low and negligible. For a datapath, an initial is the coefficient of a variable with a high order expressed by a complex unit. If an initial is ignored, then the complex unit is removed to reduce the design costs for the datapath.
With the above analysis, the calculation of approximate bisimulation can be established, which is provided in the next subsection.
4.2. The Calculation Algorithm of Approximate Bisimulation
If the variables of nonlinear polynomial systems of corresponding blocks in a polynomial transition system are the same after substitution, the calculation algorithm of approximate bisimulation for a high-level datapath can be established as follows (see Figure 7).
Algorithm 6. The calculation of approximate bisimulation for a high-level datapath.
Input. A high-level datapath whose data exchange processes are represented by nonlinear polynomial systems.
Output. An optimized high-level datapath for the given high-level datapath.
Step 1. Change the high-level datapath into a polynomial transition system. Here, is the precision. A group branches according to the bisimulation relation. Suppose that the number of groups is . Let a counter .
Step 2. Process the th group first. Let the precision in this group belong to
Step 3. Use Ritt-Wu’s method to determine the relation of every two branches in this group.
Step 3.1. If the irreducible characteristic sets are identical, then these branches are equivalent. In this case, choose the simplest branch to replace all of the branches and go to Step 5. Otherwise, go to Step 3.2.
Step 3.2. If the errors are not more than , then these branches are approximately equivalent. In this case, choose an appropriate branch of this group to replace all of the branches and go to Step 5. Otherwise, go to Step 3.3.
Step 3.3. Suppose that the number of branches is ; label them from 1 to . Let a counter and go to Step 4.
Step 4. Determine the relation between the th branch and the other branches that form the th to the th branch. Let the symbol of the nonlinear polynomial system corresponding to the th branch be . Let
Select except to form a set when the errors are larger than . Let the element in be labeled by . The remaining elements except form the set . Let the element in be labeled as . Go to Step 4.1.
Step 4.1. Let . The number of elements in is . Go to Step .
Step 4.2. If there are go to Step . Otherwise, and go to Step 4.5.
Step 4.2.1. Select those elements for which the error of two of the elements is not more than in to form a new set . Merge , , and into a set . The remaining elements form a set .
Step 4.3. If there exist initials in , then go to Step . Otherwise, go to Step .
Step 4.3.1. The error caused by the initials of this element is not more than ; then, the characteristic set of this element is used to replace all of the elements in . Go to Step 4.4. Otherwise, go to Step .
Step 4.3.2. Use the appropriate element in and to replace and merge all of the elements in and ; , and go to Step 4.4.
Step 4.4. Merge and to form a new group to be considered as the new th group. Let the number of branches of this new group be . If , then go to Step 4; otherwise, go to Step 5.
Step 4.5. If there exist initials in , then go to Step . Otherwise, go to Step .
Step 4.5.1. If the error caused by the initials of this element is not more than , then the characteristic set of the elements in is used to replace all of the elements in and ; go to Step 4.4. Otherwise, go to Step .
Step 4.5.2. Use to replace and . Let be , and go to Step 4.4.
Step 5 (). If , then go to Step 2; otherwise, end, and a new nonlinear polynomial transition system is obtained. Thus, the optimized high-level datapath for a given high-level datapath is achieved.
If there are several different high-level datapaths, then we process them with Algorithm 6 to achieve their optimized datapaths. Then, we consider these optimized datapaths to be nondeterministic branches in a new datapath; we determine the equivalent relation for the corresponding branches of this new datapath, choose a simpler branch to replace the complex branches, and achieve the final optimized high-level datapaths.
5. Error Calculation and Error Control Algorithm
This section discusses how to calculate the error, determine whether the error is within an allowable range, and decrease the error if it exceeds the precision requirement.
5.1. Error Control Function
Every point of the original and approximate systems in space can be expressed by a vector. For example, is the vector of a point in the original system, and is the vector of a point in the approximate system. The length of represents the distance between and , which also means the difference between them. In this subsection, this difference is called the error. The gradient is a vector field that points in the direction of the greatest increasing rate in the scalar field. Based on this property, we apply a gradient to address the problem of measuring the probability of a change in the trend and the value of the exact error. The specific processes are described below.
Let and be polynomial systems; then,
Let the gradient of be denoted as , and let be a vector for and a vector for . The angle between and is .(i) Positive growth: if , then , which indicates that the error is increasing if the gradient is becoming larger. This case is illustrated in Figure 8(a).(ii) Negative growth: if , then , which indicates that the error is decreasing if the gradient is becoming too large. This case is shown in Figure 8(b).
Therefore, the error is reduced when . Next, the problem is determining how to apply restrictions to describe the differences and how to set the objective function and solve the optimization problem for two different datapaths.
Let be an error; then, we can obtain
Let be a vector that carries the relational information of the variables between and . Compare with . Suppose that is an error control function. Here, is the gradient. For all , if we expect that is reduced, then
If we also want to minimize the error control function, then we must minimize the value of the coefficient, which is
Here, the value of each item in , when interrelated with the relations between the two systems, is zero or one. For example, if the variables of the two systems are the same, then we only need to determine whether their outputs are identical. Therefore, we obtain , . The values of and are unique for every datapath. After achieving the value of , the error is achieved by under the range of values of the variables.
For the nonlinear polynomial systems of datapaths, the number of polynomials may not be equal to the number of variables. To address this problem, we add a new polynomial 0 into the polynomial sets until the numbers of polynomials and variables become identical. The error control function is implemented in MATLAB by the optimization toolbox Sostools.
5.2. Error Control Algorithm
In Section 4, we find that there is a place to achieve an approximate datapath for the original datapath by processing the initials. If the error is large, then the previous ignored initials are readded into a characteristic set to obtain a new approximate characteristic set.
Breadth-first traversal is used in the following algorithm. The first layer and node are labeled by 0.(i) A description of the symbols used in the algorithm is as follows: : a polynomial system; : the characteristic set for ; : the initial set for ; : an error between two datapaths and ; : precision; : the number of polynomials in is , as counted by a function count; : there exist different choices while adding initials, , ; : obtain one item from ; : obtain one item from whose dimension is the largest dimension; : merge and into one system; : sum the remaining error except for the error caused by ; : the initials added in the th time while adding initials; : the subscript of the characteristic sets; : the number of polynomials of each characteristic set; : the number of initials according to the characteristic sets in the th layer; : the depth of the current layer; : the symbol for the end.(ii) Error control algorithm is as the following.
Algorithm 7. Achieve the approximate polynomial sets for the original polynomial sets and adjust the error within a precision level.
Input. Nonequivalent polynomial sets and .
Output. Approximate polynomial sets and .
Step 1. Initialize variables: , , , , and .
Step 2. Obtain the solution decomposition for and with Ritt-Wu’s method: where and .
Let and .
Step 3. Ignore all of the initials for and . Obtain , , and .
Step 4. If , . Let , . Go to Step 4.1. Otherwise, go to Step 4.2.
Step 4.1. If and cannot be changed into datapaths, then the new approximate polynomial sets cannot be achieved; end. Otherwise, the simpler choice between and is chosen to replace and ; end.
Step 4.2. If is an empty set, then , , and ; end. Otherwise, go to Step 5.
Step 5. Let
Step 6. If is contradictory, then go to Step 9. Otherwise, go to Step 7.
Step 7. If , then go to Step 10. Otherwise, Go to Step 8.
Step 8. If , then and go to Step 7. Otherwise, , , and go to Step 8.1.
Step 8.1. If , then go to Step 9. Otherwise, go to Step 7.
Step 9 (). If , then go to Step 9.1. Otherwise, go to Step 9.2.
Step 9.1. If and , end. Otherwise, , , , and , and go to Step 6.
Step 9.2. ; go to Step 6.
Step 10. If and can be changed into the datapaths , then end. Otherwise, approximate datapaths cannot be achieved; end.
With this algorithm, the error can be controlled by readding the ignored initials. If the final error is still larger than the precision, then there is no approximate relation based on our method.
In the process of this algorithm, there is a critical step that requires special attention. The currently added initials may not be able to achieve our desired goal, which means that they cannot reduce the error when . This problem is caused by the relationship among the zeros of the polynomial sets, the characteristic sets, and their initials. Therefore, we must analyze the relationship so that we can choose the appropriate initials to decrease the error as soon as possible.
5.3. Choose the Appropriate Initials
Choosing the appropriate initials will allow us to reduce the computing efforts. With the relationship among the solutions of the polynomial sets, the characteristic sets, and their initials, there are three different types of functions for the added initials. Next, let be a polynomial set for a block of a datapath. is a characteristic set for , and is the initial set for . According to Ritt-Wu’s decomposition,
Theorem 8. The function of added initials has three cases. The value ranges of the solutions are represented by circles.(i) and have no intersection. This type of initial cannot reduce the error. The solution relationship of , , and is shown in Figure 9(a).(ii) and have an intersection, and . The function of these initials can be divided into two cases, and the solution relationship of , , and is shown in Figure 9(b).(a) If , then these initials cannot reduce the error.(b) If , then these initials can reduce the error.(iii) and have an intersection, but if , the function of these initials has two different cases, and the solution relationship of , , and is shown in Figure 9(c).(a) If , then these initials cannot reduce the error by adding them.(b) If , then there are two cases for the effect of the initials.(1) If , then these initials cannot reduce the error.(2) If , then these initials reduce the error by adding them.
Using the above analysis, we can select the most appropriate initial to control the error as soon as possible.
6. Example Verification and Main Results
Let us consider two high-level datapaths and in the ITS shown in Figures 10 and 11, where . In these figures, and have complex units. The datapath partitioning method is applied to reduce the computing effort. The impact factor equals four, and then, is divided into four parts and is divided into two parts, as shown in Figures 12 and 13.
Blocks 1 and 3 for and are identical. Therefore, we only demand to determine the relationship among blocks 2, 3, and 4 for . If these blocks are equivalent or approximately equivalent, then and are the bisimulation equivalent or approximate equivalent and we can replace with .
The polynomial representations for are as follows:(i) Block 2 : (ii) Block 3 : (iii) Block 4 :
We compute the characteristic sets for these blocks by Ritt-Wu’s method. The results are as follows after removing the middle variables:
Thus, block 2 is equivalent to block 4.
However, for blocks 2 and 3, we must establish an error control function, check the value of the error, and determine whether the error is within the expected precision. The entire process is described below.
Let the variables , and let the symbols of the variables of the second system be changed to by a substitution rule to facilitate the calculation.(i) For and , Then,
After computation, the error control function is ; thus, and are not approximate.(i) For and , Then, The error control function is .(ii) For and , Then, The error control function is .(iii) For and , Then, The error control function is . ; thus, and are approximate.
Therefore, we achieve two approximate systems and for and , respectively.
In Yang’s paper, the equivalence verification for high-level datapaths is determined using the Groebner basis. The number of polynomials and the computing effort are given in Figure 14 when processing blocks 2, 3, and 4 for using the Groebner basis and the Ritt-Wu method.
Figure 14 illustrates that less computing effort is required with fewer polynomials. Ritt-Wu’s method is better than the Groebner basis for the equivalence verification of datapaths. Because the Groebner basis is better than BMDs and ILP , our method is the best method among the methods considered for the equivalence verification process for circuits.
Furthermore, four results are achieved:(i) For and and and , their exact errors caused by ignoring initials are and , respectively. Thus, our method is reasonable in that we consider initials as nondegeneracy conditions because their effects are always very small.(ii) According to Ritt-Wu’s method, , , and are triangular sets; these sets are more standardized than , , and . In this case, our method costs less in terms of computing effort when processing property verification is based on state because the systems are standardized first by a symbolic method.(iii) The exact error can be calculated through the error control function. For example, when , we get the approximate systems and for and with ignoring the initials of characteristic sets. The final error is , which meets the precision requirement. and cannot be changed into new datapaths, but they can be applied to optimize the property verification of circuits in the future, such as safety verification, because is more standardized and its solutions is more than .(iv) With approximate bisimulation, block 4 can be removed in ; thus, circuit optimization is achieved. Because the numbers of states and blocks are all reduced, the property verification based on the states can be optimized for the circuits.
In this paper, a new partitioning method is established to divide a type of high-level datapath in ITS into small blocks to reduce the computing efforts. Next, the datapaths are modeled by polynomial transition systems to provide a framework to research their behavior and structure. Then, an approximate bisimulation based on symbolic-numeric computation is proposed, which is used to obtain behavior and structure optimization for the datapaths. The result of the introduced example illustrates that the computing efforts caused by our new method are less than those of the Groebner basis, BMDs, and ILP in the equivalence verification process for circuits.
However, additional research on this topic is still required. Because some approximate polynomial systems cannot be turned into new datapaths, for example, and , we will investigate the readabilities for these approximate systems. At the same time, because the characteristic sets are more standardized than the original polynomial sets, they can be used to optimize the property verification for the circuits in ITS; this goal is briefly introduced in Section 4 and will be implemented in the future.
This work was supported by the National Natural Science Foundation of China under Grant no. 11371003, the Natural Science Foundation of Guangxi under Grants nos. 2011GXNSFA018154 and 2012GXNSFGA060003, the Science and Technology Foundation of Guangxi under Grant no. 10169-1, and the Scientific Research Project no. 201012MS274 from Guangxi Education Department.
- R. E. Bryant, “Graph-based algorithms for boolean function manipulation,” IEEE Transactions on Computers, vol. C-35, no. 8, pp. 677–691, 1986.
- R. E. Bryant and Y.-A. Chen, “Verification of arithmetic circuits with binary moment diagrams,” in Proceedings of the 32nd Design Automation Conference, pp. 535–541, June 1995.
- M. Ciesielski, P. Kalla, and S. Askar, “Taylor expansion diagrams: a canonical representation for verification of data flow designs,” IEEE Transactions on Computers, vol. 55, no. 9, pp. 1188–1201, 2006.
- J. Smith and G. De Micheli, “Polynomial methods for component matching and verification,” in Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD '98), pp. 678–685, November 1998.
- S. James and D. M. Giovanni, “Polynomial methods for allocating complex components,” in Proceedings of the Conference on Design, Automation and Test in Europe, pp. 217–222, 1999.
- J. Smith and G. De Micheli, “Polynomial circuit models for component matching in high-level synthesis,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 9, no. 6, pp. 783–800, 2001.
- A. Peymandoust and G. De Micheli, “Using symbolic algebra in algorithmic level DSP synthesis,” in Proceedings of the 38th Design Automation Conference, pp. 277–282, June 2001.
- D. M. Giovanni and P. Armita, “Symbolic algebra and timing driven data-flow synthesis,” in Proceedings of the IEEE/ACM International Conference on Computer Aided Design (ICCAD '01), pp. 300–305, San Jose, Calif, USA, 2001.
- A. Peymandoust and G. De Micheli, “Application of symbolic computer algebra in high-level data-flow synthesis,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 22, no. 9, pp. 1154–1165, 2003.
- B. Buchberger, “A view on the future of symbolic computation,” in Proceedings of the International Symposium on Symbolic and Algebraic Computation (ISSAC '05), p. 1, ACM Press, July 2005.
- C. C. Zhou, “Program verification through computer algebra,” in Formal Methods and Software Engineering, Lecture Notes in Computer Science, p. 4360, 2006.
- Z. Yang, C. Lv, M. Guangsheng, and J. Shao, “A symbolic methodology for formal verification of high-level data-flow synthesis,” in Proceedings of the 9th International Conference on Solid-State and Integrated-Circuit Technology (ICSICT '08), pp. 2353–2356, Beijing, China, October 2008.
- S. C. Chou and X. S. Gao, “Ritt-Wu’s decomposition algorithm and geometry theorem proving,” in Proceedings of the 10th International Conference on Automated Deduction, vol. 449 of Lecture Notes in Computer Science, pp. 207–220, 1990.
- D. Wang, “An elimination method for polynomial systems,” Journal of Symbolic Computation, vol. 16, no. 2, pp. 83–114, 1993.
- H. Deng, J. Z. Wu, and N. Zhou, “Approximate equivalence and optimization for high-level datapath,” Journal of Information and Computational Science, vol. 8, no. 16, pp. 4131–4142, 2011.
- P. Girard, L. Guller, and C. Landraul, “Low power BIST design by hypergraph partitioning: methodology and architectures,” in Proceedings of the International Test Conference, pp. 652–661, 2000.
- R. Banos, C. Gil, M. G. Montoya, and J. Ortega, “A parallel evolutionary algorithm for circuit partitioning,” in Proceedings of the 11h Euromicro Conference on Parallel, Distributed and Network Based Processing, pp. 365–371, 2003.
- R. J. Van Glabbeek, “The linear time-branching time spectrum,” in Proceedings of the 4th Intrenational Conference on Concurrency Theory (CONCUR '93), vol. 458 of Lecture Notes in Computer Science, pp. 278–297, Hildesheim, Germany, 1990.
- G. J. Pappas, “Bisimilar linear systems,” Automatica, vol. 39, no. 12, pp. 2035–2047, 2003.
- A. J. van der Schaft, “Equivalence of dynamical systems by bisimulation,” IEEE Transactions on Automatic Control, vol. 49, no. 12, pp. 2160–2172, 2004.
- A. Girard and G. J. Pappas, “Approximation metrics for discrete and continuous systems,” IEEE Transactions on Automatic Control, vol. 52, no. 5, pp. 782–798, 2007.
- A. Girard and G. J. Pappas, “Approximate bisimulations for nonlinear dynamical systems,” in Proceedings of the 44th IEEE Conference on Decision and Control, and the European Control Conference (CDC-ECC '05), pp. 684–689, December 2005.
- A. Girard and G. J. Pappas, “Approximate bisimulation relations for constrained linear systems,” Automatica, vol. 43, no. 8, pp. 1307–1317, 2007.
- A. A. Julius, “Approximate abstraction of stochastic hybrid automata,” in Hybrid Systems: Computation and Control, vol. 3927 of Lecture Notes in Computer Science, pp. 318–332, 2006.
- A. Van der Schaft, “Bisimulation of dynamical systems,” in Hybrid Systems: Computation and Control, vol. 2993 of Lecture Notes in Computer Science, pp. 555–569, 2004.
- W. Wang, H. Guo, H. Bubb, and K. Ikeuchi, “Numerical simulation and analysis procedure for model-based digital driving dependability in intelligent transport system,” KSCE Journal of Civil Engineering, vol. 15, no. 5, pp. 891–898, 2011.
- W. H. Wang, Q. Cao, K. Ikeuchi, and H. Bubb, “Reliability and safety analysis methodology for identification of drivers' erroneous actions,” International Journal of Automotive Technology, vol. 11, no. 6, pp. 873–881, 2010.
- W.-K. Mak and D. F. Wong, “Fast hypergraph min-cut algorithm for circuit partitioning,” Integration, the VLSI Journal, vol. 30, no. 1, pp. 1–11, 2000.
- S. Coe, S. Areibi, and M. Moussa, “A hardware Memetic accelerator for VLSI circuit partitioning,” Computers and Electrical Engineering, vol. 33, no. 4, pp. 233–248, 2007.
- T. Bultan and C. Aykanat, “Circuit partitioning using mean field annealing,” Neurocomputing, vol. 8, no. 2, pp. 171–194, 1995.