Multithreading-Based CoVerification Technique of HW/SW systems

M. Azizi, E.-M. Aboulhamid, and S. Tahar

Abstract

An embedded system consists of a set of heterogeneous components. These components may be software or hardware blocks with a limited specification. A global verification of such systems to check the equivalence between their implementation and their specification is challenging. Number of tools such as Seamless-CVE and Eaglei are now available. These tools perform coverification of HW/SW systems by cosimulation. This latter simulates concurrently the SW and HW components described respectively by HLL (High Level Language) and HDL (Hardware Description Language) codes. To improve the coverification process, we propose a methodology based on principles of multithreading and guided simulation. In this approach the software subsystem appears as a set of intercommunicating threads. Concurrent threads implement the communication with the hardware subsystem. Properties that should be verified can be added dynamically by creating new threads allowing their concurrent evaluation. The advantage of our methodology is that if any property is not satisfied, the result of simulation is known negative even before its end and appropriate action may be undertaken. Furthermore the degree and the amount of properties can be modified in a flexible way by changing the priority or the execution of some threads.

Related URL: http://www.meng.com http://www.viewlogic.com http://www.sun.com/suntest http://www.iro.umontreal.ca/~azizi