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."

38 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:Cool idea... by inflex · · Score: 3, Funny

    No way! just get your 2400dpi laser printer to print resist onto a copper-clad board, then etch in your coke (don't drink coke afterwards, might taste like PitrCola) ... umm.. then jam the chip into a wad of steel-wool [for the interconnects] then get 5min epoxy with some black dye to seal it... then...ummm. Oh bugger it, just drink the coke and wait for someone else to do it.

  3. Cool, they're further along... by eddy · · Score: 4, Funny

    Than the bitboys!

    :-)

    --
    Belief is the currency of delusion.
    1. Re:Cool, they're further along... by DarkHelmet · · Score: 2

      Just you wait... they'll have the last laugh... just you wait... and wait... and wait...

      --
      /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
  4. ditch VGA by johnjones · · Score: 4, Interesting

    if they ditched the VGA it would be better

    simply because you would not have to add all that redundant crap into the hardware

    I dont care much for VGA other people do because they are lazy or cant modify their source code (-;

    (even MS will be ditching VGA for longhorn)

    regards

    john jones

    1. 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! =)

  5. 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.

  6. Re:Cool idea... by Combuchan · · Score: 2

    Nope.

    Transmeta, maker of the Crusoe processor for mobile applications (</marketroid>) contracts the actual manufacturing process out to Texas Instruments.

    Moreover, they already have a working model using development boards, for from the front page of the link I quote:
    It is written entirely in VHDL. Originally designed and tested using Altera's APEX20K200E FPGA and Nios development board, the design is now ready for the public.

    --
    "[T]he single essential element on which all discoveries will be dependent is human freedom." -- Barry Goldwater
  7. Fantastic! by Rhinobird · · Score: 3, Funny

    Now all we need to do is get a computer to emulate the graphics card, hook it up to an open slot in another computer, and write a linux driver for it. Then we, too, can experience the joy of playing Quake 3 through Wine at a resolution of 200 X 180 at 10 FPS.

    --
    If Mr. Edison had thought smarter he wouldn't sweat as much. --Nikola Tesla
  8. Not genetic engineering? by alexmeaden · · Score: 2, Funny

    Are we sure Manticore is not a genetic engineering project?

  9. Success by march · · Score: 2, Interesting

    The success of open source is that it is easy for the masses to get access to the "products". This would not be the case with an open source hardware project.

    Unfortuantely, I suspect this will not be successful.

    1. Re:Success by brejc8 · · Score: 4, Interesting

      All you need is for some one to design a card you can place in your AGP/PCI slot which has an FPGA.

      These cards do exist and once open hardware becomes more popular you will be able to download your new graphics card compile it and stick it on your computer.

      Or even recompile your card to work better with a perticlular game or video standard.

    2. 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.

    3. Re:Success by brejc8 · · Score: 4, Interesting

      I've had 100Mhz designs running. If you pipeline them well then they they can go very fast. I'm currently running Delay Insesitive (DI) Asynchronous designs and they go really fast.

      The software can be free from Xilinx but I would prefair an open source project to have a linux version.

      The boards we make in the university cost £100 each with a spartan or £300 with a Virtex 300 (damn big I got 14 MIPS R3000 CPUs on one ).
      As for the spartan you can still make some cool stuff with it. These are some of the things I made with it.

    4. 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)

    5. Re:Success by commonchaos · · Score: 3, Interesting

      Or better yet, game designers could design their own cores and load these at run time, window managers could have special cores to speed up window management routines...

  10. Exactly What Kind Of Freedom... by Lethyos · · Score: 4, Interesting

    ...do they have to develop a 3D accellerator that is compatible with most software (OpenGL, DirectX, etc)? It seems to me that many of the design concepts in this arena are mired up in patents by giants like nVidia and ATI. For instance, doesn't nVidia have 'rights' to per-pixel vertex shader techniques?

    --
    Why bother.
    1. 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.
  11. 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?

  12. I can see the FAQ now... by Chazmati · · Score: 5, Funny

    Q: I grabbed Manticore from CVS, but it won't compile on my x86 1.8 GHz P4.
    A: Manticore is a hardware project. You must fabricate the chip using the VHDL files.

    Q: Help, I can't get Manticore to fab.
    A: Are you using an Applied Materials Silicon Etch DPS II Centura 300 etcher? This is the only machine we have access to, we can't support other models.

    Q: I produced a wafer, what next?
    A: Many people use a dremel tool to cut the chip to size and mount in a 432-pin test carrier.

    Q: Do you have a PCB design for AGP4x?
    A: Check the mailing lists, most of the PCB layout guys are quite active there.

    Q: I finally have my Manticore graphics card. Where can I find the drivers?
    A: We need software developers! See http://www.manticore.org/contribute.html for details

    1. Re:I can see the FAQ now... by wowbagger · · Score: 3, Interesting

      I'm sure you were just being funny, but you wouldn't normally try to burn something like this onto an ASIC (application specific integrated circuit) - you'd compile the VHDL and load it into a big hoggin' FPGA (field programmable gate array).

      An ASIC is a chip you have MADE in a foundary - once it's fabbed, it is no more reprogrammable than any other chip. An FPGA is a collection of omni-purpose gates that are controlled by SRAM or flash - you can reprogram it to do what you want just be hitting the reset line and loading a new image into it. At work, we (obdisclaimer - what I post on /. is my opinion, not my employers) use FPGAs to do a lot of signal processing.

      The bad thing is that an FPGA big enough for a decent accelerator would be about a $700-$1500 part.

      Now, what I can see it somebody doing enough devel on this to make a viable part, then getting it burned down to an ASIC and made avaible to the community. Yeah, that worked really well with IBM/Moto's CHIRP PowerPC boards.

      But what could happen is this chip could find its way into the next generation TiVo, or some other set top box. In that market, a synthesizable core that was royalty-free would RULE.

      I agree with some of the other posters, though - ditch the damn VGA compatibility layer, and just make a Linux (and *BSD) kernel console driver for it, an XFree driver, and a very basic BIOS driver for it. The BIOS driver can be stupid - just enough support to set modes, and print text. The kernel driver can take over once the system boots. Don't waste silicon making the framebuffer compatible with VGA (and thus EGA (and thus CGA)) - that design is a flat-out nightmare kludge. Go for a simple, clean, legacy-free design.

      And while you are at it, make sure the DMA path is secure - make sure you can program the chip so that a vertex list entry cannot corrupt system memory. I lurk on the DRI mailing list, and the lengths to which they have to go to keep the graphics chip from being an exploit are ludicuous. It slows down the DRI drivers relative to other so-called operating systems that don't concern themselves with security.

    2. Re:I can see the FAQ now... by Hast · · Score: 2

      Wouldn't be much point in the project if you had to pay more for the chip than for a new super computer, would it?

  13. Manticore? by Bnonn · · Score: 2, Funny

    Anyone who's seen Dark Angel will know they produce some damn nice hardware

    1. Re:Manticore? by liquidsin · · Score: 3, Funny

      I've seen Dark Angel, but I was always more fond of Manticore's software than their hardware...

      --
      do not read this line twice.
    2. Re:Manticore? by silentbozo · · Score: 2

      Yeah, but the workarounds for the existing bugs are a bitch, and they're not releasing the next version for public use...

  14. now all i have to do by Gavitron_zero · · Score: 2, Funny

    is download and compile me up a new videocard. sweet.

  15. Enough with the hardware... by Tet · · Score: 3, Interesting

    While I'm sure this is an admirable project, I'd much rather see icculus rescue me, and remove the only reason I still have a Windows filesystem: Serious Sam. It'd be nice to get AvP, too, but Serious Sam is the one that counts for me. Yeah, I know it's a volunteer effort, but I'd love to see it deliver anyway.

    --
    "The invisible and the non-existent look very much alike." -- Delos B. McKown
  16. Distribution installer support by yerricde · · Score: 2

    I don't think Linux needs VGA text mode

    But the BIOS does. Without a text mode, many versions of BIOS will refuse to complete POST.

    you can compile without any VGA support at all, and assuming you had the appropriate framebuffer driver included, there shouldn't be any problem.

    So how will the Linux distributions' installers support the various flavors of display hardware if they can't fall back on text, VGA, or VESA? That'll make for one big a$$ kernel on the install disc.

    --
    Will I retire or break 10K?
  17. Re:License before LGPL? by liquidsin · · Score: 2

    I think it was BSD, but I'm not entirely sure.

    --
    do not read this line twice.
  18. Some Comments by PhoenxHwk · · Score: 2
    Ok, some quick comments on various things I've read in these threads:
    • This project is meant for FPGAs only, not ASICs
    • It would probably take a Virtex-II FPGA to even remotely compete with a decent accelerator - and these mofo's cost $3000-6000 apiece
    • People would NOT need their own synthesis/implementation tools ($10000) because people could just upload the fully "compiled" bitfile - and they're only around a couple megabytes
    • The circuit board would be a MAJOR problem - board development houses will try to quote you around $50000 to press off ONE sample board
    • High-end FPGAs only run around 100 MHz - how are they going to do memory accesses to 233 MHz DDR and get bandwidth to compete with nVidia?
    • It takes a very nice motherboard to provide enough power to the AGP bus to run one of these guys - I've seen numbers as high as 5 Amps for a chip like we're talking about here

    Ok, all that being said, I think this project is a bit out of scope for what these people want to do. There's a really big reason that nVidia and ATI are where they are - capital and large teams of engineers. 'nuff said.

    1. Re:Some Comments by Judecca · · Score: 3, Interesting

      What we want to do is learn how a 3D core works, and get some exposure.

      The reality is I want to work for NVidia or ATI, and what better way to learn the ropes than to try it yourself.

      Its not for mass consumption. So far we have a working board which can plug a monitor into it and render triangles. Further along than I thought I may ever get.

      Then again maybe some already large company would like to expand their scope, and bring in what will one day be a complete core.

      The reality is, its a learning experience.

      Jeff Mrochuk
      Manticore

    2. 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).

    3. 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

  19. Another hardware proj by krishy · · Score: 2, Interesting

    Well not exactly 3d, but simputer is another hardware project which is released under the modified GPL

  20. Lockheed Martin texture mapping patents by LinuxParanoid · · Score: 2

    And its not just nVidia and ATI, it's even more likely to be earlier 3D players who had more fundamental, less esoteric patents. Companies like Lockheed Martin, SGI and Evans and Sutherland.

    In particular, I believe Lockheed Martin had some fundamental patents on texture mapping that I recall were particularly impossible to get around. Perhaps someone with more knowledge of them can confirm or deny that?

    --LP

  21. Because it's there by connorbd · · Score: 2

    Hey, I think you're doing something pretty cool myself.

    What I'd like to see myself is an open Northbridge chip -- memory controller, PCI controller, probably AGP on board -- just so we can get some cheap PowerPC boards out there. I know there's a PCI controller on Opencores.

    /Brian

  22. Nice.. I'd like to see.. by Ogerman · · Score: 2

    I'd like to see support for really slick hardware alpha acceleration of some sort. I could use that a lot more than extra 3D stuff. Probably so could a lot of business users. Perhaps a good place to start in making something that's cheap and useful.