|
|
  |
Spartan-3AN Starter Kit, Вопрос к владельцам кита |
|
|
|
Feb 4 2010, 06:28
|
Группа: Участник
Сообщений: 12
Регистрация: 4-02-10
Пользователь №: 55 281

|
Доброго времени суток, господа. В общем, стал недавно обладателем двух таких отладочных китов. В результате работы с ними возник один единственный вопрос: как затставить FPGA грузиться с установленной на борду Xilinx Platform Flash PROM XCF04F. Вроде бы всё делаю правильно, согласно документации, однако FPGА упорно не хочет грузить конфигурацию из PROM. Причем отдельно *.mcs файл, полученный из битстрима iMPACTом совершенно нормально шьется в PROM через JTAG и проходит верификацию, тоже самое с программированием и самой FPGA через JТAG - всё работает корректно, однако при включении питания при уже зашитой PROM ничего не происходит. Все пины, ответственные за конфигурацию в нужных состояниях. Прилагаю лог, полученный при включении борды и выполнении команды Read Status Register в iMpact: Код INFO:iMPACT - Current time: Чт 4. фев 09:28:14 2010 // *** BATCH CMD : ReadStatusRegister -p 1 PROGRESS_START - Starting Operation. Maximum TCK operating frequency for this device chain: 10000000. Validating chain... Boundary-scan chain validated successfully. '1': Reading status register contents... CRC error : 0 IDCODE not validated while writing FDRI : 0 DCM Locked : 1 status of GTS_CFG_B : 0 status of GWE : 0 status of GHIGH : 1 value of VSEL pin 0 : 1 value of VSEL pin 1 : 1 value of VSEL pin 2 : 1 value of MODE pin M0 : 0 value of MODE pin M1 : 0 value of MODE pin M2 : 0 value of CFG_RDY (INIT_B) : 1 DONEIN input from Done Pin : 0 SYNC word not found : 0 '1': SPI access core not detected. SPI access core will be downloaded to the device to enable ope rations. INFO:iMPACT - Downloading core file C:/Xilinx/11.1/ISE/spartan3a/data/xc3s700an_spi.cor. '1': Downloading core... done. '1': Reading status register contents... CRC error : 0 IDCODE not validated while writing FDRI : 0 DCM Locked : 1 status of GTS_CFG_B : 1 status of GWE : 1 status of GHIGH : 1 value of VSEL pin 0 : 1 value of VSEL pin 1 : 1 value of VSEL pin 2 : 1 value of MODE pin M0 : 0 value of MODE pin M1 : 0 value of MODE pin M2 : 0 value of CFG_RDY (INIT_B) : 1 DONEIN input from Done Pin : 1 SYNC word not found : 0 INFO:iMPACT:2219 - Status register values: INFO:iMPACT - 0011 1111 1000 1100 INFO:iMPACT:2492 - '1': Completed downloading core to device. INFO:iMPACT - '1': Checking done pin....done. '1': Core downloaded successfully. Ready/Busy Bit: 0 Result of Main Memory Page to Buffer Compare: 0 Device Density Bits: 0000 Sector Protection enabled: 0 Power of 2 binary page size enabled: 1 The security register values are: Sector[0]: NOT SECURED (0) Sector[1]: NOT SECURED (0) Sector[2]: NOT SECURED (0) Sector[3]: NOT SECURED (0) Sector[4]: NOT SECURED (0) Sector[5]: NOT SECURED (0) Sector[6]: NOT SECURED (0) Sector[7]: NOT SECURED (0) Sector[8]: NOT SECURED (0) Sector[9]: NOT SECURED (0) Sector[10]: NOT SECURED (0) Sector[11]: NOT SECURED (0) Sector[12]: NOT SECURED (0) Sector[13]: NOT SECURED (0) Sector[14]: NOT SECURED (0) Sector[15]: NOT SECURED (0) Sector[16]: NOT SECURED (0) The lockdown register values are: Sector[0]: NOT LOCKED DOWN (0) Sector[1]: NOT LOCKED DOWN (0) Sector[2]: NOT LOCKED DOWN (0) Sector[3]: NOT LOCKED DOWN (0) Sector[4]: NOT LOCKED DOWN (0) Sector[5]: NOT LOCKED DOWN (0) Sector[6]: NOT LOCKED DOWN (0) Sector[7]: NOT LOCKED DOWN (0) Sector[8]: NOT LOCKED DOWN (0) Sector[9]: NOT LOCKED DOWN (0) Sector[10]: NOT LOCKED DOWN (0) Sector[11]: NOT LOCKED DOWN (0) Sector[12]: NOT LOCKED DOWN (0) Sector[13]: NOT LOCKED DOWN (0) Sector[14]: NOT LOCKED DOWN (0) Sector[15]: NOT LOCKED DOWN (0) Sector[16]: NOT LOCKED DOWN (0) '1': Reading security register... Factory ID 07 09 01 15 17 09 1F 25 00 00 08 11 FF FF 08 FF 30 30 4D 30 31 32 38 37 04 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
done. '1': Reading security register... One-time User Programmable FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
done. PROGRESS_END - End Operation. Может кто сталкивался с похожей проблемой? П.С. Версия софта имеет номер 11.1
|
|
|
|
|
Feb 4 2010, 10:40
|
Частый гость
 
