Friday, February 23, 2007

open hardware site - stumbled upon

I once did a post about open hardware and it's advantages. I pointed out that there isn't enough effort on creating open hardware. Apparently I didn't look hard enough. :p

Just today, I stumbled upon one of the best open hardware sites for both hobbyists and true-blue hardware engineers.

OpenCores.org is an entire community of hardware designers that have a goal of creating an online database of useful hardware descriptions. Almost all of the designs are in VHDL (my preferred language). The great thing about these descriptions is that they're licenced under either GPL or BSD type licenses. Development is also very similar to open source software, like Linux. This means a lot of collaboration and peer review.

As I've written on my "on series" post, most hardware building blocks are offered as IP-blocks or Intellectual Property blocks. You have to pay every time you use these for your designs. This idea is very limiting, especially to small design teams that don't have enough funds to buy IP-cores. It defeats the very idea of code re-use and rapid prototyping which can be very helpful in speeding up design time.

Some of the stuff I found after looking around a little:

  • Radix-4 Fast-Fourier Core (very useful in DSP which is my field)
  • Floating Point Unit
  • MIPS processor
  • SD/MMC Bootloader
  • DDR memory controller
  • UART (Serial Port) controller
  • USB 2.0 interface
  • PCI Bridge
  • and many more!
All these designs are free and have open licenses.

Aside from being a great help to the hardware designers, it can also be one of the best ways to learn actual hardware design, since all of these codes can be studied and modified by the budding hardware engineer.

yunlang.

5 comments (leave a comment):

Fed said...

A very nice site indeed. Too bad that our MIPS design is limited to just a few instructions. I could have just snatched the VHDL code, loaded it to a Verilog converter, and voila! Instant MP, haha. Kidding.

isagani said...

One could learn a lot, just by studying these codes. :)

kewlburn said...

ano yun pau? just like designing your own pc? :(( nde ako makarelate. ehehee

isagani said...

It's more like designing your own processor. Not really the whole pc. Hardware descriptions allow you to develop hardware designs similar to how you would develop software.

Kung baga, programmers make software. Computer engineers naman, hardware. hehehe. And this post is about "open source" for hardware. Di na lang sa software! :)

Of course creating a full blown "Pentium" processor would take a lot of manpower and engineering know how + money, but the concept is the same.

Eto ang field ko e, digital design. I'm not actually a great software programmer. Basic c and c++ lang nga alam ko e.

kewlburn said...

parang ang hirap isipin eh. unlike programming there's a syntax /or routine. maybe you should try. ang galing nga eh.