2. Работа с пакетом proekt на эвм
Для работы с пакетом его необходимо установить на машины, что осуществляется копированием файлов пакета в предварительно созданный подкаталог, например, PROEKT. Пакет PROEKT (упрощенный вариант) состоит из исполняемых файлов PROEKT24.EXE и VSCH.EXE. Файл PROEKT24.EXE - основная процедура синтеза, производит табличный и схемный синтез автомата, используя противогоночное кодирование. Результатом работы является один (*.tab) или два (*.tab, *.sch) файла с результатами синтеза. Файл PROEKT24.EXE может запускаться автономно в командной строке с опцией /G. В этом случае синтез дискретного устройства будет производиться без устранения гонок. Такой случай возможен, если в качестве элементов памяти будут применяться триггеры с двойной памятью (двухтактные триггеры). Файл VSCH.EXE производит экранный просмотр синтезированной функциональной схемы и ее печать на принтере. Запускается в командной строке с именем файла *.sch, содержащем результат схемного синтеза. Работа на ЭВМ с пакетом PROEKT производится в следующем порядке: Запустить из созданного подкаталога с пакетом (PROEKT) исполняемый файл PROEKT24.EXE . На экране появится титульный лист пакета. На приглашение нажать любую клавишу. Появится запрос типа элементов памяти:
Тип устройств памяти:
(1): 'RS' с прямым управлением
(2): 'RS' с инверсным управлением
(3): 'JK' - универсальные триггера
(4): 'D' - задержки
Ввести номер нужного типа элементов памяти.
Появится запрос требуемого типа элементной базы:
(1) - на основном наборе
(2) - на 'И-НЕ' элементах
(3) - на 'ИЛИ-НЕ' элементах
Ввести номер нужного типа.
Далее по запросам ввести число строк (STR), столбцов (STO)
в первичной таблице переходов и число выходных переменных (ZRAZB):
Число строк в первичной таблице переходов (STR) =
Число столбцов в первичной таблице переходов (STO) =
Число выходных переменных (ZRAZB) =
После ввода каждого значения нажимать клавишу ENTER.
Далее по запросам необходимо ввести имена входных и выходных
переменных, для обоих начиная со старшего разряда двоичной базы.
Пример:
Имена входных переменных:
(2^1) =
(2^0) =
Имена выходных переменных:
(2^1) =
(2^0) =
На экране появится бланк первичной таблицы
переходов-выходов, который необходимо заполнить.
Пример:
- - - -
1 - - - - - -
2 - - - - - -
3 - - - - - -
4 - - - - - -
5 - - - - - -
6 - - - - - -
7 - - - - - -
8 - - - - - -
**** 'Enter'-ввод значения F10-тест таблицы ESC-выход
Сначала надо оцифровать столбцы таблицы. Значения оцифровки столбцов представляют собой восьмеричные коды входных слов, т. е. состояний входных переменных. Каждый код в
оцифровке столбцов должен встречаться только один раз. Если по ошибке пользователь набрал какой-либо код повторно, появится сообщение об ошибке, которую необходимо устранить. Заполнение таблицы производится проставлением в ее клетках необходимых номеров тактов и значений выходных переменных. При этом движение курсора производится с помощью клавиш-стрелок, а положение курсора и набранное число фиксируются нажатием клавиши Enter.
Если таблица достаточно большая, то экран перемещается по ее бланку.
После заполнения первичной таблицы переходов-выходов следует нажать клавишу F10. В случае ошибки в заполнении таблицы появляется сообщение об ее некорректности.
Необходимо найти и устранить ошибки. Если ошибки в составлении таблицы не обнаружено, то далее машина будет производить автоматический синтез дискретного устройства (цифрового автомата) и при его успешном завершении выдает об этом сообщение и запрашивает имя выходного файла. Следует его ввести (по выбору пользователя или по заданию) и нажать клавишу Enter.
Появится сообщение:
Желаете ли построить функциональную схему ?
Схема сохранится в файле <имя>.sch,
посмотреть и распечатать можно,
с помощью команды:
>vsch <имя>.sch
Если пользователь не хочет строить функциональную схему, то на запрос отвечает - N. В этом случае формируется и записывается в текущий каталог (PROEKT) только один файл табличного решения - <имя>,tab. Если функциональная схема нужна, то на запрос отвечают - Y.
Появляется строка
Введите заголовок к схеме (менее 70 символов):
Ввести заголовок схемы, можно русским текстом, поясняющим смысл или назначение синтезированного автомата. Формируются и записываются в текущий каталог (PROEKT) файлы <имя>.tab табличного и <имя>.sch схемного решений. Машина выходит в NORTON в текущий каталог. Табличное решение (файл <имя>.tab) можно просмотреть на экране, нажав клавишу F4 (или F3). Для распечатки на принтере - нажать клавишу F5, затем набрать PRN и нажать Enter. Заметим, что для удобства печати можно отметить при редактировании (F4) файла концы страниц (не более 60 строк) в удобных местах. Это производится переводом курсора в нужное место (где должен быть конец страницы) и нажатием клавиш Ctrl+Q, затем Ctrl+L. В месте курсора появится символ - O .
+
При печати файла по этому символу принтер останавливается, после чего следует вставить новый лист бумаги и включить на принтере кнопку ON LINE - печатается следующая страница. Для просмотра функциональной схемы (файл <имя>.sch) необходимо набрать в командной строке команду:
vsch <имя>.sch
или
vsch.exe <имя>.sch
и нажать Enter.
Для распечатки схемы на принтере необходимо два раза подряд нажать Enter. Распечатка схемы идет по страницам экрана. Для перехода к печати следующей страницы экрана, когда текущая уже напечатана, нажать Enter.
После нажатия клавиши ESC появляется запрос:
Y-закончить N-продолжить
Чтобы выйти в NORTON, нажмите Y.
Отметим, что интерфейс пакета офрмлен так, что на экране пользователю выдаются указания о необходимой последовательности действий для продолжения работы.
3. Представление результатов счета
Результаты машинного синтеза представляются при просмотре (распечатке) файла <имя>.tab табличного решения и файла <имя>.sch схемного решения. Табличное решение представлено рядом таблиц. В начале приводятся исходные данные - тип памяти, число строк (STR), столбцов (STO) первичной таблицы переходов-выходов, число входных (XRAZB) и выходных (ZRAZB) переменных, разрядность восьмеричного кода для обозначения наборов входных переменных (XRAZV). Распечатанная первичная таблица переходов-выходов должна соответствовать введенной (исходной). Матрица объединенных строк показывает, какие строки первичной таблицы объединяются и сопоставляются со строкой минимизированной таблицы переходов, номер которой показан в левой колонке. В колонках, соответствующих объединяемым строкам, проставляются "1", в противном случае - "0".
Минимизированная таблица переходов показывает направления переходов, которые стремится совершить устройство.
Элемент таблицы T(i,j) равен номеру строки, в которую осуществляется переход из i-ой строки под действием j-го входного сигнала. Если T(i,j) = i, то данный такт является устойчивым. Матрица выходов показывает состояние выходного слова, т. е. комбинацию значений выходных сигналов при выбранной двоичной базе, при нахождении автомата в i-ом состоянии под воздействием j-го входного сигнала. Другими словами, матрица выходов показывает состояние выходов автомата в тактах минимизированной таблицы переходов.
Реализуемая таблица переходов поясняет алгоритм функционирования автомата аналогично минимизированной таблице, но показывает направления переходов после выполнения противогоночного кодирования. В правой колонке таблицы помещены двоичные коды строк, т. е. состояния элементов памяти, сопоставляемые с каждой строкой реализуемой таблицы переходов. При этом база элементов памяти выбирается машиной слева - направо, например:
Y1 Y2 Y3 ... Yn.
Конечная матрица выходов показывает состояния выходов автомата в тактах реализуемой таблицы переходов. После таблиц выводятся логические функции возбуждения элементов памяти и выходов в дизъюнктивной нормальной форме.
База входных, выходных сигналов и элементов памяти соответствует выбранной. Инверсные переменные обозначаются знаком тильда: '~'.
Схемное решение представляется функциональной схемой
синтезированного автомата.
Над схемой выводится заголовок. В левой части функциональной схемы показаны входы (в парафазном коде), затем блок управления элементами памяти. Элементы памяти располагаются в средней части схемы. В правой части помещается блок формирования выходных сигналов. Необходимые связи элементов выполнены с помощью кодовой шины. Функциональная схема выполняется на выбранных элементах памяти и логических элементах заданного набора.