login
Header Space

 
 

Hardware: Open Graphics Project's OGD1 PCB Schematic Completed

February 28, 2006 - 8:51am
Submitted by Timothy Miller on February 28, 2006 - 8:51am.

This week, developers with the Open Graphics Project are announcing that we have the PCB schematic for the OGD1 product ready for public review.

The Open Graphics Project is dedicated to developing open-architecture graphics hardware, specifically for use with Free and Open Source operating systems. Based on community feedback, we have defined a graphics architecture, and are working steadily towards producing real graphics hardware that "just works" with Linux, BSD, and other free operating systems.



The first major step towards producing consumer graphics products is our "development platform" that we call OGD1. This product is not a graphics card. Rather, it is an FPGA-based project board, with memory and video hardware on it. It can be programmed to be a graphics card. Being FPGA-based, it is also useful for many things beyond just graphics and the needs of the OGP. We are selling this as a product because there is a market demand for FPGA-based prototyping boards, volunteers working with the OGP will need it for development, and we need a source of revenue to fund further development. Ultimately, we need to raise over $2 million to cover the cost of ASIC production alone.

The first phase of OGD1's PCB development is the "schematic." The schematic diagram defines only the logical connections between components on the board; pins on chips are identified, and the connections between them are defined, largely independent of physical constraints. This is distinct from "artwork," which defines the physical layout and trace routing; there, we define real, physical positions and orientations of chips, along with how traces are laid out in the different layers of the board. The correctness of the schematic is a necessary (but not sufficient) condition for the correctness of the artwork. We need members of the community to download and review the schematic so that we can more quickly find flaws and correct them. The artwork phase has already been started, with most component positioning completed. Corrections will be made as they are brought to our attention.

Designing OGD1 has required many compromises. We believe we have added every feature that was practical to do from an engineering standpoint. If we've forgotten something critical, please let us know. But our primary need is for community members to help us critique the correctness of the design, given the feature-set we have defined in the schematic.

An abridged list of features:

  • 64-bit PCI (66MHz)/PCI-X (133MHz) interface
  • 55K Look-Up-Table FPGA
  • 256 megabytes of RAM
  • Two Dual-link DVI-I outputs (two 330 MP/sec digital, one 330 MP/sec analog, one unpopulated 500 MP/sec analog)
  • TV out (PAL, NTSC, SECAM)
  • 96 user I/O

Short term schedule:

  • Schematic - Finished
  • Artwork - another 12 to 16 weeks
  • Fabrication - another 4 weeks
  • First populated boards - another 1 week

Ordering
We plan to start taking pre-orders as soon as possible, and will take regular orders as soon as the first populated boards are finished. We have a provider and a domain name for our upcoming website, but we've been putting all available time toward board design, not website design. If anyone in the community is interested in helping us design a nice website, feel free to join our mailing list to get involved in the project in that way. Final pricing of the boards is still being determined.

Links:



Editorial comment: I'm including the announcement that was posted to the Open Graphics Project's mailing list, as it includes additional details. -Jeremy

From: Timothy Miller [email blocked]
To: open-graphics [email blocked]
Subject: ANNOUNCEMENT: Traversal to release OGD1 PCB schematic for public review
Date: Tue Feb 28 08:17:56 EST 2006

Within the next couple of days, we would like to publish the schematic
for OGD1 for public review.  It is ready now, but we need to figure
out exactly HOW and WHERE it should be posted.  We need to decide what
kind of file format is best to publish so that (a) it is convenient
and cheap for us to produce it and (b) as many people as possible are
able to view and evaluate it.  We need you to tell us how to handle
this.  The main obstacle is that we've been using Veribest to do the
work.

