23 / 36 · Теория
Диагностика ошибок сброса и счёта
Поочерёдно проверьте начальное значение, сброс и первый фронт.
Уроки доступны бесплатно. Запишитесь, чтобы сохранять прогресс.
Цели урока
- Поочерёдно проверьте начальное значение, сброс и первый фронт.
Первый фронт задаёт отсчёт
Пример начинается с 11 и сбрасывается на первом фронте. Ожидается 00,01,10,11,00. Предположение о старте с 00 сдвинет отсчёт. Настройки запуска подают сброс в первом цикле: уточните механизм, прежде чем добавлять rst в JSON, чтобы не управлять им из двух мест.
| Симптом | Первая проверка |
|---|---|
| Всегда 00 | Сброс остаётся активным? |
| Последовательность сдвинута на один шаг | Начальное состояние и первый фронт сброса |
| 01 и 10 поменялись местами | Порядок битов в значениях и отображении |
| Остановка на 11 | Есть условие удержания в RTL? |
По одному условию
Меняйте инициализацию и длительность сброса отдельно; храните код, настройки и ожидания вместе. При расхождении дойдите до первого неверного фронта и вычислите следующий count из текущих count и rst.
Попробуйте сами
После каждого фронта 00. Сразу менять сложение?
Прочитать объяснение
Сначала проверьте, не остаётся ли rst высоким и есть ли фронты. При активном сбросе правильный код тоже постоянно пишет 00.