Traditionally, designers have used PLDs as interface logic in applications too low-volume to justify an ASIC design. Or, more recently, they've used PLDs in situations where either the design requirements or the implementation were uncertain, and there was a good chance of having to tear up some logic and rebuild. Setting aside the networking boom sparked by the great dot-com bubble-which caused some pretty weird consumption of PLDs for time-to-market reasons-those two uses have remained dominant.
But with the most recent generation of big PLDs another, rather paradoxical reason for using the big, hot expensive dice is emerging. File this one under felicitous unintended consequences.
The motivation behind this new trend came from the previously mentioned networking bubble. Network equipment makers play with all sorts of high-speed interfaces and sprinkle fast RAM structures everywhere in their attempts to exorcise the bottleneck demon. They also tend to back themselves into corners from which only significant DSP horsepower can spring them. When PLD vendors saw the network equipment companies as the pot of gold at the end of the rainbow, they fell all over themselves to include lots of high-speed, low-swing interfaces, highly flexible fast RAM and even chunks of hardwired DSP hardware on their programmable parts. In several well-publicized products they even tossed in, with varying degrees of forethought, a CPU core.
All this didn't help much in the networking market, the pupils of which had become nonresponsive before the new PLDs could make much of an impression on design teams. But all these new features did have an unintended consequence. For most of the rest of the design world, just trying to do some sort of challenging embedded system in as few chips as possible, the new PLDs became what the standard-products industry has been trying to achieve for years: a platform.
If you need one or two high-speed interfaces with associated serdes logic, several instances of specialized fast RAM and maybe some DSP pipelines, one of those big expensive PLDs may be the most cost-effective way to buy them all. You get your interfaces, your buffer memories and the key elements of your data path. Oh, and by the way, you get a lot of programmable logic-and maybe a CPU-thrown in for nearly free. It can change the economics of small-system design quite dramatically. In a nice irony, the interface logic has eaten both the data paths and the control plane.