The Digilent Adept tool, in addition to programming the FPGA on the Nexys2 board, also allows you to communicate with your designs over the same USB connection, with Adept setting and reading register values in the FPGA. In order to do this your design must implement the Enhanced Parallel Port (EPP) protocol. Digilent provide a reference design for this, which is a bit clunky, requiring synthesis hints to avoid glitches during state transitions. I rewrote it to be a little cleaner. Once you have built this design using ISE WebPack and used Adept to load it into your Nexys2, you can select Adept's "Register I/O" tab and write some values to the four EPP registers, and see that the values are read back correctly:
So far so good. But those four registers currently do nothing at all. You can write to them and read the values back, but the registers are not wired to anything else in the FPGA. This oversight is fixed with minimal changes in a second example. This time, the behaviour of registers
0x02 is the same as before, but any value written to register
0x03 is displayed on the eight LEDs on the Nexys2 board. And when register
0x03 is read, the value returned is not the value previously written, but the current state of the eight switches on the Nexys2 board.