реклама на сайте
подробности

 
 
> FPGA configuration from PCI bus
leevv
сообщение Dec 2 2005, 17:55
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 4-01-05
Пользователь №: 1 799



Uvagaemyje PCI specialisty.

U menja vopros.

Dopustim Ja hochu ispolzovat' dlya "PCI card" FPGA s target PCI core (32/64,33/66 vse ravno).

Est' li sposob sconfigurirovat' FPGA prjamo cherez PCI interface, ne ispolzuja sovsem flash na bortu?

To est' pri vklucheniju pitanija snachala FPGA configuriruetsja, a zatem uge FPGA rabotaet kak PCI target.

Nugno li pri etom imet' dopolnitel'nuju memory typa EEPROM? Ili vse neobhodimuju informaciju mogno razmestit' v FPGA image?


Cel' vsego etogo - minimizirovat' kolichestvo komponentov na plate i vozmognost' legkogo "FPGA firmware upgrade".
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 22)
Black Pahan
сообщение Dec 2 2005, 18:45
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 117
Регистрация: 21-07-05
Из: Новосибирск
Пользователь №: 6 978



Нет, нельзя.
К тому же если вы готовы согласиться на "dopolnitel'nuju memory typa EEPROM", то чем вас Flash не устраивает. Это ведь тоже EEPROM только с постраничным (поблочным) стиранием/записью.


--------------------
Из того, что дуракам закон не писан, вовсе не следует, что они не принимают участия в их написании.
Go to the top of the page
 
+Quote Post
leevv
сообщение Dec 2 2005, 19:50
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 4-01-05
Пользователь №: 1 799



Ideja v tom chto FPGA budet sodergat' kuchu vsego + "PCI core".
Esli "configuration memory" nahoditsja na kartochke, to sootvetstvenno dlja "FPGA upgrade" mne nugno budet kartochku vynimat' i zagrugat' novyj "image".
A tak bylo by zdorovo delat' upgrade prjamo s PC, tak ge kak "software upgrade".
Go to the top of the page
 
+Quote Post
Black Pahan
сообщение Dec 2 2005, 20:08
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 117
Регистрация: 21-07-05
Из: Новосибирск
Пользователь №: 6 978



Бло бы .. но IMHO не получится.
Можно конечно грузить ПЛИС с проца или контроллера и организовать upgrade с их помощью, но не стоит доверять юзеру upgrade прошивки (опять же IMHO).


--------------------
Из того, что дуракам закон не писан, вовсе не следует, что они не принимают участия в их написании.
Go to the top of the page
 
+Quote Post
DeadMoroz
сообщение Dec 3 2005, 10:40
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-02-05
Пользователь №: 2 391



Я думаю, что такое возможно. Насколько я понял, Вам хотелось бы изменять прошивку FPGA максимально просто (для обычного пользователя устройства). Если использовать Cyclon + EPCS конфигуратор, то с помощью ASMI контроллера можно получить доступ EPCS, который как известно является простой SPI флешкой. Тогда софт через PCI передает новую прошивку на Cyclon, он ее заливает в EPCS. После перезагрузки Cyclon загрузится с новой прошивкой. Примерно так.
Go to the top of the page
 
+Quote Post
leevv
сообщение Dec 3 2005, 21:11
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 4-01-05
Пользователь №: 1 799



>Я думаю, что такое возможно. Насколько я понял, Вам хотелось бы изменять прошивку FPGA >максимально просто (для обычного пользователя устройства). Если использовать Cyclon + EPCS >конфигуратор, то с помощью ASMI контроллера можно получить доступ EPCS, который как известно >является простой SPI флешкой. Тогда софт через PCI передает новую прошивку на Cyclon, он ее
>заливает в EPCS. После перезагрузки Cyclon загрузится с новой прошивкой. Примерно так.

Mogno sdelat' i tak , tol'ko est' vopros nadegnosti. Neobhodimo budet imet' neskol'ko "FPGA images". Inache predstavte chto budet esli v moment "update" flash kto-to
vykluchit pitanie. Plata ne podnimetsja.

Ja obdumyval neskolko drugoe reshenie - ispolsovat' nechto vrode CPLD ("Nonvolatile FPGA"), naprimer Lattice XP, kotoraja imeet flash na bortu i moget vmestit' PCI core. CPLD moget po "komande" PC pereconfigurirovat' FPGA. Eto reshenie bolee nadegnoe.

No.. Vsegda hochetsja nemnogo bol'shego.

Dl'ja zagruzki FPGA vprincipe nugno tol'ko neskolko GPIO (General Purpose Input Output) pinov, kotorymi moget upravljat' processor. Ja nadejalsja chto ih mogno kakim to obrazom poluchit' s PCI bus.

No vidimo etogo sdelat' nel'zja.
Go to the top of the page
 
+Quote Post
irum4
сообщение Dec 4 2005, 11:22
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 18-06-04
Пользователь №: 54



А как часто необходимо апдейтить программу конфигурации? Я ставил на плате Flash і FT245BM+USB разъем. Jtaq Flash-ки подключал к выходу FT245BM. В случае необходимости апдейта подключал юсб-кабель и своей програмкой перешивал Flash.


--------------------
Электроника - наука о контактах.
Go to the top of the page
 
+Quote Post
DeadMoroz
сообщение Dec 5 2005, 08:26
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-02-05
Пользователь №: 2 391



Ну вроде как на шине PCI есть JTAG пины, может (теоретически) их можно использовать...
Go to the top of the page
 
+Quote Post
irum4
сообщение Dec 5 2005, 10:16
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 18-06-04
Пользователь №: 54



Цитата(DeadMoroz @ Dec 5 2005, 10:26) *
Ну вроде как на шине PCI есть JTAG пины, может (теоретически) их можно использовать...

JTAG пины задействованы не на всех материнках, а только, если не ошибаюсь на серверных.


--------------------
Электроника - наука о контактах.
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Dec 8 2005, 17:18
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Есть еще интересная идея - назывется SMBus. Ставим небольшой контроллер с I2C интерфейсом и на новых Intel'овских материнках получаем все просто и без всякого гемороя. При этом работа по SMBus не зависит от того имеется ли прошивка в FPGA или нет. Единственный минус - нужны НОВЫЕ Intel'овские мамки cranky.gif


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
beg
сообщение Dec 8 2005, 19:11
Сообщение #11


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 11-06-05
Из: М. О.
Пользователь №: 5 926



Для этого FPGA должен иметь конфигурационный порт, доступный по PCI. Этот порт должен быть энергонезависимым и конфигурироваться отдельно от основного FPGA. Проект по таким правилам был реализован, но на VME. Контроллер VME, контроллер локального интерфейса и конфигурационный порт сделаны на CPLD, они практически не меняются. Конфигурация FPGA загружается центральным процессором системы через VME и конфиг. порт из файла. Микросхем flash-памяти на модуле вообще нет. Проект существует около 5 лет, за это время внесены десятки изменений, в систему они вводятся простой заменой файла конфигурации. Для PCI, скорее всего CPLD не подойдет, потребуются FPGA и конфигурационное ПЗУ. Так же, как и CPLD, его можно будет зашить через JTAG после изготовления модуля. Эта часть изменяется редко. А конфигурацию основного FPGA может из файла закачивать процессор системы, например при загрузке драйвера. Для Virtex например, алгоритм примитивный. Удачи.
Go to the top of the page
 
+Quote Post
leevv
сообщение Dec 8 2005, 22:07
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 4-01-05
Пользователь №: 1 799



Цитата(v_mirgorodsky @ Dec 8 2005, 12:18) *
Есть еще интересная идея - назывется SMBus. Ставим небольшой контроллер с I2C интерфейсом и на новых Intel'овских материнках получаем все просто и без всякого гемороя. При этом работа по SMBus не зависит от того имеется ли прошивка в FPGA или нет. Единственный минус - нужны НОВЫЕ Intel'овские мамки cranky.gif



Spasibo, Deistvitelno interesnaja ideja.
Mogno postavit' I2C bus GPIO ot Philips naprimer i gruzit' cherez nego.
A ne podskagete kak osushestvljaetsja dostup k etoj SMBus so storony processora? Net li tam kakih to zamorochek?
Go to the top of the page
 
+Quote Post
-Al-
сообщение Dec 9 2005, 05:17
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(leevv @ Dec 9 2005, 01:07) *
Spasibo, Deistvitelno interesnaja ideja.
Mogno postavit' I2C bus GPIO ot Philips naprimer i gruzit' cherez nego.
A ne podskagete kak osushestvljaetsja dostup k etoj SMBus so storony processora? Net li tam kakih to zamorochek?

Ну это изначально мертвое решение... во первых на этой SMBus висит еще несколько системных устройств; во вторых для загрузки ПЛИС это достаточно медленный интерфейс... и не будет 100% уверенности, что в каждой материнской плате это будет...
Поставьте на свою плату лучше еще одну ПЛИС и пусть она занимается конфигурированием основной ПЛИС по той-же PCI!
И еще одно НО... PCI core НЕЛЬЗЯ ГРУЗИТЬ ПОСЛЕ ЗАГРУЗКИ КОМПА! он уже должен присутствовать на плате железно! Все остально можете потом подгружать, только нельзя уже PCI core трогать. Так что в Вашем случае единственным вариантом будет 2 ПЛИС: PCI core с модулем загрузки основной ПЛИС и собственно основная ПЛИС, в которую загрузите чего захотите.

Сообщение отредактировал -Al- - Dec 9 2005, 05:47
Go to the top of the page
 
+Quote Post
DeadMoroz
сообщение Dec 9 2005, 08:18
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-02-05
Пользователь №: 2 391



Почему нельзя грузить? Я думаю, что можно, НО необходимо
1) обеспечить перевод всех ног, соединенных с ПИСИАЙ в третье состояние воизбежание конфликтов на шине
2) обеспечить перезагрузку компа для выполнения новой конфигурации устройств

Насчет SMBus\I2C думаю, что достучаться до нее трудно, проблемы с работой на разных матерях гарантированы.
Go to the top of the page
 
+Quote Post
irum4
сообщение Dec 9 2005, 08:20
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 18-06-04
Пользователь №: 54



Цитата(-Al- @ Dec 9 2005, 07:17) *
И еще одно НО... PCI core НЕЛЬЗЯ ГРУЗИТЬ ПОСЛЕ ЗАГРУЗКИ КОМПА! он уже должен присутствовать на плате железно!


Ну при желании можно и перегрузить комп после загрузки FPGA... biggrin.gif
И так после каждой перегрузки FPGA... maniac.gif И тот кто будет работать за этим компом будет вспоминать разработчика "нэ злым, тыхым словом", постоянно twak.gif
Не надо жлобится на еще одну плисину. Абсолютно согласен с -Al-: 2 Плиски и имеете универсальную гибкую систему на которой будет удобно работать.


--------------------
Электроника - наука о контактах.
Go to the top of the page
 
+Quote Post
-Al-
сообщение Dec 9 2005, 08:28
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(DeadMoroz @ Dec 9 2005, 11:18) *
Почему нельзя грузить? Я думаю, что можно, НО необходимо
1) обеспечить перевод всех ног, соединенных с ПИСИАЙ в третье состояние воизбежание конфликтов на шине
2) обеспечить перезагрузку компа для выполнения новой конфигурации устройств

Насчет SMBus\I2C думаю, что достучаться до нее трудно, проблемы с работой на разных матерях гарантированы.

Даже если вырубишь все ноги в третье состояние, то кто PCI устройство будет инициализировать, ааа??? По Вашему получется надо загрузить ПЛИС, выполнить перезагрузку компа и после этого устройство начнеи работать.... да Вас заказчик точно пошлет куда подальше с такой фигней! да еще придется дополнительно разявзку на шину PCI ставить! Лучше поставьте еще одну ПЛИС и не мучайте ни себя ни тех, кто будет с этой железкой работать, а про I2C забудьте вообще!
Go to the top of the page
 
+Quote Post
DeadMoroz
сообщение Dec 9 2005, 09:25
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-02-05
Пользователь №: 2 391



Вот мои соображения.
У человека есть следующие требования:
1) минимальное количество элементов
2) максимально простой софт-апгрейд со стороны пользователя
Конечно для выбора лучшего варианта исходных данных маловато, но я себе представляю это дело так. Для обеспечения требования 1 в схеме должна быть 1 FPGA которая с одной стороны обеспечивает интерфейс PCI, с другой - с остальными компонентами (неизвестно какими). Эта FPGA грузится конфигуратором. Обеспечение требования 2 выполняется программой, которая передает новый файл конфигурации по PCI на FPGA, FPGA перезаписывает конфигуратор, далее выполняется перезагрузка, FPGA грузится новой прошивкой, происходит конфигурация PCI устройств. Недостатки данного способа: необходимость обеспечения питания при записи новой прошивки в конфигуратор.
Другой вариант - использование 2х FPGA, одна обеспечивает интерфейс PCI, связь со 2й и перезапись кофигуратора для 2й FPGA, прошивка для нее не меняется, 2я FPGA выполняет что надо. В таком случае программа по PCI передает новую конфигурацию на 1ю FPGA, она перезаписывает конфигуратор 2й FPGA и обеспечивает для нее сигнал реконфигурации. Недостаток: 2 камня.

Вообще проблема кажется надуманой. Если с платой работает разработчик, то для изменения прошивок идеально подходит например Altera ByteBlaster. Если же с платой работает пользователь, то частое изменение прошивок по меньшей мере не серьезно.
Насчет ресета компа тоже проблемы не вижу. Неужели Вы не сталкивались с просьбой Win перезагрузить комп для того, чтобы изменения вступили в силу? По-моему это обычная практика. Но если это так важно, то можно и поизвращаться и сохранять параметры конфигурации во внешней памяти (той же EPCS)?
Go to the top of the page
 
+Quote Post
-Al-
сообщение Dec 9 2005, 10:01
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(DeadMoroz @ Dec 9 2005, 12:25) *
Неужели Вы не сталкивались с просьбой Win перезагрузить комп для того, чтобы изменения вступили в силу? По-моему это обычная практика.

Сталкивались.. только здесь не тот случай... в предлагаемой конфигурации предполагается, что для начала работы с железкой надо после каждого включения компьютера каждый раз его еще перегружать, чтоб в ПЛИС программу загрузить, т.к. набортной памяти у платы не предполагается... БРЕД... это уже ни в какие рамки не лезет...

Сообщение отредактировал -Al- - Dec 9 2005, 10:02
Go to the top of the page
 
+Quote Post
DeadMoroz
сообщение Dec 9 2005, 10:42
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-02-05
Пользователь №: 2 391



Мож я чего не понял, еще раз - я предполагаю, что на плате имеется FPGA+конфигуратор. При включении питания или перезагрузке компа FPGA грузится с конфигуратора. Что значит в "набортной памяти у платы не предполагается", где бред?
Go to the top of the page
 
+Quote Post
-Al-
сообщение Dec 9 2005, 10:55
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(DeadMoroz @ Dec 9 2005, 13:42) *
Мож я чего не понял, еще раз - я предполагаю, что на плате имеется FPGA+конфигуратор. При включении питания или перезагрузке компа FPGA грузится с конфигуратора. Что значит в "набортной памяти у платы не предполагается", где бред?

бред в том, что после каждого включения питания будет необходимо перегружать комп, дабы загрузить ПЛИС с нужной прошивкой...
Go to the top of the page
 
+Quote Post
DeadMoroz
сообщение Dec 9 2005, 11:01
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-02-05
Пользователь №: 2 391



Перезагружать комп необходимо ТОЛЬКО ПОСЛЕ изменения прошивки. Прошивка хранится в конфигураторе и не теряется при отключении питания. Где бред?
Go to the top of the page
 
+Quote Post
leevv
сообщение Dec 9 2005, 16:02
Сообщение #22


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 4-01-05
Пользователь №: 1 799



Spasibo za cennije vyskasyvanija.

Zadacha kotoruju ja imel vvidu ne dlaj massovogo proizvodstva. Hotja cena componentov toge igraet opredelennujy rol'. Ja by rasstavil prioritety sledujushim obrazom.

1) Udobstvo pereconfigurirovanija, bez vskrytija kompjutera. Predpolagaetsja dlitel'noe soprovogdenije i zakazchik javno ne zahochet imet' delo s JTAG cable.
2) Minimum componentov (cena + razmer platy).
3) Sovmestimost' s raznymi PC. Mogem do nekotoroj stepeni rekomendovat' zakazchiku type kompjutera.
4) Secretnost' (zashita Intel. Property). Ne Mass productiojn. Hacker-ov mnogo ne predviditsja.

Poka chto ja vigu 2 priemlemyh dlja menja varianta:
1) 2 FPGA. PCI core razmestim v nonvolitile FPGA (naprimer Lattice XP)
2) 1 FPGA (xilinx) + configuration FLASH (xilinx). Pri vklychenii pitanija FPGA configuriruetsja iz FLASH. No sama FLASH teoreticheski moget "upgrade"-itsja cherez SMBus (kak vprochem i Lattice XP dlja varianta 1).
Go to the top of the page
 
+Quote Post
DeadMoroz
сообщение Dec 10 2005, 08:55
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-02-05
Пользователь №: 2 391



Насчет Ваших вариантов:
1) IMHO оптимальный вариант. Ставите какую-нибудь CPLD с битом секретности, организуете обмен FPGA<->CPLD и проблема защиты решена, и апгрейд относительно несложный.
2) Дался Вам этот смбас. FPGA может сама перезаписать конфигуратор, после конфигурирования FPGA его можно использовать как обычную память. При перезагрузке FPGA законфигурируется уже новой прошивкой.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01584 секунд с 7
ELECTRONIX ©2004-2016