• Working VGA output on board v0.3

    kmod07/30/2014 at 22:36 0 comments

    I've successfully brought up the VGA output on v0.3 of the board.  v0.3 consists of:

    - A 256-BGA Spartan 6 LX16, for the main raytracing

    - A 128MB DDR3 memory for the frame buffer and geometry +texture memory

    - A backup 64MB DDR memory for if I can't get the DDR3 memory working

    I was worried about the BGA-ness of the FPGA; version 0.2 used a QFP fpga, but all the larger FPGAs only come in BGA packages.  Since the raytracing performance should scale fairly linearly with the amount of FGPA space, I think it's important to gain access to the larger FPGAs.  An LX16 is not that huge, but is the cheapest BGA FPGA on digikey, which I wanted to use for testing since this is my first BGA part I'm trying to use in a real board (I've done some successful tests on test boards though: http://blog.kevmod.com/2014/04/bga-update-first-successes/ ).  The footprint on the v0.3 boards can accomodate an LX25, giving more ray processing space, and a similar footprint (same land pattern different pinout) can be used for the newer Artix parts.  Anyway, as worried as I was about the BGA-ness, the FPGA worked on the first try and we're getting output:

    The monitor on the floor is the FPGA output.  Unfortunately I couldn't convince my phone camera to not clip the brightness in that section of the photo, but I swear it's not washed out in real life!

    There are two parallel paths of work going forward:

    1) getting the dram working (ideally the DDR3 but the DDR would also be acceptable)

    2) getting a very basic raytracer working using only the FPGA's internal memory

    I'm more concerned about #1, and since fixing that may require a new board revision, I think I'm going to tackle that first.  Then again, I'm excited to see something other than a test pattern on the screen, so we'll see!