У нас вы можете посмотреть бесплатно #17 BASYS 2 — ГЛИТЧИ И ЗАДЕРЖКИ В КОМБИНАТОРНОЙ ЛОГИКЕ (Hazard) | VHDL | ISim или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Плату Basys 2 я покупал по этой ссылке: https://megabonus.com/y/olJ5u *Ссылка аффилиатная. Она используется для статистики и не влияет на цену для вас.* #FPGA #Basys2 #Xilinx #Spartan #VHDL === В этом выпуске разбираем одну из самых “подлых” тем цифровой схемотехники: глитч (ложный/паразитный импульс) на выходе комбинационной логики из-за разных задержек распространения по путям схемы. Мы сознательно моделируем задержки в VHDL и наблюдаем глитч в ISim waveform, а затем показываем, как его устранить. 🧠 Теория простыми словами Глитч (в русской школе ещё говорят: ложный импульс / выброс, а в теории — опасность (hazard)) — это кратковременное неверное значение на выходе при переключении входов. Причина: один и тот же вход влияет на выход по разным веткам, и эти ветки имеют разные суммарные задержки (несбалансированные пути). Поэтому выход может на мгновение “провалиться” или “вспыхнуть”, хотя булева функция на бумаге должна быть стабильной. 🧩 Что именно моделируем Берём классическую функцию: X = (A·B) + (¬B·C) Внутренние узлы: N1 = A & B N2 = not B N3 = N2 & C X = N1 or N3 Ключевой режим для демонстрации: A = 1, C = 1, и переключаем B Теоретически X должен быть всегда 1 (потому что B + ¬B = 1), но из-за задержек по путям N1 и N3 появляется краткий провал на X — это static-1 hazard. 🛠️ Практика в VHDL (как делаем задержки) В проекте используем симуляционные задержки: after + transport на “элементах” (AND/NOT/OR), чтобы короткие импульсы не исчезали и были видны на waveform. ⚠️ Важно: это проект для симуляции, а не для платы. after/transport — модель задержек, для .bit и UCF это не нужно. ✅ Как искать глитч в ISim (проверка) Запускаем Simulate Behavioral Model (не Post-Synthesis!). В waveform добавляем логические сигналы, а не параметры времени: входы A, B, C выход X_haz (с глитчем) выход X_fix (исправленная версия) (если доступны) узлы N1, N2, N3 Находим участок, где A=1 и C=1, и смотрим переключение B. Делаем Zoom In — глитч обычно очень короткий (наносекунды). Если на диаграмме видишь “1000 ps”, значит ты добавил не сигналы 0/1, а generics/constants типа T_AND1 (это нормально, но не то, что нужно для глитча). 🧯 Как устраняем глитч (показываем в видео) Добавляем “консенсусный” (редундантный) терм: X = (A·B) + (¬B·C) + (A·C) Тогда при A=C=1 терм A·C держит выход в 1 и не даёт ему кратковременно упасть. 📂 Исходники проекта https://github.com/AIDevelopersMonste... Файлы проекта: P09_Simulate_Glitch_Delay.vhd — схема с задержками + опция FIX tb_P09_Simulate_Glitch_Delay.vhd — testbench + измерение ширины глитча README.md — как запускать и что смотреть на waveform 🏷️ Хэштеги #FPGA #VHDL #DigitalLogic #Hazard #Glitch #Timing #ISim #XilinxISE #CombinationalLogic #Testbench 🎬 Плейлист FPGA (Basys 2): 👉 • FPGA