Saturday, April 11, 2009

I have the world's worst sleep schedule.

So, I finished assembling the board, and apparently all the crucial parts are working, EXCEPT for the parts that talk to the SNES (Grr....)

I have the same code running on my de2 test prototype and it works fine, but on my board, it reads a rom from the sd card (reads it back to verify), then waits for the snes to talk to it... but the SNES just shows a black screen :(
Lockout chip appears to be functioning, since the snes comes out of reset (my tv screen stays blue if there's no lockout chip).

As a test, I wrote some code to directly output to the snes pins and it appears that some of the IO on the fpga is just straight up not working. In my test, I saw that the DATA_0 io line was always grounded (actual output from fpga, not a solder bridge). This is consistent with the behavior I observed when the SRAM wasn't working properly, too. Also, randomly, the FPGA will just start chewing up current as if there's a short in the IO supply. I am very suspicious of the buffer chips, perhaps feeding back into the FPGA outputs, but it sometimes happens before I even configure the fpga (which means all the fpga output pins should be in hi-z). VERY SNEAKY. My conclusion is that this fpga is just toasted, and I have been trying to somehow bring up another board.

I was able to successfully solder at least one fpga by hand and it appears to be working with an led test, but the board is a little shady since I had used it in an experiment with a griddle. I am hoping it might work, but I guess I'll have to see how it goes tomorrow. when I populate it with a memory chip and the buffers. To be honest, I am not very hopeful.

Perhaps it wasn't the best idea to combine my first pcb design with my first time soldering fine-pitch surface mount components. I have learned a lot over the course of this project, and I think my next plan of action (assuming this board doesn't end up working) is to redesign the whole board and try again.

In the intermediary time, I think I am going to design another board with sram and an sd card slot to plug-in to the sparkfun xilinx fpga breakout board. This way I can avoid soldering a new fpga, and avoid spending extra for thin pcbs (to fit inside the snes). Also, if I can get that to work, then I should be able to just migrate the design to a new pcb 1:1. Since I'll know if the design originally worked, it will take a lot of the guesswork out of "well, maybe this line needs a pullup resistor..." and save much mangling of my pcbs.

hmm.. back to the lab again in the morning...

1 comment: