makc 217 30 мая, 2022 Опубликовано 30 мая, 2022 · Жалоба Попробуйте srec_cat с выходным форматом srec_mem (Lattice Memory Initialization format). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DanilinS 4 3 июня, 2022 Опубликовано 3 июня, 2022 · Жалоба On 5/30/2022 at 5:54 PM, makc said: Попробуйте srec_cat Не осилил синтаксис. Ошибки лезут. Но это не проблема. Мне проще самому конвертор в MI файл написать. Тем более там ничего сложного. Есть вопросы по EDA: 1) Возможно файлы проекта как-то упорядочить? Папки, подкаталоги, цвет ... Когда в проекте более 10 файлов уже становится сложнее ориентироваться. 2) Инициализирующие файлы MI подтягиваются только в момент создания Core? А если я его откорректирую? Пересоздавать или в тексте правит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 217 4 июня, 2022 Опубликовано 4 июня, 2022 · Жалоба 18 часов назад, DanilinS сказал: Не осилил синтаксис. Ошибки лезут. Но это не проблема. Мне проще самому конвертор в MI файл написать. Тем более там ничего сложного. Мне кажется проще и правильнее использовать готовые средства. Поищите, для него полно примеров конвертации в другие форматы. И дальше по аналогии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DanilinS 4 5 июня, 2022 Опубликовано 5 июня, 2022 · Жалоба On 6/4/2022 at 11:19 AM, makc said: Мне кажется проще и правильнее использовать готовые средства. Какие "стандартные"? Штатные "Block Memory Initialization File Editor" или "User Flash Initialization File Editor" ? Так там можно только залить фиксированными значениями. Или ручками забивать. Никаких возможностей для импорта. Мне например нужно было 2K данных 2 раза забить. Руками такое забивать не вариант. Ну и что сильно бесит - инициализация памяти происходит при создании IP и прописывается в его тело. Т.е. если я меняю mi файл - мне приходится заново пересоздавать IP. А менять приходиться по несколько раз в день. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 14 5 июня, 2022 Опубликовано 5 июня, 2022 · Жалоба 3 hours ago, DanilinS said: А менять приходиться по несколько раз в день. Я решил проблему костылем в виде отладочного UART, небольшого FSM и второго порта памяти для "смены" прошивки во время отладки. Но это жуткий костыль требующий наличия в аппаратуре двух свободных GPIO. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSACPLD 14 5 июня, 2022 Опубликовано 5 июня, 2022 · Жалоба P.S. Вот если бы была возможность сделать хотя бы Virtual UART через JTAG, было бы уже не так костыльно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DanilinS 4 6 июня, 2022 Опубликовано 6 июня, 2022 · Жалоба На Sipeed Tang Nano 9K FPGA уже есть UART через JTAG чип. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andr2I 0 7 июня, 2022 Опубликовано 7 июня, 2022 · Жалоба В 01.03.2022 в 08:37, Alex_AZ сказал: Добрый день. Безуспешно пытаемся загрузить прошивку в ПЛИС 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? Добрый день! Не поделитесь результатами дальнейших попыток - удалось залить по SSPI? Есть желание вообще не разводить JTAG. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_AZ 0 8 июня, 2022 Опубликовано 8 июня, 2022 · Жалоба Добрый день! Залить удалось, работает. Временные диаграммы сделали в соответствии с документом 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DanilinS 4 8 июня, 2022 Опубликовано 8 июня, 2022 · Жалоба Обычно верным считается более свежий вариант. Ну или более высоким номером версии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DSIoffe 5 16 июня, 2022 Опубликовано 16 июня, 2022 · Жалоба Здравствуйте все! Скажите, пожалуйста, какой микросхемой от FTDI можно заливать конфигурацию по JTAG в GW1N? На оценочной плате, которая у меня есть, стоит FT232H. А можно ли приспособить FT2232H? Если можно, то как? Заранее признателен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 217 16 июня, 2022 Опубликовано 16 июня, 2022 · Жалоба 38 минут назад, DSIoffe сказал: А можно ли приспособить FT2232H? Если можно, то как? С ним всё работает "из коробки", только нужно чтобы все идентификаторы были стандартные (не переопределялись в EEPROM). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DSIoffe 5 16 июня, 2022 Опубликовано 16 июня, 2022 · Жалоба В 16.06.2022 в 13:21, makc сказал: С ним всё работает "из коробки", только нужно чтобы все идентификаторы были стандартные (не переопределялись в EEPROM). Спасибо большое. Какие именно идентификаторы? VID и PID или ещё какие-нибудь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 217 16 июня, 2022 Опубликовано 16 июня, 2022 · Жалоба Он ещё смотрит на строковый идентификатор продукта. Если идентификатор по-умолчанию (что-то там Dual ...), то всё нормально работает. Но если там будет написано что-то специфическое, то работать не будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DanilinS 4 16 июня, 2022 Опубликовано 16 июня, 2022 · Жалоба Cтроковый дескриптор iProduct у FTDI должен содержать строку "Dual RS232-HS". Подробности смотри : https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=166408#comments Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться