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

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".

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


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

Нет, нельзя.

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

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


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

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".

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


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

Бло бы .. но IMHO не получится.

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

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


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

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

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


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

>Я думаю, что такое возможно. Насколько я понял, Вам хотелось бы изменять прошивку 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.

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


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

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

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


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

Ну вроде как на шине PCI есть JTAG пины, может (теоретически) их можно использовать...

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


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

Ну вроде как на шине PCI есть JTAG пины, может (теоретически) их можно использовать...

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

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


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

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

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


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

Для этого FPGA должен иметь конфигурационный порт, доступный по PCI. Этот порт должен быть энергонезависимым и конфигурироваться отдельно от основного FPGA. Проект по таким правилам был реализован, но на VME. Контроллер VME, контроллер локального интерфейса и конфигурационный порт сделаны на CPLD, они практически не меняются. Конфигурация FPGA загружается центральным процессором системы через VME и конфиг. порт из файла. Микросхем flash-памяти на модуле вообще нет. Проект существует около 5 лет, за это время внесены десятки изменений, в систему они вводятся простой заменой файла конфигурации. Для PCI, скорее всего CPLD не подойдет, потребуются FPGA и конфигурационное ПЗУ. Так же, как и CPLD, его можно будет зашить через JTAG после изготовления модуля. Эта часть изменяется редко. А конфигурацию основного FPGA может из файла закачивать процессор системы, например при загрузке драйвера. Для Virtex например, алгоритм примитивный. Удачи.

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


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

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

 

 

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?

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


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

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-

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


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

Почему нельзя грузить? Я думаю, что можно, НО необходимо

1) обеспечить перевод всех ног, соединенных с ПИСИАЙ в третье состояние воизбежание конфликтов на шине

2) обеспечить перезагрузку компа для выполнения новой конфигурации устройств

 

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

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


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

И еще одно НО... PCI core НЕЛЬЗЯ ГРУЗИТЬ ПОСЛЕ ЗАГРУЗКИ КОМПА! он уже должен присутствовать на плате железно!

 

Ну при желании можно и перегрузить комп после загрузки FPGA... :biggrin:

И так после каждой перегрузки FPGA... :maniac: И тот кто будет работать за этим компом будет вспоминать разработчика "нэ злым, тыхым словом", постоянно :twak:

Не надо жлобится на еще одну плисину. Абсолютно согласен с -Al-: 2 Плиски и имеете универсальную гибкую систему на которой будет удобно работать.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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