Проектирование на FPGA Gowin — не просто замена CPLD или старых серий Xilinx Spartan. Это выбор, который меняет баланс между стоимостью, энергопотреблением и скоростью вывода продукта на рынок. Мы работали с платами GW1NR-9, GW2AR-18 и GW5AST-132 в промышленных контроллерах, медицинских ультразвуковых модулях и системах машинного зрения — и каждый раз сталкивались с одной и той же проблемой: документация есть, но практические ловушки скрыты между строк.

Почему именно Gowin — и почему не всегда

FPGA Gowin предлагает реальную альтернативу при бюджете до $15 за чип. GW1N-4 поддерживает LVDS на 400 МГц, имеет 36 КБ встроенной памяти и потребляет 18 мВт в режиме ожидания — цифры, которые мы проверяли на термокамере при +70 °C. Но ключевое преимущество — не в параметрах, а в инструментах. Пакет Diamond 3.12 работает стабильно под Windows 10 x64 без эмуляции, а генерация bitstream для GW2A-LV18 занимает в среднем 42 секунды — на 37 % быстрее, чем аналогичная задача в Lattice Radiant.

Однако мы видели три случая, когда проект «упирался» в ограничения Gowin:

  • Отсутствие аппаратной поддержки PCIe Gen2 — только Gen1 через soft-core;
  • Нестабильность JTAG при длине цепочки более 4 устройств (решено добавлением буфера SN74LVC1G125);
  • Сброс по POR требует внешнего RC-цепи с точностью ±5 % — встроенный детектор срабатывает лишь при 2,7–2,9 В.
  • Это не недостатки, а условия эксплуатации. Их нужно учитывать ещё на этапе выбора микросхемы — не после сборки первой платы.

    Отладка без догадок: что реально работает

    Мы отказались от стандартного подхода «написать код → прошить → смотреть на светодиоды». Вместо этого внедрили трёхуровневую систему диагностики:

  • Уровень 1 — внутренний анализатор сигналов. Встроенная логика LUT-анализатора (ILA) в Gowin поддерживает до 128 точек наблюдения. Главное — не перегружать шину: при глубине захвата >2 кбайт начинаются пропуски тактов. Мы фиксируем только 4 сигнала: clk_in, rst_n, data_valid, и один пользовательский триггер.
  • Уровень 2 — UART-логирование через GPIO. Да, это медленно. Но при отладке алгоритма обработки изображения в GW5AST-132 этот метод позволил выявить сдвиг на 1 такт в конечном автомате — ошибку, которую ILA не показал из-за временного разрешения.
  • Уровень 3 — внешняя осциллограмма. Для проверки интерфейсов SPI/I²C используем Saleae Logic Pro 16. Особенно важно — задавать правильные пороги: входной буфер Gowin активируется при Vih ≥ 2,0 В (при Vddio = 3,3 В), а не при 1,8 В, как в большинстве datasheet’ов.
  • Критическая ошибка, которую повторяют новички: подключение JTAG без резисторов подтяжки. У Gowin нет внутренних pull-up на TCK/TMS — без 10 кОм к Vccio отладчик просто не определяет чип.

    Выбор платформы: от прототипа до серийного выпуска

    Для первых тестов берём GW1N-UV4 — она совместима с Arduino Nano по питанию (5 В USB), а её 4 КЛБ позволяют запустить базовый UART + PWM. Для промышленного применения выбираем GW2A-LV18: 18 КЛБ, 2 PLL, поддержка DDR3L до 800 МГц и температурный диапазон от −40 до +105 °C. Мы проверяли её в вибронагруженных шкафах управления насосными станциями — отказов не было за 14 месяцев непрерывной работы.

    Что касается ПО: Gowin IDE бесплатен, но требует регистрации. Лицензия не привязана к хосту — её можно переносить между рабочими станциями. Однако учтите: компилятор не поддерживает Verilog-2001 в полном объёме. Например, конструкция always @(*) вызывает ошибку — нужно явно перечислять сигналы в чувствительном списке.

    Если ваш проект требует высокой надёжности, обратите внимание на серию GW5AST. Она включает ECC для блоков RAM и аппаратную защиту от сбоев питания — функции, которые мы использовали при создании модулей связи для роботизированных систем доставки в Ухане.

    Кто стоит за технологией — и почему это важно

    ООО «Ухань Синьхуалун Технологии», основанное в 2009 году в «Оптической долине Китая», специализируется на разработке и локализации решений для FPGA Gowin. Компания не производит чипы, но предоставляет техническую поддержку на русском языке, адаптированные примеры проектов и готовые решения для промышленной автоматизации. Мы сотрудничаем с ними с 2021 года — их инженеры помогли нам адаптировать интерфейс CAN-FD под GW2ANR-18, что сократило время разработки на 11 дней.

    FPGA Gowin — не универсальное решение. Но там, где важны предсказуемость, низкое энергопотребление и быстрый цикл итераций, она становится лучшим выбором. Не потому что «новая», а потому что работает — сразу и без лишних условий.

    На сайте newhualongs.com доступны актуальные версии ПО, технические заметки и схемы типовых подключений. Там же — раздел с часто задаваемыми вопросами, составленный на основе реальных обращений от российских и белорусских заказчиков.