Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подскажите новичку
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
wake-off
Всем привет.
Я только начинаю работать с ПЛИСами (xilinx spartan3 и аналогичные) и у меня накопились некоторые вопросы. Буду очень признателен за разъяснения.
1. Как я прочитал прошивка загружается во внешнюю флеш-память, либо без использования внешней памяти необходимо всегда ее загружать при включении устройства. Существуют ли плисины со встроеной памятью? Например Spartan-3AN подпадает под этот критерий, я правильно понял?
2. При использовании внешней флеш-памяти, она подключается, помимо "джтаговских" цепей, к выводам DIN и INIT_B, потом, после инициализации, можно использовать эти два пина как пины ввода/вывода?
AlphaMil
Я тож не гуру, но кое-что сделал.
1. Прошивка подгружается из флеш памяти, или другого носителя. Можно напрямую через jtag от компьютера. Сам использую третьи спартаны. Да указанный не требует внешней памяти для хранения прошивки. По поводу альтеры - не скажу, не сталкивался.
2. На мой взгляд, лучше так не делать. Для использования этих пинов устройства, управляющие ими должны переходить в зет состояние. Не уверен, что память позволит это провернуть. Ну или делать мультиплексирование, но это не обосновано. И тах достаточно много вводов-выводов...
wake-off
AlphaMil Спасибо за разъяснения.
Еще такой вопросик: Если ПЛИС работает в постоянной связке с МК и если ее прошивку загружать из флеш-памяти МК, то необходимо просто соеденить джтаг МК и джтаг ПЛИС или более хитро все, надо думать?
zxcv
Цитата(wake-off @ Mar 13 2011, 14:28) *
AlphaMil Спасибо за разъяснения.
Еще такой вопросик: Если ПЛИС работает в постоянной связке с МК и если ее прошивку загружать из флеш-памяти МК, то необходимо просто соеденить джтаг МК и джтаг ПЛИС или более хитро все, надо думать?


Для загрузки ПЛИС из флеш-памяти МК проще использовать режим Slave Serial Mode. Все режимы конфигурирования ПЛИС серий Spartan-3 описаны в ug332. Там же описано поведение выводов, используемых при конфигурации, после окончания конфигурирования ПЛИС.

Я, обычно, применяю следующую схему для конфигурирования ПЛИС от МК (на примере AVR32):
SPI порт МК: MOSI -> DIN, SCK -> CCLK, MISO -> INIT_B, NPCS -> IP.

Алгоритм работы следующий:
Загрузка:
1. Дергаем в 0 и возвращаем в 1 вывод GPIO МК подключенный к выводу PROG_B ПЛИС
2. Ждем пока на выводе MISO МК (INIT_B ПЛИС) не будет 1 (ПЛИС готова к загрузке)
3. Читаем байт конфигурационной прошивки из флеш-памяти, подключенной к МК
4. Нужным битом вперед передаем байт по SPI
5. Повторяем пп 3 и 4 и передаем всю прошивку ПЛИС
6. Проверем через вывод GPIO МК состояние DONE ПЛИС (Может потребоваться несколько дополнительных "пустых" записей по SPI для завершения загрузки)

Работа:
1. В ПЛИС делаем SPI Slave
2. МК имеет доступ к регистрам ПЛИС через стандартный SPI доступ
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.