Slashdot Mirror


Open Source 3D Hardware

An anonymous submitter writes: "Open Source haven icculus.org has updated with a new project: Manticore. Different from most Open Source projects however, Manticore is hardware. It is a 3D graphics acceleration design, coded in VHDL. Although still fairly early in development, its goals are similar to those of other 3D cores, from companies like NVIDIA and ATI. The project includes an SDRAM controller for storage, and a VGA unit for display, in addition to the 3D rendering core. It is available under the Design Science License. Source, Documentation and other information available at the Manticore Homepage."

10 of 112 comments (clear)

  1. Open Cores? by brejc8 · · Score: 5, Informative

    Why dont they put it on Open Cores?

    Thats where all open hardware projects are.

    1. Re:Open Cores? by Judecca · · Score: 2, Informative

      We are actually putting it on Opencores. We're just cleaning up the code to their coding standards.

      Should be up there within a month or so.

  2. Re:FPGA by brejc8 · · Score: 4, Informative

    Bugger! Lets try again.

    What they need is an XESS board

    I used one when I made my MIPS clone and it was huge. I could fit an array of 14 full 32 bit processors on one Vertex chip all working at 100MHz. The cool thing is that they also have a VGA port and a DAC.

  3. Re:ditch VGA by WWWWolf · · Score: 2, Informative

    Ditching VGA might sound like a noble goal. Until you try to put the card in the machine and boot. Linux needs at least text mode, and Windows seems to fall back to VGA if it can't find drivers for anything else... (at least that's what happened in 98, NTs probably handle this diffenently =)

    At least implement the VGA text modes, or else you need to install the drivers blind... May be your thing, but not mine! =)

  4. Re:Success by svirre · · Score: 5, Informative

    Such cards do exist. They generally cost at least a few thousand dollars though.

    Also don't expect a fpga based card do outperform a dedicated circuit. Youll need an order of magnitude (at least) more silicon area to make a circuit on an fpga than on an asic, and you can never hope to match the speed.

    Furthermore you will need appropiate software to synthesize and run place and route on the fpga. These generally cost from around $10000 each, Though prices are negotiable. If you can manage with less you might be able to make do with the vendor provided synthesis software, but don't expect good results. Synplicity or leonardo spectrum (to be replaced with Precision Synthesis) are the good choices.

  5. Patents... by Karpe · · Score: 3, Informative

    There are many patents related to 3D graphics processing, hold by companies like nVidia, Matrox, ATI (just go to www.uspto.gov and search for your favorite graphics hardware company). And since this are not "software patents", they are already valid around the world. Are these guys considering this?

  6. Re:Success by svirre · · Score: 3, Informative

    Unfortunately the xst synthesis software that xilinx provides is next to useless. If you do your own optimizations, then fine. If you rely on the synthesis software to optimize (and quite frankly handcrafting logic optimizations isn't my idea of fun) then you won't get very good results.

    Xst isn't terribly compatible with regular synthesizable VHDL either. Expect some revriting.

    As for fitting a cpu core on a fpga: Sure cpu cores aren't particularly big (even on state of the art designs, the die area is largely used for cache rather than core.)

    As for pipeling: Sure you can get it up to a 100 MHz or so, but pipelining incurs penalties. You can very easily be bitten by data dependencies.

    As for size, we are working on a virtex II 6000, and it can barely fit a dprototype of a design which will occupy approx 4mm^2 of silicon area on the final 0.18um asic (granted the design would have been done somwhat differently if we actually targeted the fpga)

  7. Re:Exactly What Kind Of Freedom... by Shaheen · · Score: 3, Informative

    Hardware is always "compatible" with OpenGL and DirectX. When writing an OpenGL or D3D driver, you basically provide a layer of abstraction that goes from the 3D API down to your own chip's instructions and data formats.

    When nVIDIA and ATI say that their hardware is fully API compliant, they mean that their hardware implements all the required features of the API in hardware, and their drivers provide the abstraction to compute everything in hardware too.

    I'm sure nVIDIA and ATI have patents on their hardware - this is entirely expected. But just as there are multiple pieces of code that produce the same effect, there are multiple designs of hardware that generate the same output.

    Also, pixel shaders and vertex shaders are two different things - they happen at two different stages of the rendering pipeline. I'm sure nVIDIA has patents relating to them, but DirectX and OpenGL have their own specifications for shaders which any hardware developer can implement.

    --
    You should never take life too seriously - You'll never get out of it alive.
  8. Re:Some Comments by sonpal · · Score: 2, Informative
    Some comments on your comments:
    • Any FPGA design can be converted into an ASIC design with minimal or zero modifications, and usually with a substaintial performance improvement. There are several companies out there that will take your synthesized netlist and give you an ASIC, and will do it cheaply. The FPGA vs ASIC break even point is in the ball part of 100,000 units and it's getting better every day.

    • While it may take a Virtex-II to compete with a decent accelerator for all applications, it may be possible to have multiple optimized implementation that are specific to specific applications. For instance, you could program the FPGA with an image optimized for 2D applications for general purpose use and then reprogram it with an image optimized for 3D applications as soon as you run your favorite FPS. Also, A decent sized Virtex-II can be purchased for US $323 in single quantities, and roughly half that in quantities of 1,000 or more.

    • Design tools from Xilinx are less than US $1,000. And if you use their web-based tools, they are free.

    • The circuit board would not be a major problem. I recently designed a PCI board with an FPGA and SDRAM on it (and wrote the FPGA code) and we got our 10 board for less than US $2,000. Most of this is set up cost, of course, so it gets really cheap really quickly as the numbers go up.

    • 266 Mhz DDR RAM really only runs at 133 Mhz, and high end FPGAs can run at 300 Mhz. FPGA vendors often have hardware build into the FPGA to suppport high speed interfaces like that, or provide HDL source so that you can implement your own.

    • Even if it takes 5A to run these chips (slightly excessive IMHO), the requirement is at the core voltage (1.5V for the Virtex-II mentioned earlier). With a 85% efficient switching regulator (typical), that would equal 2.7A @ 3.3V or 1.8A @ 5V or 750mA @ 12V (all of which are available on the AGP connector). Besides 5A @ 1.5V is just 8W after you include the switching inefficies, and you probably have at least a 300W power supply, so it's less than 3% of your total power budget.

    • We do need to factor in assembly costs, which for a prototype run of 10 boards is going to to be about $3000 total, but the costs get really cheap if the quantity goes up, especially if the through-hole components are soldered by the enthusiasts who buy these cards.

      So, you don't really need all that much capital, and the open-source development model will provide the large teams of engineers.

      Unfortunately I can't contribute to this project because I code not in VHDL but in Verilog (which gets a lot more done for the same amount of effort in my opinion and others here and here).

  9. Re:Some Comments by CrazyCoot · · Score: 2, Informative

    As a practising hardware and firmware design engineer, I take issue with some of your numbers. Not that it means I totally disagree with the conclusion, but we'll get there. 1. A decent Virtex 2 will set you back, but it's not 3k unless you need a million or two equivalent gates. I use a fairly high-end Virtex-II on a design and it costs about 1k. You would need only the programming tool and that's free for the software. The cable is specified on the Xilinx site, and it's easy to fabricate. There are other FPGAs as well - Altera makes a nice line in the sub 1k range, and it performs well up to about 150MHz. 2. Boards can be run ( let's say a 12 layer board , although that's overkill for this) in low quantities for about $500/board. I do prototypes like this almost weekly up to 24 layers ( or so it seems lately ) and I know what I am paying. You'll have to buy a panel, though, so the cost would be # on panel ( probably 6 for this size board on a small panel)* cost per unit - about 3k as a guesstimate. 3. DDR266 needs a base clock of 133MHz, which FPGAs can do quite easily now. The data and strobes burst at the higher rate, but local pipelining of the data buffers ( meeting the DDR spec for a 2x pipeline) is fairly simple. More difficult is the strobe delay adjusters, but it's all spec'd. I think the purpose is more to be able to generate a controller that could be used. Designing PCBs with fast DDR or fast anything really ( it's not just the raw speed, it's the timing budget ) is still a lesser known skill especially if it's soldered down. Designing a PCI card is child's play - I can get reference designs including layout from 10 places at least. The big issue here would be PCB layout - the tools to do this sort of unit *will* set you back 20-50k, and those are the tools neceessary for high density, high layer count, rules oriented boards. I don't think it's out of the scope for what they want to do, if they can lay their hands on the layout and schematic capture tools - maybe I'll help 'em design the board and lay it out ;) #include