“Pssst! Hey, buddy… wanna download some wild new soft core—for free?”
If you’re tempted by that offer, Altera has got a deal for you. The company that brought you HardCopy FPGAs hasn’t forgotten its softer side. There’s a market for soft-core IP, too, and not just as a gateway for the hard stuff. Some people actually prefer it. And for them, we present the MP32.
The MP32 is Altera’s new 32-bit, MIPS-compatible microprocessor specially designed to run inside standard Altera FPGAs. It’s a soft-core implementation, meaning it uses the normal FPGA fabric rather than being embedded, or diffused, inside a special chip. That means you can download MP32 into your existing Altera FPGAs, try it out, and erase it if you don’t like it.
There have been MIPS processors inside FPGAs before, but this is the first one that Altera has officially blessed. MIPS Technologies is behind it, too, so this is not some shady, renegade, reverse-engineered core. It’s the real stuff. It’s fully compatible with the MIPS instruction set and runs all the relevant MIPS software. It just happens to live inside run-of-the-mill FPGA chips.
For reasons that aren’t entirely clear to me, all the engineering work behind the MP32 soft processor was done by an 80-person Indian company called SLS. SLS owns the MP32 design, and it’s actually SLS, not Altera or MIPS, that offers it for sale. Altera is happy to talk about the MP32 and to explain why you should own several, but when it’s time to write the check, you’ll make it out to SLS. The one-time license fee (the magnitude of which the companies aren’t disclosing) entitles you to unlimited use of the MP32 in as many chips as you like, over as many projects as you like. It’s basically a lifetime license, and there are no royalties. (Good thing, because it’s impossible to collect royalties on soft-core IP, anyway—how would they know?)
With SLS providing the engineering talent, Altera and MIPS made sure the MP32 processor worked just like the real thing. The CPU core is equivalent to a MIPS 4Kec, a low-end 32-bit processor with an MMU. Even though it’s at the bottom of MIPS’s product range, the 4Kec (in its MP32 guise) is a competent processor, capable of running VxWorks, Linux, and other real operating systems.
It’s All About the Software
As interesting as the processor itself may be, the real payoff for Altera users is the software-development ecosystem that comes with it. Up until now, Altera’s primary soft-CPU option was Nios. Now, I’m sure Nios’s mother loves it and everything, but it’s hardly the world’s most popular microprocessor architecture, so it doesn’t rank at the top in terms of third-party software support. Like any party, third-party success depends on the right mix of people. Popularity begets more popularity, and the “in crowd” gains more status and esteem (and software support) as their success snowballs. Nios gets love and attention from Altera, but third-party software developers have largely ignored it.
That all changes with MIPS. With MIPS in its posse, Altera can lay claim to world-class software support and all the options, alternatives, and opportunities that that represents. Existing MIPS programmers can keep their favorite tools, while MIPS newbies can wallow in the wealth of choices.
It also means Altera FPGAs can now run big-boy operating systems that require an MMU. And since MP32 is pretty small and doesn’t require any specialized FPGA fabric, almost any Altera FPGA falls into that category. Even existing chips already soldered down or in the field could potentially host an MP32. It’s an interesting upgrade path for developers so inclined.
The MP32 adds a fourth arrow to Altera’s microprocessor quiver. Between Nios, MIPS, ARM’s Cortex-M1, and the ColdFire soft-CPU cores, the company certainly isn’t playing favorites. Altera’s tie-up with Intel and the Atom E600c chip even gives the company a fifth CPU option (sort of). After the company’s ill-fated experiment with embedding hard CPUs into its FPGAs, Altera has evidently decided that choice is good. Let the customer use whatever processor they want, just so long as it’s inside an Altera FPGA. Good thinking.
In part, all these soft CPUs are enabled by Altera’s newish 40nm silicon process technology. With gates that small, the devices are capacious enough to accommodate an entire 32-bit processor, something you couldn’t really do before. You’ve also got to be willing to tweak the microprocessor’s internal microarchitecture, which SLS did on Altera’s behalf. Nios was designed at the outset to be FPGA-compatible, but the other three (ARM, MIPS, and ColdFire) needed some adjustment. Atom isn’t really FPGA-based at all, it just cohabitates with an Altera chip.
So now there’s no excuse for not putting a decent CPU inside your FPGA. Altera has covered all the mainstream architectures: ARM, MIPS, x86 (sort of), 68K/ColdFire and its own house brand, Nios. Except for PowerPC, all the big names are here. So unless you’ve got really kinky tastes, Altera has your soft-core desires covered. Download and enjoy.