FPGA: GoWin (Китайская ПЛИС), первые проекты.
Ноябрь 2020 года.
Новость китайцы начали выпускать ПЛИС....
ПЛИСы интересные в них есть своя изюминка если сравнивать в именитыми игроками:
Intel(Altera), Xilinx, Lattice.
Посмотрел семинар, решил поиграться с плисиной.
Заказал плату на ebay.com Tang Nano, купил USB-C кабель.
На плате оказался установлен программатор на микросхеме CH552T.
Windows7-64 сама нашла драйвера, что очень удивило.
Зарегистрировался на сайте www.gowinsemi.com, скачал среду разработки,
всего 300 Мбайт (на диск разворачивается в ~ 1 Гбайт).
Установил на ПК среду, понадобился лицензионный ключ.
Сначала запросил ключ на сайте www.gowinsemi.com, от туда тишина.
Запросил ключ у http://icgamma.ru, ребята прислали ключ. Спасибо !
Создал проект мигания светодиодом, загрузил в плату - работает.
Проект грузиться в SRAM и при выключении питания ПЛИС все забывает.
Хорошо загрузим в строенную Flash и тут началось...
Загружаю прошивку в embeded Flash, а в ответ ошибка записи и тишина от платы,
не работает и все тут...
Потратив два дня перерыв документацию и не получил результата, пришел к выводу,
что где то глюк и не понятно где...
Решил подойти по другому.
Прошить через программатор командной строки и о чудо заработало !
programmer_cli --device GW1N-1 --operation_index 5 --fsFile led_blink.fs
Что интересно если вызвать подсказку у programmer_cli.exe то --operation_index содержит
куда больше вариантов чем, представлено в графической оболочке.
Исходники и скрипт на GitHub.
Проект передатчик фиксированного пакета по UART.
Понадобился для тестирования UART приемников автономный передатчик,
который может периодически передавать в UART порт известные данные.
При чем желательно чтобы умел работать на нескольких скоростях.
Так был реализован данный проект.
Передатчик умеет передавать раз в секунду строку "Hello1234567890\n",
передача идет одновременно на нескольких скоростях на нескольких выводах.
Передача осуществляется на фиксированных скоростях:
115200, 57600, 38400, 19200, 9600, 4800, 2400, 1200 бит/с, формат 8N1.
Один отдельный вывод работает на фиксированной скорости.
Т.е. достаточно только подключиться к нужному выводу.
Почему не микроконтроллер ?
Все просто, не в каждом микроконтроллере можно встретить большое количество USART модулей.
Реализации с программный USARTом и мультиплексированием оставим в покое,
т.к. время затраченное на подобную реализацию куда больше чем тот же проект на ПЛИС.
К тому же на ПЛИС можно сделать передатчик на нестандартные скорости,
которые не каждый USART позволит выставить.
Для чего еще можно приспособить ?
Например, если заменить передаваемую строку на пакет в формате Pelco-D,
то можно проводить тестирование камер и систем управления, этакий пульт дистанционного управления на ПЛИС :) и т.п.
Исходники gowin_tang_nano_prj/uart_tester/ на GitHub.
Предварительный итог:
ПЛИСы интересные, стоят того чтобы их изучать и применять.
Уже есть идеи куда применить, осталось прикупить сами микросхемы.
Достоинства:
+ Среда мало занимает места на диске.
+ Свой синтезатор, фиттер (что тоже удивило).
+ Скорость работы - высокая по сравнению с другими производителями (походу intel, xilinx
забыли что так можно делать).
+ Есть ПЛИСы с CPU ядрами типа Cortex-M3, Risc-V, BLE (у других производителей жирные Cortex-Ax
для работы под Linux :( ).
+ Обещают низкие цены (посмотрим).
+ Наличие IP Ядер.
+ Наличие ПЛИС с SDRAM/DDR памятью на борту, MIPI и прочими интерфейсами.
Из недостатков:
Все еще несколько сырое... И среда и документация и поддержка...
- Среда находится в beta версии.
- Нет форума где можно задать вопросы.
- Нет FAQ.
- Вопросы можно задавать через сайт, но есть подозрение что отвечать не будут...
- Доставаемость - пока под вопросом, придется искать где купить.
И тем не менее, результаты работы с GoWin FGPA оставили положительные эмоции,
похоже что ребята решили взяться за ПЛИСы всерьёз и надолго.
Если так и дальше пойдет, то надо учить китайский.
Что у нас, в России ? :
Пока российский космос продолжает терять кадры, и строит очередной батут для покорения бюджета...
Воронеж осваивает производство устаревшие плис от Alter-ы... и предлагает использовать устаревший
софт (где сегодня под старый Quartus брать машины с ...XP и т.п. ?)
.....
.....
.....
китайцы тем временем, под руководством коммунистической партии планомерно захватывают мир.