ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА ВТАУ
АВТОМАТИЗИРОВАННЫЙ СИНТЕЗ ДИСКРЕТНЫХ УСТРОЙСТВ
С ПАМЯТЬЮ С ПОМОЩЬЮ ПАКЕТА "PROEKT"
(методические указания)
составил:
канд. техн. наук, доцент КОГАН Т. И.
ПЕРМЬ, 2000
1. Содержательная постановка задачи
Как известно, синтез (проектирование) дискретных устройств (цифровых автоматов) с памятью ручным способом является весьма трудоемкой и достаточно сложной задачей. Синтез даже сравнительно несложных автоматов требует хороших навыков и значительных временных затрат. Для автоматизации процесса синтеза дискретных устройств (цифровых автоматов) создан пакет программ PROEKT. Программы пакета разработаны в 1994 году студентом 3-го курса специальности ЭВТ Лукьянчуком Г.А. на языке Си для вычислительных машин типа IBM. Пакет предназначен для приближенного решения на ЭВМ задачи синтеза дискретного устройства (цифрового автомата) методом построения таблиц переходов-выходов. Напомним, что этот метод предпочтительно применять, когда проектирование автомата ведется на схемном (аппаратном) уровне, при котором полученные логические функции, описывающие работу устройства, реализуются соответствующими логическими элементами и выбранными элементами памяти (жесткая логика).
Синтезируемый цифровой автомат представляется состоящим из блока памяти и логического преобразователя, который является комбинационным автоматом и состоит из блока управления памятью и блока формирования выходных сигналов. Необходимые теоретические сведения по этому методу синтеза приведены в пособии [2]. Пакет PROEKT позволяет автоматически произвести на ЭВМ этапы абстрактного и структурного синтеза автомата, получить логические функции выходов и возбуждения элементов памяти. В качестве элементов памяти могут быть выбраны RS-триггеры с прямыми и инверсными входами, JK-триггеры и D-триггеры (задержки). Пакет производит (по умолчанию) противогоночное (соседнее) кодирование состояний блока памяти, исключающее все виды состязаний. Приближенность решения заключается в неоднозначности результата, в зависимости от выбранных вариантов объединения непротиворечивых строк первичной таблицы переходов-выходов и кодирования строк реализуемой таблицы переходов. Исходными данными для пакета PROEKT являются параметры первичной таблицы переходов-выходов и тип элементов памяти для синтезируемого дискретного устройства (цифрового автомата): тип элементов памяти, количество строк (STR) и столбцов (STO) таблицы, количество (XRAZB), имена и двоичная база входных переменных, количество (ZRAZB) и имена выходных переменных по двоичной базе и содержание (номера тактов и значения выходов) первичной таблицы переходов-выходов. Таким образом, пользователь должен по словесной формулировке условий работы синтезируемого автомата (или по временным диаграммам) составить первичную таблицу переходов-выходов, а уже с ней обратиться к пакету PROEKT. Пакет способен синтезировать дискретные устройства, содержащие до 7 входных (STO=2^7=128), 10 выходных переменных и до 128 внутренних состояний, т. е. числа строк в первичной таблице (STR). Результатом решения задаци синтеза являются файлы *.tab и *.sch ("*" обозначает <имя файла>), которые записываются в текущий подкатолог. Файл *.tab представляет табличное решение задачи, в него записываются все таблицы и полученные в результате синтеза функции выходов и функции возбуждения элементов памяти автомата в ДНФ. Файл *.sch представляет схемное решение задачи, в него записывается функциональная схема синтезированного дискретного устройства, выполненная на указанном наборе логических элементов и выбранных элементах памяти. Полагается, что входные сигналы представлены в парафазном коде. На схеме явно выделяются блок управления памятью (левая часть), блок памяти (центральная часть) и блок формирования выходных сигналов (правая часть). Схемное решение (файл *.sch) является отложенным, оно выполняется по желанию пользователя. Файлы *.tab, *.sch могут быть выведены как на экран, так и распечатаны на матричном принтере.