Site Logo
Find in
This is TikiWiki 1.9.7 -Sirius- © 2002–2006 by the Tiki community Thu 02 of Sep, 2010 [17:06 UTC]
Login
[ register | I forgot my password ]
Menu [hide]
 Home
 Contact us
 Stats
 Categories
 Calendar
Toggle  Wiki
 Wiki Home
 Last Changes
 Dump
 Rankings
 List pages
 Orphan pages
 Sandbox
 Print
Toggle  Blogs
 List blogs
 Rankings

Toward True Open Hardware

Text of July 2007 OSCON Talk by Timothy Miller
3D browser print PDF

Root window with OGP wallpaper

Well, good afternoon, everyone. My name is Timothy Miller, and I'm the founder of the open graphics project.

  1. My usual soapbox is a keyboard, and I much prefer interacting to lecturing, so if I say something that raises questions or needs clarification, please feel free to ask. I'll also take longer questions at the end.
  2. Anyhow, I have been using Linux since 1995, and I've been an avid fan and user of Free Software ever since.
  3. Historically, it's been hard to get graphics cards that work well with Free Software. Even now, most available graphics solutions are proprietary cards with proprietary drivers. They lack the advantages of open source, letting you make changes, fix bugs, keep up with kernel upgrades, learn from them, or whatever else you might want to do.
  4. Many people feel that proprietary drivers in Linux violate the GPL, making it a potentially serious legal issue as well. Some Linux distros, for ethical reasons, simply don't come with these binary-only drivers. A particularly prominent one is Fedora.
  5. Well, my background is in graphics hardware design, and I thought it would be interesting to try to do something about this. So my associates and I set out to make a truly open graphics card, and this is what I want to talk to you about. I'm going to cover our project, our plan, our achievements and some of the unique challenges involved in making hardware.

Slide with OGD1 board pic

  1. To get things started, we decided to begin with a bootstrapping effort, which is a development platform. We needed a facility to try out and test graphics processor designs.
  2. So I'd like to show you something we've built.
  3. THIS is the OGD1 board, the open graphics development board.
    1. At the moment, it's functioning as a basic framebuffer for the OS with a simple x.org driver. And as a matter of fact, that's what is displaying the presentation right now. An OGD1 board is here in this PC next to me. As proof, I can give you a little demo that shows why you don't usually want to go without hardware acceleration. (do some dragging)
    2. (while demoing) Some people have told me that they're willing to put up with this. They actually prefer to use the unaccelerated fb driver over using a proprietary one, because they don't trust the proprietary drivers. Also, for a lot of common UI stuff, it's hard to tell the difference. (minimize a window, open a menu) So for an early prototype, it's really quite usable.

Slide with diagram of OGD1 with some Verilog code

  1. OGD1 is built around an FPGA. FPGA stands for Field Programmable Gate Array, with the key words being field programmable. It's a chip that you can reprogram.
  2. We develop our logic designs in a language called Verilog and compile or synthesize it to instructions for the hardware. These aren't like instructions for a CPU but rather control bits that specify signal routing and functions for logic gates. With this basic shell of a graphics card, we can program new designs into it at will.
  3. The logic that we have working in OGD1 right now includes just support infrastructure that will be needed for the graphics engine. We have a PCI controller as the host interface. A memory controller for the framebuffer store. And we have a video controller that scans the framebuffer out to the monitor.
  4. In addition to the FPGA, the OGD1 board also has memory chips, DVI transmitters (two pairs of dual-link DVI, which is actually pretty high-end), digital to analog converters, a TV out chip, and a number of user I/O signals available for extensions.
    1. Of course, there are actually other FPGA prototyping boards available on the market, but we believe ours is a better bargain. It has open source origins, which made the development less expensive. And for our purposes, we've added additional hardware specific to graphics.

Slide with URL for SVN repository

  1. In fact, this board itself is a free hardware design. There's the web address to our subversion repository, and you'll find a link to it on the open graphics home page.
  2. Schematics are available online, as is most of the Verilog code for the logic that we currently have working. It's all copylefted, so modifications and derivative works are allowed under the terms of the GPL. And the software driver is free software too, of course.
  3. Pretty soon you'll be able to buy one and use it for graphics or to make other hardware designs.

OGA Requirements and specs slide

  1. NOW what we want to do is take what we've done and use the FPGA as an environment for developing a full-featured open graphics card.
  2. A lot of community discussion went into this. Debate went on for months, and the spec that came out of it, we think will satisfy 90% of the users of free software desktops.
  3. We've cherry-picked the most important features from the OpenGL specs from versions 1.3 through 2.0. The result is a fixed-function 3D rasterizer and fragment shader. And then we included some additional features that weren't specified by OpenGL.
  4. Further into the future, we would be interested in targeting the high end, but before we can hope to do that, we need to be successful at something smaller.

