Перейти к содержанию
    

Всем привет! Появилась задача поднять PCIe на FPGA (на руках плата с Cyclone 4 GX). Сложности возникают абсолютно на всех стадиях. Сгенерировать Hard IP согласно документации Intel вроде и получается, однако даже со сборкой проекта огромное количество проблем, так как из-за не понимая интерфейса IP ядра не понятно что с чем соединять (очевидно что за информацией нужно идти в альтеровскую документацию на IP ядро, но из-за недостатка опыта не получается вытащить от туда необходимую информацию). Также сложность заключается в том, что почти все проекты в свободном доступе для Xilinx. Буду рад любой помощи от более опытных разработчиков: проекты, ссылки, описания и т д. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Судя по всему интел наглухо потер все reference design в инете.

Попробуйте стащить у terasic https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=745&PartNo=4#contents . Я глянул, там есть пример pcie. Все равно они на базе альтеровских примерах делают

 

Удачи, свой первый pcie я подымал около 4 мес не в зуб ногой )

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проще всего для начала поднять в Platform Designer, создав что то на базе Nios2. Там просто несколько полосочек соединить и оно поедет. Раньше всё время, да и сейчас, делаю на низкоуровневых интерфейсах, и там очень много мелочей, которые надо учесть. Я прекрасно понимаю какой ужас сейчас испытывает автор темы. Но пол года назад попробовал PCI-E вместе с Nios2 - а что, работает тоже!

 

Сейчас напугаю, в Platform Designer с PCI-E ядром некоторых версий, некоторых ПЛИС и прочих комбинаций, возникают ошибки и глюки. Как будете встречать их - ищите в поисковиках, я там находил ответы. Будьте готовы скачать другую версию Quartus Prime чтобы убежать от багов...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 hours ago, Ilya_Msk99 said:

поднять PCIe на FPGA (на руках плата с Cyclone 4 GX)

А попробуйте поискать реф дизайн на Cyclone V GX/GT.
Поскольку и там, и там hard IP, подозреваю, будет много общего. А разобраться что с чем соединять в готовом ref проекте на  Cyclone V GT проще простого. 

Ну и мануал на него нормально читается (правда - пару сотен страниц, но можно читать не всё) - если до того с PCIe не сталкивались.

Вот этот user guide м.б. стоит полистать https://www.intel.co.jp/content/dam/altera-www/global/ja_JP/pdfs/literature/ug/ug_c5_pcie.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 часов назад, new123 сказал:

Судя по всему интел наглухо потер все reference design в инете.

Попробуйте стащить у terasic https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=745&PartNo=4#contents . Я глянул, там есть пример pcie. Все равно они на базе альтеровских примерах делают

 

Удачи, свой первый pcie я подымал около 4 мес не в зуб ногой )

 

Да, я уже качал архив с этого сайта и там вроде есть пример проекта. Только через стандартную версию Quarus проект платформ дизайнера не открывается, необходимо скачать про версию. Попробую скачать

12 часов назад, AVR сказал:

Проще всего для начала поднять в Platform Designer, создав что то на базе Nios2. Там просто несколько полосочек соединить и оно поедет. Раньше всё время, да и сейчас, делаю на низкоуровневых интерфейсах, и там очень много мелочей, которые надо учесть. Я прекрасно понимаю какой ужас сейчас испытывает автор темы. Но пол года назад попробовал PCI-E вместе с Nios2 - а что, работает тоже!

 

Сейчас напугаю, в Platform Designer с PCI-E ядром некоторых версий, некоторых ПЛИС и прочих комбинаций, возникают ошибки и глюки. Как будете встречать их - ищите в поисковиках, я там находил ответы. Будьте готовы скачать другую версию Quartus Prime чтобы убежать от багов...

Спасибо! Кажется хорошая идея, стоит попробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

36 minutes ago, Ilya_Msk99 said:

Только через стандартную версию Quarus проект платформ дизайнера не открывается, необходимо скачать про версию

не уверен что прошка поддерживает CIV. Где то наверное ошибка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Yuri124 сказал:

А попробуйте поискать реф дизайн на Cyclone V GX/GT.
Поскольку и там, и там hard IP, подозреваю, будет много общего. А разобраться что с чем соединять в готовом ref проекте на  Cyclone V GT проще простого. 

Ну и мануал на него нормально читается (правда - пару сотен страниц, но можно читать не всё) - если до того с PCIe не сталкивались.

Вот этот user guide м.б. стоит полистать https://www.intel.co.jp/content/dam/altera-www/global/ja_JP/pdfs/literature/ug/ug_c5_pcie.pdf

За несколько дней не нашел ни одного подходящего дизайна для моего проекта. Искал как для 4, так и 5 циклона (в том числе и на сайте https://fpgacloud.intel.com/devstore/platform/?page=1&acds_version=any&family=cyclone-v). В основном проблема в том, что у Интел все ссылки не рабочие, а остальные проекты для корневого порта и к тому же нагружены уж очень слишком и точно не подходят для начала. А по поводу документации это конечно правильный совет, но после того как я сгенерил IP ядро я получил 50+ пинов и конечно, если другие способы не сработают останется только читать в документации каждый пин в отдельности, пытаться что-то с коммутировать и надеяться что все заработает.

2 минуты назад, new123 сказал:

не уверен что прошка поддерживает CIV. Где то наверное ошибка

Насколько я знаю не поддерживает. Но платформ дизайнер совершенно точно требует про версию. Ничего не остается - только пробовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот тут кое-что еще есть https://community.intel.com/t5/FPGA-Wiki/PCI-Express-in-Qsys-Example-Designs/ta-p/735762

Попробуйте посмотреть не на Цыклоны, а на более старшие их товарищи - Стратиксы.

В QSYS думаю, проекты очень похожие (аналогичные), только надо будет изменить целевую микросхему.

К примеру, на Cyclone V когда генерировал - вываливалась туча ворнингов, явно относящихся к Stratix V. Отсюда вывод - изначально проект делался для этого чипа, а потом сделали кучу клонов под более младшие модели FPGA, не вылизывая их. Но - рабочее.

И  - как-то пробовал перекомпилировать проект с Cyclone V на Arria V( т.к. вторая - более быстрая, а при попытке генерировать на Cyclone Vто, что нужно было, не сходилась времянка) - сходу получилось, без всяких изменений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

46 minutes ago, Ilya_Msk99 said:

Но платформ дизайнер совершенно точно требует про версию

открыл я этот проект, даже с ходу не нашел qsys. Ни в pro, ни в standart. Стал разбираться, а там все руками собрано, на базе корки PCI Express Compiler

 

46 minutes ago, Ilya_Msk99 said:

получил 50+ пинов и конечно

Все сводится в проекте этом (как и вашем будущем) к подключению около десяти сигналов. (хотя в самом топе да, там полный ужас около 30)

module top_example_chaining_top (
    // inputs:
    local_rstn_ext,
    pcie_rstn,
    reconfig_clk,
    refclk,
    rx_in0,
    rx_in1,
    rx_in2,
    rx_in3,
    usr_sw,

    // outputs:
    L0_led,
    alive_led,
    comp_led,
    lane_active_led,
    tx_out0,
    tx_out1,
    tx_out2,
    tx_out3
)
 

юзер_резет, резет_pcie_пина, клок_реконфигурации, реф_клок_с_разъема, трансиверы_rx
куча_статусных_ледов, трансиверы_tx

вдобавок от куда то нужно будет забрать клок из корки для вашей user_logic + скорее всего подключить тестовый (test_in)

 

я так понял, CIVGX потянет еще и dma движок (и в проекте он есть вроде), это уже следующая задача

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 минут назад, new123 сказал:

Все сводится в проекте этом (как и вашем будущем) к подключению около десяти сигналов. (хотя в самом топе да, там полный ужас около 30)


module top_example_chaining_top (
    // inputs:
    local_rstn_ext,
    pcie_rstn,
    reconfig_clk,
    refclk,
    rx_in0,
    rx_in1,
    rx_in2,
    rx_in3,
    usr_sw,

    // outputs:
    L0_led,
    alive_led,
    comp_led,
    lane_active_led,
    tx_out0,
    tx_out1,
    tx_out2,
    tx_out3
)
 

юзер_резет, резет_pcie_пина, клок_реконфигурации, реф_клок_с_разъема, трансиверы_rx
куча_статусных_ледов, трансиверы_tx

вдобавок от куда то нужно будет забрать клок из корки для вашей user_logic + скорее всего подключить тестовый (test_in)

 

я так понял, CIVGX потянет еще и dma движок (и в проекте он есть вроде), это уже следующая задача

У меня есть этот проект, там используется старая версия IP ядра. Те пины, что Вы привели - с ними все ясно, это то что идет напрямую с разъема PCIe. Но в этом проекте кроме этих нескольких пинов на сгенеренное ядро больше ничего не заводится и все остальные пины этого ядра болтаются в воздухе. В этом вся проблема

20 минут назад, new123 сказал:

открыл я этот проект, даже с ходу не нашел qsys. Ни в pro, ни в standart. Стал разбираться, а там все руками собрано, на базе корки PCI Express Compiler

Проект платформ дизайнера для про версии это я нашел в подобном архиве для циклона 10, тоже на сайте терасика

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 minutes ago, Ilya_Msk99 said:

и это я нашел в подобном архиве для циклона 10

с этого и надо было начинать )) Все десятки идут под pro версию. Я думаю надо начать с теоретической части и мануала. Я не стал поправлять выше Юрия, но под слабые чипы, которые только только начинали поддерживать PCIE не идут современные корки, которые упомянул Юрий и вы. Вроде как подходит только PCI Express Compiler. Но это не точно. Пока что лень мануал читать, читал про это года 4 назад

 

Я вам кстати дал пример именно по CIVGX

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 minutes ago, new123 said:

Я не стал поправлять выше Юрия, но под слабые чипы, которые только только начинали поддерживать PCIE не идут современные корки, которые упомянул Юрий

так судя по названиям тех архивов, что я дал ссылку - там под Quartus 13-14 собиралось, откуда там современное могло взяться :)

Под Cyclone V точно было рабочее всё (что-то не очень масштабировалось из-за слабого быстродействия этого чипа, но работало даже со слаками).

Я, возможно, не понял ТС - подумал, что у него неясности по соединениям в QSYS блочков, из которых образовано ядро...

 

Изменено пользователем Yuri124

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 минут назад, new123 сказал:

с этого и надо было начинать )) Все десятки идут под pro версию. Я думаю надо начать с теоретической части и мануала. Я не стал поправлять выше Юрия, но под слабые чипы, которые только только начинали поддерживать PCIE не идут современные корки, которые упомянул Юрий и вы. Вроде как подходит только PCI Express Compiler. Но это не точно. Пока что лень мануал читать, читал про это года 4 назад

 

Я вам кстати дал пример именно по CIVGX

 

Я уже скачивал ранее архив по той ссылке что Вы приводили для циклона 4, но там нет проекта для PCIe 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, Ilya_Msk99 said:

уже скачивал ранее архив

пробовали смотреть 

Stratix IV GX devkit: https://www.intel.com/content/dam/altera-www/global/en_US/uploads/e/e5/S4gx230_qsys_pcie_gen2x4.zip ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, Yuri124 said:

Под Cyclone V точно было рабочее всё

а с них начиная и пошло hard ip v-series и потом они же перекочевали плавно на все десятые серии, за исключением, что под stratix 10 сделали дополнительную корку на 256Mhz gen3 x16. Я с ней  провозился месяц, официально исправил два бага, после чего бросил это дело и вернулся на 256Mhz gen3 x8 стандартную обкатанную корку

5 hours ago, Ilya_Msk99 said:

Я уже скачивал ранее архив по той ссылке что Вы приводили для циклона 4, но там нет проекта для PCIe 

ну как же нет, я прежде чем скинуть ссылку, скачал все проверил. И код с ней здесь приложил

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...