I’m having trouble with the memtest example. It seems that the calibration is not reliable. In one test, I ran the test continuously for an entire weekend with a fan running on it with 0 failures and without stopping, ran it another 24 hours without failures with the fan removed and the FPGA covered in insulation to get it as hot as possible (about 75C). So I know the mem test works fine if it starts on a good foot.
However, when I start the test, I have a large probability that I will get a lot of errors, sometimes 30%, sometimes 60%, sometimes 10% which continue indefinitely. If I restart it, which reconfigures the FPGA and thus redoes the calibration step, it may or may not work correctly, even if the fan is running. It does not appear to be heat related, as my example with the fan and no fan shows it can work fine.
So I am trying to rebuild the MIG using the latest MIG (3.9) for Spartan 6. I’m using the example_top project, with only the infrastructure module from the memtest project. However, it doesn’t seem to work at all - the calib_done signal does not go high when viewed through chipscope. Is there some sample code for MIG 3.9 ?
One thing I noticed that I don’t understand is that the memtest project does not correctly wire reset to any external pin, so I’m guessing that it is floating (and probably pulled weakly low). Is this a undocumented feature, or was this unintended?
Is there a system reset line on the 6110 board that I can route into my design at the top level, that is asserted and deasserted by the PCI logic when it is configured? If not, how should I deal with Reset without wiring my own button to one of the IOs?