36 / 36 · Теория
Итоговый проект: детектор последовательности
Спроектируйте и проверьте автомат для обнаружения 101.
Уроки доступны бесплатно. Запишитесь, чтобы сохранять прогресс.
Цели урока
- Спроектируйте и проверьте автомат для обнаружения 101.
Храним нужный префикс
S0 означает отсутствие совпавшего префикса, S1 — последнюю 1, S10 — последние 10. Вход 1 в S10 завершает 101. Переход после совпадения в S1 переиспользует последнюю 1, поэтому 10101 совпадает на третьем и пятом битах.
Измените входы
| Состояние | Вход 0 | Вход 1 |
|---|---|---|
| S0 | S0 | S1 |
| S1 | S10 | S1 |
| S10 | S0 | S1 / hit=1 |
Проектирование, прогноз, сравнение
На каждом фронте записывайте в hit условие state==S10 и din==1. Сброс задаёт state=S0,hit=0. После фронта с совпавшим битом hit активен один цикл. Проверьте 000,101,10101,11101 и сброс внутри шаблона. Инструмент ниже — учебная модель переходов, не исполнение RTL. Свой RTL сравните с отдельной симуляцией.
Попробуйте сами
Каковы hit после каждого фронта для 10101?
Прочитать объяснение
0,0,1,0,1. Два совпадения разделяют один входной бит.