All,
I was recently asked to do a course, which involves actually showing folks real hardware, with real software.
So, like a good teacher, I went and personally purchased the Digilent pcb (this is not for work!), the USB programming cable, and went at it.
I also downloaded 8.2 webpack, and the service pack.
Actually trying to use your own product can be very educational.
First, I was never able to use the small "boot" loader for webpack (perhaps firewalls, virus checkers, etc. wouldn't let me). Instead, I had to download the 900 Mb full file. Since at home is 144 Kb/sec, I went somewhere where I had 100 Mb/sec access. My recommendation, get the DVD.
Then I had to download the service pack, which is 300 Mb.
OK. Now I just install and go? YES! I am using Windoze XP, not Linux, so I can't say how easy that route would be.
Then I asked a few friends to send me links to projects that run on the pcb. Building very simple (one VHDL module, one ucf file) to more complex projects went well. As long as I did not try to move any files around (never do that: project navigator believes it 'owns' the file system), everything is just fine. Since the last time I actually had to sit down and make bit streams (6.3), the tool (to me) is greatly improved.
I also took a while to find FPGA_Editor, as most people don't care about it anymore, it is relegated to a sub-bullet in the tree of tools. Most of what I do at work involves FPGA_Editor, as I am usually verifying hardware functions, and I do not want the software to "get in my way." But, that is no way to do a real design.
OK. So, I didn't make the pcb, and I didn't have to debug any hardware, but I was able to modify vhdl, compile, place, route, and make bit streams (and they worked).
So, for those who don't know anything, or know a lot and want to know more, I can personally suggest going the Digilent 3S200 $99 pcb route: it is simple, easy, and works. The pcb has a 50 MHz clock, a socket for another clock oscillator, SDRAM for soft processor apps, flash with extra area in it, VGA interface, RS232C interface, pc keyboard interface, and a slew of IOs brought out. Oh, and a 3S200. Which is huge (to me). I usually always try to verify the smallest part (things happen faster). I begin to have an appreciation for someone trying to compile a xcv5lx330 design...
Find the zipped projects for this board, and have at it. Start with something small that already works (like the simple seconds/minutes "clock" -- really a stopwatch), and play around and get more exotic.
San Jose State University, and many other schools and colleges use this platform, so there is a lot of 'underground' stuff there, along with more hardware (if you need it) from Digilent (like A/D, D/A, IO, etc).
It is also quite nostalgic for me, as the Spartan 3 is the old Virtex II in a completely new 90nm cost reduced form (so it feels like an old friend). For those who are reading this for the first time, Virtex II was the part that I was personally involved in. Because I was in the Virtex II DCM team, I also did some of the pre-tapeout verification for the Spartan 3 DCM.
Austin