Help Build the World's First Community-Funded CPU ASIC
An anonymous reader writes "The 32-bit OpenRISC CPU has been available for many FPGAs and was turned into a commercial ASIC in 2003. Now, the OpenCores community is asking for donations to create a new ASIC with the OpenRISC CPU, ethernet, PCI, UART, USB and other peripherals. The goal is to be able to sell these ASICs at a low price to anyone who wants to build a cheap embedded system built completely on open source. The OpenRISC currently runs on Linux 2.6.37 and has ports of gcc 4.5.1 among other things."
This is a milestone in open source history. No more complaining about undocumented behaviour that causes drivers to crash. It's just to download the RTL code and see for yourself what is going on. If this catches on, the chances of building truly open systems greatly improves. Go OpenCores!
http://www.opensparc.net/
Pretty sure Linux runs on a CPU, rather than the other way around.
Unless the CPU is emulated. Then it might run on Linux.
The Tao of math: The numbers you can count are not the real numbers.
GNU electric is used to design ASICs. You need a good set of standard cells and a synthesis tool. Then you write the logic in VHDL or verilog.
I applaud the effort, and I hope it succeeds. The community ought to have its own hardware.
But I hope the prices are a little less than those of OpenMoko and friends (BeagleBoard, FreeRunner, etc.) have been.
I'm not a lawyer, but I play one on the Internet. Blog
You don't understand. Chip fabricators will fabricate custom designed chips. Many companies have this done. Apple used to do it until they brought it in-house, and they still do for many components. If the design is actually completed and manufacturable, the only limit on price is the quantity of the order. This project can actually do what it intends.
No one has chip fabs in their basement. So someone will have to pay big money to make the masks and tape-out and test the hardware.
This is why opencores is asking for donations
Unless some major vendor picks up the design and mass produces it lots of 100s of thousands, the price per CPU is going to be stupidly more expensive than an off-the-shelf CPU/motherboard or embedded system.
Not necessarily. Of course, the more chips that are produced, the cheaper they get, but this is also a non-profit effort, so if you are looking to buy low quantities, it might be cheaper than commercial offerings
I think you're talking about MOSIS.
http://www.mosis.com/
Visit the
This is a nice idea, but there are a few serious problems with it:
1. If this doesn't catch on and people want it to continue, this could be a significant ongoing cost for running this project above and beyond allocating what people might think are one-time NRE charges. None of this appears to be detailed enough on that site so I'm not sure how far they've thought through this. Who are the target vendors, and have they tendered bids? Costs vary greatly, and I'm not at all ready to throw money when there appears not to be an "open source" plan with sufficient detail to make this real, nor with open listing of the credentials of the individuals involved. If you're gathering up to $250k for a project and you want my money, I had damned well better know that you're able to execute and that you have a real plan and definitely not just an FAQ.
2. How did they define the product? Is it based on market needs? If so, what markets and where is the information on said markets? If it's for hobbyists, I get that, but did anyone do even a rudimentary survey to say how many timers or UARTs might be necessary, whether they should embed an MMU so you can run a more advanced OS, or what the max CPU clock speed should be? If *I* am going to put my money in it, then why not ask *me* what I want? And yeah, I know I can contribute, but how have all of those contributions been managed, organized and synthesized into what is being built AND make it sufficiently relevant for enough time that this would be worth doing before technology moves on? I don't see a single place for that around their site.
3. Frankly, why bother when there are many other vendors such as Microchip who offer 32-bit micros with fully-documented architectures and better capabilities that you can run Linux on? I know, I know, this is what open source is about, but we're not just talking about someone's spare time on a machine they do other things with; this is a real product with real implications. I seriously don't buy how they're going to change the industry since the successful players in the industry guarantee supply to their customers.
I know I'm going to get flamed and down-voted for this post, but the open source hardware world is much tougher than the software world, and ASIC designs are steadily dropping because ASSPs are taking their place. I think people's efforts need to be focused on software, and this is coming from a guy who's been on Slashdot more than a decade with a hardware background (and hence my name) and has switched to the software and systems world...
Then use a FPGA and program it yourself.
---- Booth was a patriot ----
Speaking of grassroots chip design, what is happening with HDCaml these days? I thought the idea was pretty neat when I first heard of it (a hardware design language that is nicer to work with than VHDL and Verilog!), but is anybody actually working with or on it? Or any other improvements on the established languages?
Please correct me if I got my facts wrong.
But looking at the code and create workarounds that you know are working is a big step from guessing. Also, it theoretically enables you to optimize things, when you can monitor every register and clock cycle. Don't think that is very usable in reality though, but who knows. You don't need to donate $25 by the way. One dollar is fine
The key word is prototype. Once you have chosen the prototype, you can go to production with it. That's what this project is about. They are trying to find enough people who want this prototype that has been in FPGAs for a long time to go to larger-scale production with a higher speed chip as a result. Keep using FPGAs to figure out the core you want (or to play with as many as you want), but if you decide to put it into a mass-market item, an ASIC is probably the way to go.
I work for a company that produces outsourcing for ASIC supply chain. Assuming a 130nm process, we are talking about $750K for masks and the like and $250k for Non-recurring engineering. Manufacturing run requirements would be a half lot at 8 inch- 12 wafers at probably 100-150 units per wafer MINIMUM.So expect a production run of at least a thousand.
I don't think this project can be done on commercial terms.
Yes, it might be expensive to manufacture small quantities, but availability is the key here. The space industry has learned it's lesson, and that's why they are interested in open source CPUs like LEON and OpenRISC
While poking around a couple of weeks ago, I found a couple of HDL sources for MIPS R3000 cores. Would these run into licensing issues? They could be adapted to something similar, or perhaps other uses with the addition of on chip I/O and perhaps a vector unit, IMHO.
Yes you can monitor every clock cycle. In a simulator, that is. Also, I'm well aware that most vendors ship good documentation, and of course, opencores can probably not afford to ship replacement chips if a bug is found after the chips have been manufactured. However, it's a known fact that we have problems with undocumented hardware on Linux. Being able to fully analyze not just the CPU, but also ethernet, PCI, USB and other peripherals should be a welcome addition for all those that are writing drivers or debugging a strange hardware behaviour. I have no comments on your last two sentences
No, you don't understand.
From the GP:
No one has chip fabs in their basement. So someone will have to pay big money to make the masks and tape-out and test the hardware. Unless some major vendor picks up the design and mass produces it lots of 100s of thousands, the price per CPU is going to be stupidly more expensive than an off-the-shelf CPU/motherboard or embedded system. And, even then, you are probably buying an overpriced, underpowered CPU just because it is "free."
Repeat this until reality sinks in. He's not saying that chip fabricators won't fabricate custom chips. He's saying that the cost of getting them to do so is prohibitive. If your order volume is small, the fixed costs will eat you alive.
As for the project doing what it intends... the mission statement on the beg-for-donations page linked up above is full of monumentally dumb claims about how this is could revolutionize the industry and make the multinational giants quake in their boots. Yeah, right. The "multinational giants" and even the smaller players are busy working on chips which have reasonable technical specs for 2011 and beyond. These guys are making a trailing-edge toy which will have little appeal outside the niche of "people who must have everything in their computing lives approved by RMS".
Allow me to support that assertion. I've looked at the "detailed" technical plan, which is anything but detailed. There is a block level view of what's going in, which is mostly off-the-shelf OpenCores cores, but there are no detailed plans about how this is going to be translated into an actual ASIC design. There are only plans for making a FPGA based development platform.
Don't get me wrong, a FPGA platform is a good thing to do. A project like this won't have the resources to do very much design validation through simulation (which requires lots of people writing tests and running sims, i.e. real money), so FPGA based prototyping and validation is even more important than it is for conventional "closed source" ASIC projects. However, there is no plan given for how they're going to take their working FPGA design and turn it into an ASIC design. There isn't even any mention of which fab vendors and processes they're thinking of targeting. (and yes, these things matter immensely when you're making a chip.)
It's somewhat revealing that they're using a single small Altera Cyclone IV FPGA (under $60 qty 1 through Digikey). If you don't understand the significance, this means their design is tiny and trivial and low tech by current standards. The big boys they're planning to make quake in their boots need multiple ~$5K to $10K ea. FPGAs (big ones with well over 10x the resources of the FPGA the opencores guys are using) to fit all the logic in their upcoming System-on-Chip ASIC designs.
I suspect that if fully laid out their plan is something like "Build the FPGA version, and surely the ASIC guys will come knocking on our door with money to translate our awesome design into a chip!" But this will never happen, because their FPGA design is years behind the state of the art. They're competing against hordes of low cost chips which already do the same things and have already paid back their cost of development.
Unfortunately, this project doesn't look to be completed or manufacturable. In fact, it looks like all they have is some HDL. Do they know what process technology they're going to use? Have they done any layout work? Did they do so with manufacturability in mind? Have they given thought to test modes? Do they have anyone to develop a test program?
Making a chip is hard. Even if you have all the IP, you're still looking at hundreds of thousands of dollars to develop a thorough test program and work out all the chip's kinks. Sure, you can just hand over the mask set to a foundry and buy the wafers, but then you have thousands of chips and no way of knowing which ones work, or how well.
Being able to fully analyze not just the CPU, but also ethernet, PCI, USB and other peripherals should be a welcome addition for all those that are writing drivers or debugging a strange hardware behaviour.
I did my share of that in FPGAs (Xilinx EDK) and I don't want to even hear about it. You buy a COTS MCU, solder it, and it works. You have reference designs that work, and they are done by the vendor.
What you are talking about is a completely new can of fresh worms. Making a working ASIC is hard; if you want as few bugs as possible then it's even harder. A buggy ASIC with an open-source RTL is a disaster. Yes, you can simulate it if you are crazy enough, but it takes lots of effort, and you can't simulate an odd timing error that occurs only now and then. ModelSim is not that fast, and you need to write lots of testbenches. In the end you will invest a lot of time into this debugging, and nobody knows if you can actually find a workaround. Your competitor, who picked a closed source MCU, would be already selling his product while you are busy explaining to the management why exactly your pick of the MCU was not so good.
In other words, there is no practical reason to select this chip over any other - unless you fear that on some unfortunate date all supplies of commercial MCUs stop. This is not possible, too much in this world depends on little 8-, 16- and 32-bit embedded systems, and you can always build your own computer out of them and run Linux on it. Your freedom of computing will be preserved, unless some laws make that, like owning a debugger, a crime.
This is stupid.
Troll much?
This is Stallmanism as its worst--"freedom" for freedom's sake without regard to functionality or practicality
All I will say about this is it is rather shocking to hear this statement being cast in a negative light.
I couldn't agree more. Additionally, Chip makers like Intel adding encryption capabilities to to their chips is offensive at best. Everyone knows that if an attacker has physical access, all bets are off -- even with encrypted chips... The only thing this does is prevent the end users from being able to tell what their CPU is doing.
In no other industry do people purchase items that they can not be sure of their contents and function: Food has ingredient lists, cars have opening hoods, clothing lists fabric types, etc. Currently even closed source software plainly lists its machine instructions. This may not always be the case once CPUs have public key cryptography embedded....
I think we need projects like these now more than ever, you can invoke "freedom" and "RMS" to imply over zealous freedom advocacy, yet I can point to current customer privacy concerns, government corruption, and major corporations with bad business practices such as "cutting off a competitor's air supply", "overselling services", and generally abusive behavior towards their own customers (lawsuits, etc).
Clearly some people do value their freedoms more than other's.