Contributors slide

  1. I just mentioned a lot of community discussion. The open graphics project is a real community effort. The mailing list currently has over 500 members.
  2. Here are just a few of the people who have contributed something significant to the requirements, design, and many other things that keep a project focused and productive.
  3. They deserve huge thanks for what they've done.

Challenges Slide

  1. I also mentioned earlier the challenges with making hardware.
  2. I like to describe chip design as like taking multithreaded programming to its ultimate extreme. It's as though every little block of code in your program is running in parallel with every other block of code in your program. Imagine being required to break even simple programs into a multitude of threads that work together by sending each other messages.
  3. With a single processor PC, parallelism is largely an illusion. The operating system schedules many independent tasks to run one after the other in a way that makes it look like all these things are happening all at once.
  4. By contrast, in a chip, absolutely everything happens at the same time. Sequential behavior is constructed on top of the underlying logic.
  5. It took me several years to get used to this way of thinking. Part of the challenge with chip design was breaking old habits. For instance, a rule of thumb that is often true is that if you write smaller, cleverer code, the object code will be smaller, and often you also get faster code as well. With chip design, the more elaborately and explicitly you describe your logic, the better your result (and the less likely it is that the synthesizer will produce something terribly inefficient). Clever tricks with the programming language will only hurt you.
  6. Many software techniques for design, development, debugging, and testing do have an analogue in hardware design, at least when it comes to logic in an FPGA. Circuit boards and integrated circuits impose a whole other level of technical challenges. The main thing is that hardware is expensive to make. Fortunately we believe we've developed a business model that will solve this problem.

Organizational slide

  1. Since a lot of money has to be handled, we absolutely must form corporate entities. So we've done so.
  2. Traversal Technology is there to handle the commercial aspects and hardware fabrication.
  3. The Open Hardware Foundation is a non-profit corporation. They handle donations and function as a democratic body to represent community interests.
  4. These two will be able to generate revenue streams in their respective ways and use that money to fund the development of open hardware.

Other pieces slide

  1. So our plan goes as follows.
  2. First, we build the development environment, OGD1. That's done, and it works, and we can already use it as a graphics card.
  3. Then we spec out the abstract architecture, OGA1. That's done too.
  4. Now we have to do the rest of the pieces.
  5. We need to implement the OGA1 logic design and test it thoroughly on OGD1 boards. When the design is proven, we retarget it to a faster, lower-power, non-programmable chip called an Application Specific Integrated Circuit, ASIC for short.
  6. We've named this part TRV10. This is the really expensive bit, because although individual chips are cheap, having the initial masks made is costly.
  7. In order to to keep volumes up and prices down, we plan to sell it into two markets.
  8. One is the OGC1 card for open source desktops. The other is as a bare chip for embedded systems.

Open Hardware slide

  1. Of course, we're not interested only in graphics. We started there, and that's where we're maintaining our focus. We need to maintain that focus in order to have an attainable goal that we can achieve in a finite amount of time.
  2. But we ARE interested in the bigger picture, and that's why the OHF was formed. We hope that what will come out of this project is a wider open hardware community.
  3. There are already lots of projects such as open cores where there are some clever and talented people working away. We want to form an organization which will advocate and advance the interests of this community. We want to build an environment where enthusiasts can take their designs and turn them into real hardware. The OHF even plans to fund development work. Initially, the OHF is offering discounts on OGD1 boards to open graphics developers, and as donations come in, they'll direct that money to help more and more hardware projects go from clever designs to clever open hardware.

Getting involved

  1. We're excited about being able to produce hardware with all of the advantages of Free Software. And we hope that some of you are too.
  2. If you are interested in hardware development, you can assist with our design work.
  3. If you have software talent, you can assist with CAD tools, device drivers, and other useful applications.
  4. If you're interested in using any of the hardware we're developing, we'd be happy to discuss it with you.
  5. Finally, if you know anyone who would like to help out financially, donations can be made to the OHF.

Questions slide

  1. Here are some URLs you can write down and visit later to get more information about the Open Graphics Project, the Open Hardware Foundation, and Traversal Technology.
  2. I want to thank all of you for taking the time to listen to me, and I hope it was interesting.
  3. Okay, who's got the first question?

Created by: josephblack last modification: Sunday 19 of August, 2007 [06:49:29 UTC] by josephblack


source
history
similar
RSS Wiki RSS Blogs
Übersetzen Sie diese Seite ins Deutsche
Traduzca esta paginación a español
Traduisez cette page en français
Tradurre questa pagina in italiano
Traduza esta página em portuguêses
翻译这页成汉语 (CN)
日本語にこのページを翻訳しなさい (Nihongo)
한국인으로 이 페이지를 번역하십시요 (Hangul)
[ Execution time: 0.57 secs ]   [ Memory usage: 7.29MB ]   [ 48 database queries used ]   [ GZIP Disabled ]   [ Server load: 0.41 ]
How buy cialis 20mg online
kamagra 100mg How download mp3 music online
sex dating