Общие сведения

СИНТЕЗ ГЕНЕРАТОРОВ КОДОВ

 

 

Системные требования: САПР Quartus II V9.0 и выше; лабораторный стенд DiLaB с подключенной платой Cyclone II.

Базовые знания: курс Информатика ч.2, выполнение вводной работы, работ исследование триггеров и синтез конечных автоматов.

Трудоемкость работы: 4 часа (1 час С1 и 3 часа в лаборатории).

 

Общие сведения

 

Операционные узлы типа генераторов кодов формируют на своих выходах последовательно во времени двоичные коды. Они, являясь разновидностью управляющих автоматов, широко используются как устройства управления работой различных узлов и блоков цифровых систем. При этом каждый из генерируемых кодов представляет собой микрокоманду, которая вызывает выполнение определенной микрооперации (суммирование, сдвиг и т.п.), реализуемой узлами и блоками системы. Последовательность кодов обеспечивает выполнение ряда микроопераций, которые в совокупности производят определенную процедуру преобразования двоичной информации, реализуя заданную микропрограмму обработки.

Структурно генератор кодов представляет собой синхронный конечный автомат, представленный на рис.4.1. Требуемая длина последовательности формируемых кодов задает число внутренних состояний такого КА и определяет количество тактов, подаваемых на вход синхронизации блока памяти, после которого последовательность кодов на выходе генератора повторяется.

Если синтезируемый генератор предназначен для формирования одной периодически повторяющейся последовательности кодов заданной длины, то входы X в структуре КА на рис.4.1 отсутствуют, таблица переходов КА вырождается в одну строку, а сами КА называются автономными.

В отличие от этого, управляемые генераторы кодов реализуются по общей структуре рис.4.1 и при подаче на входы X управляющих кодов (команд) формируют на своих выходах различные последовательности кодов, соответствующие поданной команде. Таким образом, на базе управляемого генератора кодов можно осуществить аппаратно реализованное устройство управления цифровой системой. Такое устройство обеспечивает поочерёдное выполнение последовательности команд - программы, поступающей из запоминающего устройства или от внешних устройств, например, с пульта оператора.

Если в генераторе кодов вход синхронизации рассматривать как счётный вход, то это устройство превращается в счётчик - операционный узел, сигналы на выходах которого отображают в определённом коде число импульсов, поступивших на его счётный вход. Если счётчик реализуется по общей структурной схеме рис.4.1, то подавая на входы X управляющие коды, можно изменять характеристики счётчика: направление счёта (суммирование или вычитание), модуль счёта, производить начальные установки и др. В интегральном исполнении наиболее распространены счётчики, работающие в двоичном коде - двоичные счётчики. Для получения счётчика, работающего в другом коде (коде Джонсона, Грея и др.), разработчики часто используют объединение двоичного счётчика и комбинационной схемы преобразователя двоичного кода в требуемый. Однако, такое решение может быть хуже по быстродействию и аппаратурным затратам, чем решение этой задачи непосредственно по структуре генератора кодов.

Генераторы кодов могут использоваться как тактовые устройства, формирующие на своих выходах импульсные последовательности с заданными временными диаграммами. Такие устройства необходимы при построении систем синхронизации и управления работой других операционных устройств. При этом легко осуществляется переход от заданных временных диаграмм к соответствующей последовательности кодов и наоборот (см. пример синтеза).

Как уже отмечалось, число внутренних состояний генератора кодов однозначно определяется длиной заданной последовательности. Для реализации такого автомата требуется минимум m=E(log2R) триггеров (см.раздел 4). Если при этом длина каждой кодовой комбинации не превышает m двоичных символов, то синтез генератора упрощается: внутренние состояния КА могут быть закодированы непосредственно заданными кодовыми комбинациями, а выходные сигналы снимаются непосредственно с выходов триггеров. Если же количество символов в кодовых комбинациях больше или введены дополнительные переменные, то часть выходных сигналов приходится формировать как функцию состояний с помощью комбинационной схемы КС2 или увеличивать число триггеров.

Индивидуальные задания на проведение исследований в этом разделе сформулированы в виде последовательности десятичных чисел определённой длины, а также условиями на дополнительную переменную Y. Синтезируемый генератор должен сформировать эту последовательность в двоичном коде. Состояния КА целесообразно кодировать двоичными кодами, соответствующими заданным числам. При этом легко строятся граф переходов и таблица переходов синтезируемого генератора. Дальнейший синтез КА, а также его наладка и исследование ведётся по методике, изложенной в разделе 4.