feature article
Subscribe Now

FPGA-Prototyping Simplified

Cadence Rolls New Protium Platform

System on Chip (SoC) design today is an incredibly complicated collaborative endeavor. By applying the label “System” to the chips we design, we enter a realm of complex, interdisciplinary interactions that span realms like analog, digital, communications, semiconductor process, and – with increasing dominance – software.

Since the first SoCs rolled out a mere decade or so ago, the composition of design teams has shifted notably, with the percentage of cubicles occupied by software developers increasing much more rapidly than those of any of the other engineering disciplines. In most SoC projects today, software development is the critical path, and the other components of the project are merely speed bumps in the software development spiral.

With that in mind, it is essential that we start the software development phase of our project as early as possible, and then do everything we can to keep those programmers productive and happy for the entire duration of our project. Beyond the time-honored tradition of slipping pizza under the door, one of the best ways to get programmer productivity up is to provide a prototyping environment where programmers can get started early, rather than waiting for tapeout to begin the long, arduous process of swatting all the configuration-specific bugs that are bound to plague our particular SoC hardware architecture. 

FPGAs have been the go-to technology in the quest to build working prototypes suitable for software development and debug. FPGA companies have created a special category of devices specifically tailored to the needs of prototypes. Numerous companies build gigantic prototyping boards with various arrangements of FPGAs, interfaces, and nifty tricks aimed at smoothing out the arduous process of creating and bringing up an FPGA-based prototype. 

From the hardware design perspective, the FPGA-based prototype is just the last in a sequence of virtual and real prototypes we use to debug and validate our system before we go to tapeout and final production. Most teams use simulation and software-based virtual prototypes for the early-phase validation, then move on to big-iron emulation for in-depth hardware debugging, and then finally to FPGA-based prototypes for software development and debug and final validation of the hardware design. With the FPGA prototype usually coming last, the time to bring up the FPGA prototype (and therefore open the door for real software development) is a critical element in SoC project schedules.

Many companies persist in building their own FPGA prototypes from scratch. This makes sense in some situations, such as where the project is a simple evolution of a previous project for which a home-grown FPGA prototype was already built. For anything without a legacy prototype, however, building from scratch is a complicated, time-consuming design project – situated at exactly the wrong phase of the overall SoC development schedule. For that reason, many teams go with commercial prototyping boards or systems, where the hard work of board design and integration are already done, and where (presumably) other teams have shaken most of the bugs out of the platform itself. 

Even starting with a commercial prototyping board or system, however, the complexity of bringing up a prototype can be daunting. The gap between your working emulation or simulation model of your design and the one you envision purring away on your FPGA boards is huge. Often, commercial prototyping boards are just that – boards – without the software and IP support you need to get your non-FPGA design up and running on a bunch of interconnected FPGAs.

Cadence just announced what they call their “Protium” FPGA-based prototyping system – aimed at taming many of the common issues with the bring-up of FPGA-based prototypes. Cadence says the new platform targets the mobile, consumer, networking, and storage segments or, to put it another way, just about everybody who designs SoCs. Protium is based on the current biggest, baddest, prototyping-specific FPGA – the Xilinx Virtex-7 2000T. These 28nm interposer-based FPGAs pack around 2 million 4-input LUT (equivalents) into each device, so it doesn’t take too many FPGAs to create a very large prototype. The advantage of such large FPGAs is a dramatic simplification of the process of partitioning your design into FPGA-sized chunks and managing the communication and interfaces between them. Cadence says that the new platform packs 4x the capacity of their previous offering – up to a claimed capacity of 100 million gates – probably largely on the shoulders of the new, bigger FPGAs.

There are a number of V2000T platforms on the market, however, so the FPGAs alone don’t particularly distinguish Cadence’s solution. For real differentiation, we need to look at the compatibility with the rest of Cadence’s “System Development Suite.” For design teams already using Cadence’s Palladium, for example, Protium brings big value by sharing the bring-up flow with the popular Palladium emulator, which Cadence claims reduces the bring-up time by as much as 70%. Cadence says this 70% represents an improvement from “months” to “weeks” for a typical FPGA-based SoC prototype.

