Drakonof 0 9 июня Опубликовано 9 июня (изменено) · Жалоба Привет! Хочу познать PCIe во всех его темных глубинах Накидайте, пожалуйста, идей-проектов покодить на RTL С изернетом всё проще, пиши фильтры, изучай стек, красота, а вот относительно PCIe идей никаких... Заранее спасибо! Изменено 9 июня пользователем Drakonof Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 10 июня Опубликовано 10 июня · Жалоба Проект, позволяющий характеризовать физическое соединение: BER, eye diagram и т.п. Плюс чтобы легко можно было видеть статус установления линка и, возможно, еще какие-то низкоуровневые детали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 10 июня Опубликовано 10 июня · Жалоба 9 hours ago, Drakonof said: ... изучай стек, красота, С PCIe все тоже самое - изучай стек и будет красота ... Поскольку PCIe имеет схожую с Ethernet структуру стека протоколов. Вопрос в том какие глубины (уровни стека) вы хотите кодить/изучать, и в каких "водах" (железе) вы будет это детать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 65 10 июня Опубликовано 10 июня · Жалоба Начать с теории: "PCI Express System Architecture" by Tom Shanley, Don Anderson, Ravi Budruk, MindShare. Дальше в той же Vivado выбрать реализацию (голое ядро, мост axi-pcie или корка с DMA) создать example design, посмотреть, как это собирается, как работает на симуляторе. Позапускать на плате (ките). Дальше сами поймёте, куда копать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Drakonof 0 10 июня Опубликовано 10 июня · Жалоба 6 hours ago, Raven said: Проект, позволяющий характеризовать физическое соединение: BER, eye diagram и т.п. Плюс чтобы легко можно было видеть статус установления линка и, возможно, еще какие-то низкоуровневые детали. Спасибо за ответ, BER тесты уже писал В моих начинания всё крутиться вокруг корки xdma, но на этом всё взаимодействие с PCIe кончается Единственная идея - написать свою корку PCIe или свитч 4 hours ago, RobFPGA said: С PCIe все тоже самое - изучай стек и будет красота ... Поскольку PCIe имеет схожую с Ethernet структуру стека протоколов. Вопрос в том какие глубины (уровни стека) вы хотите кодить/изучать, и в каких "водах" (железе) вы будет это детать? Все уровни стэка обрабатываются в самой корке, в отличии от PCs/pma + Mac, где можно поиграться с фильтрами, в PCIe так, похоже, не получится В этом и сложность)) а так да, конектил к xdma всё что угодно, писал туда питоном, си через mmap, но не хватает, именно, rtl 4 hours ago, dxp said: Начать с теории: "PCI Express System Architecture" by Tom Shanley, Don Anderson, Ravi Budruk, MindShare. Дальше в той же Vivado выбрать реализацию (голое ядро, мост axi-pcie или корка с DMA) создать example design, посмотреть, как это собирается, как работает на симуляторе. Позапускать на плате (ките). Дальше сами поймёте, куда копать. Уже прочитал и позапускал, даже без example, всё сам настраиваю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 10 июня Опубликовано 10 июня · Жалоба 7 minutes ago, Drakonof said: Все уровни стэка обрабатываются в самой корке, в отличии от PCs/pma + Mac, где можно поиграться с фильтрами, в PCIe так, похоже, не получится Не все уровни, если говорить про Hard IP PCIe которая есть в FPGA. В Hard IP релизован на сколько помню только Transaction Layer и Data Link Layer. Application Level (XDMA, axi-bridge ...) и PHY уровень идут отдельно и при желани можете релизовать свой PHY с выходом на PIPE интерфейс в эту корку или погрузится в пучину обработки TLP c/на выхода/входа Transaction Level. На 3-6 месяцев разлечений хватит чтобы повторить функционал XDMA ... Если же будет интересен интимный мир PCIe то тогда можно замахнутся на Soft реализацию PCIe которая включает Transaction Layer и Data Link Layer уровень. Да и по другому (кроме как Soft core) свой PCIe свитч на FPGA не сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 10 июня Опубликовано 10 июня · Жалоба А скажите пожалуйста, стандарт на PCIe открытый ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Drakonof 0 10 июня Опубликовано 10 июня · Жалоба 1 hour ago, RobFPGA said: Не все уровни, если говорить про Hard IP PCIe которая есть в FPGA. В Hard IP релизован на сколько помню только Transaction Layer и Data Link Layer. Application Level (XDMA, axi-bridge ...) и PHY уровень идут отдельно и при желани можете релизовать свой PHY с выходом на PIPE интерфейс в эту корку или погрузится в пучину обработки TLP c/на выхода/входа Transaction Level. На 3-6 месяцев разлечений хватит чтобы повторить функционал XDMA ... Если же будет интересен интимный мир PCIe то тогда можно замахнутся на Soft реализацию PCIe которая включает Transaction Layer и Data Link Layer уровень. Да и по другому (кроме как Soft core) свой PCIe свитч на FPGA не сделать. Мне нравиться, да, думаю, начну со свитча, будет хороший старт) 42 minutes ago, dimka76 said: А скажите пожалуйста, стандарт на PCIe открытый ? Условно да Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_su 1 10 июня Опубликовано 10 июня · Жалоба 45 minutes ago, dimka76 said: А скажите пожалуйста, стандарт на PCIe открытый ? PCI_Express_Base_r3.0_10Nov10.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 10 июня Опубликовано 10 июня · Жалоба Спасибо ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igor657 0 13 июня Опубликовано 13 июня (изменено) · Жалоба Возможно более интересным (перспективным для дальнейшего использования) будет подключение NvME накопителя напрямую к группе трансиверов (без использования PCIe hard block). Изменено 13 июня пользователем Igor657 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 13 июня Опубликовано 13 июня · Жалоба 7 hours ago, Igor657 said: Возможно более интересным (перспективным для дальнейшего использования) будет подключение NvME накопителя напрямую к группе трансиверов (без использования PCIe hard block). А смысл такого неправильного "бутерброда"? NvME по любому подключается к трансиверам (со стороны serial), а вот с другой строны трансиверов (parallel) что вы предполагаете ставить вместо PCIe? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igor657 0 14 июня Опубликовано 14 июня · Жалоба 11 hours ago, RobFPGA said: А смысл такого неправильного "бутерброда"? NvME по любому подключается к трансиверам (со стороны serial), а вот с другой строны трансиверов (parallel) что вы предполагаете ставить вместо PCIe? Pcie блоков в недорогих чипах обычно мало (а если и есть, то выгоднее их использовать для подключения к ПК) а трансиверов может быть довольно много - можно подключить много NvME дисков - тогда можно сделать очень мощную систему сбора данных (например, подключив высокоскоростную фото матрицу) или много AI вычислителей - тогда можно реализовывать более сложные алгоритмы на относительно недорогом железе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 35 14 июня Опубликовано 14 июня · Жалоба 22 minutes ago, Igor657 said: а трансиверов может быть довольно много - можно подключить много NvME дисков Тогда чем вы будете формировать протокол PCIe для управления этими "много NvME дисков"? Много Soft PCIe в недорогом чипе? ... Да и "довольно много" трансиверов в "недорогих чипах" это как то странно. Если уж нашелся такой "недорогой чип" с десятком-другим трансиверов то тогда не NvME а обычные SATA лучше уж подключвать. А для "много NvME дисков" проще использовать готовый недорогой PCIe свитч. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igor657 0 14 июня Опубликовано 14 июня · Жалоба To RobFPGA, а может весь протокол в этих случаях и не нужно будет реализовывать. SATA точно не вариант - он медленный. PCIe свитч в виде чипа - довольно экзотическое изделие в плане практической покупки, особенно в небольших количествах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться