I see my link to Digilent doesn't immediately turn to code. I also chased down the original Spartan 3 code but, for me, the .zip file is corrupt. I tried a couple of times.
So, attached is the code I used to create an 80x25 VGA display using some code from a fellow in Australia and modified to work in my project. Four files: the main VGA stuff, the char buffer, the char rom (makes the dots), and the attribute ram (change colors).
I worked on this 10 years ago and haven't looked at it since; I am hardly in a position to support the code. You may also find better examples on OpenCores.org
ETA: The code was written for a Spartan 3 but I suspect it doesn't matter very much. There may be some issues with the exact component definition for a Spartan 6 but it should be pretty easy to resolve. At the end of the day, it's about using up some BlockRAM for the 3 memory files. The rest is just code.