Typically, when bringing up a prototype, we first have to deal with importing and re-synthesizing our HDL design with the FPGA-based target. This means dealing with a completely different “FPGA-style” clocking scheme, portioning into multiple FPGAs, handling IP, morphing our memory architecture into something supported by the FPGA platform, and dealing with a range of smaller FPGA-isms that creep up. By sharing a flow with Palladium, Protium at least shares the cost and effort of overcoming most of those obstacles across two project phases. Protium automates memory compilation and external memory support, so taming the memory beast should be significantly easier. Protium also preserves the naming of your RTL objects throughout the flow, so when you do encounter a problem, the task of tracing the bug back to your RTL source should be significantly easier.

Cadence also packed a powerful clock transformation capability into Protium, separating your design from some of the ugly realities of the FPGA world. Your source design can contain an unlimited number of user clocks, so you’re not constrained to the FPGA limits. The transformation also handles traditional FPGA shortcomings like gated clocks, latches, and internal tri-states automatically. Cadence claims it will also eliminate hold-time violations that often result from transformation of clocking schemes into the FPGA domain. 

On the seams between FPGA partitions, Protium’s compiler automatically decides whether single-ended IO or LVDS will give the best performance, and it automatically generates all of the constraints and switches for FPGA place-and-route. In addition to reducing the overall effort, this should mean quite a bit less time for the team to become “expert” enough with the FPGA-specific tools to complete the job at hand. 

When it comes time to debug, Protium has a rich set of features including real-time monitoring of pre-defined signals, force/release of signals to specified values at runtime, internal memory upload and download, logic analyzer-like probes, start/stop clock, and waveform viewing that spans multiple FPGA partitions. This lets you work in your “overall design” space rather than in a “single FPGA space” as you’re debugging.

Protium promises to be one of the most turnkey prototyping solutions on the market, and it should offer compelling advantages over stand-alone commercial prototyping boards for a broad range of customers – particularly those who already use a Cadence flow for the rest of their design. As SoC design continues to grow in complexity, and as software development and debug expand to occupy more of that complexity, the value of FPGA-based prototypes will only increase. 

Leave a Reply

featured blogs
Jul 25, 2021
https://youtu.be/cwT7KL4iShY Made on "a tropical beach" Monday: Aerospace and Defense Systems Day...and DAU Tuesday: 75 Years of the Microprocessor Wednesday: CadenceLIVE Cloud Panel... [[ Click on the title to access the full blog on the Cadence Community site. ]]...
Jul 24, 2021
Many modern humans have 2% Neanderthal DNA in our genomes. The combination of these DNA snippets is like having the ghost of a Neanderthal in our midst....
Jul 23, 2021
Synopsys co-CEO Aart de Geus explains how AI has become an important chip design tool as semiconductor companies continue to innovate in the SysMoore Era. The post Entering the SysMoore Era: Synopsys Co-CEO Aart de Geus on the Need for AI-Designed Chips appeared first on Fro...
Jul 9, 2021
Do you have questions about using the Linux OS with FPGAs? Intel is holding another 'Ask an Expert' session and the topic is 'Using Linux with Intel® SoC FPGAs.' Come and ask our experts about the various Linux OS options available to use with the integrated Arm Cortex proc...

featured video

Electromagnetic Analysis for High-Speed Communication

Sponsored by Cadence Design Systems

When your team is driving the future of breakthrough technologies like autonomous driving, industrial automation, and healthcare, you need software that helps meet approaching deadlines and increasingly high-performance demands. Learn how a system analysis solution can provide accurate 3D modeling, electromagnetic simulation, and electrothermal simulation at the chip, package, PCB, and system level.

Click to learn more

featured paper

Configure the backup voltage in a reversible buck/boost regulator

Sponsored by Maxim Integrated

This application note looks at a reference circuit design using Maxim’s MAX38888, which provides a supercapacitor-based power backup in the absence of the system rail by discharging its stored charge. The backup voltage provided by the regulator from the super cap is 12.5% less than the system rail when the system rail is removed. This note explains how to maintain the backup voltage within 5% of the minimum SYS charge voltage.

Click to read more

featured chalk talk

Meet the Latest Wireless Member of the DARWIN Family

Sponsored by Mouser Electronics and Maxim Integrated

May 21, 2021 -- Your next MCU needs to be more than just smart. It needs to be power-efficient, have ample memory, and industrial-grade security. In this episode of Chalk Talk, Amelia Dalton chats with Zach Metzinger of Maxim Integrated about the latest member of the DARWIN family with a new RISC-V co-processor.

Click here for more information about Maxim Integrated MAX32655 Low-Power Wireless Microcontroller