I'm hoping for some advice or links to resources that will help me continue my FPGA exploration. Sorry if this is a bit rambling.
I have a few issues that keep occurring but I can't pin down. I don't really know enough about how things work on the inside to make progress on my own.
1/- I have been experiencing an issue where my design doesn't run at all, or runs for a few seconds and then stops. When this happens, all the LEDs on the blackice board come on. After placement:
PIOs 34 / 107
PLBs 193 / 960
BRAMs 0 / 32
Timing estimate: 10.45 ns (95.68 MHz)
I added a reset button, but pressing it doesn't do anything (it works when the design is functioning).
2/- I have a video driver module, and sometimes the monitor won't sync because even though the pixel clock remains at its intended 25Mhz, the vsync and hsync pulses are happening twice as fast. They are generated from simple counters from the vga clock, so I don't have a clue why they could be happening twice as fast. Something happening to the clock and the counter is triggering twice per cycle?
3/- I'm using an I2C module, sometimes the clock is just very short pulses, not the expected square wave. Sometimes the peripheral (a camera) still works, but often not.
I've tried things like using `ifdefs to block out chunks of the design, and often if I comment out enough I can get things working again. But often the stuff I'm commenting out doesn't appear to me that it should affect the parts of the design that are showing problems.
I've also tried making minimal demonstrations of my issues, but all the modules function fine on their own. My problems seem to be related to the design as a whole.
I'm trying to keep to a single clock, keep things synchronous, generally following the guides, but I don't really know how to progress - it's really frustrating! I've been simulating the design, and following this blog: http://zipcpu.com/.
So in sum, I feel like I have some good tools to design and debug my designs (simulation, using the serial port to step through designs), keeping things modular. But the problems I have seem to me more about the actual hardware.
Any guidance appreciated. And if you're interested in looking at the design - my current development branch is here: