|
FPGA configuration from PCI bus |
|
|
|
Dec 3 2005, 21:11
|
Частый гость
 
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Dec 5 2005, 10:16
|

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

|
Цитата(DeadMoroz @ Dec 5 2005, 10:26)  Ну вроде как на шине PCI есть JTAG пины, может (теоретически) их можно использовать... JTAG пины задействованы не на всех материнках, а только, если не ошибаюсь на серверных.
--------------------
Электроника - наука о контактах.
|
|
|
|
|
Dec 8 2005, 19:11
|
Участник

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

|
Для этого FPGA должен иметь конфигурационный порт, доступный по PCI. Этот порт должен быть энергонезависимым и конфигурироваться отдельно от основного FPGA. Проект по таким правилам был реализован, но на VME. Контроллер VME, контроллер локального интерфейса и конфигурационный порт сделаны на CPLD, они практически не меняются. Конфигурация FPGA загружается центральным процессором системы через VME и конфиг. порт из файла. Микросхем flash-памяти на модуле вообще нет. Проект существует около 5 лет, за это время внесены десятки изменений, в систему они вводятся простой заменой файла конфигурации. Для PCI, скорее всего CPLD не подойдет, потребуются FPGA и конфигурационное ПЗУ. Так же, как и CPLD, его можно будет зашить через JTAG после изготовления модуля. Эта часть изменяется редко. А конфигурацию основного FPGA может из файла закачивать процессор системы, например при загрузке драйвера. Для Virtex например, алгоритм примитивный. Удачи.
|
|
|
|
|
Dec 8 2005, 22:07
|
Частый гость
 
Группа: Свой
Сообщений: 100
Регистрация: 4-01-05
Пользователь №: 1 799

|
Цитата(v_mirgorodsky @ Dec 8 2005, 12:18)  Есть еще интересная идея - назывется SMBus. Ставим небольшой контроллер с I2C интерфейсом и на новых Intel'овских материнках получаем все просто и без всякого гемороя. При этом работа по SMBus не зависит от того имеется ли прошивка в FPGA или нет. Единственный минус - нужны НОВЫЕ Intel'овские мамки  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?
|
|
|
|
|
Dec 9 2005, 05:17
|

Местный
  
Группа: Свой
Сообщений: 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
|
|
|
|
|
Dec 9 2005, 08:20
|

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

|
Цитата(-Al- @ Dec 9 2005, 07:17)  И еще одно НО... PCI core НЕЛЬЗЯ ГРУЗИТЬ ПОСЛЕ ЗАГРУЗКИ КОМПА! он уже должен присутствовать на плате железно! Ну при желании можно и перегрузить комп после загрузки FPGA... И так после каждой перегрузки FPGA...  И тот кто будет работать за этим компом будет вспоминать разработчика "нэ злым, тыхым словом", постоянно  Не надо жлобится на еще одну плисину. Абсолютно согласен с -Al-: 2 Плиски и имеете универсальную гибкую систему на которой будет удобно работать.
--------------------
Электроника - наука о контактах.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|