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

GW2A-55, что с тобой (с нами?) не так?

Всем добра.


Поигравшись с GW2A-LV18PG256CC8/I7, взяли GW2A-LV55UG324C8/I7. И сразу же получили непонимание с загрузкой.
Если в первом случае ни с одним из режимов ( как загрузки напрямую в ОЗУ ПЛИС, так и в Flash SPI через GAO ) вопросов не было, то с реинкарнацией на 55 получили следующее ( выборка ( пока ) из двух плат: при первоначальной прошивке и тот и другой вариант работоспособен, т.е. примитивный проект помигать светодиодами загружается и в ОЗУ и в Flash SPI без вопросов (т.е. оттуда же и работает).
Но потом что-то происходит. Боевой проект для 55 уже не влезает в применённую ( и оставшуюся от предшественника ) Flash SPI MX25L1633E без сжатия, посему приходится сжимать. И, похоже, после зашивки такого проекта всё приходит в ступор.
Ни на какой из плат проект того же светодиода не грузится никуда. Т.е. загрузка проходит, но светодиод мигать не начинает.
Тут что-то простое?

Программатор - родной USB Cable.

 

image.thumb.png.a18305b006e78a13d5bc3d72bd89621a.png

Схема EEPROM на GW2A-18

image.thumb.png.56717bd2d63864fca341d3cf1c17a770.png

Схема EEPROM на GW2A-55 ( R23 - не установлен ).

Любые вопросы и ответы приветствуются.

 

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


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

Я бы для начала убрал подтяжку на SCLK и добавил подтяжку на CS порядка 10 кОм. 1 кОм там совершенно непонятно зачем нужен. 

На какую частоту настроен конфигурационный тактовый сигнал? 

Что происходит с сигналом READY? Что в регистре статуса ПЛИС, если прочитать его через JTAG?

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


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

А в даташите на 55ку есть требования к минимальном размеру флешки и сжатию? Может взять её побольше и попробовать залить базу? 

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


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

В 20.02.2023 в 14:19, des00 сказал:

А в даташите на 55ку есть требования к минимальном размеру флешки и сжатию? Может взять её побольше и попробовать залить базу? 

См. в Programming and Configuration User Guide (параграф 7.3 Configuration File Size) - максимальный объем несжатой прошивки для GW2A-55 составляет 2269 килобайт.

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


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

19 часов назад, makc сказал:

Я бы для начала убрал подтяжку на SCLK и добавил подтяжку на CS порядка 10 кОм. 1 кОм там совершенно непонятно зачем нужен. 

В прилагаемом документе в правом нижнем углу.

19 часов назад, makc сказал:

На какую частоту настроен конфигурационный тактовый сигнал? 

Нужна минимальное время загрузки, посему 125 МГц, как и было в случае с GW2A-18, когда вопросов не было.

image.thumb.png.9b7e1df42bf012431799cb94f45b8273.png

Теперь пытаюсь варьировать, но пока система не ясна.

19 часов назад, makc сказал:

Что происходит с сигналом READY? Что в регистре статуса ПЛИС, если прочитать его через JTAG?

И READY и DONE при таком варианте программирования встают, при его окончании, в состояние, когда оба светодиода горят (см. схемы выше).

image.thumb.png.d494fe9f3e2f2a88f2c340ad11db103b.png

19 часов назад, des00 сказал:

А в даташите на 55ку есть требования к минимальном размеру флешки и сжатию? Может взять её побольше и попробовать залить базу? 

Да, я и до постановки вопроса читал тот документ, на который @StewartLittle показал. Но размер файла *.fs пока не превышает размер применённой флешки, да и ПО, как понимаю, проверяет то, что пишет, и ругнулось бы при превышении одного над другим?

А, вот если программирую флеш

image.thumb.png.630a2ea4fdf63a6e430ea518a2c902e7.png

То, после программирования

image.thumb.png.1849802912aa28ec4b9bccac1eb0a439.png

вроде как успешного с т.з. ПО, горит только светодиод DONE, READY же погашен, и проект не стартовал.

Меняю частоту MCLK

image.thumb.png.123918914af92a3c6d1b07b171b7996a.png

компилирую и пытаюсь программировать

image.thumb.png.5328c6de94cb18c6024da16d738033f0.png

Стираю через BSCAN (JTAG)

image.thumb.png.6c4c16fcb83e1497e6b33a195cee2192.png

 

image.thumb.png.0ee8b0717c103c7ae1badc1318d3c5b3.png

DONE и READY встали в высокое. Снова программирую

image.thumb.png.9e3a59258b529ddce022830d4666bb5e.png

DONE и READY в высоком, всё запрограммировалось и работает (напомнило EZ-Kit Lite is fully functional an ready))

Вопрос в теме...

Gowin Minimum FPGA System SCH - GW2A-55K - GW2A-LV55-UBGA324.pdf

image.png

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


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

Не знаю, может этот баг характерен только для отладок SiPeed, но я на этом у них обжёгся. При программировании SPI флеш частота работы кабеля должна быть не выше 2,5, кажется, МГц. Когда была выше - получал разные квантово-механические эффекты, с которыми долго не мог разобраться. Когда опустился до 2 МГц - всё заработало.

Попробуйте, вдруг это не про SiPeed, а про Gowin

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


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

1 час назад, fingertouch сказал:

Попробуйте, вдруг это не про SiPeed, а про Gowin

Да, нет: Gowin на 15 MHz шьёт. В общем, та связка, что у меня (exFlash - FPGA) не работает выше, чем на ~31МГц.

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


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

В 21.02.2023 в 12:12, Zversky сказал:

В общем, та связка, что у меня (exFlash - FPGA) не работает выше, чем на ~31МГц.

Ваша флэшка поддерживает Fast Read SPI mode (инструкция SPI 0x0b)?

Сигнал FASTRD_N у Вас задействован?

 

Смотрим первоисточник (примечания к таблице 6-16 в параграфе 6.5.1 SPI Mode Pins):

  • Цитата

     

    • The MSPI configurаtion mode cloсk frequency should not be greater than 70 MHz.
    • The Flash high-speed access mode and external pull-down FASTRD_N pin are required when the clock frequency is greater than 30 MHz and less than 70 MHz.
    • Leave the FASTRD_N pin floating if the clock frequency is less than 30 MHz.

     

     

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


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

10 минут назад, StewartLittle сказал:

Ваша флэшка поддерживает Fast Read SPI mode (инструкция SPI 0x0b)?

Флешка вот: MX25L1633EM2I-10G 

image.thumb.png.967eb2174bab92c52a59a180542e1ab9.png

image.thumb.png.e4d4b050fa9bc9940168c3d008888dea.png

17 минут назад, StewartLittle сказал:

Сигнал FASTRD_N у Вас задействован?

image.thumb.png.c0af1b15e0350ab698886f89770aa2dd.png

Но в той же схеме с 18, он также висел, и вопросов не было (тактировали на 125)

image.thumb.png.0054b5c046ece4c515733181eabc606f.png

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


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

В 21.02.2023 в 13:20, Zversky сказал:

Но в той же схеме с 18, он также висел, и вопросов не было (тактировали на 125)

Так это не к вопросу о том, что было и что стало.

А к тому, что у Вас общение с флэшкой быстрее 30 МГц не работает (потому, что FASTRD_N не занулен).

К компрессии битстрима (если исходный вопрос был об этом) это отношения не имеет.

 

 

upd : кстати, почему для GW2A-18 загрузка работала на 125 МГц - это вопрос...

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


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

провел эксперимент на своей GW2A-18 с висящим в воздухе FAST_RD и 125 МГц. После загрузки Ready и Done встают в ноль намертво. Загрузка проекта с другой частотой ни в SRAM, ни во Flash этого изменить не могут. Вывести из этого состояния можно только переключив в другой режим загрузки (в моем случае Serial). 

