#9 BASYS 2 FPGA Training #9 — Switch → LEDs на Basys2 (VHDL + ISE + UCF)
Автор: KONTAKT`S
Загружено: 2026-01-19
Просмотров: 93
Описание:
Плату Basys 2 я покупал по этой ссылке:
https://megabonus.com/y/olJ5u
*Ссылка аффилиатная. Она используется для статистики и не влияет
на цену для вас.*
#FPGA #Basys2 #Xilinx #Spartan #Verilog
===
В этом выпуске делаем самый первый «железный» проект на плате Digilent Basys 2 (Spartan-3E): подключаем 8 тумблеров SW(7:0) к 8 светодиодам LED(7:0) простейшей комбинаторной логикой.
Проект построен на моём шаблоне для Xilinx ISE и создаётся автоматически скриптом-генератором: одна команда — и у вас сразу готовая структура проекта, корректные ограничения UCF и top-level VHDL.
Что вы узнаете
что такое top-level entity и почему имя проекта = имя верхнего модуля;
как работает комбинаторное присваивание в VHDL (concurrent assignment);
зачем нужен UCF и как порты SW/LED связываются с физическими пинами платы;
как собрать .bit в ISE и прошить плату через Digilent Adept.
Итог проекта
Переключаете SWi → загорается LEDi. Никаких таймеров, делителей и FSM — только чистая связь «вход → выход».
Файлы проекта
Шаблон/генератор проектов под Basys2: create-new-project.py
create-new-project
README по шаблону ISE-проекта:
README_RU
Документация по Basys2 (встроенные SW/LED и пины):
basys2_rm
(опционально) Getting Started по ISE/Adept:
Getting Started with FPGA
Домашка (усложнения)
Сделать перестановку: SW0 → LED6 (и т.д.)
Сделать инверсию: LED не равно= not SW
Управлять одним LED от комбинации двух SW (например XOR)
#FPGA #Basys2 #VHDL #XilinxISE #Digilent #Spartan3E
Разбор VHDL-кода проекта (что и зачем)
1) Entity — “граница” цифровой системы
В вашем шаблоне верхний модуль имеет много портов, потому что плата Basys2 содержит не только LED/SW, но и:
7-segment (SEG, AN, DP)
VGA (VGA_*)
PS/2 (PS2C, PS2D)
EPP интерфейс (Epp*, EppDB)
Pmod/PIO (PIO)
тактовые входы (MCLK, UCLK)
Эта “широкая” entity нужна, чтобы UCF мог всегда совпадать по именам портов и вы не ловили ошибки маппинга при каждом новом проекте.
Имя entity важно ещё и потому, что генератор проектов подменяет Basys2Project на имя проекта и в .xise, и в .vhd. То есть имя проекта автоматически становится именем top-level.
create-new-project
2) Главная логика: одна строка
Суть проекта в одной concurrent assignment:
LED не равно= SW;
Это не процесс, не триггер и не регистр. Это комбинаторная связь:
каждый LED(i) в любой момент времени повторяет SW(i).
3) “Заглушки” для остального железа
Чтобы плата вела себя предсказуемо, остальным выходам задаём фиксированные значения:
SEG/AN/DP обычно выставляют в '1' (часто это «выкл» для 7-segment на Basys2 с общим анодом; в любом случае это безопасное состояние) — это соответствует тому, что на плате есть 4-разрядный индикатор и его лучше не оставлять «в воздухе».
basys2_rm
VGA — нули, чтобы не выдавать мусор на монитор.
PS2C/PS2D, EppDB, PIO — это inout, их корректно переводить в Z (высокое сопротивление), чтобы не было конфликтов на линиях.
4) Почему UCF “магия работает”
UCF файл связывает имена портов (SW 0 , LED 0, и т.д.) с физическими пинами FPGA.
Именно поэтому важно, чтобы в entity порты назывались так же, как ожидает UCF.
В Basys2 документации прямо перечислены сигналы SW/LED и их пины (например SW0, LD0 и т.д.) — это и есть основание для правильного constraints-файла
📦 Репозиторий курса (GitHub):
👉 https://github.com/AIDevelopersMonste...
🎬 Плейлист FPGA (Basys 2):
👉 • FPGA
🧠 В курсе:
FPGA Basys 2 (Spartan-3E)
Verilog HDL
Xilinx ISE WebPack
Digilent Adept
работа с LED, кнопками, переключателями и семисегментным индикатором
реальные учебные проекты и практика
💡 Курс подойдёт:
начинающим в FPGA
студентам и самоучкам
тем, кто хочет понять цифровую логику на реальном железе
#FPGA #Basys2 #Verilog #Spartan3E #Xilinx #DigitalDesign #Hardware #FPGAlearning #FPGAcourse #GitHub
📌 Basys 2 является торговой маркой Digilent Inc.
Проект учебный и не аффилирован с Digilent.
👍 Подписывайтесь, ставьте лайк и следите за обновлениями — дальше будет больше практики и реальных проектов!
#FPGA
#Basys2
#Xilinx
#Spartan3E
#Verilog
#FPGAдляНачинающих
#ЦифроваяЭлектроника
#HardwareDesign
#Digilent
#XilinxISE
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: