Ok, I got some feedback from Jeremy and took his advice.  One of the
major changes was to change from 3rd person to 1st person, so please
help me identify places where I have mixed that up.  I've also added a
few more sections, so please have a look and give me your criticism.

Thanks.





Update on status of Open Graphics Project

Background

I started the Open Graphics Project in October of 2004 at Tech Source,
Inc.  I suggested to my employer and to the world that a worthwhile
product category, which doesn't currently exist, is graphics cards
that are designed specifically with Free and Open Source software
(FOSS) in mind.  Rather than having to beg graphics card vendors for
access to their register specs, I thought it would be easier to just
ask members of the FOSS community what kind of hardware they need,
work with them to develop a specification, and then build that
hardware.  "Open Architecture" became the main idea, making it easy
for FOSS developers to get the information they need to develop FOSS
drivers to take full advantage of the hardware.

Two things went wrong, however.  One was that I was not able to
convince my employer, a relatively traditional business, that the FOSS
community was large enough to make OGP turn a profit.  The other was
that Tech Source came upon new business opportunities that required
them to concentrate their engineering resources on their core
products.  Tech Source canceled the project.  After some time and
discussions with management, Howard Parkin, Andy Fong, and I, all
employees of Tech Source, decided to carry on the project on our own,
with Tech Source's blessing.

In order to carry on and be able to form a profitable business model,
we had to make some adjustments to the original plan.  The new plan
goes something like this:
(1)Continue as planned with an FPGA-based development board, but also
sell it as a product in its own right.  Rather than being just a test
platform for the OGP, this will also be sold as a experiment board for
use by anyone, at about a quarter the cost of its nearest competitor. 
This will generate some revenue and demonstrate to potential investors
and partners that the OGP is serious business.  See "What is OGD?"
below.
(2)Develop a graphics ASIC according to the OGP specifications, but
target it at the embedded systems market, where it would be
competitive on both performance and price.  Not compromising the
integrity of the FOSS approach, this simply allows FOSS users to
benefit from the economy of scale.
(3)Release the RTL for the chip design under FOSS licenses (as well as
proprietary licenses).  Although RTL is analogous to source code, it
isn't quite the same thing. RTL is like a schematic for the hardware,
and since it's far from zero-cost to copy that hardware, it's not fair
to think of RTL in the same terms as Free Software.  If only we could
just download hardware!  Nevertheless, there are universal benefits to
releasing RTL under FOSS licenses.  Some of the RTL has been released
already under the LGPL license.  Some of it will be held in escrow to
be released under GPL when our company can handle the corresponding
drop (real or potential) in revenue from non-FOSS licensing of the
RTL.  (Such a time would be between the time we make $2 million in
revenue and the time when a version 2.0 ASIC is ready for release.)

Although not legally formed, we have dubbed our company "Traversal
Technology."  We'll formally incorporate when the prototype product is
finished and we're ready to take orders.  Traversal Technology is the
"official corporate sponsor" of the Open Graphics Project (OGP) and
will serve as the IHV that builds and sells the products that are
specified by the OGP.


Progress

Since the last update, a number of things have been going on, some
more slowly than others.  Although we're not too far off the Gantt
chart, it is nevertheless frustrating for Traversal and the OGP to
find the time to to work on some things.  As such, there are a few
things that FOSS community members could help us with that would
accelerate the schedule.


Naming

