Перейти к содержанию
    

Что-то подключил я SPI-Flash N25Q256A к XC6SLX9TQG144, через Impact настроил все файлы конфигураций, пытаюсь прошить - получаю

PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 25000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': IDCODE is '20ba19' (in hex).
'1': ID Check passed.
'1': IDCODE is '20ba19' (in hex).
'1': ID Check passed.
'1': Erasing Device.
'1': Using Sector Erase.
'1': Programming Flash.
'1': Reading device contents...
Failed at address, 0
'1': Verification Terminated
INFO:iMPACT - '1': Flash was not programmed successfully.
PROGRESS_END - End Operation.
Elapsed time =     14 sec.

и большую кляксу "Program Failed".

 

Раньше использовал QSPI-Flash W25Q64 и все было нормально. Оно как-то определяет превышение нужного размера Flash что-ли? Прямая взаимосвязь только в объеме памяти. Как тогда вообще выбирать размер Flash для нужной ПЛИСы? Сейчас мне было удобнее поставить N25Q256A, но она походу как-то не пашет. Отпаяю и заменю на W25Q64 пока что. Но вопрос остался открытым.

 

P.S. QSPI-Flash - это в смысле загрузочная которая.

Изменено пользователем Arlleex

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то подключил я SPI-Flash N25Q256A к XC6SLX9TQG144, через Impact настроил все файлы конфигураций, пытаюсь прошить - получаю
Как вариант можно поставить 128ую если прошивка влазит. Пол флешки будет доступно ели проглотит :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как вариант можно поставить 128ую если прошивка влазит. Пол флешки будет доступно ели проглотит :)

В том и дело, что в Impact-е эта флешка доступна, она стирается (судя по логу), но не пишется, и фиг знает почему.

И вот вроде казалось бы - флешка и флешка, поддерживается? Поддерживается. Чего не работать-то? Схемотехника правильная, подтяжки везде есть где нужно и куда нужно.

А гадать, перепаивая флешки, не комильфо :smile3046: Ведь есть же способ какой-то определить, сколько мне максимум понадобится для данной ПЛИС. Как я понимаю, она может складываться из объема внутренней памяти BRAM (если есть), так называемой распределенной (distributed) памяти (которая из триггеров в LUT-ячейках, как я понимаю) и памяти для ячеек конфигурации самих LUT (это 4-5 бит на LUT, если не ошибаюсь), которая задает начальные значения межсоединений по включению питания. Вот просуммировав их я и получу сколько мне нужно памяти, нигде не везде ошибся?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Программируется через JTAG? Если скорость понизить?

Запаял уже другую флешку (которая на 64Мбит) - все работает на той же скорости JTAG. Только скорость JTAG это ж не скорость записи QSPI...

Как буду вторую плату паять - попробую снизить скорость, конечно, ради эксперимента.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Запаял уже другую флешку (которая на 64Мбит) - все работает на той же скорости JTAG. Только скорость JTAG это ж не скорость записи QSPI...

Как буду вторую плату паять - попробую снизить скорость, конечно, ради эксперимента.

Да на что грешить непонятно, либо с осциллографом лезть либо подёргать за что дергается.......

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати вот насчет подтяжек я похоже поторопился немного... Линии данных DQ0-DQ3 QSPI у меня идут прямо на ПЛИС, и там нет подтяжек... Программируется в режиме данных 1 бит. Вырезки из даташитов:

 

N25Q256

W# Control Input

Write protect: W# can be used as a protection control input or in QIO-SPI operations. When in

extended SPI with single or dual commands, the WRITE PROTECT function is selectable by the

voltage range applied to the signal. If voltage range is low (0V to VCC), the signal acts as a

write protection control input. The memory size protected against PROGRAM or ERASE operations

is locked as specified in the status register block protect bits 3:0.

W# is used as an input/output (DQ2 functionality) during QUAD INPUT FAST READ and QUAD

INPUT/OUTPUT FAST READ operations and in QIO-SPI.

 

W25Q64

8.4 Write Protect (/WP)

The Write Protect (/WP) pin can be used to prevent the Status Register from being written. Used in

conjunction with the Status Register’s Block Protect (SEC, TB, BP2, BP1 and BP0) bits and Status

Register Protect (SRP) bits, a portion or the entire memory array can be hardware protected. The /WP

pin is active low. When the QE bit of Status Register-2 is set for Quad I/O, the /WP pin (Hardware Write

Protect) function is not available since this pin is used for IO2. See figure 1a, 1b, 1c and 1d for the pin

configuration of Quad I/O operation.

 

Вот если ПЛИС как-то внутри подтягивает DQ2 в 1, то тогда примерно понятно, почему W25Q64 работает. При этом N25Q256 будет не работать всегда, судя по выписке из даташита. Причем самое идиотское, что функция лапы DQ2 определяется внешним напряжением на ней, которое может быть больше 3.3В, что попалит ПЛИС. Я, конечно, предполагаю, что разработчики предусматривали, что если используется лапа DQ2 в режиме WP, то в приложении режим QSPI не будет использоваться. Но блин! У них целых 7 ног DNU!!! Так еще и по ногам сделали же взаимозаменяемыми с себеподобными других компаний. Хотим махнуть одну на другую? Да не вопрос - только этот цирк работать не будет. Уродство :crying:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ведь есть же способ какой-то определить, сколько мне максимум понадобится для данной ПЛИС.
Конечно есть.

Даташит https://www.xilinx.com/support/documentatio...uides/ug380.pdf

В Table 5-5: Spartan-6 FPGA Bitstream Length

Утверждает что для вашего кристалла нужно:

6SLX9 2,742,528 бит

 

 

 

 

На счёт самой флешки поспрашал тут у нас народ. Люди шились но нужно поправить переменную среды чтобы ID не вычитывался. Какая переменная народ не помнт предлагает гуглить фотрумы от xilinx.

Альтернативным решением является установить 128 флешку в настройках там проблемы нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ведь есть же способ какой-то определить, сколько мне максимум понадобится для данной ПЛИС.

Есть способ. Прочитать даташит ug380, стр. 77. Для LX9 - 2,742,528 бит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На счёт самой флешки поспрашал тут у нас народ. Люди шились но нужно поправить переменную среды чтобы ID не вычитывался. Какая переменная народ не помнт предлагает гуглить фотрумы от xilinx.

Альтернативным решением является установить 128 флешку в настройках там проблемы нет.

 

Выдержка отсюда:

 

Set the operating system environment variable XIL_IMPACT_SKIPIDCODECHECK=1 to avoid the “ID Check failed” error message.

 

Так что проверку можно обойти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем!

На второй плате запаяю эксперимента ради N25Q256A и снова с ней попробую поиграться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Судя по логам, ID passed.

256-мегабитки отличаются от более младших командами. Но, если именно эта микра есть в списке...

Еще у 256-мегабиток у некоторых производителей бывает важна каждая буковка в наименовании.

Как-то столкнулся с тем, что 256-мегабитка была изначально с завода переведена в 4-битный режим (последняя буковка в маркировке на это указывала), а чтобы ее перевести в 1-битный - надо было по полной 4-битной шине подать команду. А процессор, с которым предполагалась ее работа, этого не умел... Хорошо, что внимательно прочитал даташит, а то бы купили несколько тыс. шт. на мою голову.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

256-мегабитки отличаются от более младших командами.
Не совсем так. Млажшие 128 Мб работают точно так же как и в младшей флешке. А вот доступ к старшим через расширенные комманды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не совсем так. Млажшие 128 Мб работают точно так же как и в младшей флешке.

Чаще всего - именно так. Но есть нюансы в зависимости от производителя и маркировки флеша.

В том числе и функционал выводов микросхемы может отличаться в зависимости от маркировки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но есть нюансы в зависимости от производителя и маркировки флеша.
Я считал что мы обсуждаем флешку заявленную в топике.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...