Estoy usando el bloque PCIe de Altera Cyclone IV FPGA, y tengo un problema por el cual la mitad de las ranuras PCIe que he probado (en tres computadoras diferentes) no funcionan.
La depuración con SignalTap muestra que el LTSSM (Link Training y Status State Machine) se atasca en el estado 3, que es el estado de "cumplimiento de sondeo" donde "todas las especificaciones de voltaje, emisión de ruido y temporización están dentro de la tolerancia".
Altera tiene una página de soporte pero no es relevante para el Cyclone IV. Algunos usuarios del hardware de TI también tuvieron un problema similar .
Extrañamente, dada una computadora, algunos de los puertos siempre funcionan y algunos de los puertos siempre fallan, lo que sugiere (con los dedos cruzados) que mi diseño no está fuera de especificaciones. He comprobado que cada puerto PCIe que he probado es al menos gen2 y tiene al menos 4 carriles.
¿Qué podría hacer que el LTSSM se atasque en el "cumplimiento de sondeo"? ¿Cómo puedo depurar el problema?