The official location for the ensuing discussion is the Open Graphics
Project main mailing list. 
(http://lists.duskglow.com/mailman/listinfo/open-graphics)

Although we will pay attention to private emails, I reserve the right
to break netiquette (I'm warning you in advance) and forward some
comments to the list.  Mostly, this is to deal with the fact that
people sometimes forget to CC the list when they meant to, and I don't
want to waste a lot of time asking permission.  If you want to comment
on this privately and absolutely do not want me to forward it to the
list, tell me explicitly, and I'll honor that.

What we have discussed on this list and what Howard and Andy have done
have not always been in perfect alignment.  Naturally, they have paid
attention to requirements I have sent them, but they have also had to
make engineering decisions of their own that may have consequences for
the rest of us.  That is the nature of engineering, and they have done
the best job they can under the circumstances.

The feature set of the design being presented for review is
essentially etched in stone.  While it's possible that we may modify
the design to add a feature that was a moronic oversight on our part,
for the most part what we need is for people to check the CORRECTNESS
of the design.  It should be obvious from the schematic what our
feature set and goals are.  Are those achieved?  Have we made
mistakes?  Is there something we can do to minimize potential
problems?  You get the idea.

Compared to earlier discussions, here are some design changes you may notice:

* We have switched our main FPGA from Xilinx to Lattice.  Compared to
the Xilinx 3S4000, the Lattice ECP2-50 has more logic area, is less
expensive, and the synthesis tools are free of charge.  Unfortunately,
it has about 1/3 fewer usable I/O pins, but we've dealt with that as
best we can.
* Primary "user I/O" bus from the main FPGA is 66 pins.  Another set
comes from pin banks whose reference voltages may or may not make them
useful to you.  Another set comes from unused pins on the Lattice
XP10.  Additional ones can be connected to unpopulated pads for
optional parts.
* The "local bus" interface between the XP10 and the main FPGA had to
be reduced in pin count.  The result is that we will need to use a bit
more logic to multiplex traffic across this bus at a higher data rate.
 Some of those signals are connected to pins on the main FPGA where
the PCB routing will be suboptimal; as a result, those signals will
have to work at a lower clock rate.
* The PCI card edge has been extended to the full 64 bits and can be
configured to indicate to the host that it supports PCI-X (133 Mhz). 
(The RTL code we develop for OGA may or may not support the extended
bus width.)

The licensing of this IP is largely unchanged, but here are the details:

* The IP being licensed here refers to schematics, artwork, and other
information necessary to reproduce the OGD1 blank printed circuit
board.  Additional IP that may be necessary for manufacturing a fully
functional device (such as bitfiles and firmware) is not covered here.
* Traversal retains copyright of this design and has the right to
privately and publicly license it any way they see fit, as well as
produce derivative works without restriction, license others to have
similar rights, etc.
* This design is being released to the community under the GPL
license.  As soon as the first board is sold based on this PCB design,
the public license will automatically change to LGPL.
* By default, Traversal reserves the right to adopt into their
privately licensable IP any changes or modifications offered by the
community to the OGP, Traversal, or an agent of either.  All such
changes will also be released under (L)GPL immediately.  Trademarks
associated with Traversal Technology and the Open Graphics Project are
barred from any other use of this IP.



Related Links:

Schematic

February 28, 2006 - 12:25pm

Sorry for my ignorance, but I can not find the link to the finished schematic. It is therefore a little bit hard to have an opinion.

Finished schematic...

February 28, 2006 - 12:38pm
Peter B (not verified)

The format to release the schematic in is currently being discussed on the OGP mailing list. They're using non-open-source schematic capture tools, so it's a non-trivial problem...

Schematics tomorrow in PDF format

February 28, 2006 - 12:41pm

The people on the OGML list have decided that what they want to see is a vectored PDF. I think what we're going to do is "print" the schematics as Postscript, and then one of the list members is going to convert it to PDF. It's not online yet, since Howard has to do a few minor things first. I expect the schematics will be online tomorrow.

"Within the next couple of da

February 28, 2006 - 12:40pm
Anonymous (not verified)

"Within the next couple of days..."

Posted today, so you'll have to wait a couple of days for it. I expect the document to be found on the site he links to.

Schematic

March 3, 2006 - 3:25am
Russell Kliese (not verified)

Looks like there's a new link: schematic pdf.

Is it just me, or is this "schematic" only marginally easier to comprehend than a text format netlist?

Easy?

March 3, 2006 - 8:57am

How easy it is to comprehend depends on how much experience you have with this sort of thing. This is a schematic of the board. Can you help us find problems with its design?

OpenGL?

February 28, 2006 - 1:52pm
Anonymous (not verified)

Sorry for my ignorance, but is this 2D only, or does it have any (some) OpenGL acceleration and/or video decompression acceleration?

OGA is 3D

February 28, 2006 - 2:34pm

Keeping in mind that OGD is not a graphics card, the design we've spec'ed out for OGA is a 3D engine. It's a fixed-function fragment shader that is based on a carefully-selected subset of OpenGL 2.0 functionality.

"Subset of OpenGL 2.0" is not

February 28, 2006 - 11:27pm
Anonymous (not verified)

"Subset of OpenGL 2.0" is not the right terminology for supported 3D features I would think. OpenGL (minor) versions are completely backward compatible, which is achieved by the use of extensions which may get promoted to the core API in time. Therefore, you should just say that OGA is OpenGL 1.3 compliant and list the extensions it supports. I forgot what archaic graphic features were dropped in 2.0, probably colour palletes, but if it's not too much trouble I would support them in the drivers if you had not planned being 1.3 compliant, because otherwise there'll be no OpenGL version you can claim to support.

Alternatively, you could target OpenGL ES 1.* as it does not carry all the legacy parts of the API. However, with MesaGL around, I don't see how it could be hard to not support OpenGL 1.3 and whatever extensions your hardware supports.

Good luck with your project, we need you.

Open Graphics Project Wiki

March 1, 2006 - 5:41am

It´s hard to find a conclusion about Open Graphics Project Wiki cause the link doesn´t work, maybe someone can tell me something about this theme.

RAM

March 1, 2006 - 6:47am
Martin Pärtel (not verified)

That's a lot of RAM for a non-gaming card. Will the final product feature the same amount? If so, will it be possible to easily use part of it as a ramdisk (to extend system ram as swap space or otherwise)?

RAM is highly important these

March 1, 2006 - 10:03pm
Anonymous (not verified)

RAM is highly important these days.

All these composited desktops require huge gobs of RAM. Each window on your desktop requires backing store, plus the main framebuffer. A common desktop of an average user could *easily* take up 128MB. Coders who like to keep 50 xterms open and such will have trouble with even 512MB, without some major memory management improvements and intelligent compositors that drop backing stores for unnecessary/hidden windows.

I am unable to follow any of

March 1, 2006 - 7:47am
Anonymous (not verified)

I am unable to follow any of the links in the article. Is it just me, or is *.duskglow.com unreachable?

PCI-X

March 1, 2006 - 8:08pm
Cody (not verified)

I noticed the selection of PCI-X for the bus. Having developed linux PCI-X drivers I would like to suggestion not using this technology. We found the PCI-X bus was not well followed by various manufactures at the 133 MHz bus frequency. Additionally only server class motherboards were equipped with the bus. If you truely want to produce a product that will be readily used by the open source community, I would suggest either PCI or PCIe.

PCI-X as a means to support PCIe

March 1, 2006 - 10:19pm

We've decided that the simplest way to handle supporting PCIe is to support PCI-X and use a PCIe-to-PCI-X bridge chip. This will add some latency in accessing the chip, but since the GPU is being designed around bulk DMA transfers, this won't be a problem.

We expect hardly anyone to use PCI-X directly. But we figured, why stop them if they want to?

Of course, we're not anywhere near ready to start work on the GPU, but everything we do with OGD1 has to be forward-looking.

IP?

March 2, 2006 - 1:01pm
Olivier Mengué (not verified)

What is IP?

Patents? Copyright? Trademarks?

Please, read this and use the right words.

IP and the unnecessary confusion

March 2, 2006 - 1:16pm

No patents apply here. Trademarks apply only insofar as that you may not use ours (Open Graphics Project, OGP, Traversal Technology, OGP or Traversal logos, etc.) if you decide to fab your own board. (Mandriva did this with their Linux distro, and RMS thought it was a good idea.)

As for copyrights, there are items which are protectable under copyright law. In this case, that covers everything found in the diagrams we've presented, as well as any derivative works, such as actual boards. (Think of the diagrams as source code and a board as a binary.) The artwork will also be released, and that will also be copyrighted.

This copyrightable material is protected under the GPL license, which means that if you were to produce your own board, you would have to release your schematics too. It probably also means that you would have to release the "source code" to anything else you reasonably could release, such as the RTL code for what you put into the FPGAs and what goes into the BIOS PROM.

Once we have begun selling these boards, the license will change to LGPL, reducing your obligation to only that of releasing the schematics and artwork for any derivative PCB you might produce, but not any other copyrightable material.

If you wanted to produce a derivative work of this board without releasing any of your modifications, you would have to purchase an alternative license from Traversal.

Practical support

April 18, 2006 - 1:03pm
Anonymous (not verified)

I want to give them money - how do I best do that?
Pre-order? Donations?

link please...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary