Zversky 18 18 июля Опубликовано 18 июля · Жалоба Всем добра. Есть задача. Цитирую пункт ТЗ: Обеспечить информационное взаимодействие по интерфейсу UART для обеспечения удаленной прошивки без использования программатора JTAG, а также канала для отладки и вывода контрольных данных. Прошу высказаться: данное требование реализуемо, и, если да, то куда смотреть за референсом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 18 июля Опубликовано 18 июля · Жалоба Ставите МК в роли моста UART<=[Микроконтроллер]=>JTAG<=>Gowin и вуаля, получаете выполнение требования ТЗ. Как шить Gowin из МК здесь уже обсуждалось. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 19 июля Опубликовано 19 июля · Жалоба Правильно ли я понимаю, что минимизировать перечень элементов для выполнения требования ТЗ можно лишь применив т.н. Gowin goConfig, например Gowin goConfig SPI (https://www.gowinsemi.com/en/support/ip_detail/174/) ? Поверхностное изучение вопроса показало, что режимы загрузки применимы только для GW1N(R)-2C. Это так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 172 19 июля Опубликовано 19 июля · Жалоба Предусмотреть отладочный UART и не забивать голову, ибо в ТЗ ни слова конкретики. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 19 июля Опубликовано 19 июля · Жалоба 17 часов назад, Zversky сказал: без использования программатора JTAG По-моему достаточно конкретно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 5 19 июля Опубликовано 19 июля · Жалоба В ТЗ все лаконично. Нужно не только удаленно программировать, но и использовать как технологический канал. Должно быть что то типа remote update fpga ip. Т.е. типа флеш бьется на две страницы. Первая заводская, которая загрузчик на базе ip. Вторая ваш проект. Иначе всегда возможна ситация, когда зависните при прошивке, и без вскрытия железа будет не обойтись. Самому писать, потерять конкурентные преимущества. Не все кристаллы это поддерживают. Поэтому если говин не имеет такого ip, имеет смысл поедложить другого производителя или выкинуть из ТЗ удаленку. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 19 июля Опубликовано 19 июля · Жалоба 42 минуты назад, sazh сказал: В ТЗ все лаконично. Нужно не только удаленно программировать, но и использовать как технологический канал. Автор ТЗ приводит референсным дизайном Артикс. У меня нет опыта работы с этой серией другого вендора, но что-то подсказывает, что как и про серию, как и про самого производителя в настоящих условия можно смело забыть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 19 июля Опубликовано 19 июля · Жалоба Ну либо МК умеет прошивать конфигурационную память ПЛИС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 5 19 июля Опубликовано 19 июля · Жалоба Без комментариев. Каждый должен заниматься своим делом. Вы инженер. Тем более у Вас есть проект. Если его нельзя перевести на Говин. Альтернативу Вам уже предложили. Микроконтроллер. Мост. И вдобавок связка микроконтроллера с плис по spi. И вот у Вас уже дохлый микроконтроллер рулит системой. Кусок хлеба на всю жизнь. BMTI 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 19 июля Опубликовано 19 июля · Жалоба 3 часа назад, Zversky сказал: Правильно ли я понимаю, что минимизировать перечень элементов для выполнения требования ТЗ можно лишь применив т.н. Gowin goConfig, например Gowin goConfig SPI (https://www.gowinsemi.com/en/support/ip_detail/174/) ? Поверхностное изучение вопроса показало, что режимы загрузки применимы только для GW1N(R)-2C. Это так? Не понимаю проблемы: если есть JTAG, то у вас есть полный контроль и вы можете сделать приблизительно всё, что угодно. Зачем ещё какой-то SPI? Через JTAG вы можете зашить внутреннюю флешку Gowin, можете общаться с технологическим ядром и шить данные во внешнюю флешку, например, через SPI и т.п. Кстати, у Gowin можно переключать функцию пинов JTAG, а SPI на пинах JTAG реализуется легко и просто: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 19 июля Опубликовано 19 июля · Жалоба 4 часа назад, makc сказал: Не понимаю проблемы: если есть JTAG, то у вас есть полный контроль и вы можете сделать приблизительно всё, что угодно. Зачем ещё какой-то SPI? Потенциальный работодатель имел опыт с Артиксом, и ему вынь да положь было повторить тоже в Говине. Именно этот пункт стал камнем преткновения того, что мы так и остались потенциальными по отношению друг к другу. Отсюда я делаю вывод, что не всегда компетентность руководителя идёт во благо, иногда стоит прикинуться валенком и соглашаться с тем, что дано в ТЗ. Как в мульфильме про 10 шапок. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 19 июля Опубликовано 19 июля · Жалоба Только что, Zversky сказал: Потенциальный работодатель имел опыт с Артиксом, и ему вынь да положь было повторить тоже в Говине. Именно этот пункт стал камнем преткновения того, что мы так и остались потенциальными по отношению друг к другу. Отсюда я делаю вывод, что не всегда компетентность руководителя идёт во благо, иногда стоит прикинуться валенком и соглашаться с тем, что дано в ТЗ. Как в мульфильме про 10 шапок. Плюс/минус тоже можно повторить, никто не запрещает прогрузить в SRAM Gowin технологическую прошивку, реализующую JTAG TAP и далее использующуюся для прошивки всего, что заблагорассудится. Я пока не вижу никакой принципиальной разницы между Gowin и Xilinx в этом плане. В Xilinx чуточку проще, т.к. есть аппаратный примитив, позволяющий работать с JTAG в довольно удобной виде, но при наличии JTAGSEL_N и реализации TAP можно получить всё то же самое. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 19 июля Опубликовано 19 июля · Жалоба 52 минуты назад, makc сказал: Плюс/минус тоже можно повторить, никто не запрещает прогрузить в SRAM Gowin технологическую прошивку Но прогрузить-то откуда? Именно так Gowin Porgrammer и делает, но он 1 подключается по JTAG и 2 имеет проприетарный API Вернёмся к исходному ТЗ, доопределив его понимание потенциальным работодателем, как я его понял: имеется работающее ус-во на ПЛИС, связь с которым только по UART (SPI). Требуется обновить прошивку этого ус-ва. МК и прочие мозги ставить нельзя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 214 19 июля Опубликовано 19 июля · Жалоба 11 минут назад, Zversky сказал: Но прогрузить-то откуда? Микроконтроллером через JTAG. 12 минут назад, Zversky сказал: Вернёмся к исходному ТЗ, доопределив его понимание потенциальным работодателем, как я его понял: имеется работающее ус-во на ПЛИС, связь с которым только по UART (SPI). Требуется обновить прошивку этого ус-ва. МК и прочие мозги ставить нельзя. Если без МК, то всё сложнее. Остаётся только копать в сторону Multiboot в режиме конфигурирования MSPI из внешней флешки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 18 20 июля Опубликовано 20 июля · Жалоба 21 час назад, makc сказал: Остаётся только копать в сторону Multiboot в режиме конфигурирования MSPI из внешней флешки. В документе UG290-2.7.4E, 05/22/2024 Gowin FPGA Products Programming and Configuration Guide (https://cdn.gowinsemi.com.cn/UG290E.pdf) 7 Configuration Mode Details 7.5 MSPI Configuration Mode на стр. 90 / 128 читаю MSPI Mode FPGA Configuration: 1. Set the MODE pin configuration values to MSPI mode. 2. To prompt the FPGA to automatically load the bitstream from external Flash either х Power Cycle the FPGA х Or pulse RECONFIG_N low. MSPI Mode External Flash Update: The external Flash memory can also be re-programmed via the FPGA using JTAG. This feature enables the FPGA to support bitstream background updates and is often referred to as infield or remote update. Once the FPGA has been configured, users can remotely write new configuration data to the external Flash via the FPGA. Once Flash programming completes the new bitstream can be automatically loaded by triggering RECONFIG_N or power-cycling the FPGA. Вопросы: 1 Т.к. перебрасывать питание не предполагается, то кто будет передёргивать RECONFIG_N? Сама ПЛИС?* 2 "write new configuration data to the external Flash via the FPGA" - есть какие-либо механизмы доступа к MSPI изнутри прошивки?* *Если больше мастеров не предполагается. И вот ещё есть семинар GOWIN Webinar: Introduction to Programming and Configuring GOWIN FPGA Devices ( https://www.youtube.com/watch?v=SpfFIzJCLI0&t=1222s&ab_channel=GowinSemiconductor ) где на указанной в ссылке временной отметке приводиться такая картинка: т.е. загружать все прошивки предполагается всё-таки через JTAG суть Gowin Programmer и никак иначе? Вопрос уже поднимался на форуме: и там без МК тоже никак (если я правильно прочитал и понял) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться