Курс FPGA и VHDL — создание контроллера точечно-матричного LED-дисплея с нуля
Я рад поделиться, что курс VHDL и FPGA, над которым я работал последние шесть месяцев, приближается к завершению. Сейчас он в бета-версии, официальный запуск состоится этой осенью.
Для кого этот курс?
Эта программа разработана для разработчиков, которые уже знают другие языки программирования, но новые в VHDL и FPGA. Она ведет от начального или среднего уровня к освоению продвинутых конструкций VHDL.
Она идеально подходит для профессиональных программистов, столкнувшихся с задачей FPGA-разработки, а также для студентов и фрилансеров, изучающих аппаратное проектирование или рассматривающих смену карьеры на FPGA-инженерную.
Любой с базовыми навыками программирования получит пользу от нашего практико-ориентированного подхода. Мы строим реальный физический продукт с нуля и проходим через каждый шаг, который я бы сделал как FPGA-инженер.
Проект

Наш итоговый продукт — контроллер точечно-матричного LED-дисплея. Точечно-матричные LED-дисплеи распространены на крупных наружных билбордах и информационных табло, и исторически встречались в устройствах вроде цифровых часов и вендинговых автоматов.
Вы можете пройти курс, используя только симуляцию; никакое оборудование или FPGA-плата не требуются. Однако курс также предоставляет все детали, необходимые для прототипирования собственного дизайна.
Курс питается от платы оценки Lattice iCEstick FPGA. Плата за $25 содержит iCE40‑HX1K FPGA с 1280 логическими элементами и 64 КБ блочной памяти — достаточной емкости для нашего приложения. iCEstick вставляется прямо в макетную плату, которую мы используем для прототипа.

FPGA будет управлять 8×8 точечно-матричным LED-дисплеем с 64 светодиодами. Блочная память хранит пиксельные данные для каждого ASCII-символа.
Вы будете передавать текст в FPGA через USB-разъем на плате. Текст появляется на дисплее по мере набора в последовательном терминале, а FPGA эхо-возвращает символы, используя UART-трансивер, который мы проектируем в классе.

См. спецификацию материалов (Bill of Materials) для всех компонентов, расходников и инструментов, необходимых для сборки прототипа.
Структура курса
Учебная программа включает 120 видео-лекций в 17 разделах, в среднем по 10 минут каждый. Сложные темы разделены на несколько сжатых уроков для лучшего усвоения. Каждый раздел фокусируется на VHDL-модуле, тестбенче или ключевом FPGA-концепте, с исчерпывающими объяснениями и без пропусков.
Начальный раздел Getting Started охватывает установку ПО и настройку окружения. Следующий раздел знакомит с платой Lattice iCEstick, аналоговой схемой точечно-матричного дисплея и поддерживающей схемотехникой.

Каждая сессия кодирования сопровождается живым комментарием, чтобы вы могли следовать прогрессии — даже если ваш опыт VHDL минимален. Я отображаю код на концепции, знакомые из других языков программирования.
Мы используем Visual Studio Code с плагином VHDL. VSCode — широко принятый бесплатный редактор, а сниппеты плагина ускоряют повторяющееся кодирование без ущерба для обучения.

После каждого модуля мы синтезируем VHDL-код и рассматриваем полученную схему. Эти финальные лекции учат интерпретировать преобразование кода в цифровую логику.

Курс делает акцент на правильных практиках VHDL-проектирования. Создавая тестбенчи на каждом уровне иерархии, вы избегаете ловушек проб и ошибок, погубивших многие хоббийные проекты. Программа охватывает профессиональные самопроверяющие тестбенчи.

ModelSim PE Student Edition, стандартный отраслевой VHDL-симулятор, бесплатен для студентов и используется на протяжении курса. Все остальное ПО — включая Synplify Pro и Lattice iCEcube2 — также свободно доступно для образовательного использования.
Мы завершаем сборку физического прототипа на макетной плате и программированием FPGA. «Момент истины» наступает, когда вы подключаете плату к компьютеру через USB, печатаете в терминале и смотрите, как символы зажигаются на точечно-матричном дисплее.
Строгая верификация делает устранение неисправностей гораздо проще, чем борьба с неотзывчивым чипом — распространенная проблема в DIY FPGA-работе.
Что вы узнаете
Курс оснащает вас для подхода к FPGA-проектам с профессиональной строгостью, повышая уверенность в решении любой VHDL-задачи.
Ключевые результаты обучения включают:
Продвинутые возможности VHDL
- Пакеты, записи и подпрограммы
- Защищенные типы (VHDL-классы)
- Типы доступа (VHDL-указатели)
- Generic-параметры
- Атрибуты сигналов, такие как
'last_eventи'stable - Возможности VHDL‑2008, как иерархические ссылки на сигналы
Продвинутые стратегии тестбенчей
- Архитектура верификационных компонентов
- Функциональное моделирование шины
- Самопроверяющие тестбенчи
- Интерактивные TCL-управляемые тестбенчи
Инструменты FPGA-проектирования
- Симуляция VHDL в ModelSim
- Синтез в Synplify Pro
- Проектный поток Lattice iCEcube2
- Распределение выводов и тактовые ограничения
- Процессы синтеза, размещения и трассировки
Хотите узнать больше?
Обновлено 21 сентября 2019: Курс теперь завершен.
Нажмите здесь, чтобы увидеть программу курса
Открытие:
Будет решено позже.
VHDL
- Пигментные дисперсии: полное руководство по безопасности, производительности и выбору лучших индийских прои…
- Мастерство IoT-обслуживания: экспертные стратегии мониторинга здоровья активов
- Технические чертежи: Ключевые инсайты для инженеров и производителей
- Полное руководство по металлическому литью: технологии, материалы и применения
- Устройство ветроагрегата: как ветер превращается в энергию
- Мастерство MFD конденсаторов: ключевые инсайты и применение
- Освоение проникающего ЭРС: полное руководство по точной электроэрозионной обработке
- Чугун 101: состав, применение, плюсы и минусы
- Полное руководство по доменным печам: определение, компоненты и обслуживание
- Осваиваем станок с вертикальной дрелью: полное руководство по сверлильным машинам