Art55555 0 7 октября, 2010 Опубликовано 7 октября, 2010 (изменено) · Жалоба Появилась необходимость загрузки прошивки в ПЛИС посредством Ethernet. Предполагаемый алгоритм работы следующий (ещё он отображён на схеме): Изначально Flash прошивается JTAG-ом. Далее после включения питания Flash конфигурирует ПЛИС, система начинает свою работу. В последствии, появляется необходимость переконфигурирования Flash (например, смена версии или исправление ошибок). Будет ли работать следующее: из ПК подаётся специальная команда и происходит загрузка битового файла конфигурации в ПЛИС (в это время ПЛИС уже загружена и работает в обычном режиме), после чего (или одновременно) ПЛИС программирует Flash (как бы эмулируя работу JTAG). После этого при следующем запуске платы будет грузиться уже новая конфигурация. Вопросы: 1) сложно ли реально реализовать данную схему, кто-нибудь делал это? 2) Есть ли альтернативные схемы без значительного увеличения сложности и стоимости? Спасибо! Схема Изменено 7 октября, 2010 пользователем Art55555 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 7 октября, 2010 Опубликовано 7 октября, 2010 · Жалоба Появилась необходимость загрузки прошивки в ПЛИС посредством Ethernet. Предполагаемый алгоритм работы следующий (ещё он отображён на схеме): Изначально Flash прошивается JTAG-ом. Далее после включения питания Flash конфигурирует ПЛИС, система начинает свою работу. В последствии, появляется необходимость переконфигурирования Flash (например, смена версии или исправление ошибок). Будет ли работать следующее: из ПК подаётся специальная команда и происходит загрузка битового файла конфигурации в ПЛИС (в это время ПЛИС уже загружена и работает в обычном режиме), после чего (или одновременно) ПЛИС программирует Flash (как бы эмулируя работу JTAG). После этого при следующем запуске платы будет грузиться уже новая конфигурация. Вопросы: 1) сложно ли реально реализовать данную схему, кто-нибудь делал это? 2) Есть ли альтернативные схемы без значительного увеличения сложности и стоимости? Спасибо! Схема мне кажется без вспомогательного микропроцессора/CPLD или какого-то внешнего watchdog timer не обойтись ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 7 октября, 2010 Опубликовано 7 октября, 2010 · Жалоба а какая FPGA? в циклоне-3, например, есть это: http://www.altera.com/literature/hb/cyc3/cyc3_ciii51012.pdf http://www.altera.com/literature/an/AN521.pdf я делал, работает. документировано, правда, довольно скудно. в принципе Eth не обязателен, любой интерфейс подойдет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Art55555 0 7 октября, 2010 Опубликовано 7 октября, 2010 · Жалоба а какая FPGA? в циклоне-3, например, есть это: http://www.altera.com/literature/hb/cyc3/cyc3_ciii51012.pdf http://www.altera.com/literature/an/AN521.pdf я делал, работает. документировано, правда, довольно скудно. в принципе Eth не обязателен, любой интерфейс подойдет. ПЛИС: Xilinx Virtex4 LX25 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 7 октября, 2010 Опубликовано 7 октября, 2010 · Жалоба ПЛИС: Xilinx Virtex4 LX25 эти доки смотрели: http://www.xilinx.com/support/documentatio...tes/xapp441.pdf https://secure.xilinx.com/webreg/clickthrou...e=RefDesLicense ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Art55555 0 18 октября, 2010 Опубликовано 18 октября, 2010 · Жалоба Кто-нибудь может подсказать, как передавать битовый поток конфигурации от ПЛИС(Virtex4 LX25) в ПЗУ(XCF32P)? Алгоритм и ножки ПЗУ, которые в этом участвуют? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 18 октября, 2010 Опубликовано 18 октября, 2010 (изменено) · Жалоба Ставите ПЛИС, которая умеет грузиться со SPI-FLASH (все более-менее новые). Организовываете схемотехнику так, чтобы ПЛИС могла в рабочем режиме общаться со своей загрузочной флешкой. После загрузки с флешки ПЛИС начинает работать с езернетом. В частности, получать с него новую прошивку и грузить ее в загрузочную флешку. Возможность инициировать перезагрузку самой себя после окончания записи нового файла конфигурации во флеш (и еще куча функций в ту же степь) тоже в большинстве ПЛИС современных есть. Даже если нет, то это несложно организовать схемотехнически. Всё, чего еще надо? Изменено 18 октября, 2010 пользователем Koluchiy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Art55555 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба Ставите ПЛИС, которая умеет грузиться со SPI-FLASH (все более-менее новые). Организовываете схемотехнику так, чтобы ПЛИС могла в рабочем режиме общаться со своей загрузочной флешкой. После загрузки с флешки ПЛИС начинает работать с езернетом. В частности, получать с него новую прошивку и грузить ее в загрузочную флешку. Возможность инициировать перезагрузку самой себя после окончания записи нового файла конфигурации во флеш (и еще куча функций в ту же степь) тоже в большинстве ПЛИС современных есть. Даже если нет, то это несложно организовать схемотехнически. Всё, чего еще надо? Спасибо! На этом решении , скорее всего, и остановлюсь. В данном случае пугает только одно. Вот, если произошёл сбой при загрузки флэш через SPI интерфейс. Решить вопрос уже можно только через JTAG, а это, согласитесь, некоторые сложности (ехать к заказчику или объяснять ему где взять провод и импакт - сомнительное удовольствие). Интерфейс - Ethernet UDP плюсь собственный протокол передачи и контроля. Есть ли какие-нибудь принципиальные моменты программирования флэшики по SPI из ПЛИС? Кто-нибудь делал сам это? Спасибо! И еще пару вопросов: Умеет-ли грузиться с SPI-FLASH VIRTEX-4? XCF32P - это SPI-Flash? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба По большинству Ваших вопросов могу только отослать к документации - там всё есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба Вот, если произошёл сбой при загрузки флэш через SPI интерфейс. Решить вопрос уже можно только через JTAG Вовсе нет. Надо просто настроить failsafe (две прошивки, если первая не может загрузиться - автоматически загружается вторая) и не давать юзерам прошивать вторую (просто схемотехнически не давать такой возможности), чтобы если они первую упорят - стартовала вторая и давала возможность исправить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirB 1 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба И еще пару вопросов: Умеет-ли грузиться с SPI-FLASH VIRTEX-4? XCF32P - это SPI-Flash? 1) нет 2) нет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 53 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба я делал, работает. документировано, правда, довольно скудно. в принципе Eth не обязателен, любой интерфейс подойдет. небольшой вопрос вдогонку: в an521 параллельная флэш описана. в cyclone3 у последовательной флэши chipsel, datain, dataout и так сидят на пинах с io, а вот доступен ли потом после загрузки вывод dclk чтобы флэш перепрошить, или надо дополнительно завести клоки на какой-нибудь io пин? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Art55555 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба Существует-ли какая-нибудь возможность загрузки конфигурации в ПЗУ (XCF32P) из ПЛИС (Virtex4 LX25)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба Да, но достаточно кривая: надо JTAG присоединить к ПЛИС и писать через него. Проще поставить SPI через крошечную CPLD. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Art55555 0 25 октября, 2010 Опубликовано 25 октября, 2010 · Жалоба Остановились на следующем варианте: Изначально мы программируем флэшку в Спартане постоянной прошивкой в которой будет протокол обмена по LAN. При перезагрузки платы, прошивка конфигурирует Spartan. Далее оператор по LAN предает прошивку для Virtex 4, которую прошивает спартан. Имеет-ли место быть такой вариант? Есть-ли какие-нибудь подводные камни? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться