What do drones, augmented reality devices, and 4K UHD TV have in common? They all include complex system-on-chips (SoCs) that must encode and decode, in real-time, data for increasingly higher definition video content. Verifying that these SoC designs are functionally correct is quite complex, but they must also function efficiently in the context of the entire system, so verifying the hardware and software too is essential. An emulation-based methodology is by far the most effective and efficient way to successfully accomplish these tasks.
Let’s take a look at the verification requirements and various verification methods design teams employ for verifying video-intensive multimedia SoCs. We’ll then examine how an emulation methodology was effectively applied to verify an SoC in one of the fastest-growing segments in the multimedia market: drones.
Challenges of Verifying Multimedia SoCs
It is not a trivial task to verify the video capture circuitry, data collection components, and streaming video essential to multimedia devices. As well, debugging is not straightforward for any type of multimedia SoC. There is a vast amount of data generated; and while video artifacts and audio glitches may be easily detectable by human eyes and ears, they are harder to spot in a waveform or database.
A few companies offer simulation acceleration IP, but this IP provides little help when verifying an SoC design with embedded software running on the full hardware design. Outside of emulation, there has not been any other way to do system-level verification of the software of a UHD-4K SoC, for example, without resorting to implementing the SoC on an FPGA prototyping system. However, FPGA prototyping is only useful if the hardware design is stable and relatively bug free. So, if the hardware is still a moving target, then the software team cannot get started until it is completed.
Although there is verification IP for UHD-4K, it is very difficult to create a simulation testbench representing the UHD-4K stimulus to put through the design. Also, with simulation-based approaches, there is an absence of efficient, built-in, system-level applications for displaying and analyzing the UHD-4K output. As well, UHD-4K verification methods that depend on simulation testbenches typically do not use real-world stimulus files.
Emulating a Multimedia Device
To effectively perform verification for a multimedia SoC, there must be a virtual audio-visual device to generate or receive/display UHD-4K streams to and from the design under test (along with HDCP 2.2 encrypt/decrypt). This allows teams to verify and debug the SoC pre-silicon in a software-based environment, providing both user flexibility and a high level of performance.
UHD-4K verification solutions for use with hardware emulation meet these needs (Figure 1). With the UHD-4K protocol running as a software model on an emulator, engineers can use system-level applications to drive the verification and debug process from a PC or workstation. Now, instead of having to painstakingly build a testbench to create a UHD-4K stimulus, users can simply grab an ordinary video file, even a pre-existing AVI (or WAV, TIFF, or BMP) file off the internet, and auto-convert it into a UHD-4K stream.
Auto-generating a protocol-compliant UHD-4K stream saves time and risk since it eliminates the need to validate conversion compliance. The UHD-4K stream content is user-controllable by selecting a preferred pixel format or other parameters, and the UHD-4K output is compliant. Setting up the stimulus can be done in a wizard or command line, including scripting multiple stimuli.
Having auto-converted the video file into UHD-4K, the UHD-4K protocol software plays the resultant stream into the DUT running on the emulator. The emulator then extracts and displays the audio-video output from the DUT and supports pixel-level graphical debugging of that displayed content; tracing particular streams or frames in detail, with video and audio.
An AVI can be exported from the DUT output to verify that it plays as expected in a real-world user application; such as Windows® Media Player. This allows the human eye to pick up errors in AV content far more efficiently than stepping manually through waveforms. Users can still zoom-in to the image to see pixel data and also examine audio detail or export the data for step-by-step waveform debugging if needed.
To facilitate debug, a programming interface can be used to export the display stream database and validate pixel data by comparing the actual against the expected outcome. If a problem is found, the log data can be output, showing content and time, so engineers can trace back on the emulator to identify what else was occurring at the moment of an error that might have caused the problem.
Debug can be a live process, capturing DUT output directly into a display and debugging on-the-fly to analyze and fix a problem immediately, or it can be captured into a database for subsequent debug. In batch mode, automated regression testing can be performed and may also be scripted for increased efficiency and productivity.
Let’s take a look at the rapidly growing drone market and how the right emulation methodology helps teams quickly bring drone innovations to market.
Invasion of the Drones
The drone market has a mega-appetite for electronics and is one of the fastest growing multimedia market segments. A recent report from BI Intelligence estimates that the investment in drone powered solutions will reach over $12bn by 2021 (Figure 3).
With drones being applied to military, agriculture, search and rescue, broadcast and leisurely use, the drone market is getting ever more competitive. To stay ahead of the curve, drone companies are integrating high-definition video and other features into their SoCs. They are also increasingly turning to emulation for not only verifying the SoCs function properly but also for early software validation. Here are the top four reasons why they are turning to emulation methods:
Case Study: SoC Solutions for Drone Application
A Veloce customer in China creates SoC solutions for drone applications. They decided to purchase a Veloce emulation system in 2017 for the verification of their complex video chips. They did not have just one design to run on emulation, they had five unique multimedia designs that needed verification. The design sizes ranged from 15MG to 25 MG, and emulation performance was the critical factor in their decision to purchase Veloce. Multiple video protocol standards were used: HDMI, eDP and MIPI CSI-2. By using Veloce, this customer found multiple bugs in both their DUT (RTL) and firmware that would have been very difficult to find without an accelerated verification environment.
With all these new standards coming out and new multimedia capabilities, even more companies are going to need emulation to churn through the masses of data. The Veloce VirtuaLAB Multimedia application reduces the risk for UHD-4K and HDMI developers by allowing them to use a virtual environment to eliminate the fault errors that could occur in a final product at the pre-silicon stage. Virtualization increases verification productivity by making emulator resources available 24/7 from anywhere in the world and by significantly reducing the time to set up and run new projects.
To learn more about the challenges of the multimedia market, and how an emulation-based verification methodology offers design teams a significant advantage—please download the whitepaperDrones, Augmented Reality, UHD TV – High-End Video SoCs Need Emulation.