Ручной такт (Manual Clock)

Входы (Inputs)

ПинТипОписание
Нет входных пинов

Выходы (Outputs)

ПинТипОписание
TickbitТактовый сигнал: 1 во время нажатия кнопки, 0 в остальное время

Логика работы

Автоматический такт — как конвейер: схема бежит, и уследить за каждой деталью трудно. Manual Clock — кнопка «стоп-кадр»: схема движется ровно настолько, насколько ты позволишь. Одно нажатие — один такт.

Главное свойство: нажатие Tick выдаёт полный импульс за два шага симуляции: 0→1 (фронт — все тактируемые элементы записывают данные) и затем 1→0 (спад — значения зафиксированы). Пример: D-триггер с D = 1 после первого нажатия покажет Q = 1; счётчик команд с шагом 1 после каждого нажатия ползёт вперёд ровно на единицу.

Нюанс: между нажатиями Tick = 0, но схема не «спит» целиком — комбинационная логика продолжает вычислять и обновляет провода. Замереть может только запись: без нового фронта регистры своё содержимое не поменяют.

Примеры (нажатие за нажатием)

НажатиеИмпульс TickЧто произошло в схеме
10→1→0DFF записал D = 1, на выходе Q = 1
20→1→0счётчик команд увеличился: 1 → 2
30→1→0аккумулятор с WE = 0 сохранил старое значение
40→1→0индексный регистр с Inc = 1 подрос: 16 → 17

Каждая строка — ровно один полный тактовый цикл, не больше и не меньше.

Применение

На уровнях 15 и 29 и в песочнице Manual Clock — главный инструмент отладки: вместо бега конвейера ты шагаешь по программе по одной инструкции, глядя на счётчик команд, шину данных и аккумулятор после каждого такта. Он не зависит от панели Clock Control и всегда слушается только твоих нажатий.

Конкретное применение — поиск места, где программа «сломалась»: подключи Tick ко всем тактовым входам вместо Clock, выполняй инструкцию за инструкцией и сравнивай состояние регистров с ожидаемым. Ошибочный такт находится сразу — на нём значение впервые расходится с планом.

Собери это сам →

Смежные компоненты

Статьи по теме

Частые вопросы

Зачем нужен ручной такт?

Для пошаговой отладки: наблюдать состояние схемы после каждого такта, не включая автоматический генератор.

Сколько тактов даёт одно нажатие Tick?

Ровно один: фронт и спад упакованы в один импульс. Два нажатия — два такта, и так далее.

Можно ли заменить им Clock в готовом процессоре?

Да: подай Tick на те же входы, куда шёл Q генератора, — программа пойдёт в темпе твоих нажатий, по одной инструкции за раз.