IBM Haifa researchers developed a prototype tool for Zoran to generate tests for a DVD player SoC. The tests had to ensure that the chip could read a movie, decode the data stream, and display the movie on the TV screen
Researchers at the IBM Haifa Lab are using a new approach to generate system-level tests for multimedia systems on a chip (SoCs), where the problem of generating tests is tackled as a scheduling problem. The main advantage of the new approach is the ability to automate the creation of test cases for these systems. SoCVer, a tool that implements this approach, is currently being deployed for test case generation in the verification of Zoran's DVD player design.
During the last few years, many complex multimedia devices have shifted from custom ASICs toward SoC-based designs, which include ready-made components or 'cores'. Many consumer products of this type, including digital cameras and DVD recorders and players, share a common base structure. However, as these product designs have become increasingly complex, the need for an advanced verification solution has become more and more acute.
Multimedia SoCs are characterized by a main controller that directs the activity of several cores, each of which is responsible for a stage in the processing of a media stream. The cores communicate through a shared memory (or memories) and a main microprocessor that controls and coordinates the entire system. Verifying SoC-based designs for multimedia applications incorporates several challenges. First and foremost, testing efforts must verify the integration of several previously designed cores in a relatively short time. In addition, the system's embedded software is typically not fully developed until fairly late in the development cycle. Although several cores can work concurrently in such systems, the system's functionality enforces temporal constraints on the order in which each of the cores operates, further compounding the verification task. Generating stimuli that define these temporal constraints is one of the main challenges in the verification of these SoCs.
The team at IBM Haifa developed SoCVer to combat these challenges. "Until now, verification tests for consumer electronics were written manually. This is a very complicated process because of the many constraints that need to be considered," notes Amir Nahir, project leader for SocVer at the IBM Haifa Research Lab.
"Manually writing tests is a time consuming, error-prone process," continues Nahir. "It is also nearly impossible for verification engineers to completely comprehend all the dependencies within the design under verification, and therefore, many aspects of the system are ignored or set to static values during the verification process."
SoCVer transforms the system's operations into a scheduling problem. This problem represents the times in which the system's cores process the different input items. Finally, the test case generated for the microprocessor implements the cores' actions as commands given at different times. These commands serve as the driving elements of the test, as opposed to traditional verification environments where the test is manually written.
SocVer uses the SoC's main controller point of view for controlling the flow of data in the system. Test case generation is done by allocating processing tasks to the various cores and determining which core will process which data item, at what time. Solving these scheduling problems allows SoCVer to generate software for the SoC's main controller; this software coordinates and synchronizes the operations of all the cores on the chip without requiring use of the real operational software.
IBM Haifa researchers developed SoCVer specifically to verify a DVD player's embedded system, but the technology can be easily extended for use with any data streams, such as network protocol chips.
"As far as we know, there is currently no existing tool that can automatically generate tests for this type of networking technology," states Michael Vinov, Manager of System Verification Technologies at the IBM Haifa Lab. "While working on the DVD player SoC, we also proved the feasibility and compatibility of this methodology with several other SoCs. Chances are, the future of verification will include the use of tools such as this one to verify a whole array of consumer electronics based on embedded SoCs."