Mining: GetWork, Get Nonce, ???, Submit Hash? I make a getwork request and get back data, hash1, midstate, and target. Mining on a KC705 development FPGA board, and following the readme.md file here:
https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner/tree/master/projects/KC705_experimental

I do a uart_write of a section of data plus the midstate, and that would return the golden nonces. Doing that does in fact return the 0E33337A as stated along with two others, 9CCDEF20 and ACBBA77F.

Now I start getting confused. Given the response from the getwork request and 3 nonces, what exactly am I submitting back? From what I gather, I am supposed to do a hash using each nonce, check it if it's smaller than the target, and if it is, submit that hash?
In KC705_experimental, the readme says the device should return 0E33337A and two other results. It just so happens the bit of test work described in the readme has three different solutions to it.  A mining script should return all three solutions to the server.

fpgaminer, the author of the KC705_experimental code, has written an addon for the Modular Python Bitcoin Miner project (MPBM) to mine using KC705 hardware.  If writing your own mining script you may want to refer to his work.  You can find more information here:  https://bitcointalk.org/index.php?topic=9047.msg2019538#msg2019538