Forum Discussion
Altera_Forum
Honored Contributor
13 years agoHi Dave,
--- Quote Start --- Thanks for the reply. Perhaps I was not clear, the Cyclone II is not making the PCIe interface for that I have a PLX 8311 PCIe to local bus bridge. The PCIe comes up fine, trouble is Cyclone has not loaded so the local bus logic does not operate. --- Quote End --- Can you confirm that the Cyclone II has not been configured, rather than its not working correctly? For example, consider the situation where your reset logic is wrong (just for example). On the old PCs, PCIe RST# might have been asserted long enough that your FPGA configured, saw RST# asserted, and the registers configured to their reset state. Now on the new PCs, lets say PCIe RST# deasserts faster than your Cyclone configuration time, so now the reset state of the FPGA is determined by the default value of the signals in your design. Perhaps those defaults are not correct, and you never noticed before, because each process was initialized by reset. You can test this theory by running a simulation of the Cyclone design without asserting reset at the start of your simulation. Of course this theory could be completely wrong. Its just one of those cases of "it used to work, but now it doesn't" :) Your Cyclone logic should also include reset synchronizers to ensure that reset deasserts synchronous to any clocks in the design. For example, if you have a local bus clock and a separate FPGA clock, then those two clock domains should have independent reset synchronizers. When faced with this type of issue, I typically create a design with a JTAG master, and poke around to see whats working after reset and what is not. Cheers, Dave