syoma 1 12 сентября, 2017 Опубликовано 12 сентября, 2017 · Жалоба Привет. Может кто сталкивался с разработкой асинхронных PCIe? У нас в системе процессор и ПЛИС тактируются каждый от своих 100МГц. Идет большой трафик и иногда, смотря по FPGA - трафик затыкается на 3-30мкс. Причем задержка фиксированная для определенной хардварной конфигурации. Со стороны FPGA выглядит так, что входные данные вдруг перестают приходить а для передачи Transmit TLP credits начинают стремительно уменьшаться, пока не достигают 0. Через какое-то время кредиты резко появляются и коммуникация возобновляется. Spread-Spectrum и ASPM вроде как отключены. ASYNC включен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 21 сентября, 2017 Опубликовано 21 сентября, 2017 · Жалоба Прогнали BER тесты между ПЛИС через бэкплейн - все работает без ошибок на 5Гбит. Вопрос к знатокам, а можно ли PCIe свичи загнать в режим, в котором можно было бы делать BER тесты - ну например какой-нибудь loopback. PLX/IDT что-то такое поддерживают? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 20 декабря, 2017 Опубликовано 20 декабря, 2017 · Жалоба Обнаружился интересный эффект. Оказалось, что коммуникация затыкается на этапе DDR память - PCIe свитч. Т.е. что-то, блокирует коммуникацию. Я так понимаю, что это возможно процессор во время обработки прерываний, так как блокировки учащаются, если двигать мышкой или нажимать на клавиатуру. Кто-то встречался с таким? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 24 декабря, 2017 Опубликовано 24 декабря, 2017 · Жалоба С таким не сталкивался, не работал с таким конкретно железом. Но попробую пованговать. Первое - что на стороне хоста? Что там за ПО? Какой драйвер? Какой механизм обмена данными? Если полагаетесь на готовые DMA контроллеры готовые драйверы, то понятно что там масса причин почему хост может быть не готов принимать новые данные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 24 декабря, 2017 Опубликовано 24 декабря, 2017 · Жалоба Было дело с затыками записи из FPGA в DDR. Система (чипсет?) не давала сигнал готовности устройству. В тот момент у нас была двухсокетная материнка, и мы свалили это всё на межсокетную когерентность, потому что на односокетной проблема ушла. хотя может быть это просто DDR refresh был или memory scrubbing (ECC). фиг знает. а вообще PCIe - не реалтайм by design, поэтому никто ничего не гарантирует. извините. :ph34r: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 24 декабря, 2017 Опубликовано 24 декабря, 2017 · Жалоба В том-то и дело, что ПЛИС пишет прямо в DDR. При этом, если на хосте крутится Linux, то затыки возникают если просто дернуть мышкой или нажать клавишу на клавиатуре. Если же запустить RTOS(мы используем VxWorks), то затыки почти не проявляются - раз в 5-10 минут, но при этом их длительность становится больше. А что такое DDR refresh? Ей как-то можно управлять? Память с ECC. Хост - процессор Skylake на чипсете CM236 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 26 декабря, 2017 Опубликовано 26 декабря, 2017 · Жалоба Попробуйте в BIOS setup перевести USB 3.0 -> USB 2.0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться