У нас вы можете посмотреть бесплатно #15 —Basys2 Project 7: Barrel Shifter / Комбинаторный сдвиг или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Плату Basys 2 я покупал по этой ссылке: https://megabonus.com/y/olJ5u *Ссылка аффилиатная. Она используется для статистики и не влияет на цену для вас.* #FPGA #Basys2 #Xilinx #Spartan #VHDL === В этом видео делаем Project 7: Barrel Shifter (комбинаторный сдвиг) 4-bit на плате Digilent Basys2 на VHDL. Barrel shifter — это комбинаторный узел, который сдвигает слово на 0..3 разряда сразу, без такта. Не путать со сдвиговым регистром (там нужен CLK). ✅ Что в выпуске что такое barrel shifter и чем он отличается от shift register управление: направление (DIR), величина сдвига (SH), заполнитель (FILL) VHDL-реализация через if/case без latch симуляция в ISim + testbench с полным перебором (256 векторов) сборка .bit в Xilinx ISE и прошивка Basys2 через Adept/JTAG Getting Started with FPGA 🎛️ Управление на Basys2 (SW/LED) SW(3..0) = A(3..0) (данные) SW(5..4) = SH(1..0) (0..3) SW(6) = DIR (0=влево, 1=вправо) SW(7) = FILL (0/1 — чем заполняем освободившиеся биты) Выход: LED(7..4) = исходное A(3..0) LED(3..0) = результат Y(3..0) 🔥 Быстрая проверка на плате (готовые тест-векторы) Смотри блок “SW байтом → LED байтом” в README ниже — там 4 обязательных примера (0x1A→0xA4 и т.д.). 🛠️ Важно для прошивки (ISE + Adept) Если программируешь FPGA напрямую через JTAG (Adept), в ISE обязательно поставь: FPGA Start-Up Clock → JTAG Clock (Generate Programming File → Process Properties → Startup Options). README_RU Базовые шаги прошивки через Adept: выбрать .bit → Program. Getting Started with FPGA 📂 Код курса https://github.com/AIDevelopersMonste... #FPGA #VHDL #Basys2 #XilinxISE #Digilent #BarrelShifter #DigitalLogic #ISim #Testbench 📄 Краткий README.md для Project 7 (с обязательными примерами) Project 7 — Barrel Shifter (комбинаторный сдвиг) 4-bit | Basys2 | VHDL Что делает проект Комбинаторный barrel shifter сдвигает 4-битное слово `A(3..0)` на 0..3 разряда: `DIR=0` — сдвиг влево `DIR=1` — сдвиг вправо `FILL` — бит заполнения освобождающихся разрядов (0 или 1) Это *комбинаторика* (без такта). Не путать со **сдвиговым регистром**, где нужен `CLK`. --- Подключение (SW/LED) *Входы (SW):* `SW(3..0)` = `A(3..0)` данные `SW(5..4)` = `SH(1..0)` величина сдвига (0..3) `SW(6)` = `DIR` (0=влево, 1=вправо) `SW(7)` = `FILL` (бит заполнения) *Выходы (LED):* `LED(7..4)` = `A(3..0)` (показываем вход для сравнения) `LED(3..0)` = `Y(3..0)` (результат) --- Сборка и прошивка (ISE + Adept) 1) В ISE: Synthesize → Implement → Generate Programming File 2) *Важно для JTAG (Adept):* `FPGA Start-Up Clock → JTAG Clock` (Generate Programming File → Process Properties → Startup Options). 3) В Adept: выбрать `.bit` и нажать Program. Подробности о конфигурации Basys2 и режимах PC/ROM — в reference manual. --- Проверка прошивки на плате После успешного программирования через Adept FPGA начнёт работать сразу. На Basys2 есть статус-индикация успешной конфигурации (LED/статус), см. manual. Если переключатели SW меняют `LED(7..4)` (вход A), но `LED(3..0)` не меняется — чаще всего проблема в: неправильном top-модуле в проекте, UCF/пинах, прошит не тот `.bit`. --- Примеры проверки “байт на SW → байт на LED” (ОБЯЗАТЕЛЬНО) В этом проекте удобно проверять всё **байтом**: `SW[7:0] = FILL DIR SH1 SH0 A3 A2 A1 A0` `LED[7:0] = A3 A2 A1 A0 Y3 Y2 Y1 Y0` (потому что `LED = A & Y`) Быстрые тесты: *SW = 0x1A* (`0b0_0_01_1010`) → влево на 1, `FILL=0` Ожидаем: `Y=0100` → *LED = 0xA4* (`1010_0100`) *SW = 0x5A* (`0b0_1_01_1010`) → вправо на 1, `FILL=0` Ожидаем: `Y=0101` → *LED = 0xA5* (`1010_0101`) *SW = 0xF8* (`0b1_1_11_1000`) → вправо на 3, `FILL=1` Ожидаем: `Y=1111` → *LED = 0x8F* (`1000_1111`) *SW = 0xA3* (`0b1_0_10_0011`) → влево на 2, `FILL=1` Ожидаем: `Y=1111` → *LED = 0x3F* (`0011_1111`) --- Файлы `P07_Shifter.vhd` — top (синтез) `tb_P07_Shifter.vhd` — testbench (256 векторов + assert) `*.ucf` — ограничения под SW/LED 🎬 Плейлист FPGA (Basys 2): 👉 • FPGA