Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

Open Source CPUs Coming To a Club Near You?

timothy posted more than 3 years ago | from the more-the-better dept.

Graphics 54

lekernel writes "The Milkymist project (also mentioned earlier this year) have started shipping their so-called 'video synthesizer,' a device used by concert and other event organizers to create live visual effects. Most interestingly, the device is based on their fully open source system-on-chip design, including both a CPU and graphics accelerators — the latter being a significant part of what the Open Graphics project is still struggling with."

Sorry! There are no comments related to the filter you selected.

Finally, some serious nerd on this thing. (4, Insightful)

blair1q (305137) | more than 3 years ago | (#37782118)

I was beginning to worry that politics and journalism and business were all there was to /.

Here let me fix that for you. (1)

LWATCDR (28044) | more than 3 years ago | (#37782560)

I was beginning to worry that politics and yellow journalism and business were all there was to /.

Re:Finally, some serious nerd on this thing. (1, Funny)

Ironchew (1069966) | more than 3 years ago | (#37782606)

I was beginning to worry that politics and journalism and business were all there was to /.

Don't worry, the Slashdot editors have had a journalism-free approach to summaries for a long time.

Mist/vapor (3, Funny)

Anonymous Coward | more than 3 years ago | (#37782202)

Mist and vapor. Similar properties.

Re:Mist/vapor (0)

Anonymous Coward | more than 3 years ago | (#37787328)

shipping and vapor. diffwrent properties.

woot (1)

Anonymous Coward | more than 3 years ago | (#37782320)

And all 5 people that care about this project will be thrilled.

I'm a bit ignorant on this subject I guess (2)

Synerg1y (2169962) | more than 3 years ago | (#37782356)

What exactly makes the design open source? Are they talking about open sourcing the drivers? Cause as with the omega project, there's just a long line of developers lining around the corner to do assembly level programming to reinvent the wheel to make it smaller (sarcasm to the max, nobody wants to work on this shit).

Also seems they have a profit model going here, open source here means, we'll take all your code and then close the source once we have enough and are making enough $.

Re:I'm a bit ignorant on this subject I guess (3, Informative)

Mr Z (6791) | more than 3 years ago | (#37783556)

I take it you've never built hardware at the "design circuit boards and get them assembled" level. It's capital intensive. For my simple projects, the difference in cost per board was about 5-10x between a run of 5 and a run of 500. Of course they're selling these, because if they sell enough, they're cheaper for everyone. If everyone had to build one from scratch, nobody would, because they'd cost about $1000 more. Looks like it's a 6 layer board. I don't think that's something you can etch in your bathroom sink with a copper clad board from your local Fry's.

And they're truly open source. It's all GPLv3 or CC BY-SA 3.0. They provide the VHDL, the board design files (and the resulting Gerbers), everything. And according to their FAQ [milkymist.org] , they're even working on a free toolchain to compile the FPGA code.

Re:I'm a bit ignorant on this subject I guess (1)

unixisc (2429386) | more than 3 years ago | (#37788716)

Normally, hardware designs exist as HDL code (such as VHDL or Verilog) and that code is then run through a simulator, and after all the verification is done at software level, it's sent to be built. While they can still be done w/o using HDLs, the fact of the matter is that almost all the logic circuitry that one would need could easily be coded into FPGAs or other programmable logic from the Alteras and the Xilinxs of the world, and then the hardware design of any prototype would then be there for any manufacturer who is interested.

So open source hardware simply means that the code that defines what 1. Composes the hardware and 2. Makes it work is available in the same manner that software source code is, under whatever license - GPL3, BSD, MIT or whatever. That way, a hardware designer can take it, make whatever changes s/he wants to it, and then get either a fab or a CEM to assemble it, as per the specifications. If a company were to do it using this, the advantage that they would readily gain would be time-to-market.

I believe that OpenSparc is already open, as is POWER, although I'm not familiar w/ the licenses. I understand that MIPS is open as well.

Re:I'm a bit ignorant on this subject I guess (1)

lekernel (1279600) | more than 3 years ago | (#37788876)

Since we do not have a copyright transfer and most of the code is GPLv3 licensed, no one in this project has the right (nor the intention AFAIK) to close all the source.

Re:I'm a bit ignorant on this subject I guess (1)

WorBlux (1751716) | more than 3 years ago | (#37790306)

VHDL description files of the hardware, so you can mask it to an ASIC or "compile" it on any sufficiently large FPGA. IF I remember correctly these make use of an FPGA as the SOC.

FPGA (3, Informative)

Ironchew (1069966) | more than 3 years ago | (#37782380)

The technical overview [milkymist.org] says the system-on-a-chip is implemented with FPGAs, and the open-source component is the Verilog HDL code.

Re:FPGA (2)

hedwards (940851) | more than 3 years ago | (#37782478)

OK, I was wondering what problem this would solve that couldn't be more economically solved via FPGA. FPGAs have their issues, but unless you're intending to do a fairly substantial run of chips, I can't imagine it being practical without using FPGA chips.

Re:FPGA (1)

citizenr (871508) | more than 3 years ago | (#37782808)

The technical overview [milkymist.org] says the system-on-a-chip is implemented with FPGAs, and the open-source component is the Verilog HDL code.

Verilog HDL code supplied by FPGA vendor

Re:FPGA (1)

lekernel (1279600) | more than 3 years ago | (#37784370)

No. The Verilog code is there: https://github.com/milkymist/milkymist [github.com]

Re:FPGA (1)

citizenr (871508) | more than 3 years ago | (#37784692)

No. The Verilog code is there: https://github.com/milkymist/milkymist [github.com]

cpu core is from fpga vendor, summary sounded like they wrote it from scratch

Re:FPGA (1)

unixisc (2429386) | more than 3 years ago | (#37788750)

It can still be open, depending on the terms and license of the agreement. That's what I thought - they'd probably have needed to use an FPGA to program what they need, and make the end product look like a CPU. If a manufacturer picks it up and is very successful w/ it, they can then use that to fab out a CPU from scratch - particularly to achieve cost reductions.

Re:FPGA (1)

Gordonjcp (186804) | more than 3 years ago | (#37783792)

So how do you compile that and get it into an FPGA without closed-source tools?

Re:FPGA (1)

TeknoHog (164938) | more than 3 years ago | (#37784482)

OK, so the entire process is not open source, but I think it is overall more open than stock CPUs. Besides, I find it much more geek-worthy to design my own circuits, rather than merely giving instructions to some other guy's circuit for which I don't even have schematics.

By the way, there are open source tools for some stages of FPGA work, at least synthesis and programming. I use UrJTAG all the time to program my chips on ARM and PPC, even if the bitfile must be built on x86 with closed tools.

Re:FPGA (1)

Arlet (29997) | more than 3 years ago | (#37788052)

OK, so the entire process is not open source, but I think it is overall more open than stock CPUs

I think stock CPUs are just as (or more) open, but they operate at a different level. The FPGA itself is usually not specified in such detail as the CPU. For instance, the bitfile format is proprietary and undocumented, as well as the exact properties of the FPGA fabric. You still need to buy the actual FPGAs from the vendor, and there's not a lot of choice between them, and then you need to get the synthesis tools from the same vendor.

With CPUs, you're limited to what the vendor put in the package, but that's usually pretty well documented, so you can generate your own binary files that will run on it, with your own tools. GCC supports many of those embedded CPUs.

The only difference is that FPGAs offer the flexibility to change stuff at a lower level, which can be fun and useful. On the other hand, CPUs are often easier to work with, faster, and offer integrated features that aren't available in the FPGA.

But still, no one gives a shit (0, Insightful)

Anonymous Coward | more than 3 years ago | (#37782404)

Really. No one cares. Maybe one guy will look at it and attempt to modify something. It's cute but that's pretty much it.

Re:But still, no one gives a shit (1)

lekernel (1279600) | more than 3 years ago | (#37784524)

Maybe you do not care, but in about two months, components of the Milkymist SoC are flying into space - and this means more to the project and to open hardware in general than your negative comment.

There is something there though... (1)

rickb928 (945187) | more than 3 years ago | (#37782928)

When someone decided there was a potential market for generic CPUs and SOC, something the size of an IC socket, the chip was built, etc, and Arduino is a marginally sustaining product.

If someone similarly decides that there is a market for a 'specialized' FPGA ( know, stupid), then it might get built, and expandign current FPGAs with some more specialized elements might result in a user-definable CPU that is actually useful.

The difference is that trying to design a new CPU today is assumed to require not just a design environment and tools, but then you get to actually fabricate the little things. So in the absence of a open-source design, lithography, fab, etc, you have no way to make very much at all. But if you had an FPGA with some clever elements added, maybe it becomes more practical.

How to do all this I dunno, but it sure sounds like fun. Which is probably why it isn't possible at all. That and the money.

Re:There is something there though... (0)

Anonymous Coward | more than 3 years ago | (#37784374)

What sort of specialized or clever elements do you think FPGAs need to have to be able to make 'useful' CPUs?

Re:There is something there though... (1)

rickb928 (945187) | more than 3 years ago | (#37784712)

A dedicated ALU, for one.

Re:There is something there though... (1)

Anonymous Coward | more than 3 years ago | (#37785546)

A dedicated ALU? Clearly, you have not bothered to study FPGAs before forming an opinion about them. For example, even the cheapest and smallest Xilinx Spartan-6 FPGA has eight DSPA1 slices. Each slice is a 18bit x 18bit multiplier with a 48-bit accumulator. Eight DSPA1 slices have more than enough resources to implement a general purpose 32-bit ALU, and if you go up one FPGA size (~$16 qty 1 instead of ~$10 qty1) you get 16 DSPA1 blocks instead of 8.

Xilinx FPGAs also have fast carry chain logic in every general purpose logic block, so you can easily implement tons of plain adders.

I don't know as much about Altera FPGAs but I'm quite sure they have similar features.

If someone similarly decides that there is a market for a 'specialized' FPGA ( know, stupid), then it might get built, and expandign current FPGAs with some more specialized elements might result in a user-definable CPU that is actually useful.

"Actually useful"? It's like you're in a time-warp from 1995. Use of soft (user-definable) CPU cores in FPGAs is not only possible, it's commonplace. The designs run the gamut from simplified cores running custom instruction sets which, by being very tightly designed around FPGA architectures, can achieve relatively high clock rates (such cores are commonly offered by FPGA vendors, with SDKs so you don't have to roll your own compiler), to implementations of major instruction set architectures well supported by OSS toolchains (ie GCC). Just to give one easily googled example, there's an open source synthesizable SPARC core (LEON) which has been used in many FPGA designs.

FPGA vendors also sell FPGA variants with embedded "hard" CPU cores. For example, Xilinx sells 65nm generation FPGAs with embedded PowerPCs, and they're in the process of switching to ARM in their 28nm generation.

Re:There is something there though... (1)

rickb928 (945187) | more than 3 years ago | (#37785954)

Then this whole thread is a waste of time. e.

Re:There is something there though... (2)

unixisc (2429386) | more than 3 years ago | (#37788776)

With all the die shrinks, FPGAs today have enough gates - which ultimately are the building blocks of all combinational and sequential logic - to make CPUs. Yeah, there may not be enough gates in them to make the latest and greatest Opterons, or Xeons, or POWER7s, or UltraSparc T4s. But there are enough in them to make generic CPUs of any architecture. If one wants an open CPU whose design one can later tweak for whatever their needs, this is a good way to do it. Once a design is frozen, and the volumes are there, one can make a real CPU instead of just simulating one on an FPGA

Too long ? (1)

unity100 (970058) | more than 3 years ago | (#37783044)

Why did it take that long for viable open source future cpu candidates to come up ?

Re:Too long ? (0)

Anonymous Coward | more than 3 years ago | (#37785344)

What do you mean by "viable" and "future"?

The CPU in Milkymist is the Lattice Mico 32 which is, arguably, not even a very good example of an open source CPU (look at the LEON or OpenRISC processors for other 32-bit CPUs released under proper GNU licenses, not some bespoke license that Lattice released the Mico 32 under) iand is hardly the special or worthwhile part of this project.

The project is a great example of open source system-on-chip design with a neat application - not enough of this happens! The hardware industry (FPGA, ASIC designers) are still allergic to the idea of open source, so we still see very little of the development that occurs in universities, or in public, take hold in industry and thus grow due to commercial involvement. The base, of hardware designers, to begin with is very small compared to that of the open source software world, so it's disadvantaged in that way, too.

The consensus is that open source HW (FPGA/ASIC) is currently in the state that open source software was in the 1980s - it exists but has hardly reached its potential (considering how much HW designers harp on about design-reuse etc.) and is hardly making a big impact. I think projects like Milkymist raise awareness and show that quality projects are being pursued and succeeding despite the impedances.

CPU implementations, in this case, are far from what they could be. Why is there not an open source equivalent of ARM's processors in the way that the Linux kernel was developed due to a lack of other open OS kernels? There's actually a couple of good reasons, but none should be terminal to the idea.

Re:Too long ? (1)

olof_k (2093198) | more than 3 years ago | (#37788148)

Finally a comment that makes sense. The milky mist is a really cool project and deserves all the publicity it's getting. Thinking of buying one to try it out. The problem however is with the LM32. The license is very unclear, and IIRC there are at least three different licenses on the RTL code itself. I'm not even sure that it's really allowed to use it on any other FPGAs than Lattice's. From what I've heard it's also lacking a MMU (could be wrong on this part though) I also agree that there are way too few people working on open source hardware, but at least there is a lot more than there was five years ago. We have opencores for a lot of RTL cores and Dangerous prototypes cover a lot of cool open source hardware stuff on the PCB and MCU side just to mention a few. Open source also makes more sense for hardware in some cases as the verification part often is way more time consuming than the development. We have had much help from students that has chosen to do some formal verification project on the OpenRISC or some of the wishbone cores.

CPU implementations, in this case, are far from what they could be. Why is there not an open source equivalent of ARM's processors in the way that the Linux kernel was developed due to a lack of other open OS kernels? There's actually a couple of good reasons, but none should be terminal to the idea.

I'm working on the OpenRISC project. That is 100% LGPL and with Linux 3.1 it will be supported in the mainline kernel (along with an ever increasing support for different RTOS's). We are slowly getting there :)

Re:Too long ? (1)

lekernel (1279600) | more than 3 years ago | (#37788418)

The LM32 _is_ a good example of open source CPU; and there's more to open source than GNU. Also, it is simply more technically appropriate [milkymist.org] here than LEON, OpenRISC and OpenSPARC. There was some confusion about the LM32 license (sparkled among other things by confidentiality notices left in the source files) but Lattice cleaned up most of the mess [github.com] a few months ago. The Lattice license [github.com] says: " The Provider grants to You a personal, non-exclusive right to use object code created from the Software or a Derivative Work to physically implement the design in devices such as a programmable logic devices or application specific integrated circuits." So - yes, we can implement it in non-Lattice FPGAs. There is no MMU; some people talked about building one but it did not happen. We are open to switching to OpenRISC should it become as small and fast as LM32.

Re:Too long ? (1)

olof_k (2093198) | more than 3 years ago | (#37788562)

I checked my facts, and as you say, Lattice fixed the licensing issues. Also, I wasn't aware of the differences in size between the two. Modularity is one of the things on the todo list for the OpenRISC. Hopefully we can bring it down in size in the future. Sounds like a fun weekend project to do some resource usage analysis between the two. If only there were more weekends :)

Re:Too long ? (1)

unixisc (2429386) | more than 3 years ago | (#37788886)

Which instruction set does OpenRISC use? Is it MIPS, or is it something totally new?

Re:Too long ? (1)

olof_k (2093198) | more than 3 years ago | (#37789342)

New, is to stretch it a bit as it's about 12 years old by now :) Anyways, it is MIPS-inspired, but not compatible. There has been some discussion about making next version MIPS-compatible, but we chose not too, as we would like to add and remove features that can better fit modern embedded systems. Here's a link to the or1200 spec http://opencores.org/websvn,filedetails?repname=openrisc&path=%2Fopenrisc%2Ftrunk%2For1200%2Fdoc%2Fopenrisc1200_spec.pdf [opencores.org]

It's a $499 screen saver. (1)

Animats (122034) | more than 3 years ago | (#37783144)

The site has an "unboxing video", but not a demo video. Here's a demo video. [youtube.com] That was version 0.3. It looks like a rather lame screen saver. Here's version 1.0 from a techno party in Berlin. [vimeo.com] It's still rather lame.

I'm all in favor of good nightclub video, but this isn't it.

Re:It's a $499 screen saver. (0)

Anonymous Coward | more than 3 years ago | (#37783948)

Did you live on the dark side of the moon for the last 10 years? Who hasn't heard of Milkdrop??

Get yourself some good weed, play your favorite music in WinAMP, choose Milkdrop as the visualization plug-in, set it to 60 FPS and native display resolution (but not too high as the lines become too thin), and start it at full screen while smoking and listening to the music. Press the minus key on the num pad and then space whenever the visualization is bad. And plus otherwise. (F1 for more keys and help.)
Soon you will fully and deeply understand its appeal, young padawan. ^^

(No, YouTube is no replacement as 60 fps, good resolution, your own music and being able to skip bad visualizations are vital to the experience.)

Re:It's a $499 screen saver. (1)

Animats (122034) | more than 3 years ago | (#37784708)

Milkdrop 2 is pretty good. It makes this thing look pathetic.

Re:It's a $499 screen saver. (1)

lekernel (1279600) | more than 3 years ago | (#37784480)

The unboxing video [vimeo.com] , though admittedly not perfect, also has a great deal of more up-to-date demo content in it.

Re:It's a $499 screen saver. (0)

Anonymous Coward | more than 3 years ago | (#37787020)

This thing is somewhat cheap and at least a start.

We could see things like http://www.youtube.com/watch?v=UtVBNQNuXko&feature=related come out of it soon.

GCC (0)

Anonymous Coward | more than 3 years ago | (#37784134)

Are they going to roll a GCC compiler for it? A free soft CPU/GPU sounds sweet.

Re:GCC (1)

lekernel (1279600) | more than 3 years ago | (#37784342)

There is already GCC, and a experimental/incomplete LLVM.

This already exists (0)

Anonymous Coward | more than 3 years ago | (#37785086)

You can go download openSPARC here [opensparc.net] complete with testbench and synthesis scripts. Of course, you still need roughly >$200,000 worth of EDA tools to bring it all the way to tape-out.

Re:This already exists (1)

lekernel (1279600) | more than 3 years ago | (#37788474)

This is where the Milkymist project is different - you can implement the SoC on a small, affordable FPGA and still get good performance, in part thanks to dedicated accelerators. By the way, there is also FPGA platforms for OpenSPARC so your estimate is too high, but they're still quite expensive and OpenSPARC runs pretty slowly on them.

Re:This already exists (1)

unixisc (2429386) | more than 3 years ago | (#37788938)

or Power [power.org]

High performance open source CPUs are a while off (1)

Btarlinian (922732) | more than 3 years ago | (#37785908)

One of the problems with open source hardware is that the highest performance chips are designed under restrictive design rules which are a result of fabrication process limitations at the smallest technology nodes. That's one of the biggest reasons the semiconductor industry hasn't moved entirely to a fabless model. The folks making high performance computing hardware need to know exactly what limitations are imposed upon them by the fabrication process. And the fabircation process will never become "open source" (at least not until Moore's law no longer works), there' just way too much money invested in process technology for it to be freely released.

Re:High performance open source CPUs are a while o (0)

Anonymous Coward | more than 3 years ago | (#37791270)

One of the problems with open source hardware is that the highest performance chips are designed under restrictive design rules which are a result of fabrication process limitations at the smallest technology nodes. That's one of the biggest reasons the semiconductor industry hasn't moved entirely to a fabless model. The folks making high performance computing hardware need to know exactly what limitations are imposed upon them by the fabrication process. And the fabircation process will never become "open source" (at least not until Moore's law no longer works), there' just way too much money invested in process technology for it to be freely released.

English motherfucker, do you speak it?

Not another MIPS variant? (1)

kriston (7886) | more than 3 years ago | (#37787290)

Is this not another MIPS variant? There are so many questionably licensed and non-licensed MIPS microprocessors out there, I tried looking at the data sheets, but I don't see what instruction set this processor uses. I suspect a non-patent-encumbered variant of MIPS32. Can anyone verify?

Re:Not another MIPS variant? (0)

Anonymous Coward | more than 3 years ago | (#37788152)

One of the posters further up the thread stated that it used a Lattice Micro 32.

Open source (0)

Anonymous Coward | more than 3 years ago | (#37787994)

most interesting

There are more open source processors out there (1)

jeremypbennett (1829930) | more than 3 years ago | (#37789060)

Congratulations to the Milkymist team - it's a great example of what you can do with open source hardware. As well as the LM32 used by Milkymist, there are other open source processors out there, for example picoJava, OpenSPARC, LEON and the OpenRISC 1200. Most of these are finished projects, subsequently open sourced - kudos to the developers for freeing their designs. The OpenRISC 1200, hosted on www.opencores.org, is different, in that it has an active community continuing to develop the processor and its tool chain.
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?