|
|
  |
FPGA configuration mode, virtex-6 |
|
|
|
Oct 6 2012, 11:05
|
Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 26-02-10
Из: Москва
Пользователь №: 55 683

|
Доброго времени суток, Подскажите пожалуйста, влияет ли во время работы через Impact и JTAG с плисиной и ее флэшкой, какие значения были на пинах configuration mode плисы? у виртекса-6 их 8 режимов, причем есть JTAG, SPI master, serial master,slave serial ... собственно если я хочу прошить плисину через jtag получается через slave serial (а с master spi не получается), но если я хочу прошить флэш через jtag->fpga, какой режим должен стоять? раньше работал с спартаном-6 а у него только 2 режима было и вроде бы в одном из них делались любые операции
спасибо
|
|
|
|
|
Oct 7 2012, 04:53
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(krux @ Oct 6 2012, 19:25)  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.
|
|
|
|
|
Oct 7 2012, 06:40
|
Профессионал
    
Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596

|
Цитата(Boris_TS @ Oct 7 2012, 08:53)  Вы жестоко ошибаетесь. Для ПЛИС не всё-равно в каком состоянии находятся ножки M[2:0] для работы с JTAG. Суть мерзкого явления приблизительно такова: после окончания сброса (поданного с JTAG) ПЛИС проверяет ножки M[2:0] и начинает грузиться с того, что указано. Если JTAG успевает вклиниться в загрузку до того как будет всосано "достаточное" количесво данных с ПЗУ, то всё пройдёт успешно... Если JTAG не успеет - значит получится хрен знает что. если FPGA ещё не загрузилась (или ей неоткуда) - JTAG сработает, еслу уже загрузилась - JTAG стработает. тот, кто пытается шить FPGA JTAGом в процессе загрузки FPGA из флеша - не понимает что и зачем он делает, и тут вопрос скорее о профпригодности, чем о тонкостях загрузки ПЛИС. ;-) зы. а мы напоролись на "двойной сброс" при включении, оказалось что PROG_B работает не по уровню как обычно, а по фронту, о чем через месац наших мучений и после обращения в суппорт вышла errata.
--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
|
|
|
|
|
Oct 7 2012, 09:24
|
Знающий
   
Группа: Свой
Сообщений: 702
Регистрация: 8-06-06
Пользователь №: 17 871

|
Цитата(krux @ Oct 7 2012, 10:40)  зы. а мы напоролись на "двойной сброс" при включении, оказалось что PROG_B работает не по уровню как обычно, а по фронту, о чем через месац наших мучений и после обращения в суппорт вышла errata. Угу, знатная вышла подстава. Ее вроде как объявили не багом, а фичей, и исправлять не стали. А насчет одновременной загрузки из флеша и JTAG - у автора темы в любом случае была не эта проблема.
|
|
|
|
|
Oct 7 2012, 09:37
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(krux @ Oct 7 2012, 10:40)  если 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 сеё заподло себя никак не проявляет). Цитата(krux @ Oct 7 2012, 10:40)  зы. а мы напоролись на "двойной сброс" при включении, оказалось что PROG_B работает не по уровню как обычно, а по фронту, о чем через месяц наших мучений и после обращения в суппорт вышла errata. А для какого именно семейства ПЛИС ?
|
|
|
|
|
Oct 8 2012, 17:08
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(Гусь @ Oct 8 2012, 09:16)  собственно чтобы память то зашить через плису в каком режиме она должна быть? Чтобы с минимумом проблем - в любом Slave или JTAG режиме. Цитата(Гусь @ Oct 8 2012, 17:06)  Когда подключаюсь для 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.
|
|
|
|
|
Oct 8 2012, 18:32
|
Знающий
   
Группа: Свой
Сообщений: 702
Регистрация: 8-06-06
Пользователь №: 17 871

|
Цитата(Гусь @ Oct 8 2012, 17:06)  Когда подключаюсь для direct in-system программирования flash на jtagе загорается зеленая лампочка, что дальше нужно делать чтобы законфигурировать память? я нигде не могу найти инструкцию к этому процессу где описаны шаги в impacte. может кто-нибудь поможет? Начиная с ISE 12 direct SPI и другие не-JTAG методы программирования более не поддерживаются. Нужно брать iMPACT 11 или еще более ранний. Вообще говоря, если ПЛИС нормально конфигурируется с этой флешки, то и indirect программирование, в конечном счете, должно работать. Хотя бы читать ID - совершенно точно. Проверьте схему и плату. Может быть, плата битая, или флеш подключен неправильно? Цитата(Гусь @ Oct 8 2012, 09:16)  Действительно проверил, когда FPGA в режиме Master SPI, после команды Initialize Chain, все биты в Status регистре нули (что это значит?) Это как-то ненормально. А откуда вы узнаете, что ПЛИС находится в режиме Master SPI? Есть указания на плате? ПЛИС в это время не загружена?
|
|
|
|
|
Oct 9 2012, 11:15
|
Частый гость
 
Группа: Свой
Сообщений: 165
Регистрация: 26-02-10
Из: Москва
Пользователь №: 55 683

|
Да спасибо, уже разобрался написал ответ в теме http://electronix.ru/forum/index.php?showt...p;#entry1100214Цитата(Flood @ Oct 8 2012, 21:32)  Это как-то ненормально. А откуда вы узнаете, что ПЛИС находится в режиме Master SPI? Есть указания на плате? ПЛИС в это время не загружена? да, для этого там тоже джампер был переключающий master spi/slave serial.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|