Partners

Aldec Design and Verification Blog

Trending Articles
VHDL-2017: Some of My Favorite Things

For the past several years I have had the privilege to chair the IEEE 1076 VHDL working group. In March we handed off the revisions to the VHDL LRM to our technical editor to finalize the document for balloting. As we are waiting for the standards process to finish up, I thought I would share my favorite new additions. Let me start with an executive summary: ...

Like(2) Comments (0) Read more
Austin's Best Vegetarian Restaurants: The Quest Continues

If you’re headed to DAC, you should know it's fixing to be the hottest summer ever in Austin, but for brave and hungry meatless eaters, this town is an increasingly cool destination, with creative restauranteurs finding new ways to transform meaty favorites into plant-based edible delights....

Like(0) Comments (0) Read more
Emulation on the Cloud
HES Cloud delivers access to a high performance emulation platform

‘The cloud’ has been an industry buzz word for some time now and whilst the initial focus was on data storage and sharing - and spawned the likes of Dropbox – ‘cloud computing’ is currently the latest trend. For instance, Amazon’s cloud platform, ...

Like(2) Comments (1) Read more
FPGAs in an SoC World
How modern FPGA architecture influences verification methodologies

The SoC domination observed so far in the ASIC industry is coming to the FPGA world and changing the way FPGAs are used and FPGA projects are verified. The latest SoC FPGA devices offer a very interesting alternative of reprogrammable logic powered with the microprocessor, usually ARM. With new types of devices there is always a need for extended verification methodology. SoC ASIC has so far been the main pioneer for advanced and highly scalable verification methodologies. Due to the complexity and size of such projects, ASIC labs were actually driving EDA vendors to deliver verification solutions for their projects. With the growth of these projects, hardware emulation became a common tool which was then integrated with virtual platforms and labeled ‘hybrid co-emulation’. This hybrid solution offered a single verification platform for both software and hardware teams. Such platforms allow the performance of verification at the SoC level, allowing the entire project to be verified before the final design code is actually written and available for example, to perform the prototyping. Hybrid emulation allows the connection of the work environment of software teams using virtual platforms with the hardware engineers using emulators. Why is this so important? The issue is, until now the software portion of the project worked on the virtual models, separate from the hardware portion. Connecting these two domains allows for testing of the project at the SoC level instead of the subsystems level, which in turn increases the coverage of testing and enables the detection of problems much earlier.   Figure 1 - Hybrid co-emulation verification system.   Why is this so important for FPGAs? For a long time, it wasn’t. FPGA was the domain of hardware engineers, and software developers often didn’t even know what the FPGA was. A typical development and verification tool for FPGA was and still is an RTL simulator, even for SoC FPGA. BFM modules for interconnects like AMBA AXI were, so far, enough to bridge with the testbench. However the growth of SoC projects in FPGA size and complexity requires more. Simply stated, as FPGA projects become more complex, embedded operation systems for FPGA becomes standard, software developers start using FPGA, and there is a big demand to deliver an integrated work and verification platform for software developers and hardware engineers. This is the experience that is coming from ASIC verification methodologies. Which tools should be connected? Following the main requirement, which is to combine the software and hardware verification activities, we then need to connect a virtual platform and RTL simulator. One widely-used and well-known by software community example is QEMU, a generic and open-source machine emulator that supports various computer hardware architectures including ARM Cortex families. QEMU is used to emulate standard components like CPU subsystems and to run embedded software tests. When it comes to the RTL simulator, there are few well-known in the industry as Aldec Riviera-PRO. This solution guarantees thorough and comprehensive design verification at both the hardware and software sides without the need for dummy patches or for compromising the device driver or firmware code for an otherwise incomplete design. What does a verification flow with a virtual platform look like? The figure 2 below presents how such a flow might look and how it comperes to traditional, BFMs-only based flow. Figure 2 - QEMU Virtual Platform co-simulation with RTL simulator.   The main difference is such an environment allows the simulation of the entire SoC FPGA project instead of only the hardware. QEMU supports the processor subsystem modelling, while programmable logic is still simulated in the RTL simulator. This way the entire engineering team can work using one integrated environment and the same source code for all testing and debugging tasks. Also important, using QEMU as a testbench enables testing of the hardware with an operation system and drivers, as on the target platform. This generates much more complex and realistic test cases compared to standard testbenches, and allows debugging of detected errors before going to hardware which shortens the stage in the target board. Summary The methodology change is happening now. The complexity and multi-domain requirements of SoC projects have accelerated this change. The border between software and hardware in today’s electronics is very thin. Verification methods popular for ASIC projects are now migrating to FPGA, providing the most comprehensive development and verification work environment for all members of the project team. Table 1 compares how a verification platform can migrate from typical hardware-only simulation to virtual platform co-simulation and, as a reference, how close it is to most popular hybrid co-emulation used for ASIC designs. The verification functionality including debugging features offers the same capabilities, with the speed being a main difference limited by the RTL simulator kernel efficiency.     BFM only RTL simulation Virtual Platform and RTL simulator co-simulation Hybrid co-emulation Software engineer Not supported Supported Supported Hardware engineer Supported Supported Supported Software debug No Yes Yes Hardware debug Yes Yes Yes Speed Hz-kHz Hz-kHz MHz   Table 1.   In conclusion, due to increasing complexity of new FPGAs with embedded processors, efficient verification methodologies will be required that are capable of servicing the new features of the FPGA. The main function, from the methodology point of view, will be an integrated environment for all members of the project giving the abilities to develop, test, and debug at SoC level, not the sub-module level. FPGA is no longer a hardware domain only platform now with embedded processors and high level synthesis enabling FPGAs for the whole technology world. These elevated requirements will trigger new demands for the FPGA tools suited for the SoCs....

Like(3) Comments (1) Read more
Software Driven Test of FPGA Prototype
Software Driven Test of FPGA Prototype

Most everyone would agree how important FPGA prototyping is to test and validate an IP, sub-system, or a complete SoC design. Before the design is taped-out it can be validated at speeds near real operating conditions with physical peripherals and devices connected to it instead of simulation models. ...

Like(2) Comments (0) Read more
Key Components of Effective RTL Linting and CDC Verification
Solving your challenges with ALINT-PRO

Automated design rule checking, or linting, has been around the RTL verification for at least a couple decades, still many HDL designers completely ignore this simple yet very powerful bug hunting method. Why would a busy designer need to run this annoying warning generator?...

Like(4) Comments (0) Read more
An Easier Path to Faster C with FPGAs
For most scientists, what is inside a high-performance computing platform is a mystery.

For most scientists, what is inside a high-performance computing platform is a mystery. All they usually want to know is that a platform will run an advanced algorithm thrown at it. ...

Like(3) Comments (0) Read more
FPGA VHDL Verification
How can we do this faster and with better quality - at no extra cost?

This is actually possible – and with an average efficiency improvement of 20 to 50% for medium to high complexity FPGAs. Less for data path oriented designs and more for control or protocol oriented designs. At no extra cost....

Like(3) Comments (0) Read more
Beer, Cars, and Verification
My thoughts after DVCon Europe

As I write this, I am visiting the Aldec corporate office in the US on the day following their historical presidential election. It’s been a busy travel season for this product manager, and only a few weeks ago I was at DVCon Europe in Munich - the city of pork knuckles, beer... and of course, cars. ...

Like(4) Comments (0) Read more
Leveraging the Power of VDMA Engines for Computer Vision Apps with TySOM™ - Part 1
In-depth Overview of VDMA Use Cases for TySOM™ Reference Designs

It's pretty hard to overestimate the role of heterogeneous embedded systems based on Xilinx® Zynq®-7000 All-Programmable devices in tasks like computer vision. Many consumer electronics and specialized devices are emerging to facilitate and improve industries such as medical, automotive, security, and IoT. Aldec ...

Like(4) Comments (0) Read more
Ask Us a Question
x

Ask Us a Question

x
Captcha ImageReload Captcha
Incorrect data entered.
Thank you! Your question has been submitted. Please allow 1-3 business days for someone to respond to your question.
Internal error occurred. Your question was not submitted. Please contact us using Feedback form.