When we talk about the Internet of Things (IoT), it isn't a stretch to say that every intelligent device we interact with will become connected, sharing vast amounts of data with one another to make our lives more efficient. It isn't only consumers of smart home, infotainment, and wearable technologies that are driving the demand, but also industrial, military, and government applications such as smart cities and factories that are changing the connectivity landscape.
When we explore IoT from this perspective, we understand that these devices can range from the smallest designs comprised of a handful of sensors and actuators made up of only a few million gates to extremely complex machines containing hundreds of sensors and billions of gates. Whatever the size and complexity, these smart systems require a great deal more software and real environment tests especially when integrating commercial IP. All of the IoT examples mentioned mandate interoperable connectivity, sophisticated control, and test efficiency forcing design teams to rethink their development strategies. Add to this the time-to-market pressures that consumer IoT devices demand and it becomes clear that engineers need adequate solutions to address these issues.
FPGA-based prototyping is specifically geared toward meeting the design and verification demands created by the complexities of IoT devices. Prototyping technology advances in areas of partitioning and multi-FPGA debug have allowed FPGA-based prototyping to scale to address not only the small multi-million gate designs but also designs of up to 1.5 billion gates. FPGA-based prototyping allows designers to develop and test their systems and provides software developers early access to a fully functioning hardware platform long before silicon is available. The hardware prototype is the only solution that can be employed early enough for practical software development and testing. Software models don't have the speed and capacity that hardware platforms provide for accuracy and reliability.
Even the smallest designs must negotiate very complex software issues and require an enormous amount of rigorous testing. The nature of this type of testing could run any design into the ground missing crucial time-to-market windows. The article “Emulation vs. Prototyping – Performance Curve Crossover” provides an in-depth discussion on the speed and test benefits of FPGA prototyping.
Although prototyping can take weeks to set up, the number of tests that can be performed in a short amount of time after initial set up severely handicaps other solutions. At the modest of speed (just 5 Megahertz) and after 4 weeks of set up, FPGA prototyping can complete a staggeringly higher number of tests than other solutions just days after its initial set up.
FPGA-based prototyping is well-suited for designs that are fully rendered in RTL that can be mapped to an FPGA. However, many IoT-natured designs may not be completely mapped to an FPGA and may be partially still only available as behavioral models in descriptions such as C++ or SystemC. In these cases, transaction-level interfaces play a critical role in being able to bridge the abstraction level between behavioral models and live hardware. These transactors offer a way to communicate between software running on a host and an FPGA-based prototyping platform that often includes memories, processors, and high-speed interfaces.
S2C's unique patent-pending Prodigy ProtoBridge™ System is a solution that allows for just this type of high-speed communication. ProtoBridge supplies a transactor interface between a software program and the world of AXI-compliant hardware. There are two key parts to this: an AXI-to-PCIe bridge that connects to a host computer, and a C-API that communicates to the design through the bridge. The software-to-AXI transactor offers new flexibility to designers building ARM-based systems. And coupling this to a PCIe interface supporting transfer speeds up to 1000 Mbytes / sec, provides a perfect development platform for data-intensive applications.
A system like this allows designers to maximize the benefits of FPGA-based prototypes much earlier in the design project for algorithm validation, IP design, simulation acceleration and corner case testing. A prototype combined with a transactor interface makes a range of interesting applications possible throughout the design flow.
In addition to the important role that the Prodigy ProtoBridge System plays in the world of IoT designs, S2C's entire Prodigy Complete Prototyping Platform provides solutions for every aspect of your IoT design flow. We provide the most comprehensive array of prototyping logic modules to fit your design size as well as the largest library of pre-tested prototyping IP and reference design flows to speed up and simplify your prototyping process. Our Prodigy Cloud Cube is an enterprise-class, FPGA-based prototyping system that supports up to 32 FPGAs, using a combination of S2C's Quad, Dual or Single Prodigy Logic Modules that can be used as a regression farm for any application. The Prodigy Player Pro Software helps to configure the prototype and provides remote system monitoring and control. The compile functionality within Player Pro offers advanced partitioning and the soon to be released Prodigy Multi-Debug Module will relieve the arduous and error-prone task of debugging each FPGA manually. S2C's suite of Prodigy FPGA-based prototyping solutions is the most comprehensive on the market to help you realize the genius of your next IoT design.