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

Я учусь основам работы с ПЛИС и написал простую программу для включения LED на отладочной плате. Программа работает, диоды светятся, но когда выключаю питание то проект запрограммированный на ПЛИС по JTAG в iMPACT стирается.
Поэтому я решил научиться записывать проект на Platform Flash PROM (у меня XCF04S) чтобы ПЛИС (у меня XC3S1600E) сама загружала с него проект при включении питания в режиме Master Serial Mode.

Для этого изучил документацию (ug332.pdf) и следуя шагам на стр.42-46 сгенерировал FPGA Bitstream для Master Serial Configuration, а потом на стр.91-99 подготовил прошивку для PROM (.msc файл) и запрограммировал PROM через JTAG в iMPACT. Появилось сообщение 'Program Succeeded' но когда я выключил питание а потом снова включил ничего не произошло (ожидалось что LEDы засветятся) хотя PROM запрограммирован (Blank Check в JTAG Воundary Scan показывает что Part is not Blank а перед программированием она стиралась).

Загрузка с PROM должна быть по CCLK а ConfigRate = 12.

Мне вот непонятно почему проект не загружается на ПЛИС с PROM?

Кроме того, как можно посмотреть изменения сигналов участвующих в загрузке конфигурации - M[2:0], INIT_B, PROG_B и др.?

У меня вообще-то есть цифровой анализатор DigiView1-100 но у него щупы слишком большие для ножек ПЛИСки.

Спасибо.
MrYuran
Режим загрузки должен быть мастер.
Это определяется специальными ножками.
Я однажды проморгал этот момент, потом пришлось к QFP подпаиваться
Vagant
Цитата(MrYuran @ Jun 22 2010, 19:11) *
Режим загрузки должен быть мастер.
Это определяется специальными ножками.
Я однажды проморгал этот момент, потом пришлось к QFP подпаиваться


Да, ПЛИС является мастером в Master Serial Mode, а эти специальные ножки M[2:0] должны быть <0:0:0> в этом режиме. Только я не знаю где они у ПЛИСки. Если посмотреть на мою ПЛИС (XC3S1600E) то там только 2 ножки специально выделены для конфигурирования - PROG_B и DONE (на картинке жёлтым цветом помечены - A1 и V17, соответственно) а остальные как-то произвольно выделяются из обычных IOs, наверное . А где искать остальные сигналы, включая M[2:0], я пока не знаю.

P.S. Мне подпаивать точно не нужно будет ведь я это на отладочной плате делаю.
bogaev_roman
Цитата(Vagant @ Jun 22 2010, 20:25) *
Да, ПЛИС является мастером в Master Serial Mode, а эти специальные ножки M[2:0] должны быть <0:0:0> в этом режиме. Только я не знаю где они у ПЛИСки. Если посмотреть на мою ПЛИС (XC3S1600E) то там только 2 ножки специально выделены для конфигурирования - PROG_B и DONE (на картинке жёлтым цветом помечены - A1 и V17, соответственно) а остальные как-то произвольно выделяются из обычных IOs, наверное . А где искать остальные сигналы, включая M[2:0], я пока не знаю.
P.S. Мне подпаивать точно не нужно будет ведь я это на отладочной плате делаю.

Сколько работал с отладочными модулями, никогда не разбирался куда-чего подключать, там же все запаяно, только настраивал (да и в настройках ошибиться нельзя, ошибка вылезет). Тупо шил и все работало. Попробуйте пропустить Ваши сигналы через триггеры и вывести их (ну и лучше все остальные) на чипскоп по рабочей частоте. Если вообще ничего не ловит, то проблема либо в подаваемой тактовой частоте (на генератор подлезть всегда получиться smile.gif ), либо реально чего-то отпаялось.
Vagant
Цитата(bogaev_roman @ Jun 22 2010, 19:48) *
Сколько работал с отладочными модулями, никогда не разбирался куда-чего подключать, там же все запаяно, только настраивал (да и в настройках ошибиться нельзя, ошибка вылезет). Тупо шил и все работало. Попробуйте пропустить Ваши сигналы через триггеры и вывести их (ну и лучше все остальные) на чипскоп по рабочей частоте. Если вообще ничего не ловит, то проблема либо в подаваемой тактовой частоте (на генератор подлезть всегда получиться smile.gif ), либо реально чего-то отпаялось.


Понятно. Пробную версию ChipScope я пожалуй скачаю и установлю, пора знакомится с этой программой. А вот можно ли как нибудь посмотреть сигналы ПЛИС на отладочной плате с помощью осциллографа или цифрового анализатора?
Извиняюсь за дурацкий вопос, если что. Там ведь (на плате) ножки контактов такие маленькие что непонятно как к ним прицепиться щупом осциллографа.. unsure.gif
bogaev_roman
Цитата(Vagant @ Jun 22 2010, 20:54) *
Понятно. Пробную версию ChipScope я пожалуй скачаю и установлю, пора знакомится с этой программой. А вот можно ли как нибудь посмотреть сигналы ПЛИС на отладочной плате с помощью осциллографа или цифрового анализатора?
Извиняюсь за дурацкий вопос, если что. Там ведь (на плате) ножки контактов такие маленькие что непонятно как к ним прицепиться щупом осциллографа.. unsure.gif

У Вас на плату есть документация, можете посмотреть куда некоторые выводы ПЛИС подключаются реально (может какой pmc-разьем с максимальной рабочей частотой 30МГц их по идее много) на эти выходы и подайте свои входные-выходные сигналы, туда уже реально воткнуться (при условии что частоты не очень большие и аппаратура их возьмет). Просто цеплять ножки - нереальная задача щупом, посмотрите, какой у них шаг ради интереса в доке.
Vagant
Цитата(bogaev_roman @ Jun 22 2010, 20:03) *
У Вас на плату есть документация, можете посмотреть куда некоторые выводы ПЛИС подключаются реально (может какой pmc-разьем с максимальной рабочей частотой 30МГц их по идее много) на эти выходы и подайте свои входные-выходные сигналы, туда уже реально воткнуться (при условии что частоты не очень большие и аппаратура их возьмет). Просто цеплять ножки - нереальная задача щупом, посмотрите, какой у них шаг ради интереса в доке.


Примерно один миллиметр между соседними ножками, а толщина самой ножки примерно полмиллиметра (или чуть больше). В общем, этот вопрос понятен - чтобы посмотреть эти сигналы надо их выводить на разьёмы покрупнее на отладочной плате. Ну и ChipScope поможет.

А вот как узнать на каких именно ножках нужно смотреть M[2:0] пока не знаю.
bogaev_roman
Цитата(Vagant @ Jun 22 2010, 22:01) *
А вот как узнать на каких именно ножках нужно смотреть M[2:0] пока не знаю.

Откройте документацию на саму плату и посмотрите куда они вешаются, на какие ноги, они же не могут в воздухе висеть, если действительно используются (они жестко запаяны на какие-то пины). Вы же каким-то образом определили какие сигналы на какие пины нужно подавать, чтобы соответствующие светодиоды горели, есть же четкое соответствие между номером пина и абревиатурой светодиода?
Vagant
Цитата(bogaev_roman @ Jun 22 2010, 21:29) *
Откройте документацию на саму плату и посмотрите куда они вешаются, на какие ноги, они же не могут в воздухе висеть, если действительно используются (они жестко запаяны на какие-то пины).


Спасибо, нашёл smile.gif. Там оказывается джамперы стоят, они и задают режим конфигурирования. Кстати, у меня на плате они как раз оказались правильно выставлены для нужного мне режима (Master Serial Mode).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.