Группа: Участник
Сообщений: 81
Регистрация: 14-10-09
Пользователь №: 52 943

|
2 Sharapov Ну наконец то! А то я думал, что только у нас с Георгием такие проблемы  ! Посмотрите здесь http://electronix.ru/forum/index.php?showt...=71818&st=0 И хотя, проблему полностью мы там не решили, но, возможно обсуждение натолкнёт Вас на нужные мысли. Вообще в описании на "кит" всё это подробно расписано (на мой s3esk это документ ug230.pdf), все режимы и возможные источники конфигурирования ФПГА.
|
|
|
|
|
Feb 4 2010, 11:09
|
Группа: Участник
Сообщений: 12
Регистрация: 4-02-10
Пользователь №: 55 281

|
Цитата(at89c51ed2 @ Feb 4 2010, 13:40)  2 Sharapov Ну наконец то! А то я думал, что только у нас с Георгием такие проблемы  ! Посмотрите здесь http://electronix.ru/forum/index.php?showt...=71818&st=0 И хотя, проблему полностью мы там не решили, но, возможно обсуждение натолкнёт Вас на нужные мысли. Вообще в описании на "кит" всё это подробно расписано (на мой s3esk это документ ug230.pdf), все режимы и возможные источники конфигурирования ФПГА. К сожалению вопрос по конфигурированию FPGA через Platform Flash так и остался без ответа. Интересует именно этот способ, так как он заложен в будущую разработку. Буду продолжать поиск решения.
|
|
|
|
|
Feb 4 2010, 16:06
|
Частый гость
 
Группа: Участник
Сообщений: 81
Регистрация: 14-10-09
Пользователь №: 52 943

|
2 Sharapov Цитата К сожалению вопрос по конфигурированию FPGA через Platform Flash так и остался без ответа. Интересует именно этот способ, так как он заложен в будущую разработку. Согласен, сам в аналогичной ситуации  , собираюсь в проект закладывать XCF. Слышал мнение (не помню где), что эта проблема именно этих "китов" и если включить по "штатной" схеме конфигурации ФПГА, то всё будет работать. Возможно, проблема в большом количестве источников конфигурирования ФПГА на "ките", может из-за USB загрузчика, а может и всё вместе. В крайнем случае, когда будет готова схема устойства, приделаю к ней кусок для конфигурации и выложу здесь (на форуме). Попрошу спецов местных  мощным глазом просканировать (там не большя схема получится) и сказать своё мнение.
|
|
|
|
|
Feb 4 2010, 17:41
|
Группа: Участник
Сообщений: 12
Регистрация: 4-02-10
Пользователь №: 55 281

|
Цитата(at89c51ed2 @ Feb 4 2010, 19:06)  Возможно, проблема в большом количестве источников конфигурирования ФПГА на "ките", может из-за USB загрузчика, а может и всё вместе. Уважаемый at89c51ed2, последние два дня провел изучая англоязычные форумы на предмет поиска решения вышеобозначенной проблемы и пришел к выводу, что вероятнее всего дело действительно в большом количестве источников конфигурирования, работающих от одного клока CCLK FPGA (кстати судя по схематику к CCLK также подключен ADC, Programmable Gain Amplifaer, DAC). Вероятно идет рассогласование импедансов, свидетелями чего мы с вами и являемся. Так что проще своё собрать и посмотреть, хотя с другой стороны киты должны быть по определению эталоном безглючности.
|
|
|
|
|
Feb 4 2010, 21:58
|
Частый гость
 
Группа: Участник
Сообщений: 81
Регистрация: 14-10-09
Пользователь №: 52 943

|
Уважаемый Sharapov Цитата Так что проще своё собрать и посмотреть, ... Согласен. Я думаю, этого (ug332.pdf) будет достаточно. Цитата вероятнее всего дело действительно в большом количестве источников конфигурирования, работающих от одного клока CCLK FPGA (кстати судя по схематику к CCLK также подключен ADC, Programmable Gain Amplifaer, DAC) Тут (ug230.pdf) официальное тому подтверждение.
Прикрепленные файлы
ug332.pdf ( 44.78 килобайт )
Кол-во скачиваний: 597
ug230.pdf ( 49.12 килобайт )
Кол-во скачиваний: 112
|
|
|
|
|
Feb 9 2010, 15:07
|
Участник

Группа: Свой
Сообщений: 67
Регистрация: 16-03-06
Из: Днепропетровск
Пользователь №: 15 307

|
Для обычных ПЛИС цепочка программирования через JTAG, и заливка прошивки из флешки идут разными путями. При заливки файла из флешки цепи TCK, TDI, TDO, TMS не используются. Откуда будет по умолчанию браться проект задается уровнем сигнала на ногах конфигурации. Кажется за это отвечают М0, М1, М2. При подаче питания на ПЛИС происходит инициализация и опрос выставляет свой внутренний CCLK на флешку, после загрузки проекта из флешки ПЛИС выставляет сигнал удачной загрузки DONE и снимает CCLK. В принципе эти сигналы можно отловить осциллографом. Как это точно сделано в Spartan 3AN не знаю, там якобы внесли флешку на борт ПЛИС. И цепи труднее прозвонить. Но наверняка для того чтобы проект зашивался из флеш в ПЛИС нужно правильно сконфигурировать ПЛИС на момент подачи питания. Или пытаться сделать сброс загруженной информации замыканием INIT на землю. Тогда ПЛИС снова выставляет клок на флешку и должна пройти запись. Мы когда-то боролись с не пропаянными BGA и смотрели эти сигналы.
Для обычных ПЛИС цепочка программирования через JTAG, и заливка прошивки из флешки идут разными путями. При заливки файла из флешки цепи TCK, TDI, TDO, TMS не используются. Откуда будет по умолчанию браться проект задается уровнем сигнала на ногах конфигурации. Кажется за это отвечают М0, М1, М2. При подаче питания на ПЛИС происходит инициализация и опрос выставляет свой внутренний CCLK на флешку, после загрузки проекта из флешки ПЛИС выставляет сигнал удачной загрузки DONE и снимает CCLK. В принципе эти сигналы можно отловить осциллографом. Как это точно сделано в Spartan 3AN не знаю, там якобы внесли флешку на борт ПЛИС. И цепи труднее прозвонить. Но наверняка для того чтобы проект зашивался из флеш в ПЛИС нужно правильно сконфигурировать ПЛИС на момент подачи питания. Или пытаться сделать сброс загруженной информации замыканием INIT на землю. Тогда ПЛИС снова выставляет клок на флешку и должна пройти запись. Мы когда-то боролись с не пропаянными BGA и смотрели эти сигналы.
|
|
|
|
|
Feb 12 2010, 17:10
|
Группа: Участник
Сообщений: 12
Регистрация: 4-02-10
Пользователь №: 55 281

|
at89c51ed2, решил я проблему с конфигурацией FPGA через Xilinx Platform Flash. В общем дело было так - пришли мои платы с производства, после монтажа компонентов всё тщательно промыл в ультразвуковой ванне, был у меня готовый проект, правда я сейчас не в ISE работаю, а в EDK, но по сути не так важно, главное что на выходе у нас битстрим получается (*.bit). Так вот, пошел по тому же пути что и со своей отладкой Spartan-3AN (кстати на плате у меня стаит Spartan-3E XC3S500E), получил импактом *.mcf и зашил его во флэшу, выставил M2..M0 в нули и ... в итоге всё тоже самое: шьется отдельно FPGA, шьется отдельно Flash, всёработает как надо, однако при выключении/включении питания та же ситуаия, что и описана выше - FPGA упорно не хочет грузить конфиг из флэши. Ну тут, в принципе, понятно стало, что дело не в китах, а в моём понимании и действительно так и оказалось. Короче поизучав документацию я, наконец решил свою проблему. Дело оказалось в том, что *.bit файл создавался с неправильной опцией, а именно: Код bitgen -g StartUpClk:JTAGCLK а нужно было: Код bitgen -g StartUpClk:Cclk После этого изменения я пересобрал проект, сгенерировал новый *.mcs, прошил флэшу и всё заработало как и должно было, т.е. FPGA начала грузить конфигурацию из Platform Flash. Удачи!
Сообщение отредактировал Sharapov - Feb 12 2010, 17:12
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|