Programmable logic is one of the fastest growing segments of the semiconductor market these days. As a result, it’s cool to sell FPGAs. Designers are flocking to FPGA technology from just about every segment of electronic system design – embracing the short design times, in-field reconfigurability, and incredible design flexibility offered by the technology.
Why, then, are there a few companies resisting the FPGA label so vigorously? QuickLogic, for example, stopped calling themselves an FPGA company several years ago, even though their products are still most certainly FPGAs in a technical sense. In fact, there are a growing number of products on the market that walk, talk, and quack like FPGAs, but they keep the label on the QT, replacing it with some other moniker that they perceive will be better received by their target market.
The Cypress PSoC family is not marketed as an FPGA family. If you looked under the hood, you’d find a lot of FPGA-like behaviors, however. Like many FPGAs these days, there is an embedded processing subsystem surrounded by some programmable fabric (but really, not FPGA fabric, OK?) The basic idea is identical to what we’ve talked about on products like Actel’s recently-announced SmartFusion line or, on a different scale, Xilinx’s upcoming new high-end family that embeds an ARM subsystem in a high-end FPGA (a product which, according to rumor, may also not be marketed as an “FPGA” even though that will be a very thin veil with a Xilinx logo screened to the top).
Cypress rolled out PSoC a couple of years ago, without much fanfare. The company calls PSoC a “true programmable embedded system-on-chip,” (but really, trust us, not an FPGA) “integrating configurable analog and digital peripheral functions, memory, and a micro controller on a single chip.”
Because of that analog part, we’d have to compare PSoC most closely with Actel SmartFusion – a device that is likely to be the biggest competition for PSoC in the marketplace. In reality, Actel doesn’t spend many cycles labeling their new product an “FPGA” either, preferring to let the device introduce itself as a new category of chip rather than letting it inherit the stereotype perceptions of the well-established FPGA label.
The most recent additions to the PSoC family are the new PSoC 3 and PSoC 5. PSoC 3 includes high-precision 20-bit analog with a single-cycle 8051 core (operating up to 67 MHz). The device has a wide voltage range and very low power operation. If you want more oomph than the venerable 8051 in your microcontroller, you might want to step up to the PSoC 5, which replaces the 8051 with a beefy 32-bit ARM Cortex-M3 (operating up to 80MHz). It is the PSoC 5 which most closely competes with Actel’s SmartFusion part, since they share the ARM MCU heritage.
The reason for steering clear of the FPGA label is relatively simple. Devices like microcontrollers are often purchased by the pure “embedded design” crowd – a group who (unlike our typical FPGA Journal reader, of course) may have a bit of a phobia concerning things like HDL-based design methodologies, synthesis, and place-and-route. To sell to those folks, you’re better off playing some soothing music, speaking in subdued tones, and hiding all that nasty programmable fabric configuration stuff in the background, behind a nice visually-appealing curtain. “No, there’s none of that synthesis-kinda’ stuff going on here. Just pick your peripherals, push the button, and you get exactly the microcontroller you want.”
In reality, that’s a lot of what you get with these new programmable embedded SoC devices. If you’ve shopped for microcontrollers, you know that the catalogs can be expansive – not because there is such a great variety in the controllers themselves, but because the companies that produce them have to do a separate chip for every possible combination and permutation of peripherals and I/O capabilities. The frustrating part, of course, is that after browsing the entire catalog of 4,300, you still haven’t found the exact combination that YOU need for your design, and you end up compromising or over-buying. That one that was almost exactly what you needed was one UART short, and to get that extra UART, you had to up the price tag a bunch to buy one with a bunch of extra stuff you didn’t need.
SoCs with programmable hardware solve all that by giving you one device that conquers all – you pick the base microcontroller and IO that you need from the very short list and then add the peripherals you want via some (preferably simple and intuitive) user interface. Those peripherals are implemented in the programmable logic (shhh – FPGA) fabric, and you get the chip you always wanted (without any of that nasty HDL or synthesis stuff).
Like any good “not-an-FPGA” vendor, Cypress offers a range of simple, low-cost development kits that do everything from teasing you with the basic capabilities of the device to fully immersing you in your real-world design. The basic kit contains a development board, a couple of engineering sample parts, a debug and evaluation device, cables, a power supply, tools, and a quick-start guide. You can open the box, plug it all in, and be off and working on your project in no time.
The acid test for any of these programmable systems is how they stand up against the $5 microcontroller. In reality, if there’s already a $5 part that meets your needs perfectly, you probably shouldn’t look at the programmables. However, for the other 97% of us, the $5 part always leaves something on the table. We are missing some function that we’ll have to add in a separate piece of silicon, or that we’ll have to leave out of our system altogether, or we have to upgrade to a more expensive device that includes stuff we don’t need – and uses more power.
With the analog capabilities built into these devices, the integration story is also compelling. You may be able to get away with fewer total chips in your system, which can make paying a bit more for the device you think of as the microcontroller a lot more palatable – particularly when you consider the knock-on costs of having more chips: larger boards, more expensive assembly, more power consumption, and more potential points of failure.
As time goes by, we see these devices getting more compelling. With each new process generation, the cost of doing a single mask set gets higher. That means that companies producing traditional microcontrollers with their immense number of combinations and permutations will have to pony up huge NRE for all the mask sets required for all those variations or build fewer devices and disable functions for the lower-cost versions. If they follow the former strategy, they’ll have to sell huge volumes to recoup their NRE investment. If they follow the latter strategy, then they’re increasing their silicon area – and they’ll be more head-to-head with companies like Cypress and Actel, who are producing programmable-hardware devices (and most certainly NOT FPGAs, of course) with the extra silicon area required, but without the benefits of programmability. In that case, the programmables should win every time.