Смекни!
smekni.com

Методические указания Пенза 1997 удк 681 06 (стр. 6 из 8)

Рис. 12 Фрагмент схемы алгоритма

В поле М микрокоманды, описывающей данный фрагмент, записывается код

0000 0110, соответствующий микрооперации AL(AC), в поле Y код 0000 1000, соответствующий дополнительному сигналу Y4, в поле ЛУ код 0100, соответстствующий проверяемому признаку V. Если фрагмент схемы алгоритма состоит из одной операторной вершины, то в поле ЛУ записывается код 0000. Использование комбинации 1111 в поле ЛУ позволяет организовать цикл внутри микропрограммы.

В поле А микрокоманды записывается адрес следующей выполняемой микрокоманды. В общем случае он может быть любым в диапазоне 0 - 255, но для экономичного заполнения ПЗУ целесообразно использовать естественный порядок следования микрокоманд. Для организации ветвления при описании фрагмента схемы алгоритма представленного на рис. 12, значение проверяемого в микрокоманде признака (0 или 1) принудительно записывается в младший разряд поля А микрокоманды.

Пользователь должен быть достаточно аккуратным при записи подобного адреса. Ниже показан пример ошибочной записи, когда по четному адресу ХХ...Х10 в ПЗУ записана микрокоманда с полем А ХХ...Х11.

Если проверяемый в поле ЛУ признак имеет значение 0, то осуществится переход на адрес ПЗУ ХХ...Х0 и микрокоманда выполнится повторно. Для избежания подобных ситуаций, целесообразно в поле А микрокоманды использовать адрес ХХ...100. Следствием подобной ситуации может явиться появление в микропрограмме адресов (“дыр”), в которых отсутствуют микрокоманды (рис. 13).

Рис. 13 Фрагмент заполнения ПЗУ

Подобная ситуация является исправимой, ибо использование принудительной адресации позволяет вставить в “дыру” любую используемую далее микрокоманду.

В табл. 10 приведена карта прошивки ПЗУ микропрограммного управляющего автомата для СА, показанной на рис. ט. По адресу ПЗУ 0000 1011 образовалась “дыра” в микропрограмме. “Дыру” можно устранить, если в поле А микрокоманды по адресу 0000 1100 записать адрес следующей микрокоманды в виде 0000 1011 и перенести последнюю микрокоманду по адресу 0000 1011.

Таблица 10

Содержимое ПЗУ

Адрес

Микрокоманда

16-ричное

ПЗУ

М

Y

ЛУ

А

представление микрокоманды

0000 0000

0000 1010

0000 0101

0000

0000 0001

0A05001

0000 0001

0000 1101

0000 0000

0000

0000 0010

0D00002

0000 0010

0000 0010

0000 0000

0000

0000 0011

0200003

0000 0011

0100 0110

0000 0000

0000

0000 0100

4600004

0000 0100

0000 0010

0000 0000

0000

0000 0101

0200005

0000 0101

0000 0010

0000 0000

0000

0000 0110

0200006

0000 0110

0001 0110

0010 0000

0000

0000 0111

1620007

0000 0111

0100 0110

0000 0000

0000

0000 1000

4600008

0000 1000

0000 1101

0000 0000

0000

0000 1001

0D00009

0000 1001

0001 0110

0010 0000

0000

0000 1010

162000A

0000 1010

0000 0110

0000 0000

0100

0000 1100

060040C

0000 1011

“Дыра”

в

микро

программе

0000 1100

0000 1100

0000 0000

0000

0000 1101

0C0000D

0000 1101

0000 1011

0000 0000

0000

0000 1101

0B0000D

3.1. Моделирование микропрограммного устройства с программируемой логикой

На рис. 14 показана общая структура микропрограммного цифрового устройства. Исходные данные и результаты вычислений хранятся в ОЗУ. Запись данных DO в ОЗУ проводится по сигналу WR, а чтение данных DI по сигналу RD. Разрядность данных - 8 бит.

Моделирование цифрового устройства с программируемой логикой связано с разработкой на основе СА микропрограммы управления операционным автоматом. Разработанная микропрограмма записывается в ПЗУ управляющего автомата.

Рис. 14 Структура микропрограммного цифрового устройства

Модели операционного и управляющего автоматов реализованы на языке PML системы PCAD [4,5]. Моделирование проводится с использованием языка PC LOGS. Документирование результатов моделирования производится с использованием программы POSTSIM. На рис. 15 приведен шаблон программы моделирования, в которой пользователю необходимо определить лишь содержимое ОЗУ и ПЗУ.

