ValeiyT 2 8 февраля, 2023 Опубликовано 8 февраля, 2023 · Жалоба Подскажите, пожалуйста, правильно ли я понял, что все порты у GW1N, включая LVCMOS18 толерантны к приходящим 3,3 V? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ValeiyT 2 6 марта, 2023 Опубликовано 6 марта, 2023 · Жалоба Получилось задействовать MULTI BOOT - очень быстрое переключение между двумя конфигурациями, хранящихся в виде двух отдельных "битстримов" на внешней флеш для GW1NR9-C (и Tang Nano 9k) Работает замечательно и, что главное, плис переконфигурируется практически мнгновенно. Но мне не удалось добиться переключения между более чем двумя конфигурациями. Кто-нибудь смог победить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 19 6 марта, 2023 Опубликовано 6 марта, 2023 · Жалоба В 08.02.2023 в 12:39, ValeiyT сказал: все порты у GW1N, включая LVCMOS18 толерантны к приходящим 3,3 V? По таблице похоже, что так, но гляньте на те же данные у ПЛИС других вендоров - что там? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 19 6 марта, 2023 Опубликовано 6 марта, 2023 · Жалоба 1 час назад, ValeiyT сказал: очень быстрое Абсолютно не инженерный подход. См. прилагаемый документ ПСВСЦПW100-1.1 – Время старта центрального процессора - Web.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ValeiyT 2 6 марта, 2023 Опубликовано 6 марта, 2023 · Жалоба 3 часа назад, Zversky сказал: Абсолютно не инженерный подход. Я понимаю ) В данном случае необхомости проводить исследовательские работы необходимости не было. И вот почему - все тайминги, участвующие в данной процедуре довольно подробно описаны в документации и не верить им, во всяком случае на данном этапе, оснований нет. Единственная переменная величина - это размер самой прошивки, но и в этом случае зная скорость тактирования EEPROM, вычислить время загрузки не представляет сложности. Однако, тем не менее, соглашусь с Вами, что в дальнейшем, когда задуманное дойдет до некоего продкшна, это сделать так или иначе придется. А сейчас важен сам факт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 19 6 марта, 2023 Опубликовано 6 марта, 2023 · Жалоба 26 минут назад, ValeiyT сказал: и не верить им Одна из любимых цитат классика бывшего тестя: "Блажен, кто верует: Тепло ему на свете" 28 минут назад, ValeiyT сказал: А сейчас важен сам факт. Если важен сам факт, то слова "практически мгновенно" абсолютно лишние. Именно с них всё и началось. И именно на этом хочу закончить обсуждение этого аспекта. 6 часов назад, ValeiyT сказал: Кто-нибудь смог победить? А вот это остаётся открытым. Могу попробовать на досуге, если расскажете, применим ли данный режим к GW2A? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ValeiyT 2 6 марта, 2023 Опубликовано 6 марта, 2023 (изменено) · Жалоба 56 минут назад, Zversky сказал: А вот это остаётся открытым. Могу попробовать на досуге, если расскажете, применим ли данный режим к GW2A? Пишут, что применим. Кратко - готовится два проекта. Плис переводится в режим MSPI (MODE[2:0]=2) В настройках первого: Спойлер Параметр SPI Flash Address это адрес во флэш, с которого будет загружена вторая прошивка. Расчитывается так: размер бинарного (*.bin) файла первой прошивки в байтах+4096, полученное число первести в шестнадцатиричный формат и обнулить у него 12 младших разрядов. В настройках второй прошивки: Спойлер Здесь SPI Flash Address начальный адрес следующей прошивки. У меня стоит ноль (то есть после срабатывания RECONFIG_N запуститься прошивка с нулевого адреса, как после включения питания), хотя по идее можно начальный адрес третьей писать. Третья и последующая у меня не заработала. Только две. Само переключение конфигураций можно делать прямо в коде в конструкции типа: module clip_led ( input clk, output reg [5:0]led, output reg Reconfig = 1'b1, input Reset_Button); reg [31:0] time_r = 16'd70; reg [31:0] count = 32'd6000000; always @(posedge clk) begin if(Reset_Button) begin if(time_r < 16'd70) begin time_r <= time_r + 1; Reconfig <= 0;end else Reconfig <= 1; end else time_r <= 0; end always @(posedge clk) begin if (count == 0) begin led[5:0] <= ~led[5:0]; count <= 32'd6000000; end else count <= count - 1'b1; end endmodule В констрейнах прописать: IO_LOC "led[5]" 16; IO_PORT "led[5]" PULL_MODE=UP DRIVE=8; IO_LOC "led[4]" 15; IO_PORT "led[4]" PULL_MODE=UP DRIVE=8; IO_LOC "led[3]" 14; IO_PORT "led[3]" PULL_MODE=UP DRIVE=8; IO_LOC "led[2]" 13; IO_PORT "led[2]" PULL_MODE=UP DRIVE=8; IO_LOC "led[1]" 11; IO_PORT "led[1]" PULL_MODE=UP DRIVE=8; IO_LOC "led[0]" 10; IO_PORT "led[0]" PULL_MODE=UP DRIVE=8; IO_LOC "clk" 52; IO_PORT "clk" IO_TYPE=LVCMOS33 PULL_MODE=UP; IO_LOC "Reset_Button" 4; IO_LOC "Reconfig" 9; //RECONFIG_N Для GW2A это B10 Как оказалось ножку RECONFIG_N вовсе не нужно выводить наружу. Можно прямо в коде дергать её к нулю на необходимое время. Ну и : openFPGALoader --external-flash -o 0x0 /home/tvl/Gowin/Projects/proba-1/impl/pnr/proba-1.fs openFPGALoader --external-flash -o 0x41000 /home/tvl/Gowin/Projects/proba-2/impl/pnr/proba-2.fs (у меня линукс, а внем штатный программатор не работает) Как-то так. Изменено 6 марта, 2023 пользователем ValeiyT Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fingertouch 2 7 марта, 2023 Опубликовано 7 марта, 2023 · Жалоба 14 часов назад, ValeiyT сказал: Как оказалось ножку RECONFIG_N вовсе не нужно выводить наружу. Можно прямо в коде дергать её к нулю на необходимое время. Подробнее про это можно, пожалуйста? У парсера Gowin Reconfig_N является зарезервированным словом? Как нужно написать в точности, чтобы не пришлось наружу ногу тащить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ValeiyT 2 7 марта, 2023 Опубликовано 7 марта, 2023 (изменено) · Жалоба 1 час назад, fingertouch сказал: Подробнее про это можно, пожалуйста? У парсера Gowin Reconfig_N является зарезервированным словом? Как нужно написать в точности, чтобы не пришлось наружу ногу тащить? Да все просто: в констрейне (*.cst) обзываете эту ногу каким угодно образом, напрмие как у меня: IO_LOC "Reconfig" 9; (девятая нога у GW1NR-LV9QN88PC6/I5 в Tang Nano-9k - это как раз RECONFIG_N) Даете этому имени сатус "output" в параметрах модуля с обязательным первоначальным присвоением высокого уровня: output reg Reconfig = 1'b1 и обращаетесь к нему через "Reconfig" , а не через RECONFIG_N Работает) Добавлю - ни в коем случае не назначать RECONFIG_N в "Dual Purpose Pin" этот вывод как "Regular IO" - сразу все станет колом. Конфликты... Хотя... в общем не надо назначать как вход и все будет ок ) Изменено 7 марта, 2023 пользователем ValeiyT Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 45 7 марта, 2023 Опубликовано 7 марта, 2023 · Жалоба В 06.03.2023 в 19:28, ValeiyT сказал: (у меня линукс, а внем штатный программатор не работает) Прекрасно штатный программатор из Gowin EDA работает в Linux - проверено в центосе, убунте и минте. Нужно только правильно права прописать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 19 7 марта, 2023 Опубликовано 7 марта, 2023 · Жалоба 4 часа назад, ValeiyT сказал: и обращаетесь к нему через "Reconfig" , а не через RECONFIG_N А вот это о чём?: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ValeiyT 2 7 марта, 2023 Опубликовано 7 марта, 2023 · Жалоба 50 минут назад, StewartLittle сказал: Прекрасно штатный программатор из Gowin EDA работает в Linux - проверено в центосе, убунте и минте. Нужно только правильно права прописать. На tang nano 9k программатор выполнен на bl702 и он заработал в линуксе только после его перепрошивки, взятой с этого форума (спасибо, кстати). Но даже после этого он шьет только SRAM и embedded flash. Внешнюю память ни в какую. Про права в курсе - второй десяток лет линукс-администор ) Но, как говорится, еще не вечер - поробуем разобраться. 17 минут назад, Zversky сказал: А вот это о чём?: Вообще говоря, было бы странно если бы подобного предупреждения не было. В смысле: а че это ты, пользователь, вдруг захотел напрямую вызывать (какой-то) gwConfig для программирования ) Думаю, это предупреждение для невнимательных пользователей, вздумавших бездумно испоьзовать пины. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 45 7 марта, 2023 Опубликовано 7 марта, 2023 · Жалоба В 07.03.2023 в 15:02, ValeiyT сказал: На tang nano 9k программатор выполнен на bl702 Ну, я-то про штатный программатор писал, который на FT2232H. Кстати, а какая именно версия Gowin EDA у Вас? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ValeiyT 2 7 марта, 2023 Опубликовано 7 марта, 2023 · Жалоба 41 минуту назад, StewartLittle сказал: Кстати, а какая именно версия Gowin EDA у Вас? Благодаря, Вам 1.9.8.10 Спасибо еще раз! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 19 8 марта, 2023 Опубликовано 8 марта, 2023 · Жалоба В 06.03.2023 в 19:28, ValeiyT сказал: Параметр SPI Flash Address это адрес во флэш, с которого будет загружена вторая прошивка. Расчитывается так: размер бинарного (*.bin) файла первой прошивки в байтах+4096, полученное число первести в шестнадцатиричный формат и обнулить у него 12 младших разрядов. Это где-то английским (китайским) по белому прописано? Как, например, здесь?: Patents Assigned to Gowin Semiconductor Corporation Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться