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

Alex_AZ

Свой
  • Постов

    69
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Alex_AZ

  • Звание
    Участник
    Участник

Информация

  • Город
    Array

Посетители профиля

4 077 просмотров профиля
  1. Оригинальный JTAG-кабель от Gowin. PL USB Cable v4.0 Среда Gowin FPGA Designer 1.9.8
  2. При программировании SRAM или Embedded Flash чипа GW1N-1S получаю ошибку "VLD Down!". Есть ли у кого-нибудь информация, что бы это могло значить и как с этим бороться? При этом статус и ID code читаются нормально. Т.е. JTAG-цепочка вроде бы работает. Значение кода статуса - 0x00018020. Из документации нашел, что VLD - это 12-й бит регистра статуса. Его значение как-то связано с Embedded flash. При нормальном протекании процесса программирования этот бит должен быть в 1. Более детальной информации не нашел.
  3. В продолжение истории. Получили чипы с Data Code 1948. Из 12 установленных без проблем завелись все 12.
  4. 1. Пробовали, не помогает 2. Самое старое, что пока нашли 1.9.6 Beta. На сегодняшний день проверили следующие варианты ПО: - Gowin 1.9.6 Beta с программатором Programmer 2; - Gowin 1.9.7.01 Beta - Gowin 1.9.8 - Gowin 1.9.8.05 - Gowin 1.9.8.06 3. Пробуем. Обращение на форуме только для возможного ускорения поиска проблемы.
  5. По нарастанию напряжений питания - а на какое время нарастания следует ориентироваться? Тут момент такой - на тех же самых платах чипы из другой, "исправной" партии завелись все. На чипах из "неисправной" партии - 10 из 10 не завелись. Не похоже, что где-то на грани работаем. Там чип маленький, проект в принципе простой. Но для очистки совести сделал новый - оставил по одному пину вход и выход. Соединил их между собой. Пытаюсь прошить eeprom - не стартует с теми же симптомами.
  6. Эти выводы в корпусе FN32 наружу не выведены К тому же, на этой же печатной плате чип из другой партии стартует нормально
  7. Добрый день! При прошивке embedded flash микросхемы GW1N-1S возникает проблема: ПЛИС не стартует при включении питания. Прошивка embedded flash проходит успешно включая верификацию, но есть сообщение об ошибке "Error: Finished, NOT wakes up". Работаем с микросхемой GW1N-LV1SFN32C6/I5, Data Code 1919, Lot number AS01185 Пробовали 2 версии ПО Gowin FPGA Designer версий 1.9.8 и 1.9.8.05 В качестве программатора используем поставляемый производителем ПЛИС Gowin FPGA Download Cable Настройки bitstream установлены как показано на рисунках (configuration.jpg, configuration2.jpg) Пробовали менять эти настройки, но результат прежний - плата не стартует. При этом, если прошивать по JTAG напрямую SRAM, то микросхема функционирует правильно. Что примечательно, такие же микросхемы GW1N-LV1SFN32C6/I5 с Date Code 1940 и Lot code AS01221 прошиваются без проблем при приведенных выше настройках проекта и программатора. Известны ли какие-нибудь проблемы с микросхемами GW1N-LV1SFN32C6/I5, Data Code 1919, Lot number AS01185? Возможно были какие-либо известные проблемы с какими-то конкретными партиями микросхем?
  8. Добрый день! Залить удалось, работает. Временные диаграммы сделали в соответствии с документом UG290 версии 2.4.1E, раздел 6.4. Алгоритм программирования взяли из TN652-1.3E, используем ветку с проверкой IDCODE У нас еще была проблема, что ошибочно SI завели на ножку DIN, которая в режиме SSPI работает как CLKHOLD_N. На всякий случай уточню несколько моментов: 1. После того как поднимается CS SSPI, нужно сгенерировать не менее 2х импульсов тактового сигнала CLK. 2. После подачи команды записи 0x3B CS не поднимается до окончания передачи прошивки. 3. Нигде не описанный явно момент: заливать в чип нужно файл .bin, не .fs У нас основная проблема была в том, что нашли несколько версий документа UG290 и в разных версиях процесс программирования описан по-разному. Непонятно было какой из вариантов актуальный. TN652-1.3E_Gowin FPGA Products Slave SPI Configuration Manual.pdf UG290-2.4.1E_Gowin FPGA Products Programming and Configuration Guide.pdf
  9. В свое время при реализации LDPC для DVB-T2 на FPGA мне сильно помогла вот эта статья. Не факт, что в Вашем случае применимо, но есть вероятность, что поможет) FPGA Implementation of LDPC Decoder in DVB.pdf
  10. Добрый день. Безуспешно пытаемся загрузить прошивку в ПЛИС GW1-LV9PG256 в режиме SSPI. По JTAG процесс загрузки проходит нормально. Как мы пытаемся прошить по SSPI (в соответствии с документом TN652 Gowin FPGA Products Slave SPI Configuration Manual): 1. M[2:0] = 'b001, CLKHOLD_N = 1 2. Импульс (1 -> 0 -> 1) RECONFIG_N длительностью 400ns, дожидаемся READY = 1 3. ID-код не опрашиваем 4. Отправляется команда 0x15, 0x00, 0x00, 0x00 (4 байта). Если верить документации, после нее нужно выдержать паузу 4ms. Пробовали как с этой задержкой, так и без нее. 5. Отправляется команда 0x3B (1 байт). 6. Отправляются данные из файла прошивки (пробовали и .bin, и .fs) 7. Отправляется команда 0x3A, 0x00, 0x00, 0x00 После выполнения этой последовательности действий не видим перехода DONE в 1. Можете ли подсказать, что мы делаем не так? Еще пара вопросов. 1. В документе TN652-1.3E Gowin FPGA Products Slave SPI Configuration Manual есть такая фраза Правильно ли понимаю, что после того как передача каких-либо данных закончилась при сигнале CS = 1 нужно на вход SCLK подать минимум 2 тактовых импульса? 2. Допускает ли команда 0x3B запись более одного байта? 3. Какой все-таки файл нужно заливать по SPI .fs или .bin?
  11. Добрый день! Появилась парочка вопросов. 1. Правильно ли понимаю, что GW1N-LV9 в корпусе UG256 невозможно загрузить по SSPI, т.к. в этом корпусе не выведены наружу ноги MODE[2:0]? Откуда вопрос: корпус PG256 (BGA) большой, имеет шаг выводов 1.0мм и у него есть MODE[2:0]. Корпус UG256 меньше, с шагом выводов 0.8мм и было бы удобнее использовать его. Но непонятно как загрузить ПЛИС внешним процессором, т.к. согласно документации ноги MODE[2:0] наружу не выведены и режим конфигурации SSPI недоступен. 2. Что делать со входами L/RPll, если pll в проекте не используется или источником тактового сигнала являются не указанные входы?
  12. Всем привет! Пробую запустить USB на Zynq-7000 baremetal. За основу взял пример xusbps_intr_example.c из поставки Vivado/Vitis. Разрабатываемое устройство - USB Device с контрольными конечными точками 0x00 и 0x80, и по одной Bulk конечной точке IN и OUT. Сценарий работы: хост передает данные на устройство по Bulk OUT, устройство их обрабатывает и возвращает хосту через Bulk IN. Собственно, все работает более-менее хорошо до тех пор, пока не нужно "придержать" передачу данных с хоста. Т.е. приходит блок данных на обработку и пока приложение на Zynq занимается обработкой, я не хочу принимать новые данные с хоста. Вроде бы интерфейс USB позволяет реализовать такой сценарий ответами NAK/NYET. Судя по ug585-Zynq-7000-TRM, конечная точка Bulk OUT на запросы транзакций отвечает NAK, если она не primed. Т.е. перед транзакцией мы готовим дескрипторы транзакций dTD, затем делаем конечную точку primed. Когда отработают USB и DMA, данные окажутся в указанной области памяти, дескрипторы dTD снова становятся активными, а конечная точка должна стать не-primed. Пробую реализовать. Передаю c хоста блок данных по размеру входного буфера. USB и DMA отрабатывают, но конечная точка остается primed. Статус конечной точки проверяю, читая регистр XUSBPS_EPRDY_OFFSET. Т.е. если верить ug585, в primed конечную точку хост может продолжить передавать данные, в ситуации, когда их некуда девать. Если кто-нибудь работал с USB на Zynq-7000 baremetal, то как вы это обходили? Ситуация выглядит так, что штатный драйвер не рассчитан на такого рода обмен. Ну, или что более вероятно, я чего-то не понимаю)
  13. Добрый день! Экспериментирую с Ethernet на отладочной плате MYIR Z-turn board. На ней чип физического уровня Ethernet присоединен к MIO Zynq'a, т.е. к его PS-части (блок Gigabit Ethernet Controller(GEM)). Хочу без каких-либо изменений или анализа передавать пакеты Ethernet в PL. Как основу брал пример от Xilinx "Zynq-7000 AP SoC - Performance - Ethernet Packet Inspection - Bare Metal - Redirecting Packets to PL Tech Tip". Все заработало, но DMA там настроено на прием только 1 пакета. Поправил, сделал сброс бита Ownership дескриптора (1 - с буфером, описываемым данным дескриптором работает software, 0 - с буфером работает блок GEM). Принимаются теперь все пакеты, но требуется вмешательство процессора по очистке этого бита. Т.к. задачи обработки на стороне процессора не стоит, то и отвлекать его на сброс флага не хотелось бы. Отсюда вопрос - есть ли механизм автоматической переинициализации дескрипторов DMA блока GEM? Кажется, что что-то подобное быть должно, но в документации не нашел.
  14. Забыл сразу написать, но может кому-то пригодится. Все заработало нормально после замены кабеля USB. Причем сбоил тот, который шел в комплекте с платой :-) Со штатным драйвером скорость bulk out удалось получить на уровне 10МБ/с, bulk in - 8..9 МБ/с. Думается, что скорость можно еще увеличить, если переписать драйвер под собственное применение без проверок на ошибки.
×
×
  • Создать...