Содержимое ОЗУ и ПЗУ определяется аналогично директивой MEMLOAD языка PC LOGS. Общий формат записи содержимого ОЗУ(ПЗУ) на языке PC LOGS имеет следующий вид:

MEMLOAD <имя ОЗУ(ПЗУ)> HEX/Ан Sн Sн+1 ... /Аi Si Si+1 ... /Aj Sj Sj+1

Допускается использование непрерывного или фрагменти-рованного адресного пространства. В первом случае задается в 16-ричной форме начальный адрес ОЗУ(ПЗУ) - Ан, вслед за которым записывается содержимое ОЗУ(ПЗУ) Sн Sн+1 ..., начиная с адреса Ан. Во втором случае описание каждого фрагмента ОЗУ(ПЗУ) следует за символом / -адрес начала фрагмента Аi и содержимое ОЗУ(ПЗУ), Si Si+1 ..., начиная с этого адреса. Содержимое ОЗУ(ПЗУ), соот-ветствующее неописанным адресам, принимает значение нео-пределенности Х. На рис. טו показана программа моделирования ци-фрового устройства, СА которого приведена на рис. ט. Исходные данные А=25h и В=14h загружены в ОЗУ, начиная с адреса 0. Микропрограмма управления цифровым устройством загружена в ПЗУ также начиная с адреса 0. Содержимое ПЗУ в программе моделирования взято из табл. י. В частности по адресу 0 в соответствии с рис. יא записана микрооперация NOP (0A), упра-вляющие сигналы y1 и у3 (05), отсутствие проверяемых признаков (0) и адрес следующей микрокоманды 01.

lo poss.net

cy 3

ge [0 0] pus d0/1 d1/1 d0/50

ge [0 0] bk d0/3 (d1/1 d0/1)

memload el2 hex /00 25 14

memload pzu1 hex /00 0A05001 0d00002 0200003 4600004 0200005 0200006 1620007 4600008 0D00009 162000A 060040C /0C 0C0000D 0B0000D

mo hex(RA7 RA6 RA5 RA4) hex(RA3 RA2 RA1 RA0) % hex(m7 m6 m5 m4) >

hex(m3 m2 m1 m0) % hex(y8 y7 y6 y5) hex(y4 y3 y2 y1) >

% hex(ac7 ac6 ac5 ac4) hex (ac3 ac2 ac1 ac0) % hex (r77 r76 r75 r74) >

hex (r73 r72 r71 r70) % hex (r67 r66 r65 r64) hex (r63 r62 r61 r60) >

% hex (r57 r56 r55 r54) hex (r53 r52 r51 r50) % hex (r47 r46 r45 r44) >

hex (r43 r42 r41 r40) % hex (r37 r36 r35 r34) hex (r33 r32 r31 r30) >

% hex (r27 r26 r25 r24) hex (r23 r22 r21 r20) % hex (r17 r16 r15 r14) >

hex (r13 r12 r11 r10) % hex (r07 r06 r05 r04) hex (r03 r02 r01 r00) %% >

n % c % z % v % t %% st %%%%el1/ko

spool on

ty 6

Рис. 15 Шаблон программы моделирования

Для удобства восприятия результаты моделирования представляются в табличной форме, при этом содержимое всех 8-ми разрядных регистров операционного автомата и служебных регистров отображаются в виде двух 16-тиричных цифр. На рис. 16 показаны результаты моделирования по отдельным тактам модельного времени.

Рис. 16 Результаты моделирования

В 1-м такте (cycle step 1:2) устанавливается регистр адреса ПЗУ в нуль (RAH=0 - старшая часть регистра RA и RAL=0 - младшая часть регистра RA). В такте 3 выполняется первая микрокоманда (y1, y3, NOP), что отражается строкой 3:2 c микрокомандой MH=0, ML=5. Результатом ее выполнения является обнуление АС (ACH=0, ACL=0) и формирование значений признаков N, Z, V, T. В 27-м такте моделирование заканчивается, в АС формируется результат (5Eh) и сигнал окончания ST.

4. Микропрограммный управляющий автомат с жесткой логикой

4.1. Абстрактный синтез управляющего автомата

Абстрактный синтез включает следующие этапы:

– построение кодированной СА, описывающей алгоритм работы управляющего автомата;