|
|
  |
как бы место в FPGA выкроить?, Spartan-3 |
|
|
|
Jun 19 2009, 15:00
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 13-03-06
Из: Киев
Пользователь №: 15 198

|
Добрый день. при загрузке FPGA из XCF01S в память флешки можно загрузить программы для 2-х FPGA. Вопрос: можно ли эти программы загружать в одну и ту же FPGA по выбору.(например, используя для этого некую внешнюю схему или ещё как)? ПС: проект не помещается и очень не хочется на разводить новую плату с более старшим представителем семейства. Поэтому есть идея грузить в одну плис 2 разных куска программы, отвечающих каждый за свою часть работы. Загрузка соответствующего куска происходит при определённом внешнем воздействии(пусть это будет нажатие кнопки  ) На самый крайний случай можно поставить 2 микросхемы памяти и мультиплексировать DO, но это не краиво...
|
|
|
|
|
Jun 19 2009, 15:34
|
Участник

Группа: Свой
Сообщений: 42
Регистрация: 18-07-06
Из: Germany
Пользователь №: 18 908

|
Цитата(_zx_ @ Jun 19 2009, 18:00)  Добрый день. при загрузке FPGA из XCF01S в память флешки можно загрузить программы для 2-х FPGA. Вопрос: можно ли эти программы загружать в одну и ту же FPGA по выбору.(например, используя для этого некую внешнюю схему или ещё как)? ПС: проект не помещается и очень не хочется на разводить новую плату с более старшим представителем семейства. Поэтому есть идея грузить в одну плис 2 разных куска программы, отвечающих каждый за свою часть работы. Загрузка соответствующего куска происходит при определённом внешнем воздействии(пусть это будет нажатие кнопки  ) На самый крайний случай можно поставить 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
|
|
|
|
|
Jun 23 2009, 21:17
|
Частый гость
 
Группа: Свой
Сообщений: 88
Регистрация: 10-07-07
Пользователь №: 29 025

|
Согласен с Antti, именно так и легче сделать, отдельные куски в одном чипе для одной FPGA серии S платформфлеша несколько малореально, почти из области фантастики, подойдет вариант с выборкой чипа,- нужного и в нужное время и мультиплексор не нужен,- D0 уходит в третье состояние или вы так и собирались делать? я выбрал бы - SPI Flash AT45 серии, и микроконтроллер AT90PWM3B или подобный ему,- у него есть доп интерфейс SPI для связи с внешним миром  , отдельный от того, который используется для программирования, делов то будет на копейки, а гибкость получится неописуемая,- 16 или 32 мегабит совсем не мало, и для целей отладки и для работы. PS. А чем не устраивает программирование по JTAGу? флэш в таком случае совсем не нужен.
|
|
|
|
|
Jun 24 2009, 04:31
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Kostos @ Jun 24 2009, 01:17)  PS. А чем не устраивает программирование по JTAGу? флэш в таком случае совсем не нужен. И при каждом включении заново заливать прошивку? А устройство может быть и автономным, а не только на лабораторном столе лежать В принципе, можно простенький контроллер подцепить. Читал как-то давненько статейку, что простейшим алгоритмом можно пожать прошивку в несколько раз и сэкономить на флеши, а заодно и переключаться на альтернативную прошивку при необходимости.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Jun 24 2009, 05:51
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Если не ошибаюсь, то загрузка ПЛИСа начинается тогда, когда из ОЗУ в ПЛИС попадает некоторе синхрослово, в котором содержится ключ с типом плиса. Если ключи совпадают, то плис грузится, если нет, то данные просто игнорируются до появления нужного синхрослова. Отсюда напрашивается такой вариант. Если нужна загрузить битовый поток, находящийся в начале ОЗУ, то загрузка идет обычным образом, если во второй половине ОЗУ, то в начальный момент следует отключить Do от плиса на некоторое время, чтобы синхрослово первого битового потока не попало в ПЛИС. Таким образом первый битовый поток будет проигнорирован, а второй загружен. Можно сделать на счетчике и логике, но современные микроконтроллеры обладают меньшими размерами и сравнимой стоимостью. Например 8 ногий PIC, или AVR типа ATtiny12 или ATtiny15 вполне справятся с задачей.
|
|
|
|
|
Jun 24 2009, 07:00
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

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