What would be a fun project?

Otto Dafe

Regular
I realize it's kind of lame to ask but I can't come up with a good project idea for my digital hardware design class. Basically I've got about 3 weeks to do something; I've got a Spartan 3 FPGA, a Diligent A/D A/C, and some kind of VGA board I think as well. I was thinking about a hardware ray tracer, but A) it's been done and b) I don't think I care about hardware ray tracing. I'd like to do something that pertains to 3d though, or I don't know, just something cutting edge, even if it's already been done and in production, just something with a relative newness. The last thing we did was a FIR filter, so I've got some VHDL components from that, but I'm just ...bored. Anyone got any ideas for something fun?
 
HW voxel renderer?
Though I guess that board has little onboard memory and bandwidth so big scenes can be complicated.
 
just something cutting edge, even if it's already been done and in production, just something with a relative newness
It's simple - something, anything shiny. If you can add in some bloom as well then you're really onto something. Everything new and cutting edge starts life as something shiny.

Jack
 
Since memory constraints would likely be a problem, :LOL: you could always look into doing a HW rasterizer (ie. primitive GPU).

That could be interesting, I think I have some vague notes about rasterizers in an old OGL textboook, in the history section. I've got 2 MiBs offboard I think (or maybe onboard I dunno). Is a rasterizer just a serial out kind of thing, I guess it must be, as I come up with almost 10 MiBs for a 640x480 frame buffer.
 
why 10 megs? looking at the Voodoo1, it has 2MB framebuffer memory (and 2 or 4MB separate texture memory) and does 640x480 16bit, double buffering, Z-buffer.

what I'm thinking of is vector graphics. you know, stuff like Happy Tree Friends, Another World and boring fonts, that would be something great to accelerate.
 
That could be interesting, I think I have some vague notes about rasterizers in an old OGL textboook, in the history section. I've got 2 MiBs offboard I think (or maybe onboard I dunno). Is a rasterizer just a serial out kind of thing, I guess it must be, as I come up with almost 10 MiBs for a 640x480 frame buffer.


Yeah, one of the benefits to a rasterizer is the relatively low memory requirements, basically a front buffer, back buffer, and z-buffer, of which you could even actually do away with the back buffer if you can tolerate the tearing.

I might start by looking at the old OpenGL 1.1 state diagram

http://opengl.org/documentation/specs/version1.1/state.pdf


Being that it's a class project you obviously won't want to design something that complex but I imagine you could cut it down to something quite reasonable. At which point that leaves plenty of room for discussion in any reports on directions the project could be expanded as well as a discussion on current GPU development trends.
 
I realize it's kind of lame to ask but I can't come up with a good project idea for my digital hardware design class. Basically I've got about 3 weeks to do something;
3 weeks? If it's supposed to work, that somewhat limits your options, doesn't it?

Forget about rasterizers, ray tracers, voxel stuff etc. Way to complex for such a limited time. That kind of stuff would be more suitable for a master's thesis.

If, indeed, you have a working VGA controller such that it display whatever has been stored in memory, how about a small computer game? Nothing fancy: a square moving from left to right on the top of the screen. A canon (also a square) at the bottom in the middle of the screen. A bullet going straight up. Collision detection.

Extra points if the bullet can do not-so-straight lines and if the score is updated on screen.

Sounds simple but usually college level assignments are about traffic light controllers and money counting state machines and even there inexperienced students often need a week to get it right.
 
Listen to silent_guy, pick something incredibly simple and every time you complete it, extend it.
If you do this over the course of a month you will get something big, but you should be able to get something neat completed within 3 weeks.
 
How about a floating point multiply (but ignore the denormalised values). Given < 3 weeks I think you'd be doing well to get that going (once you've done Modified Booth encoding etc etc).
 
Thanks guys. I flunked the class though, so I'm gonna bookmark this for *sigh* next semester. Although maybe I should start now, because I really suck at VHDL. :cry:
 
If you have access to a analog oscilloscope with X-Y mode you could make a vector interface for drawing triangles. This is easy to do and should be possible in 3 weeks time. You will also need fast D/A converters, 12 bit will give you a display of 4096x4096 pixels.

If you want even more fun you could get the triangle data from your own rewritten version of 3Dfx Glide such that you can play old games in wireframe on the oscilloscope. :)
 
Back
Top