SiFive is unveiling two open source RISC-V based platforms today called the Freedom U500 and E300 Series. SemiAccurate thinks what SiFive is doing has a good chance of changing how the silicon market works.
Updated July 11, 2016@11:11am: Stanford changed to UC Berkeley.
That brings us to SiFive, the company making two platforms and two SoCs to use with them. Since the founders of SiFive also are many of the original RISC-V team members, the same open source philosophy carries over. The company wants to democratize access to silicon. They are also a venture-backed corporation which intends to make money, something many non-open source companies decry. Just for the record, those detractors were wrong about RedHat, Ubuntu, and many others too.
Before we get into the philosophy part, lets take a look at the two platforms being introduced because they play into the philosophical discussion. On the low-end we have the Freedom E300 Series with the E standing for Everywhere. It is aimed at IoT and wearables and targeted toward microcontroller suitable applications. The E300 platform supports compressed RISC-V instructions to save storage space and is targeted towards TSMC’s 180nm process. In short is should be relatively inexpensive to spin your own E300 design should you choose to.
On the other end of the spectrum is the Freedom U500 Series, U standing for Unleashed. Aimed at TSMC’s 28nm process it should run at speeds up to 1.6GHz. As you might have figured out, it is not aimed at the IoT space, the U500 platform aims at much more complex compute tasks but not consumer oriented devices. Just yet.
To aid in this, the U500 platform runs Linux, supports coherent multicore devices, and can use accelerators too. As a platform the U500 will support PCIe3.0, USB 3.0, GigE, and DDR3/4. In short the stuff you need to make a ‘real’ compute device based around a high-end RISC-V device is there on the U500 platform.
Going back to the philosophy we start with the name of the platform, Freedom, it is a big hint. The talk of democratization is based around the idea that the platform is open and modifiable to your heart’s content, or at least until you get bored. The BSD license is very permissible, Microsoft even used code licensed with it for years for may functions in Windows. All but the most militant NIH companies should be more than comfortable with the way RISC-V is licensed.
Luckily for everyone, SiFive’s platforms are similarly open. They have promised to open up the platform specs in a similar way for things like the memory maps, interrupt controllers, and debug logic. (Note: The specs for the Freedom platforms are said to be going up on dev.sifive.com but as of this writing the page is not up. Updated July 11, 2016@11:11am: Link works now.) The idea is to give users a complete platform they can use, not just an ISA spec or a core, both of which are nice but hardly a workable environment to modify. Think of SiFive’s Freedom platforms as an open reference design for the RISC-V architecture in many ways.
So if you can take the SiFive platforms and do whatever you want with them how is SiFive going to make money as a company? Two ways starting with selling those SoCs and platforms for one, it is cheaper to buy the chips than to roll your own after all. Unless you are going to sell millions of devices it isn’t worth your time to rebuild what SiFive has done. This is the simple answer and likely where the minority of their income will be derived.
The bigger chunk comes in with the democratization and openness of the ISA and platforms and is a bit counter-intuitive. This openness allows a designer to add an accelerator or even an instruction to the CPU cores to suit their needs. If you are doing machine learning, image processing, or signal processing, there are a lot of instructions that would be awful nice to have hard-coded. For fragmentation reasons most licensed ISAs don’t allow this and for the most part, it has worked out well for them.
SiFive on the other hand is encouraging people to modify their platforms and the RISC-V cores to suit their needs and markets. If you want to add an opcode or a widget, you can do it yourself or you can get SiFive to add it for you. Since SiFive knows the ISA and platforms inside and out, guess which way will probably be quicker, cheaper, and produce better results? No cookie this time if you guessed right, sorry. In short people wanting to modify the designs could be very good business for SiFive.
That brings up the 800 pound gorilla lurking in the corner of the room, fragmentation. The reason most licensed core and design people are fairly militant about not adding instructions to certain things is to keep the platforms compatible. If you have an ARM core, the software and tools that run on it should work on any other implementation of the same cores. This is good for all users and nicely explains why the modern cell phone industry can flourish, coders don’t need to compile a new version for every chip that comes out.
So what is SiFive’s response to that issue? There are two parts to it, starting with the obvious one of the platform being open and users can fragment things if they really want to. The other part is that the software, tools, and ecosystem in general is probably a lot more complex, time-consuming, and expensive to develop than the core designs. If you step out of line a little with an added instruction, you probably don’t need to reinvent the tool chain and software stack wheel. If you do go too far, intentionally or not, you have likely destroyed the value proposition of the platform. SiFive seems to see the problem as self-limiting and would be more than happy to aid you in designing something that avoids said problems.
Will the whole RISC-V and SiFive Freedom platform philosophy work and be self-guiding, or will it fragment into a mess like the detractors claim? At this point in time there is no clear answer, there isn’t even a hint. Any solid directional information will not surface for years, plus what happens in the first round or two of attempts could very well make the next few generations reverse course based on the painful, or not, learnings of past implementors. In short who the heck knows.
So that is what SiFive is doing, starting off with the launch of the Freedom U500 and E300 Series platforms based on the RISC-V architecture. They are all open, free, and modifiable to your heart’s content, behavior that is encouraged by both the RISC-V Foundation and SiFive. Should you need professional support to accomplish your silicon dreams, the company would be happy to assist with that. If you just want to use either platform as a base for your product, they will sell you vanilla versions as well.
Either way the cost of making custom silicon could plummet with these platforms, SiFive claims the cost to start down the custom silicon path with RISC-V and Freedom should be well within the range of a modest Kickstarter campaign. If this works out like the company claims, the notion of democratizing access to silicon should be achievable. A bit further out is the looming potential for fragmentation which could derail the entire idea or make it flourish. No matter what happens, RISC-V and SiFive are ones to watch, closely.S|A