balakhonoff 0 6 октября, 2012 Опубликовано 6 октября, 2012 · Жалоба Доброго времени суток, Подскажите пожалуйста, влияет ли во время работы через Impact и JTAG с плисиной и ее флэшкой, какие значения были на пинах configuration mode плисы? у виртекса-6 их 8 режимов, причем есть JTAG, SPI master, serial master,slave serial ... собственно если я хочу прошить плисину через jtag получается через slave serial (а с master spi не получается), но если я хочу прошить флэш через jtag->fpga, какой режим должен стоять? раньше работал с спартаном-6 а у него только 2 режима было и вроде бы в одном из них делались любые операции спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 6 октября, 2012 Опубликовано 6 октября, 2012 · Жалоба Назначение режимов расписано в ug360 табл 2-1. С обычной SPI флешкой ПЛИС напрямую работает только в режиме SPI Master. Для программирования SPI флешки через JTAG плисины установки режима загрузки скорее всего не важны. Они важны собственно для самой загрузки, а программирование происходит путем загрузки в плис специальной прошивки, входящей в комплект Impact. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 6 октября, 2012 Опубликовано 6 октября, 2012 · Жалоба JTAGу абсолютно всё равно в каком состоянии MSELы, шить плисину а также заливать данные во флешку он может при любых их значениях. Состояние "прошилось, но не запустилось" может возникать у вас в том случае, если прошивка собрана с одними значениями конфигурации, а на плате у вас совершенно иные условия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 7 октября, 2012 Опубликовано 7 октября, 2012 · Жалоба JTAGу абсолютно всё равно в каком состоянии MSELы, шить плисину а также заливать данные во флешку он может при любых их значениях. Вы жестоко ошибаетесь. Для ПЛИС не всё-равно в каком состоянии находятся ножки M[2:0] для работы с JTAG. Суть мерзкого явления приблизительно такова: после окончания сброса (поданного с JTAG) ПЛИС проверяет ножки M[2:0] и начинает грузиться с того, что указано. Если JTAG успевает вклиниться в загрузку до того как будет всосано "достаточное" количесво данных с ПЗУ, то всё пройдёт успешно... Если JTAG не успеет - значит получится хрен знает что. Естественно, чтобы такая бякость возникла, необходимо иметь достаточно шуструю ПЗУ. Мы с этим эффектом столкнулись на Virtex-6 c Platform Flash XL и относительно "большой" скоростью загрузки. P.S. В Virtex-6 FPGA Configuration User Guide есть такое замечание: "The FPGA mode (M[2:0]) pins are shown set to Master BPI-Up mode (010). The implementation of a board-level option that enables the user to change the FPGA mode pins to JTAG mode (101) is recommended to enable JTAG-based debug capability for the FPGA during design. This is not required, but the JTAG mode setting ensures that there is no interference from the Master BPI-Up configuration during debug." Несмотря на то, что тут говориться про Master BPI-Up, мы смогли на это напороться при Master SelectMAP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 7 октября, 2012 Опубликовано 7 октября, 2012 · Жалоба Вы жестоко ошибаетесь. Для ПЛИС не всё-равно в каком состоянии находятся ножки M[2:0] для работы с JTAG. Суть мерзкого явления приблизительно такова: после окончания сброса (поданного с JTAG) ПЛИС проверяет ножки M[2:0] и начинает грузиться с того, что указано. Если JTAG успевает вклиниться в загрузку до того как будет всосано "достаточное" количесво данных с ПЗУ, то всё пройдёт успешно... Если JTAG не успеет - значит получится хрен знает что. если FPGA ещё не загрузилась (или ей неоткуда) - JTAG сработает, еслу уже загрузилась - JTAG стработает. тот, кто пытается шить FPGA JTAGом в процессе загрузки FPGA из флеша - не понимает что и зачем он делает, и тут вопрос скорее о профпригодности, чем о тонкостях загрузки ПЛИС. ;-) зы. а мы напоролись на "двойной сброс" при включении, оказалось что PROG_B работает не по уровню как обычно, а по фронту, о чем через месац наших мучений и после обращения в суппорт вышла errata. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 7 октября, 2012 Опубликовано 7 октября, 2012 · Жалоба зы. а мы напоролись на "двойной сброс" при включении, оказалось что PROG_B работает не по уровню как обычно, а по фронту, о чем через месац наших мучений и после обращения в суппорт вышла errata. Угу, знатная вышла подстава. Ее вроде как объявили не багом, а фичей, и исправлять не стали. А насчет одновременной загрузки из флеша и JTAG - у автора темы в любом случае была не эта проблема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 7 октября, 2012 Опубликовано 7 октября, 2012 · Жалоба если FPGA ещё не загрузилась (или ей неоткуда) - JTAG сработает, еслу уже загрузилась - JTAG стработает.Вот как раз с Virtex-6 уже загрузился, а надо залить другую (отладочную) прошивку и была проблема. Возможно глюг более тонкий, и, в большей степени, каcается ISE iMPACT 13.x (может он коряво настраивает внутренний блок старта и загрузки - кто его знает ?). Но факт имел (имеет) место быть: при начале загрузки через JTAG подаётся внутренний Program, после успешного стирания конфигурационной памяти Init переходит в '1', и ПЛИС фиксирует состояние M[2:0], если на них выставлен любой Master Mode, то ПЛИС начинает себя конфигурировать - тут-то и начитается тот самый "interference" JTAG с процессом самозагрузки ПЛИС. Но, повторюсь, для ловли проблем от этого эффекта скорость самозагрузки ПЛИС должна быть весьма большая: мы поймали при Master SelectMap 16-bit (а вот какую скорость ставили колеги в BitGen'е - не помню; зато помню, что при 2 сеё заподло себя никак не проявляет). зы. а мы напоролись на "двойной сброс" при включении, оказалось что PROG_B работает не по уровню как обычно, а по фронту, о чем через месяц наших мучений и после обращения в суппорт вышла errata.А для какого именно семейства ПЛИС ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 7 октября, 2012 Опубликовано 7 октября, 2012 · Жалоба А для какого именно семейства ПЛИС ? Virtex-6 и все 7-series. Сначала данные появились в errata (http://www.xilinx.com/support/answers/38134.htm), затем эту особенность узаконили в соответствующих ug360, ug470. Если кто делал раньше отложенную загрузку удержанием program_b, то теперь этот фокус не пройдет, нужно использовать init_b. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
balakhonoff 0 8 октября, 2012 Опубликовано 8 октября, 2012 · Жалоба Действительно проверил, когда FPGA в режиме Master SPI, после команды Initialize Chain, все биты в Status регистре нули (что это значит?) и в этом режиме нельзя даже плисину прошить. собственно чтобы память то зашить через плису в каком режиме она должна быть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
balakhonoff 0 8 октября, 2012 Опубликовано 8 октября, 2012 · Жалоба Когда подключаюсь для direct in-system программирования flash на jtagе загорается зеленая лампочка, что дальше нужно делать чтобы законфигурировать память? я нигде не могу найти инструкцию к этому процессу где описаны шаги в impacte. может кто-нибудь поможет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 8 октября, 2012 Опубликовано 8 октября, 2012 · Жалоба собственно чтобы память то зашить через плису в каком режиме она должна быть?Чтобы с минимумом проблем - в любом Slave или JTAG режиме. Когда подключаюсь для direct in-system программирования flash на jtagе загорается зеленая лампочка, что дальше нужно делать чтобы законфигурировать память?Вы так и не написали (или я проглядел) что именно Вам необходимо запрограммировать. Есть у Xilinx пример Indirect Programming of BPI PROMs with Virtex-5 FPGAs, хоть тут пишется про V-5, для V-6 оно тоже справедливо. Для более детальной информации Вам необходимо в меню iMPACT выбрать Help->Software Mauals, затем выбрать iMPACT Help, после найти разделы indirect programming и ознакомиться с ними. В этих разделах есть информация о том, какие микросхемы ПЗУ и для какого семейства ПЛИС могут бытьзапрограммированы при помощи Вашей версии iMPACT. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 8 октября, 2012 Опубликовано 8 октября, 2012 · Жалоба Когда подключаюсь для direct in-system программирования flash на jtagе загорается зеленая лампочка, что дальше нужно делать чтобы законфигурировать память? я нигде не могу найти инструкцию к этому процессу где описаны шаги в impacte. может кто-нибудь поможет? Начиная с ISE 12 direct SPI и другие не-JTAG методы программирования более не поддерживаются. Нужно брать iMPACT 11 или еще более ранний. Вообще говоря, если ПЛИС нормально конфигурируется с этой флешки, то и indirect программирование, в конечном счете, должно работать. Хотя бы читать ID - совершенно точно. Проверьте схему и плату. Может быть, плата битая, или флеш подключен неправильно? Действительно проверил, когда FPGA в режиме Master SPI, после команды Initialize Chain, все биты в Status регистре нули (что это значит?) Это как-то ненормально. А откуда вы узнаете, что ПЛИС находится в режиме Master SPI? Есть указания на плате? ПЛИС в это время не загружена? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
balakhonoff 0 9 октября, 2012 Опубликовано 9 октября, 2012 · Жалоба Да спасибо, уже разобрался написал ответ в теме http://electronix.ru/forum/index.php?showt...p;#entry1100214 Это как-то ненормально. А откуда вы узнаете, что ПЛИС находится в режиме Master SPI? Есть указания на плате? ПЛИС в это время не загружена? да, для этого там тоже джампер был переключающий master spi/slave serial. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться