Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как бы место в FPGA выкроить?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
_zx_
Добрый день.
при загрузке FPGA из XCF01S в память флешки можно загрузить программы для 2-х FPGA.
Вопрос:
можно ли эти программы загружать в одну и ту же FPGA по выбору.(например, используя для этого некую внешнюю схему или ещё как)?

ПС: проект не помещается и очень не хочется на разводить новую плату с более старшим представителем семейства.
Поэтому есть идея грузить в одну плис 2 разных куска программы, отвечающих каждый за свою часть работы.
Загрузка соответствующего куска происходит при определённом внешнем воздействии(пусть это будет нажатие кнопки smile.gif )
На самый крайний случай можно поставить 2 микросхемы памяти и мультиплексировать DO, но это не краиво...
antti
Цитата(_zx_ @ Jun 19 2009, 18:00) *
Добрый день.
при загрузке FPGA из XCF01S в память флешки можно загрузить программы для 2-х FPGA.
Вопрос:
можно ли эти программы загружать в одну и ту же FPGA по выбору.(например, используя для этого некую внешнюю схему или ещё как)?

ПС: проект не помещается и очень не хочется на разводить новую плату с более старшим представителем семейства.
Поэтому есть идея грузить в одну плис 2 разных куска программы, отвечающих каждый за свою часть работы.
Загрузка соответствующего куска происходит при определённом внешнем воздействии(пусть это будет нажатие кнопки smile.gif )
На самый крайний случай можно поставить 2 микросхемы памяти и мультиплексировать DO, но это не краиво...


s3a + spi == mozhno
s3 + xcf01s == nelsja

deschevo tak
s3 + SPI flash + 8 nog mcu kak config kontroller, dajot spi kommandu, address i clk

Antti
Kostos
Согласен с Antti,

именно так и легче сделать, отдельные куски в одном чипе для одной FPGA серии S платформфлеша несколько малореально, почти из области фантастики, подойдет вариант с выборкой чипа,- нужного и в нужное время и мультиплексор не нужен,- D0 уходит в третье состояние или вы так и собирались делать?

я выбрал бы - SPI Flash AT45 серии, и микроконтроллер AT90PWM3B или подобный ему,- у него есть доп интерфейс SPI для связи с внешним миром smile.gif, отдельный от того, который используется для программирования, делов то будет на копейки, а гибкость получится неописуемая,- 16 или 32 мегабит совсем не мало, и для целей отладки и для работы.

PS. А чем не устраивает программирование по JTAGу? флэш в таком случае совсем не нужен.
MrYuran
Цитата(Kostos @ Jun 24 2009, 01:17) *
PS. А чем не устраивает программирование по JTAGу? флэш в таком случае совсем не нужен.

И при каждом включении заново заливать прошивку?
А устройство может быть и автономным, а не только на лабораторном столе лежать

В принципе, можно простенький контроллер подцепить. Читал как-то давненько статейку, что простейшим алгоритмом можно пожать прошивку в несколько раз и сэкономить на флеши, а заодно и переключаться на альтернативную прошивку при необходимости.
Михаил_K
Если не ошибаюсь, то загрузка ПЛИСа начинается тогда, когда из ОЗУ в ПЛИС попадает некоторе синхрослово, в котором содержится ключ с типом плиса. Если ключи совпадают, то плис грузится, если нет, то данные просто игнорируются до появления нужного синхрослова. Отсюда напрашивается такой вариант. Если нужна загрузить битовый поток, находящийся в начале ОЗУ, то загрузка идет обычным образом, если во второй половине ОЗУ, то в начальный момент следует отключить Do от плиса на некоторое время, чтобы синхрослово первого битового потока не попало в ПЛИС. Таким образом первый битовый поток будет проигнорирован, а второй загружен. Можно сделать на счетчике и логике, но современные микроконтроллеры обладают меньшими размерами и сравнимой стоимостью. Например 8 ногий PIC, или AVR типа ATtiny12 или ATtiny15 вполне справятся с задачей.
XVR
Цитата(Михаил_K @ Jun 24 2009, 09:51) *
Если не ошибаюсь, то загрузка ПЛИСа начинается тогда, когда из ОЗУ в ПЛИС попадает некоторе синхрослово, в котором содержится ключ с типом плиса. Если ключи совпадают, то плис грузится, если нет, то данные просто игнорируются до появления нужного синхрослова. Отсюда напрашивается такой вариант. Если нужна загрузить битовый поток, находящийся в начале ОЗУ, то загрузка идет обычным образом, если во второй половине ОЗУ, то в начальный момент следует отключить Do от плиса на некоторое время, чтобы синхрослово первого битового потока не попало в ПЛИС.
ПЛИС вполне может найти это 'синхрослово' и в середине потока unsure.gif В результате получим загруженную (неуспешно) прошивку.

Цитата
Таким образом первый битовый поток будет проигнорирован, а второй загружен. Можно сделать на счетчике и логике, но современные микроконтроллеры обладают меньшими размерами и сравнимой стоимостью. Например 8 ногий PIC, или AVR типа ATtiny12 или ATtiny15 вполне справятся с задачей.
'8 ногий PIC' вполне может сам прочесть прошивку из DF и загрузить в FPGA, причем оттуда, откуда надо
SFx
самый правильный способ взять МК и SD Карту к нему приципить и грузить из нее тот или иной файл провки по SPI. даже в серьезных системах так делают для реализации различных конфигураций.
Михаил_K
Цитата(XVR @ Jun 24 2009, 11:00) *
ПЛИС вполне может найти это 'синхрослово' и в середине потока unsure.gif В результате получим загруженную (неуспешно) прошивку.

На сколько мне известно - не может
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.