Alpe d’Huez loomed large ahead. His team had been supporting and protecting him until now, keeping him squarely in the running for the yellow jersey. Today, however, he’d have to prove himself on his own – without the benefit of the drag-reducing veil of his teammates’ slipstream shadow. Years of training, and it all came down to this – the classic weed-out mountain stage of the tour.
The unruly crowd cheered, and the adrenaline went straight to his soul. He felt like he was flying up the hill. As the slope increased, however, his quadriceps began to burn. He felt himself begin to wilt. Other competitors breezed by with ease. His bike felt heavy and lethargic. Well, it was, actually. As his mind lost focus, he began to feel doubts – doubts about some of the equipment decisions he’d made.
Professional bicycles are expensive, you see. A custom, competitive mountain-stage bike weighing in at just under 15 pounds (6.8 Kg) costs thousands of dollars. He’d found a bargain ride at Wal-Mart for less than 10% of that price. Really, who could say “no” to a 90%+ savings? There were a few tradeoffs, of course. The steel frame (which wasn’t quite big enough for him) brought the total weight to over 32 lbs. The brake pads were dragging the rims a bit, and the crank had a noticeable wobble to it. The derailleur ground loudly, as the shifter wouldn’t quite drop completely into the lowest gear. Not so bad if your mission is to run down the street to your buddy’s house, but monumentally poor if you’re a professional.
Have you noticed that you can buy a number of FPGA development boards these days for under $100? That’s pretty compelling, isn’t it? You can save at least 90% compared with all those “overpriced” boards with the expansion slots, daughter-cards, and expensive connectors. The question is – are you a professional, or just a tourist cruising down the street to the neighbors’ BBQ?
Most of us doing FPGA design work are doing it for serious reasons. Usually, it is part of our job. We spent years in engineering school, perhaps decades building professional knowledge and experience, and now we’re applying all of that in our FPGA project. Our time and our expertise are valuable assets, and someone is willing to pay us a premium for them. Often, that premium might amount to several times the price of a cheap development board per hour. Why, then, are we so easily confused by offers that might save us half the price of lunch on one of our primary professional tools?
If we skip past this line of thinking, however, and decide that we are willing to buy the development board we actually need (instead of the one that we can take home with our pocket change), how do we choose the one that will let us get the most from our most precious resource – our own time?
First, ignore the price. Don’t buy a board because it’s cheap, and don’t assume it’s good just because it’s expensive. Consider the price of development boards to be a random function of variables you don’t understand. You’ll be close to correct. Unlike many products, development boards are not priced based on profitability or normal market dynamics. Most boards are sold at or near their manufacturing cost (or even below it) in order to “win the socket” for a semiconductor company, a distributor, an IP vendor, or an EDA tool supplier. The amount you pay for the board will have something to do with how badly those entities want to win your primary business, but it doesn’t pay to over-think that too much.
Second, think beyond your current project. This is not because you can’t afford to buy a new type of board for each new project. It’s because, like everything else in the engineering process, development boards have a learning curve. If you have a versatile development and prototyping system that you’ve used before, your ramp-up time on a new project will be much shorter than if you’re having to learn the idiosyncrasies of a new and different dev board at the beginning of each new project. Find a development board that is flexible enough to stand a reasonable chance of weathering several projects in a row and you’ll save yourself a lot of time and your project a lot of money.
Third, think beyond your own job function. Often, the development board functions as a prototyping platform as well. If you’re doing just the hardware part of an embedded system, for example, you’ll need to provide your embedded software developers with a platform that lets them test their work on real hardware. Usually, the development board is the easiest and earliest vehicle that provides that capability. If you have a dev board that requires duct tape, bailing wire, and sacrificing small animals to keep it working reliably, the chances of handing it over to a software engineer and having it work effectively are slim.
Fourth, if the board is centered around an FPGA, be sure it has a much beefier one than you actually need for your project. You can always fit your design into a smaller device or package for production, but chances are – you’ll need more gates, more I/O, and more of some other random commodity to finish your design than you think right now. If you double your estimates and buy a device to those specs – you’re more likely to be safe.
Fifth, if real estate is about location, location, and location, development boards are about connectors, connectors, and connectors. Your project will probably consist of something more than just an FPGA. You’ll need displays, keyboards, USB, Ethernet, and most likely some proprietary piece that you haven’t even designed yet. Think carefully about the connectivity of your development board – not just for the connections your design needs in production, but for all those things you might need to temporarily connect to facilitate verification and debug. Also, development board connectors are not the place to save money. You can spend incredible amounts of time and energy chasing down an elusive bug only to find that one of your dev board connectors is flaky. In production, your device may be able to get by with BOM-lowering connectors in places that are seldom swapped, but the life of a dev board is much more demanding. Invest in the good stuff.
Finally, look at form-factor. If you’re designing a portable device and you need your prototype to be somewhat portable as well, think about how well your chosen platform would fare on the road. If you work in a messy, noisy, or hostile environment, look at how well your dev board armors itself and choose appropriately. If you value aesthetics, by all means, get the cool-looking one. You’ll work happier.
One last thing to consider is that some development platforms live a double life as early production units in low-volume applications. In these cases, consider carefully whether the early-production module is actually viable as a development platform, and don’t hesitate to buy a separate development board if the compromise is large. It might look at first like a production module could meet your development needs, but digging deeper often reveals the truth – that the control and visibility required for productive development and debug are somewhat incongruous with the demands of a field-worthy production unit.
As engineers, we often forget that our most valuable resource is our time and expertise. Investing whatever is required to maximize the utilization of those resources is not only good business sense, it will contribute to our overall happiness and fulfillment in our job. In the long run, that might be worth the most.