In the good old days, there were FPGA kits galore. There was almost a carnival atmosphere. Every vendor with anything novel to sell would design their own FPGA board to go with it. Folks would stroll down the boardwalk, picking up all manner strange kits from street vendors. This one was in between the snake oil and liniment. That one was between two wind-up monkey toys. There were as many varieties of FPGA boards as there were Silicon Valley electronics sharks, and most of them were about as reliable.
OK, maybe it wasn’t quite that bad.
However, Xilinx saw the proliferation of this massive variety of boards with their chips as both a blessing and a curse. On the good side, literally hundreds of companies saw fit to design specialized dev boards using their devices. On the bad side, all of those third parties were re-inventing the wheel as far as the core dev board capabilities, and many of them did a less than perfect job of it. Furthermore, every time Xilinx rolled out a new generation of FPGAs (which happened about once every two years), all of these third party boards had to be re-designed.
A few years ago, a bright idea popped up. What if Xilinx made a standard base board for each device and used a robust connector and specification that would let third parties (and Xilinx themselves, for that matter) develop add-on modules for each special-case use? Then, a much smaller number of core FPGA boards would be required, and everyone could benefit from the engineering economy-of-scale gained by using that small set of core boards.
The connection standard Xilinx used is the FPGA Mezzanine Card (FMC) as specified by Vita 57 (from 2008). While this sounds cool and all “industry-standard”-ish, the practical truth is that we have two FPGA vendors dominating the market, and each backed a different mezzanine card standard. Thanks Xilinx and Altera! Now everybody gets to do the work at least twice to support the broad range of FPGAs. Altera developed the HSMC standard based on a Samtec mechanical connector, and Xilinx went with FMC through the veil of the Vita standards organization.
The revolution did not happen overnight. When Xilinx rolled out the first wave of modular boards, what many of the third-party companies saw was a new, expensive connector and a proprietary standard. Many went right on developing their own custom boards from the ground up. Xilinx drank their own Kool-Aid, of course, and, instead of producing a plethora of internal kits, they designed a small number of base boards and lots of mezzanine cards. At the time, this may have made things a bit cheaper and easier for Xilinx, but the benefit didn’t really flow downhill to customers that much.
So when is the payoff?
The payoff is now, it turns out. With the 28nm “7 Series” FPGAs in mid-rollout, Xilinx and partners will be able to deliver a shocking number of development boards and kits across a wide range of application domains in a very short timeframe. The multi-fold benefits of the modular strategy are now coming to fruit. Third parties that had developed add-on FMC modules to work with Xilinx’s 6 series boards can easily migrate those up to work with the new 7 Series base boards. In the old days, all those vendors would have needed to design new boards for the new series of FPGAs. Xilinx themselves can take advantage of their existing lineup of add-on modules, reference designs, and IP as well. All the development time freed up by not re-designing all those specialty boards can be used to broaden the line into more application niches and to shore up support in the kits that already exist.
Xilinx describes the “Targeted Design Platform” strategy as a pyramid. The bottom level contains the “base” kits for each FPGA family, along with the common tool suite and a collection of IP that spans all application areas. One step up is what the company calls the “Domain-Specific” level – which adds FMC daughter cards, domain-specific tools and IP, and domain-specific reference designs. Examples of “domains” are “embedded,” “DSP,” and “Connectivity.” With the rollout of the 7 Series, the company has added “analog” and “video” kits to this level. The “analog” offering comes because a new AMS (analog, mixed-signal) board was added to all base kits. The company found that nearly every application domain had some need for analog capabilities, and it made the most sense to build a common capability that would span the whole family of kits.
Moving one more level up the pyramid, we get to the “Market-Specific” level. This builds on the “Domain-Specific” offerings with boards, cards, IP, tools, and reference designs that target very specific applications areas like “video,” “broadcast,” and “communication.”
The idea of all this, of course, is to enable us to get more quickly to the fun part of design – where we differentiate our product from the rest. In many cases, 80% or more of our design time can be spent working on basic functionality common to all products in our area. If development kits can get us past that first big chunk of design work, we can get a product out the door faster. If, for example, we can take a video kit out of the box, hook up some gear, and see an image from a camera displayed on a screen running through our FPGA, we can jump right into those fancy intelligent video analytics we were planning.
There are some other benefits hiding behind the scenes here. By putting all the engineering for the base board into a core, shared design, there are far fewer shady design practices likely to bite you in whatever development system you choose. If you’re using a standard common base board, you’re not likely to encounter some weird one-off bug that is peculiar to some particular distributor’s kit. Also, sharing a common board across many application areas reduces the number of cables, power supplies, and other flotsam that you have floating around the lab bench. Once you learn the ins and outs of one development system, that knowledge will be more likely to apply to your next project as well.
Xilinx says that to date there are over 100 FMC cards being delivered by over 30 partners. Of these, more than 50 cards from over 20 partners are already qualified on the new 7 series FPGAs. The Virtex-7 and Kintex-7 base kits being announced this week, plus the DSP kit with high-speed analog are the first of about forty kits expected to be delivered in short order with the continued rollout of the 28nm 7 Series FPGAs.
4 thoughts on “The Importance of Being Modular”
Do you have experience with kits that use FMC and/or HSMC cards?
Since you expressed some skepticism, I want to clarify that FMC is indeed an open industry-standard interface. It was developed under the auspices of VITA by a variety of companies, including Xilinx, and is an approved ANSI standard. I think the sheer number (and variety) of companies that have chosen to adopt FMC for their products is a testament to the power of open standards.
I appreciate the amount of effort required to get something adopted as a real, live open standard, and I agree that Xilinx was successful in getting FMC to be one.
However, from my perspective, the industry missed an opportunity for both of the major FPGA companies to agree to support the same standard, whether officially open or proprietary. The ecosystem of third-party board developers world would be made much easier, and there would be a richer, more robust, and more diverse offering of FPGA-related add-on boards and modules, and I think all three interested parties – FPGA vendors, third-party module developers, and end users would have benefited.
Now, we see forums with user posts like “Can anybody tell me how to bridge from FMC to HSMC?” Apparently the add-on they want to use is one, and the FPGA vendor is the other.
Of course, that could create a market for a whole new category of third-party board bridging the 2 standards. However, I don’t think the franken-board with a base board, an HSMC-to-FMC adapter card, and a daughter card would be very lab-bench friendly. “Now I need to connect this cable to – oh, crap, I just unplugged the FMC adapter card plug AGAIN, now I need to re-start…”
Fair enough. For what it’s worth, there was an open invitation to multiple FPGA companies including some active recruitment efforts.
You know what they say – you can bring the horse to the water … 😉