Здравствуйте, господа. Пытаюсь оживить х8 PCIe проект с использованием аппаратного ядра Xilinx на Virtex5 LXT. Наблюдаю чипскопом внутреннюю шину LTSSM и шины rx и tx каналов между HW endpoint ядром и GTP_dual блоками. Пробую на двух разных материнках: 1.MB на чипсете Intel 945G с интегрированным видеоконтроллером, 1х1 и 1х16 PCIe слотами. Устройство вставляю в х16 слот, пользуясь при этом интегрированным видео. Возможны 3 ситуации, по убыванию степени вероятности, такие: 1.а) Устройство проходит до LTSSM = 2 (polling.active), и остаётся в этом состоянии, причём материнка устройству не отвечает - на rx всегда 0, а на tx вечная TS1. ПК стартует, устройства в системе, естественно, нет. 1.б) Устройство проходит до LTSSM = 3 (polling.config), на rx и tx адекватный обмен TS1 и TS2, по завершении которого материнка посылает устройство в disabled (LTSSM = B). ПК стартует, устройства в системе, естественно, нет. 1.в) Устройство проходит до LTSSM = 4 (L0), затем в рекавери и снова проходит до LTSSM = 4 (L0). По шинам rx и tx видно, что материнка и устройство обмениваются DLLP пакетами (Flow control), после чего материнка посылает единственный TLP - Slot Power Limit message (кстати, моё устройство запитано не от слота, а от дополнительного разъёма), линк остаётся в состоянии 4, но больше ни одного TLP пакета не приходит. ПК не стартует и даже не проводит определение устройств. 2. MB на чипсете Nvidia NForce K8 с 1х4 и 2х16 PCIe слотами. В первом х16 слоте - видеокарта, во второй вставляю своё устройство. Возможны 2 варианта: 2.а) То же, что и вариант 1.в) для предыдущей матери, за исключением того, что линк конфигурируется с первого раза, без рекавери, и ПК стартует нормально, но устройства на шине нет. Все остальные признаки совпадают с вышеописанными. 2.б) Очень редко - в точности то же, что и 1.б) Делал проект для х1 - с ним подобной проблемы не было. Подскажите, куда смотреть?
|