Abstract
A formal method for checking equivalence between a given behavioral specification prior to scheduling and the one produced by the scheduler is described. Finite state machine with data path (FSMD) models have been used to represent both the behaviors. The method consists of introducing cutpoints in one FSMD, visualizing its computations as concatenation of paths from cutpoints to cutpoints, and identifying equivalent finite path segments in the other FSMD; the process is then repeated with the FSMDs interchanged. Unlike many other reported techniques, this method is strong enough to work when path segments in the original behavior are merged, a common feature of scheduling. It is also capable of verifying several arithmetic transformations and many code-motion techniques employed during scheduling. Correctness and complexity of the method have been dealt with. Experimental results for several high-level synthesis benchmarks demonstrate the effectiveness of the method.
Original language | English |
---|---|
Article number | 4391074 |
Pages (from-to) | 556-569 |
Number of pages | 14 |
Journal | IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems |
Volume | 27 |
Issue number | 3 |
DOIs | |
State | Published - Mar 2008 |
Externally published | Yes |
Bibliographical note
Funding Information:Manuscript received April 5, 2007; revised July 21, 2007. This work was supported in part by MHRD (Grant F.26-14/2003.TS.V) and in part by MCIT (SMDP-II projet), Government of India. This paper was recommended by Associate Editor A. Kuehlmann.
Funding
Manuscript received April 5, 2007; revised July 21, 2007. This work was supported in part by MHRD (Grant F.26-14/2003.TS.V) and in part by MCIT (SMDP-II projet), Government of India. This paper was recommended by Associate Editor A. Kuehlmann.
Funders | Funder number |
---|---|
Ministry of Human Resource Development | F.26-14/2003 |
Keywords
- Equivalence checking
- Finite state machine with data path (FSMD) models
- Formal verification
- High-level synthesis (HLS)
- Scheduling