Added: 1 year ago
From: MrLambdaUser
Views: 7,696
Sort by time | Sort by thread (beta)

Link to this comment:

Share to:

All Comments (30)

Sign In or Sign Up now to post a comment!
  • ok so there's no documentation for the source...can i get a copy of your mentalware instead ?

  • What you've built is great! How big is the physical system? Also, what were the time and money costs?

  • @MrLambdaUser

    Yes, it's a very good idea to separate it into parts like CPU --> [ Command decoder --> Drawing modules --> Video buffer --> VGA frame generator ]. Recently, I have been looking at the Video Buffer part, and the timing is very difficult. I don't know if I need to use SDRAM, or SRAM for the speed. Even with the double buffering, I still have to access the RAM very many times. For the RAM interface, do you make a 'memory controller' and have a FIFO there as well?

  • This is so awesome. I'm a college student and I wanted to start my own project over this break for building a very simple GPU in VHDL. I've looked online for material, but I still can't figure out how to start at all. I don't want a complex GPU to start with. Only something that can draw lines and pixels. Then I will expand to triangles and shading. Could you help set me in the right direction?

  • @makorihi - Response part 1/3

    Hello makorihi! Here's a possible solution : first, you need to do a VGA frame generator able to display a simple video buffer stored in RAM. So, you will be able to draw graphics (pixel by pixel) with a processor.

    Then, for drawing accelerated pictures (without stretching and rotation), lines, rectangles, etc., working by layer is needed.

    ...

  • @makorihi - Response part 2/3

    A solution consists to make a mini-GPU that can draw these in a specific order into the VGA buffer (at this point, you need to modify the VGA frame generator for manage double-buffering). A typical structure for this GPU is a command interpreter (e.g: "draw pict. at pos X,Y") that sequence the drawning into the video buffer using dedicated blocks (line drawner, pict. drawner,...).

    ...

  • @makorihi - Response part 3/3

    Other interessant things : Using a FIFO for the GPU commands and 'pipeline' all drawing operations.

    In summary : CPU --> [ Command decoder --> Drawing modules --> Video buffer --> VGA frame generator ]

    ...it's a good start and this can give very good results ;)

  • WoW Really impressiv and tricky, you are slowing down rendering instead of skipping frames for an constant game speed ;)

  • hey MrLambda, et all, this is pretty awesome, especially learning. props for documenting so well, its just too bad some people cant appreciate. awesome job! do you have a site? code repo? etc?

  • @brianfreardon

    We have quickly implemented and programed this system. So, the VHDL/C++ sources are largely too less commented, and still less documented..... That's mainly why we haven't shared the project.

  • How did you do the video graphics (the rendering, zooming, panning) of the FPGA and CPU chips in the first 7-15 seconds? What software package(s) was/were used? Impressive project as well,

    Thanks

  • @thomas49th

    The first 55 seconds are one (of 3) unique 3D scene made and rendered with 'Blender V2.49b'. 'GIMP' was used for some textures, like the text on the FPGA/CPU ICs. The camera orientation/position, arrows movements, lamps intensity and some shaders/textures parameters are controlled with IPO curves.

  • @javier29m90

    Miaouuuuuuuu not fake :p

  • What is the use of this type of computer when we can own a simple computer less than its price....describe me plz

  • @ssuetfahad

    Simply just for fun ! For learning, price isn't really a big priority... ;)

  • Probably also costed a leg and an arm. :-P 

  • I'm the beginner of FPGA Programming to, I'm majored in Computer Engineering, your demo is awesome and a very inspired work.

  • you rock!

  • Do you have to customize some parts in BOX2D Library for running on ARM ?

  • @tennirva

    Only the existing "debug drow function". If i remember true, they are empty when you download source.

    mouse/keyboard input of the code example

  • Does this project use an OS ?

  • @tennirva

    No, the project is based on a single executable booted from the SD Card.

  • VERY impressive.

  • HOLLY COW!

  • SUPERB... OUTSTANDING...!! GREAT WORK...!!

  • Man, this is really impressive and absolutely amazing!!!

  • outstanding!!

    how much time did it take to finish developing this system (including software &HDL)??

  • @nightknightful

    It took us a little more than one year.

  • Exceptionnel! Vraiment superbe! Donne un bon apercu de votre gigantesque travail!

Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more