Some product naming has finally happened.  See
[http://wiki.duskglow.com/index.php/OpenGraphics%20videocard%20naming].
 Jack Carroll, a member of the mailing list, has been invaluable in
helping the OGP and Traversal name their products and work towards
having a coherent inventory-naming convention that will last them
indefinitely.  Here's a brief summary of the more important names:
(1)OGA: Open Graphics Architecture, the trade name for open graphics
architectures specified by the Open Graphics Project.
(2)OGP:  Open Graphics Project, the group of people developing OGA,
its written documentation, and its products.
(3)OGD:  Open Graphics Development, the initial FPGA-based
experimentation board used as a test platform for TRV ASICs.
(4)TRV:  Prefix for Traversal Technology ASIC products, based on the OGA.
(5)OGC:  Open Graphics Card, graphics cards based on TRV chips.

In short, the FPGA product will have OGD in its names, and the
graphics cards will have OGC in their names.  See the link above for
examples.


What is OGD?

As I mention elsewhere, OGD serves two purposes:  First, it's a
development platform for TRV ASICs.  Very early on, we decided that
the best way to make sure that our graphics chip worked properly out
of the gate was to first target the design to an FPGA.  The FPGA will
allow us to test our design in real hardware and in real-time.  When
we find bugs in our design, we can fix them, resynthesize (like
recompiling), and reprogram the FPGA.  We couldn't do this with the
first ASIC I developed at Tech Source, and it cost us a lot of money,
because when we found that our first chip didn't work, we couldn't get
back the money we'd spent on the first set of masks.  We did
incredible amounts of simulation, but that didn't stop us from missing
a number of very subtle problems.  With today's FPGAs, they have more
than enough die area to support a relatively full-featured GPU, so we
don't have to skip this step.  Even if the design runs at half-speed
in the FPGA, compared to the ASIC, it will still allow us to put the
card into real computers and test it in real-time.

Second, OGD is something that can be of general use to many other
people.  We're not the only people who need a board like this.  Lost
of chip developers will find this to be a very interesting product. 
Those include businesses designing chips and university FPGA labs that
would buy them in the hundreds.  Having freely-available design
documentation only adds to the value.  Computer Science Masters
programs that teach CPU design would find this interesting, for
instance, because the FPGA is big enough to hold a reasonably powerful
CPU, and the RAM and video output are built right into the board.  How
about FPGA-based parallel computing?  Or how about the long-time
software engineer who would really like to break into chip design but
hasn't been able to get his or her hands on the necessary hardware.  I
would have bought this as an undergrad.

Tech Source could have used this too.  Back when we were working on
the ASIC I mentioned, we had hoped that it might fit into an FPGA.  It
didn't, but in the mean time, we had already bought an FPGA-based
prototyping board.  I don't recall the name of the vendor, but it has
a Xilinx Virtex II 1000, which was a massive FPGA at the time, and it
cost over $2000.  The last time we checked, which was in 2004, that
same board was still selling for that same price.  We have tentatively
priced OGD, which sports, among other things, a Xilinx Spartan III
4000, 256 megabytes of RAM, and a bunch of video hardware, for
somewhere around $550 +/- $50.  As a graphics card, this wouldn't be a
very good price, but OGD isn't a graphics card—it's something that can
be turned into a graphics card... or a high-end sound card or a
hardware raytracer or a high-speed video codec or a stream processor
for parallel computing or... shall I go on?

If things keep going as they are, an early release of the OGD card
will be available this November or December (2005).  This may or may
not come with a fully-functional PCI controller, but anything missing
will be downloadable later from our web site.  (Certain kinds of
reprogramming will require extra cables, but if you're a chip
designer, you expect that.)


What about OGC?

OCG is the thing that most of you want.  It's a low-end graphics card
that's open architecture, comes with open source drivers, and is tuned
for X.org, Mesa, accelerated alpha compositing of windows, etc.  It's
the card that "just works" with Linux or BSD and has drivers that are
written properly so that they don't become a stability concern like
some closed-source drivers are.  It's the card that exposes all of its
interfaces so that every feature can be supported, and every feature
you want to support can be accelerated.

This is the ultimate goal of the Open Graphics Project.  There are a
few things holding this back right now.  First is that we can't
develop it with out OGD being finished, and OGD has its own schedule
we're trying desperately to stick to.  Second is that we don't have
any money; we're going to pay for OGD prototypes out of our own
pockets, plus the ASIC will cost about $2 million to fabricate.  Our
goal at this point is to finish OGD, use that to generate some
revenue, and use that business success to attract investors and
partners that will help us produce the TRV ASIC and OGC graphics
cards.  If we can generate enough revenue from OGD, we can afford to
quit our jobs and work full time on this.

We are hopeful that our schedules will allow us to complete this
product during the first half of 2006.  It's hard to say what its
performance will be like, but we'll be using more advanced fabrication
technology than we can get today.  We expect it to meet or exceed our
original figure of 6.4 gigabytes/second memory bandwidth and 400
million pixels/second 3D rendering throughput up until memory
bandwidth is saturated by turning on more 3D features.  It too will
have 256 megabytes of RAM.  We have been estimating the retail price
at no more than $120 for the board (comparable in price to the recent
Matrox G550 PCIe with 32 megs of RAM, although PCIe will come after
PCI and AGP for us), and we have seen no reason since then to increase
that number.


OGD chip development

Lately, I have been working on the PCI core.  Although the ASIC will
have support for AGP and, indirectly PCI-Express, I am currently
working on a 32-bit PCI-X controller for the OGD1P-256 board.  You
have to start somewhere, and PCI is probably the best thing for an
experimenter board since it's the most universally available right
now.  The RTL for this is currently downloadable from our SVN
repository (see the bottom of
http://wiki.duskglow.com/index.php/FrequentlyAskedQuestions).  The
license is LGPL, but Traversal retains the copyright and the right to
dual-license, like MySQL.

Unfortunately, not too many people are members of the PCI SIG or have
access to the PCI spec, so I haven't gotten much feedback on this
aspect of the design.  Those with PCI experience are encouraged to
offer their help and criticism, and those without the PCI spec but who
would like to help anyway can find out what they need from "PCI System
Architecture (4th Edition)" by Tom Shanley, Don Anderson, Mindshare,
Inc.

Patrick McNamara contributed a huge amount of information, as well as
some excellent circuit schematics, for the design of the VGA
controller.  Most of that can be found at
"http://wiki.duskglow.com/index.php/Documentation";.  This has
stagnated as I have focused on PCI.  The VGA core is also under LGPL
(dual).  More eyes are welcome.


OGD PCB development

Andy and Howard have been working on the PCB design for OGD.  It's
essentially done, but there are a few time-consuming things left to be
completed before that can go for fabrication.

(1)Heat sink.  What we would like to have is a single rectangular heat
sink that will cover both the Xilinx 3S4000 (for the graphics core)
and the Lattice XP10 (for PCI).  Some list members believe they are
generally coplanar, but there's still a lot of searching required to
identify a cheap off-the-shelf solution that will fit our size
constraints. Those interested in helping can contact me or the mailing
list for details on the size constraints.  Basically, we'd like a
passive heat sink that can be removed and replaced by one that has a
fan in it, without violating PCI specs.
(2)Testing the XP10 PLLs.  If someone has an XP10 eval board or can
get one, we could use some help in determining its suitability. 
Specifically, we need to know how well its PLLs behave.  We have a
piece of code we can give you that will put a clock on an output pin
so that someone can measure jitter for us.
(3)Programming the Xilinx via the Lattice.  PROMs for the Xilinx chips
are expensive. Plus, the programming time is long enough that the
device would not show up on the PCI bus early enough.  We decided
instead to put the PCI controller and PROM interface into the
flash-based XP10.  This way, the PCI controller is instant-on, and we
can use a much cheaper SPI PROMs to hold both the Xilinx bitfile and
the boot ROM (VGA BIOS, etc.).  We're in need of someone to help us
develop the code to control the PROM, read it, reprogram it, program
the Xilinx, etc.
(4)There are actually a number of other small tasks that would help. 
Some are more vital to initial product release than others, but the
more that are available on initial release, the better.

I will cover the cost and shipping for any parts that a contributor
may need to buy to help with this.  Also, the PCB schematic and
artwork will be licensed under the LGPL, as well as all the Verilog
code that will ultimately come standard with OGD.


Web site

Once we have revenue, Traversal intends to pay someone to host their
web site.  Before that point, we would appreciate free hosting.  Any
suggestions on whom to host with are welcome.  However, for OGP,
duskglow.com has been hosting the mailing list, gitk.com has been
hosting documents and images, and suug.ch has been hosting the SVN
repository.  Their contributions to the project have been greatly
appreciated, so one of them is probably the best choice.

The next issue is designing the web site which can be a significant
investment of time and/or money.  If it were all open source, it would
instill a greater feeling of confidence in those using it to place
orders.  What we need is a site that describes the product, makes it
clear what you're getting (early releases of OGD may lack the PCI
logic, requiring later update from files you download), explains the
warranty, and is able to handle secure credit card and PayPal
transactions and accurate computations of shipping/handling costs. 
Also, economy of scale requires that Traversal manufacture cards in
batches, meaning that orders have to be stored safely for as long as
it takes to get N orders.  If PHP and MySQL are used in the back-end,
that would be preferable so that I can maintain it in the future, as I
am familiar with those.  We welcome those who can help us design and
code the web site and advise us on how to do it properly.


Conclusion

Depending on your perspective, you might think the OGP was progressing
slowly or quickly.  It's hard to design new hardware in your spare
time, without corporate backing, but I, my partners, and my friends on
the OGP mailing list are making steady progress.  We can already see
the light at the end of the tunnel for OGD, because although there are
a number of time-consuming things left to do, there aren't very many
left, and outside contributions can make it happen more quickly.  Even
without a complete PCI controller, OGD would be a valuable and
relatively inexpensive tool for many hardware designers.

The Open Graphics Project is going to take a while to realize its
ultimate goal of ubiquitous Open Architecture hardware for FOSS users,
but as with any well-conceived plan, things do not happen over night. 
OGD is the product that Traversal and the OGP need to get off the
ground.  With the right help, this will easily happen this year. 
Although the OGD isn't a graphics card, per se, it will be a
revenue-generating platform for the development of a graphics card. 
With luck, 2006 will see the release of the first fully
open-architecture graphics card, designed specifically to always "just
work" universally with Free and Open Source Software.


OGP Community wiki:  http://wiki.duskglow.com/index.php/Open-Graphics

_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to