Также в DS102-2.5.2E GW2A series of FPGA Products Data Sheet указано следующее:

Спойлер

image.thumb.png.1d78c8dfd1ea2a931052b224732603d9.png

upd : 62.5 МГц дает тот же результат. На 41.7 и ниже работает без проблем. Это же подтверждается в datasheet на мою флэш: режим FastRead до 133 МГц, обычный - до 50.

Datasheet на Вашу флэш говорит следующее:

Спойлер

image.thumb.png.2c72dcd2b7e350bc8ade6067fd7f850c.png

Предполагаю, что максимум для Вашей флэш - 31.3 МГц

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

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


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

13 часов назад, Zversky сказал:

В прилагаемом документе в правом нижнем углу.

Там подтяжка на TCK у JTAG, а мы вроде толкуем про MSPI? Поэтому это явно не та схема, чтобы брать её за пример.

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


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

В 21.02.2023 в 13:28, StewartLittle сказал:

А к тому, что у Вас общение с флэшкой быстрее 30 МГц не работает (потому, что FASTRD_N не занулен).

Согласен. Но в варианте с 18 экспериментировали с FASTRD_N и не получили того, что в даташите. Решили, что оставляем, как есть.

Взял для экспериментов DK_START_GW2AR-LV18EQ144PC8I7_V1.1. Но у него частота MSPI CLK не зависит от установок: она всегда 2,5 МГц. М.б. оттого, что ревизия чипа не С?

В 21.02.2023 в 13:54, tren359 сказал:

Предполагаю, что максимум для Вашей флэш - 31.3 МГц

Проверю, как будет возможность, на предыдущем проекте с 18.

20 часов назад, makc сказал:

Там подтяжка на TCK у JTAG, а мы вроде толкуем про MSPI? Поэтому это явно не та схема, чтобы брать её за пример.

Да, согласен, скорее всего этот кусок из Альтеры приехал. Спасибо.

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


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

Провёл эксперимент с GW2A-18С при FASTRD_N на землю.

image.thumb.png.bd2151fa9020cd98620027a624282676.png

Сверху (жёлтым) - питание 3.3В, далее - CLK MSPI, и внизу - признак того, что ПЛИС прошилась и заработала. Как видим, время от подачи питания до начала прошивки составляет около 30 мс.

image.thumb.png.f12914b837f942c05768003f73f32263.png

Время старта - около 70 мс. Посмотрим на старт обращения к exFlash.

image.thumb.png.380c87ebb8bc91872f5dbfc924ff009f.png

Можно прикинуть, сколько раз ПЛИС обращается к exFlash с частотой 2,5 МГц. Потом, там, где стоит курсор BX, промежуток

image.thumb.png.e14fadfb81ed95e418e8150c5fc5c687.png

И далее идёт работа на 120 МГц (с поправкой на погрешность измерения)

image.thumb.png.27977d55c436ac7c7fe1dec158d47402.png

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


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

В 22.02.2023 в 18:40, Zversky сказал:

Да, согласен, скорее всего этот кусок из Альтеры приехал. Спасибо.

Похоже я был неправ, т.к. при изучении их UG284-1.9.4E обнаружилась вот такая интересная картинка с подтягивающим к земле резистором на 1 кОм:
image.thumb.png.b696a6f640197f897ccf5fb64512a6d3.png 

Тем не менее я считаю такую схему неоправданной с точки зрения завала фронтов тактового сигнала для SPI Flash, 4.7 кОм или даже 10 кОм там смотрится намного уместнее. Тем более, что MCLK это выход на ПЛИС, т.е. по сути нужно пережить момент запуска (POR), а дальше он уже роли не играет.

С другой стороны меня смущает отсутствие у них pull-up резистора в цепи MCS_N (у вас его тоже нет), но по-идее это не должно быть проблемой, т.к. при старте тактовый сигнал будет стабилен и имеет нулевой уровень.

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


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

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

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

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

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

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

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

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

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

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