22 / 63 · Теория
Синхронные переходы состояния и роль такта
Рассматривайте синхронную систему как набор регистров, читающих одно и то же предыдущее состояние.
Уроки доступны бесплатно. Запишитесь, чтобы сохранять прогресс.
Всё состояние обновляется вместе на одном фронте
Пусть — вектор состояния синхронной схемы, — вход. Основная спецификация:
F — функция следующего состояния, G — функция выхода. Такт определяет не содержание вычисления, а момент сохранения вычисленного следующего состояния. Каждый из нескольких регистровРегистр хранит многобитное состояние. Синхронные регистры в этом курсе записывают определённый вход на фронте тактового сигнала. Подробнее вычисляет своё следующее значение из одного общего прежнего состояния.
Q проходит комбинационную F, образуя вход следующего состояния. Сохранённое значение возвращается как Q следующего интервала: вычисление между фронтами отделяется от хранения на фронте.
- Текущее состояние Q: Удержание между тактами
- F(Q, X): Вычисление по входам и предыдущему состоянию
- Запись на фронте: Результат вычисления становится следующим Q
Период должен учитывать самый медленный путь
Нужно время и на появление нового значения на выходе регистра, и на его прохождение через комбинационную схему к следующему регистру. До очередного фронта должен оставаться запас setupВремя предустановки (setup) — минимальное время, в течение которого входные данные должны быть стабильны до захватывающего фронта такта. При нарушении результат записи не гарантирован. Подробнее. Короткая запись кода не гарантирует высокой тактовой частоты.
Период 10 ns соответствует 100 MHz.
Не пропускайте преобразование единиц: обратная величина 1 ns — 1 GHz, 1 ps — 1 THz. Заданный в симуляции период — расписание входного сигнала, а не измеренное подтверждение работы физической схемы на этой частоте.
Интерпретация сигналов между фронтами
Выход регистра хранит логическое состояние до следующего действительного фронта, а комбинационный выход может меняться между фронтами. Исключения зависят и от синхронности сбросаСброс возвращает состояние к заданному начальному значению. Нужно определить, синхронен он или асинхронен и имеет ли приоритет над другими управляющими сигналами. Подробнее. Практикумы курса используют один такт и синхронный сброс.
До чтения диаграммы задайте моменты действительности входов, обновления состояния и наблюдения выходов. Уравнения состояния точнее программного представления «на каждом такте исполняется одна строка кода».
Попробуйте сами
Каков период такта 200 MHz? Для регистров a и b на одном такте с a<=d; b<=a; получит ли b значение a, обновлённое на этом фронте?
Прочитать объяснение
Период равен 5 ns. В b попадёт a непосредственно перед фронтом. Оба регистра вычисляют следующие значения из одного прежнего состояния, поэтому новое d не проходит обе ступени за один фронт.