Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PCIe и CycloneIVGX - как успеть сконфигурировать
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
BOKEN
Добрый день. Читаю про Cyclone IV GX 22 чтобы использовать его на шине PCIexpress ПК.

По требованиям шины устройство должно заявить о своем присутствии на шине за 0.1 секунды!
Можно ли это время увеличить со стороны Компьютера?
Как успеть завершить конфигурирование ПЛИС используя связку ПЛИС - микроконтроллер-конфигуратор (нужен).

Пример - ПЛИС EP4CGX22 - по расчетам получается должна быть сконфигурирована на скорости порядка 50Мбит(SPI) чтобы уложится в 0.1сек (объем ПЛИС - 7600040 бит + с сжатием 35%). Это приличная скорость - на каком МК ее достичь(должен быть ведь еще запас по скорости)?
Может кто делал нечто подобное?
Заранее благодарен.

Andrew Su
Цитата(BOKEN @ Dec 23 2011, 10:59) *
Добрый день. Читаю про Cyclone IV GX 22 чтобы использовать его на шине PCIexpress ПК.

По требованиям шины устройство должно заявить о своем присутствии на шине за 0.1 секунды!
Можно ли это время увеличить со стороны Компьютера?
Как успеть завершить конфигурирование ПЛИС используя связку ПЛИС - микроконтроллер-конфигуратор (нужен).

Пример - ПЛИС EP4CGX22 - по расчетам получается должна быть сконфигурирована на скорости порядка 50Мбит(SPI) чтобы уложится в 0.1сек (объем ПЛИС - 7600040 бит + с сжатием 35%). Это приличная скорость - на каком МК ее достичь(должен быть ведь еще запас по скорости)?
Может кто делал нечто подобное?
Заранее благодарен.

Добрый день.
С Altera не работаю, у Xilinx есть серия Platform Flash XL High-Density Configuration and Storage Device, которые обеспечивают High-Performance FPGA Bitstream Transfer up to 800 Mb/s (50 MHz(1) × 16-bits), Ideal for Virtex-5 FPGA PCI Express® Endpoint Applications.
Наверняка в номенклатуре предлагаемых Altera чипов есть аналогичные FLASH, обеспечивающие необходимое время загрузки FPGA, в которой реализован интерфейс PCI или PCIe.
Сомнительно, что можно успеть это сделать с помощью МК.
Удачи.
BOKEN
Да, у Altera есть подобные FLASH - серии EPCS, но хотелось бы попытаться использовать МК, который возможно будет сопоставим по цене с этой FLASH - но более функциональный.
Муки выбора sm.gif
gosu-art
А если грузить по параллельной шине? Наверняка связь МК с ПЛИСиной будет.


BOKEN
У EP4CGX22 поддержано только последовательное конфигурирование - если не ошибаюсь. Параллельное у более старших Циклонов.
gosu-art
Там, по моему, только для С4Е AP. а для GX FPP можно.
BOKEN
qosu-art вот что пишет ALTERA в Hanbook-e.

For CycloneIVGX devices to meet the PCIe 100ms wake-up time requirement, you
must use passive serial (PS) configuration mode for the EP4CGX15/22/30 devices
and use fast passive parallel (FPP) configuration mode for the EP4CGX30F484 and
EP4CGX50/75/110/150 devices.

FLTI
Цитата(BOKEN @ Dec 23 2011, 15:14) *
qosu-art вот что пишет ALTERA в Hanbook-e.

For CycloneIVGX devices to meet the PCIe 100ms wake-up time requirement, you
must use passive serial (PS) configuration mode for the EP4CGX15/22/30 devices
and use fast passive parallel (FPP) configuration mode for the EP4CGX30F484 and
EP4CGX50/75/110/150 devices.

Есть ли кого-нибудь успешный практический опыт конфигурирования PCIe-платы на базе CycloneIV GX + EPCS по схеме AS?
Например, у меня компрессированный файл .jic имеет размер 3.200.000 бит.
Если вопреки вышеприведённой рекомендациии Альтеры всё-таки использовать конфигурацию AS и если использовать режим CLKUSR с DCLK=40МГц от внешнего генератора ( т.к иначе DCLK может оказаться в среднем 33МГц ), то передача непосредственно компрессированного битстрима займёт 3.200.000 х ( 1 / 40 МГц ) = 80 мс.
То есть в запасе на tRAMP + tPOR остаётся 100-80=20 мс.
А поскольку tRAMP + tPOR=12 мс, то реальный запас 20 - 12 = 8 мс.
Достаточно ли такого запаса, чтобы плата успешно опозналась на любом ПК с PCIe слотом?
krux
в крайнем случае, можно зажать reset, приходящий со слота, и задержать загрузку. ибо он там на материнке в 95% open-drain.
FLTI
Цитата(krux @ Oct 28 2013, 23:07) *
в крайнем случае, можно зажать reset, приходящий со слота, и задержать загрузку. ибо он там на материнке в 95% open-drain.

Зажать с помощью какого сигнала? Вы такое пробовали делать на практике?
Stewart Little
Цитата(BOKEN @ Dec 23 2011, 12:59) *
Как успеть завершить конфигурирование ПЛИС используя связку ПЛИС - микроконтроллер-конфигуратор (нужен).

Для того, чтобы удовлетворить требованиям PCIe для Cyclone IV GX, нужно использовать режим конфигурирования PS (Passive Serial).
Подробности смотрите в хендбуке на четвертый циклон: Configuration and Remote System Upgrades in Cyclone IV Devices
и в документе Parallel Flash Loader Megafunction User Guide
FLTI
Цитата(Stewart Little @ Oct 29 2013, 14:25) *
Для того, чтобы удовлетворить требованиям PCIe для Cyclone IV GX, нужно использовать режим конфигурирования PS (Passive Serial).
Подробности смотрите в хендбуке на четвертый циклон: Configuration and Remote System Upgrades in Cyclone IV Devices
и в документе Parallel Flash Loader Megafunction User Guide

Это я всё видел, но в моём конкретном случае для моего размера .jic файла - почему бы не применить Active Serial + CLKUSR с DCLK=40МГц если по расчёту суммарное время конфигурирования получается меньше 100 мс ?
Или я что-то не учитываю?
FLTI
Цитата(krux @ Oct 28 2013, 23:07) *
в крайнем случае, можно зажать reset, приходящий со слота, и задержать загрузку. ибо он там на материнке в 95% open-drain.

Интересно Вы предложение выдвинули, хотелось бы по-подробнее.
Разве может PCIe плата задержать загрузку ПК воздействуя, на reset, который идёт от ПК на эту плату?
Разве reset - это двунаправленный сигнал?
ilyge
Цитата(krux @ Oct 28 2013, 23:07) *
в крайнем случае, можно зажать reset, приходящий со слота, и задержать загрузку. ибо он там на материнке в 95% open-drain.


Да, наблюдал такой эффект... Машина не грузится если reset зажат... Но мое мнение, лучше этого не делать. sm.gif

Есть еще опция в BIOS : PCIE Reset Delay. Вводит дополнительную задержку при сбросе шины PCI Express. (просто к сведению).
FLTI
Цитата(ilyge @ Nov 10 2013, 01:10) *
Да, наблюдал такой эффект... Машина не грузится если reset зажат... Но мое мнение, лучше этого не делать. sm.gif

Наверное лучше не делать если надолго, а если на лишние 10 - 20 мс, то наверное же можно?
Чем регламентируется допустимое время "зажатия" ресета?
o_khavin
Цитата(FLTI @ Oct 29 2013, 14:56) *
Это я всё видел, но в моём конкретном случае для моего размера .jic файла - почему бы не применить Active Serial + CLKUSR с DCLK=40МГц если по расчёту суммарное время конфигурирования получается меньше 100 мс ?
Или я что-то не учитываю?

Вы как минимум не учитываете время, которое нужно неназванному МК на инициализацию. Также вопрос в том, обеспечит ли МК такую скорость сам по себе и при вычитывании прошивки из памяти, где она будет храниться.
FLTI
Цитата(o_khavin @ Nov 10 2013, 01:30) *
Вы как минимум не учитываете время, которое нужно неназванному МК на инициализацию. Также вопрос в том, обеспечит ли МК такую скорость сам по себе и при вычитывании прошивки из памяти, где она будет храниться.

Инициализация для EP4CGX22 примерно 0,5 мс, это учитываю, но в данном рассчёте пренебрёг.
Да, EP4CGX22 обеспечивает скорость 40 МГц при вычитывании из EPCS.
ilyge
Цитата(FLTI @ Nov 10 2013, 01:19) *
Наверное лучше не делать если надолго, а если на лишние 10 - 20 мс, то наверное же можно?
Чем регламентируется допустимое время "зажатия" ресета?


В моем случае это был баг а не фитча sm.gif Если хотите использовать это как фитчу, лучше попробуйте вначале на какой нибуть плате с PCIe.
FLTI
Цитата(ilyge @ Nov 10 2013, 01:52) *
В моем случае это был баг а не фитча sm.gif Если хотите использовать это как фитчу, лучше попробуйте вначале на какой нибуть плате с PCIe.

Похоже, что это какая-то недокументированная фича.
Возможно, что krux всё-таки разъяснит.
Konst_777
Цитата(BOKEN @ Dec 23 2011, 12:59) *
...По требованиям шины устройство должно заявить о своем присутствии на шине за 0.1 секунды!...

А как обеспечивается горячая замена (hot-plug ) карт с PCIe? Может, посмотреть в эту сторону?
FLTI
Цитата(Konst_777 @ Nov 10 2013, 02:12) *
А как обеспечивается горячая замена (hot-plug ) карт с PCIe? Может, посмотреть в эту сторону?

Т.е когда при включенном ПК вынимаешь из слота одну PCIe карту, вставляешь другую и она на ходу опознаётся в системе?
Но при этом на ходу вставляется же плата не с отсутствующим контроллером PCIe ( каким является ПЛИС до конфигурирования и инициализации ), а с каким-то заказным чипом с зашитым в него PCIe контроллером, ну типа HardCopy.
То есть если применить горячую замену к плате с ПЛИС, то она скорее всего не сконфигурируется и не опознается в ПК.
ilyge
Вот что пишут на alteraforum ALTERA: FPGA configuration time and PCIe specification
Konst_777
Цитата(FLTI @ Nov 10 2013, 01:16) *
...То есть если применить горячую замену к плате с ПЛИС, то она скорее всего не сконфигурируется и не опознается в ПК.

Можно ли выставлять лог. "0" для сигнала PRSNT2# после завершения конфигурации FPGA? Чем может быть полезен сигнал WAKE#?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.