книги / Проектирование дискретных устройств автоматики
..pdfРеш ение. Выявим совместимые внутренние состояния без предварительного выявления и объединения эквивалентных и псевдоэквивалентных состояний. Для этого построим треугольную таблицу (см. табл. 4.10).
По табл. 4.10 получаем следующие группы совместимых внутренних со стояний:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
910 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
—2,13 — 4,15 — 6,16 — 8,17 —— — 12,14 — — — — —
Таким образом, максимальными группами совместимых внутренних состоя ний являются: 1 = 1; 2=2, 13; 3 = 3; 4=4, 15; 5=5; 6=6, 16; 7=7; 8=8, 17;
9=9; 10=10; 11= 11; 12=12, 14. Группывсе непересекающиеся, апоэтому таблицу покрытий строить нет необходимости. Следовательно, получаем мини мальный автомат с 12 внутренними состояниями (табл. 4.11).
|
|
|
|
|
Т а б л и ц а |
4.11 |
|||||
|
* 1*2 |
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 0 |
11 |
0 |
1 |
2 1г2г3г4г6 |
||||
1 |
(о |
|
2 |
(1) |
(1) |
|
0 0 0 0 0 |
||||
2 |
3 |
|
(2) |
(3) |
(2) |
|
1 |
0 |
0 |
0 |
0 |
3 |
(3) |
|
4 |
12 |
|
1 |
0 |
0 |
0 |
0 |
|
4 |
5 |
|
(4) |
(5) |
(4) |
0 |
1 0 |
0 |
0 |
||
5 |
(5) |
|
6 |
2 |
|
0 |
1 0 |
0 |
0 |
||
6 |
7 |
|
(6) |
(7) |
(6) |
0 |
0 |
1 0 |
0 |
||
7 |
(7) |
8 |
4 |
|
0 |
0 |
1 0 |
0 |
|||
8 |
9 |
|
(8) |
(9) |
(8) |
0 |
0 |
0 |
1 |
0 |
|
9 |
(9) |
10 |
6 |
|
0 |
0 |
0 |
1 |
0 |
||
10 |
11 |
|
(Ю) |
О») |
— |
|
0 0 |
0 0 1 |
|||
И |
(И) |
12 |
8 |
|
0 0 |
0 0 1 |
|||||
12 |
1 |
|
(12) |
|
(12) |
0 |
0 |
0 |
0 |
0 |
4.2.Формирование микрокоманд микропрограммного автомата
Вразд. 3.4 было отмечено сходств© матричной схемы алгорит ма и матрицы переходов, причем сходство отмечалось при усло вии сопоставления с каждым оператором MCA отдельного вну треннего состояния автомата. Поэтому MCA можно рассматривать как язык задания автомата при условии, что оператор сопостав ляется с выходом автомата, соответствующим не полному, а вну треннему состоянию автомата (т. е. автомату Мура [1, 3]). При такой автоматной интерпретации матричной схемы алгоритма за
дача минимизации числа внутренних состояний автомата состоит в объединении совместимых внутренних состояний автомата, име ющих непротиворечивые состояния выходов, т. е. непротиворечи вые операторы.
Из сказанного вытекает, как следствие, то, что если условия работы микропрограммного автомата (MA) заданы не MCA, а ЛСА, то для минимизации числа внутренних состояний MA необ ходимо иметь метод, обеспечивающий непосредственно по ЛСА допустимое объединение операторов в группы, с каждой из ко торых могло бы сопоставиться внутреннее состояние MA. Такой ме тод получил название метода формирования микрокоманд [2 , 3]. При этом, когда говорят о MA, обычно члены ЛСА (операторы и
ЛУ) называют микрооперациями (операторы — внешние, ЛУ — внутренние микрооперации), а внутренние состояния MA — ми крокомандами [2, 3]. Упорядоченная совокупность микрокоманд, обеспечивающая реализацию автоматом заданных условий рабо ты, называется микропрограммой [2, 3]. Таким образом, миними зация числа внутренних состояний MA — это такое объединение микроопераций в группы (т. е. в микрокоманды), при котором образуется минимальное число микрокоманд.
Рассмотрим метод формирования микрокоманды, включающей максимально допустимое число одновременно выполняемых микро операций. Объединение нескольких микроопераций в одну микро команду дает возможность'сократить общее число микрокоманд в микропрограмме, что приводит к уменьшению числа внутрен них состояний MA, а значит и к уменьшению сложности послед него. Прежде чем изложить способ формирования микрокоманд, введем несколько определений.
Говорят, что логическое условие р,- входит в распределение сдвигов оператора Aj, если последний может изменить значение Ри или оно может независимо измениться при выполнении данно го оператора. Например, pi в ЛСА (3.9) проверяет значение но
мера |
входа |
(не |
превысило |
ли значение i числа имеющихся вхо |
дов, |
т. е. i |
^ n ) , |
а оператор |
Fi после прибавления к i единицы |
может изменить значение ЛУ ри В частности, если перед выполне
нием оператора F,- значение i=n, |
а поэтому pi = l, то после реали |
|
зации |
оператора Fi значение pi |
изменится, т. е. pi = 0 , так как |
i> n . |
Поэтому ЛУ pi входит в распределение сдвигов операто |
ра Fu
Выявив,_таким образом, все те ЛУ (например, р,-,, р,-2, ..., pj{,
l ^ n , где п — число всех ЛУ в ЛСА), значения которых могут измениться после выполнения оператора Aj, получим распределе ние сдвигов для оператора Aj, которое запишем в виде
A-i = {Pi» Pi...... p/J.
Определив распределения сдвигов для каждого оператора ЛСА* получим распределение сдвигов для всех операторов ЛСА (пол ное распределение сдвигов). Из распределений сдвигов для опе раторов выделяют универсальное распределение, когда 1 = п, т. е. Aj—{рi, р2, ...» Рп}> и пустое распределение сдвигов, когда опера тор Aj не изменяет значения ни одного из п ЛУ, т. е. Aj—{—}. Более подробно о распределении сдвигов можно найти в [3].
Два члена ЛСА лгг*и Xj являются противоречивыми, если: 1 ) они не могут быть выполнены одновременно;
2) Xi — логическое условие, a xj — оператор, причем Л У х г- входит в распределение сдвигов оператора Xj.
Член Xi, который может быть выполнен непосредственно перед членом xjy называется предшественником xj, а соответственно член Xj — последователем члена х%. Очевидно, у любого члена ЛСА
может быть |
несколько предшественников, у оператора может |
быть только |
один последователь, а у логического условия — два |
последователя, за счет чего при выполнении ЛСА образуются раз ветвления. Группа членов ЛСА образует ветвь, если каждый (t—(—1 )-й член этой ветви является последователем i-ro члена. Один и тот же член ЛСА может входить в несколько различных ветвей.
Группу членов ЛСА назовем совместимой, если в каждой вет ви, образуемой членами этой группы, не содержится противоречи вых членов. Совместимую группу членов ЛСА назовем максималь ной, если добавление в нее любого другого члена ЛСА превраща ет ее в несовместимую. Каждая совместимая группа, в том числе и максимальная, может интерпретироваться как отдельная микро команда. Такая микрокоманда может состоять из набора как внутренних (логических условий), так и внешних (операторов) микроопераций, но при определенном наборе значений логических условий одновременно выполняются микрооперации, входящие лишь в одну ветвь микрокоманды.
Для получения совместимой группы МХ( (микрокоманды),т.е.
группы, первым членом которой является х,- выписывается член Xi ЛСА. Если у Xi имеется один последователь (т. е. Xi — опера тор), то этот последователь приписывается справа от Xi. При на личии двух последователей образуется разветвление и каждый из них выписывается справа от х,- на отдельной ветви. Этот процесс повторяется для всех вновь приписанных членов группы в каждой ветви.
Ветвь группы МХ[ обрывается, если в нее вошел последний
оператор ЛСА, либо если в нее должен быть включен член ЛСА, который является противоречивым с одним членом этой ветви, ли бо если после Xj необходимо выписать xi, который уже вошел в другую ветвь группы МХ{. В последнек случае необходимо указать
стрелку от Xj к X/. Формирование группы заканчивается после то го, как обрываются все ее ветви. Если в первую группу вошли не все члены ЛСА, образуется вторая группа, начиная с наимень шего по порядку члена ЛСА, не вошедшего в предыдущую груп пу. Так процесс повторяется до тех пор, пока каждый член ЛСА не войдет хотя бы в одну группу.
Следует заметить, что если последователь Xi последнего члена ветви этой группы не был включен хотя бы в одну группу (например, из-за того, что Xi является противоречивым с одним из членов ветви), то обязательно должна быть группа МХ(. Кро
ме того, отметим, что если имеется группа (микрокоманда) МХ(,
то в остальных группах все ветви, в которые входит член х,, мо гут быть оборваны на предшественнике этого члена х,-.
Процесс формирования микрокоманд рассмотрим на следую щих примерах.
Пример 4.7. Пусть задана ЛСА (3.9). Исходя из содержательного раосмотрения операторов этой ЛСА (см. пример 3.6), выявим операторы, которые мож но выполнить одновременно. Информацию о возможности одновременного вы полнения операторов (т. е. непротиворечивых операторов) представим в тре
угольной таблице (табл. 4.12), аналогичной той, которая использовалась при минимизации числа внутренних состояний автомата (см., например, табл. 4.11).
Несмотря на то, что в ЛСА (3.9) не указаны в явном виде операторы на чала А0 и конца Ah, при формировании микрокоманд они должны учитывать
ся. |
При этом предполагается, что А* переводит автомат в исходное состояние, |
|||||||||
а |
поэтому |
считается, |
что |
он |
всегда |
совместим с |
А0. Вместе |
с тем операторы |
||
А0 |
и Ah |
не должны |
быть совместимы ни с одним другим оператором |
ЛСА. |
||||||
|
Из табл. 4.12 видно, что кроме операторов А0 и Ah совместимыми яв |
|||||||||
ляются также пары |
операторов Fi и Fji А\ и А2; А\ и А3. Распределения |
сдви |
||||||||
гов выявим также |
из содержательного рассмотрения операторов и ЛУ |
ЛСА |
||||||||
(3.8). При этом для |
|
операторов А0 и |
Ah всегда берется универсальное распре |
|||||||
деление сдвигов: |
|
|
|
|
|
|
|
|
||
AQ |
{Pi. Р21 Рз, РаI |
Рь) \ |
Ah — {plt p2l /?3, р4, ръ} |
; |
|
|
||||
Fi — {Pu Р2 , Рз>> Fj— {P*. Ра, Ръ) ; |
Аг— {ръ} ; |
А2 — { — } ; |
А3 — {р3]. |
|
||||||
|
Как видно, для оператора А2 получено пустое распределение сдвигов. |
|
||||||||
ра |
Для примера рассмотрим |
составление распределения сдвигов для операто |
||||||||
Ai, при этом выясним, |
что |
он не может изменить значения |
следующих |
Л У: |
1) р1, поскольку он не меняет значения /; 2) р2, так как возможность изменения определяется только типом измерительного прибора, подключенного к i-й вер
тикали, |
а оператор A i не |
меняет значения |
t; 3) |
р3, |
так как поступление |
вы |
|||||
зова |
от |
него не зависит, |
а |
номера i |
он не |
меняет; |
4) р4, |
поскольку |
значение |
||
j изменяется только оператором Fj. |
|
|
|
|
|
|
|
||||
Таким образом, в распределение сдвигов для оператора Ai логические ус |
|||||||||||
ловия |
pi, p2t рг и р\ |
не входят. |
Оно будет |
содержать |
только |
одно |
ЛУ |
р5, так как после реализации оператора Ai объект, подключенный к /-й гори зонтали, станет занятым и рь сменит свое значение с «1» на «О».
Образуем максимальные совместимые группы членов ЛСА (3.8). Для этого
возьмем оператор |
А0 и припишем справа его последователь A 0- + [ F i ] . Так как |
|||||
Fi не |
совместим |
с |
А0 (см. табл. 4.12), то ветвь обрывается на предыдущем |
|||
члене |
(т. е. А0), |
а |
оператор Fi указывается в квадратных скобках. Поскольку |
|||
у Ао имеется только |
один последователь, группа Ма0 состоит |
из одного опе |
||||
ратора |
А0, т. е. |
A4ао= {AQ |
[/’*»]}. |
входят в дан |
||
Условимся, |
что |
члены, |
указанные в квадратных скобках, не |
ную группу, а являются начальными членами других групп. Образуем осталь ные максимальные совместимые группы, при этом стрелка со знаком «+» по сле pi означает, что р*= 1, а со знаком «—» рг= 0:
/
J M I I '
[F,]}
+ --
/\[Fj]
\[F i]
M Fj — {F j -*■ [p4]}.
84
F, |
X |
|
|
|
|
A i |
X |
|
|
|
|
|
F) |
X |
! |
|
|
|
A 2 |
X |
X ii |
|
|
|
|
V |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
1i |
|
|
|
|
A i |
X X x 3! |
|
A 3 X X |
V |
|
|
|
|||||
A 2 |
X X (X. |
i1 |
|
A i |
X |
|
|
|
|
|
||
V |
|
V V V |
|
|
||||||||
A 9 |
X X i X EV X |
|
A 6 X X |
V V V |
|
|||||||
Ah |
V |
X X X X X |
A3 X |
V V |
X |
V V |
||||||
|
i40 |
F l |
F ) |
A 2 |
A 3 |
A 7 |
X |
X |
V |
X |
V |
V |
|
|
|
|
|
|
|
A 0 A\ i42 A3 |
|
* 1 |
|||
|
|
|
|
|
|
|
A i |
Ab A , |
||||
|
Как было ранее отмечено, операторы А0 и Ah объединяются в одну микро |
|||||||||||
команду, т. е. |
|
|
|
|
|
|
|
|
|
|
||
МАо.лк = |
( |
аЛ) |
- МЧ ^ |
] > . |
|
|
|
|
|
|
|
|
Таким образом, получено шесть микрокоманд, т. е. шесть внутренних со |
||||||||||||
стояний MA. |
|
|
|
|
|
|
|
|
|
|
||
|
Пример 4.8. Пусть задана ЛСА |
(4.1), в которой различные вхождения од |
||||||||||
ного и того же ЛУ пронумерованы различными верхними индексами: |
|
|||||||||||
îl=tl P i t*.P.îMi р \ |
Î2 А 3шîs 42 A 2isp 4 î1 A i p t t4 p \ |
î4’p8 î4 A , A i шî1 i4 i45 о î1. |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
(4.1> |
(
Исходя из анализа операторов ЛСА (4.1), рассмотренный в [2], выявлены опе раторы, которые можно реализовать одновременно. Информацию о возмож ности одновременного выполнения операторов представим в виде табл. 4.13.
Из рассмотрения функций, выполняемых операторами и ЛУ ЛСА (4.1), вы явлены такие распределения сдвигов:
А0 — {pi, р2 , Рз> Pi, Рь, Pt) ; A l — (Pi> ; |
A2 — {PI ); |
А3— {р1Рг,Ра, р в}; A i — l P i ) ; A 3 — { — |
} ; |
A* — {p 3. Рь) ! A 7— {p„ p 6, p t ) . |
|
Образуем максимальные совместимые группы членов ЛСА (4.1):
A Q-*-[PI ]» М а 0 — Mo- *"[Pii) î
м
+ |
Рг |
|
|
|
|
— |
|
|
|
|
|
/ |
\[А 2 ] |
f |
PÏ_ |
h |
|
MPi = Pi |
+ а |
; |
MAi = I |
||
|
1 |
|
|
|
|
|
Р4 |
|
|
|
|
|
MPil |
J |
|
|
|
|
f |
J [ ^ 4] ' |
|
|
/ \ 4 6->-[p1] |
|
|
|
|
M A i = |
At -*-pt |
|
|
|
|
|
|
|
N1^ 5 |
iPi] |
M A> = |
A a- y р 4 |
MAt = {A e -*-l A 7]} ; |
MA) = |
{A 7 - у [ p i ] } . |
||
|
V |
\[Pi] |
> |
|
|
|
В |
группе |
MA 4 можно было бы продолжить |
составление группы после Аз, |
так как pi не входит в распределения сдвигов операторов Л4 и Аз. Однако здесь выписывание этой группы прерывается, так как уже имеется группа МРу
Таким образом, в данном примере получено восемь групп, а следовательно, восемь микрокоманд, причем для каждого после дователя последних членов любой ветви этих микрокоманд име ется микрокоманда, в которой он будет первым членом. Посколь ку все члены ЛСА (4.1) выписаны в этих восьми группах, полу ченная система микрокоманд является полной.
4.3.Кодирование внутренних состояний автомата
Втом случае, когда автомат задается первоначальной табли цей включений, при выборе минимального (или близкого к мини
мальному) числа элементов памяти одновременно производится включение ЭП в тех или иных тактах, т. е. осуществляется со поставление с каждым тактом того или иного набора состояний ЭП. Иначе говоря, при включении ЭП в явном виде с внутрен ним состоянием автомата сопоставляется определенный набор со стояний ЭП.
Если автомат задается таблицей переходов или ЛСА, то пос ле минимизации числа внутренних состояний автомата (или сфор мирования микрокоманд) внутренним состояниям (или микроко мандам) по-прежнему не приписываются состояния ЭП. Это объ ясняется тем, что на данном этапе нет необходимости рассмат ривать каждое внутреннее состояние как определенный набор со стояний ЭП. Достаточно иметь только номер внутреннего состоя ния без указания состояний ЭП в этом состоянии. Для построе ния же структурной схемы автомата, т. е. построения цепей вклю чения ЭП и выходных цепей, необходимо знать набор состояний ЭП, который сопоставляется с тем или иным внутренним состоя нием. При этом оказывается, что в зависимости от того, как бу-
дут приписаны эти наборы состояний ЭП каждому из внутренних состояний автомата, могут в значительной степени измениться сложность структуры автомата, его устойчивость в работе и т. п.
Процесс приписывания каждому внутреннему состоянию набо ра состояний ЭП в теории автоматов носит название кодирования внутренних состояний автомата. Вообще говоря, такие наборы значений двоичных переменных надо приписать не только внут ренним состояниям автомата, но и каждому состоянию его входа- и выхода. Однако во многих практических случаях состояния вхо да и выхода оказываются уже закодированными, так как они яв ляются соответственно выходными и входными состояниями дру гих блоков и устройств.
Пусть с каждым внутренним состоянием сопоставлен набор состояний ЭП, т. е. кодовая комбинация. Если такое сопоставле ние осуществляется произвольным образом, то может оказаться,, что четырем внутренним состояниям автомата приписаны кодо вые комбинации 000, ОН, 010 и 001 (рис. 4.4,а). Пусть, кроме то го, по условию работы автомат при появлении на его входе со стояния pi должен перейти из своего внутреннего состояния, ко
торому приписана кодовая |
комбинация 0 0 0 , во внутреннее состо |
|
яние 011. |
(Этот переход на |
рис. 4.4,а показан сплошной линией с |
указанием |
состояния входа |
pi, вызывающим этот переход.) При |
этом условиями работы не предусматривается переход автомата из внутреннего состояния 0 0 0 в остальные два внутренние состо яния, которым приписаны кодовые комбинации 0 0 1 и 0 1 0 .
|
Рис. 4.4 |
Таким образом, при |
переходе от состояния 000 к состоянию- |
0 1 1 в автомате должны |
одновременно сработать второй и третий |
ЭП. Однако из-за разброса времени срабатывания ЭП (в качест ве ЭП могут быть использованы электромагнитные реле, тригге ры и другие двухстабильные элементы) может сработать вначале второй или третий ЭП. Из-за этого автомат попадает в одно из двух непредусмотренных в данном переходе внутренних состоя ний, которым приписаны кодовые комбинации 0 1 0 и 0 0 1 соответ ственно (на рис. 4.4,а указанные переходы обозначены штрихо выми линиями). Аналогичное явление может произойти и при от пускании ЭП.
Говорят, в автомате, в котором внутренние состояния закоди рованы так, что в заданных условиями работы переходах найдет ся хотя бы один переход, при котором требуется одновременно сработать (отпустить) двум и более ЭП, имеются состязания эле ментов памяти. Среди состязаний ЭП различают критические и некритические.
К критическим относятся такие состязания, которые могут ис казить алгоритм функционирования автомата, т. е. его функции переходов и выходов. Например, если в рассмотренном выше при
мере |
автомат из |
состояний 0 0 1 и 0 1 0 при состоянии входа pt ни |
куда |
не должен |
переходить (рис. 4.4,6), то из-за состязаний ЭП |
он может не перейти в состояние 0 1 1 , что предусмотрено условия ми его работы. Это есть пример критических состязаний ЭП, из-за которых искажается функция переходов автомата.
К критическим относятся также и такие состязания ЭП, кото рые искажают функцию выходов. Например, из рис. 4.4,в видно, что функция переходов автомата не искажается. Действительно, даже если автомат из-за состязаний ЭП перейдет в состояние 0 0 1 или 0 1 0 , то при том же состоянии входа он из этих состояний датем перейдет в заданное условиями работы состояние 011. Од
нако если с внутренними состояниями 0 0 0 |
и 0 1 1 |
сопоставлено |
|||
значение |
выходного сигнала 2 = 1, а с внутренними |
состояниями |
|||
0 1 0 и 0 0 1 |
— значение выходного сигнала 2 = 0 , то, например, при |
||||
переходе |
автомата |
0 0 0 ->-0 1 0 - > 0 1 1 возникает |
кратковременное |
из |
|
менение значения |
выходного сигнала с 2 = 1 |
на 2 = 0 , которого |
не |
было бы при непосредственном переходе автомата 000->-011. Сос тязания ЭП, вызывающие такое искажение функции выходов ав томата, также называются критическими.
К некритическим относятся состязания ЭП, которые не приво дят к искажениям ни функции переходов, ни функции вы ходов. Например, если бы на рис. 4.4,в с внутренними состоя
ниями 0 0 1 |
и |
0 1 0 было |
сопоставлено |
состояние |
выхода |
2 = 1 |
или 2 = ~ , |
то |
имеющиеся |
в автомате |
состязания |
были бы |
не |
критическими. |
|
|
|
|
|
Легко понять, что состязания вообще не возникнут в том ав томате, в котором при переходе из одного внутреннего состояния
вдругое изменяет свое состояние только один ЭП.
Втеории автоматов [3] разработаны методы кодирования внутренних состояний, которые позволяют так приписывать кодо вые комбинации внутренним состояниям, что в автомате на всех заданных условиями работы переходах не возникают критические состязания ЭП. Не имея возможности подробно осветить в дан
ном пособии все современные методы кодирования внутренних со стояний автомата, рассмотрим на примере один из них, который является наиболее простым для понимания этого процесса, но ко торый, к сожалению, пригоден лишь для автоматов с небольшим числом внутренних состояний. Метод кодирования внутренних со стояний на основе разбиений изложен в [ 1, 3].
« 8
Пример 4.9. Пусть задан автомат (счетчик импульсов) таблицей переходов (табл. 4Л4). Требуется закодировать его внутренние состояния.
|
|
|
|
|
|
Т а б л и ц а 4.14 |
|
|
Pi |
Р2 |
|
*1L |
Z2 |
Кодовые комбинации |
|
Hi |
(о |
2 |
|
0 |
0 |
0 |
0 |
На |
3 |
(2) |
|
1 |
о |
о |
1 |
На |
(3) |
4 |
|
1 |
1 |
1 |
1 |
н4 |
1 |
(4) |
]1 |
0 |
1 |
1 |
0 |
Для этого вначале составим диаграмму его возможных переходов при со стояниях входа pi и р2 (рис. 4.5). Затем возьмем развертку я-мерного единич ного куба, указывающую связь его вершин с ребрами. Например, на рис. 4.6 изображена развертка трехмерного куба.
Рис. 4.5 Рис. 4.6
С вершинами развертки я-мерного единичного куба сопоставлены наборы значений двоичных переменных, соответствующих значениям я координат каж дой вершины единичного куба, одна из вершин которого совмещена с началом системы я координат, а его я ребер совпадаю^ по направлению с соответству
ющими я |
координатами. |
Очевидно, в такой развертке соседним |
вершинам |
||||
(т. е. вершинам, |
непосредственно связанным |
ребром) приписаны соседние |
кодо |
||||
вые комбинации |
(т. е. кодовые |
комбинации, |
отличающиеся значением в |
одном |
|||
разряде). |
было отмечено |
ранее, |
в автомате |
не будет критических |
состязаний, |
||
Как |
если при его переходах будет изменяться только один ЭП. Тогда легко понять, что если совместить каждую из диаграмм переходов автомата (см. рис. 4.5) с разверткой я-мерного единичного куба (см. рис. 4.6), то тогда в автомате не будет критических состязаний. При этом надо стремиться использовать куб с наименьшим числом я. Тогда кодирование автомата будет осуществляться с ми нимальным числом ЭП.
Рис. 4.7 |
Рис. 4.8 |
В нашем случае можно использовать развертку двумерного куба (рис. 4.7). 'Совмещая диаграмму переходов автомата при рг (см. рис. 4.5,а) с разверткой рис. 4.7, получаем рис. 4.8,a, a диаграмму переходов при pi (см. рис. 4.5,6) с той же разверткой рис. 4.7, получаем рис. 4.8,6. При этом очевидно, что с од ними и теми же внутренними состояниями автомата в диаграммах переходов
|
|
|
|
при различных состояниях входа должны сопостав |
|
Т а б л и ц а |
4.15 |
ляться одни и те же вершины развертки /г-мерного |
|||
куба. |
|||||
|
|
|
|
||
|
Кодовые |
В табл. 4.14 (последняя колонка) указаны вы |
|||
Микрокоманды |
бранные выше кодовые комбинации (состояния ЭП). |
||||
комбинации |
Заметим, что в некоторых случаях такое |
||||
|
|
|
|
||
мА, |
0 |
0 |
0 |
совмещение для п, равного минимальному |
|
числу ЭП, невозможно. Тогда берут куб с |
|||||
|
1 |
0 |
0 |
большим /г, причем для любого автомата |
|
MAi |
1 |
1 |
0 |
такое п всегда найдется. |
|
МА, |
1 |
1 |
1 |
В микропрограммном автомате, который |
|
относится к синхронным автоматам, состя |
|||||
|
0 |
1 |
1 |
||
|
зания ЭП устраняются использованием так |
||||
МА, |
|
|
|
||
0 |
1 |
0 |
называемой «двойной памяти», когда ис |
||
МА, |
1 |
0 |
1 |
пользуются два регистра микрокоманд. В |
|
МА, |
0 |
0 |
1 |
связи с этим микрокомандам, представляю |
|
|
|
|
|
щим собой внутренние состояния MA, мож |
но приписывать кодовые комбинации, т. е. набор состояний ЭП, вообще говоря, произвольно. Например, мик рокомандам, полученным в примере 4.8, припишем кодовые ком бинации ЭП так, как показано в табл. 4.15.
Контрольные вопросы
1.Какие автоматы являются эквивалентными?
2.Могут ли эквивалентные недоопределенные автоматы иметь различное число внутренних состояний?
3.Какие члены ЛСА являются противоречивыми?
4. Какие существуют методы устранения критических состязаний ЭП и ДУ?
Г л а в а 5.
СТРУКТУРНЫЙ СИНТЕЗ ДИСКРЕТНОГО УСТРОЙСТВА
5.1. Таблица состояний элементов памяти
Таблица состояний элементов памяти, которую иногда называ ют структурной таблицей переходов, составляется по минимизиро ванной таблице переходов, где каждой строке таблицы задано определенное состояние элементов памяти ЭП.
Таблица состояний элементов памяти, которую в дальнейшем будем называть таблицей ЭП, содержит число столбцов, равное числу состояний входов, и число строк, равное числу внутренних состояний автомата. Единица в клетке матрицы свидетельствует