Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Этапы синтеза

Читайте также:
  1. Ages de la vie этапы жизни
  2. III. Гражданская война: причины, основные этапы, последствия.
  3. Асноўныя этапы фарміравання беларускай мовы. Старабеларуская літаратурная мова ХІV—ХVІ ст.
  4. Билет 2. Становление и основные этапы развития социологии как науки
  5. Билет 58.Социологическое исследование: цели, этапы и виды социологического исследования.
  6. Биотехнология аминокислот. Микробиологический синтез. Продуценты. Преимущества микробиологического синтеза перед другими способами получения.
  7. В-61. Подготовка к пров-ию проверки фин-во-хоз-ой деят-ти (ревизии) и ее этапы. Докум-ты, составляемые в период и по результатам ревизии.

1. Находим количество элементов памяти , ( - число состояний абстрактного автомата) и кодируем состояния абстрактного автомата (табл.5.1).

Таблица 5.1.
am\
a1  
a2  
 
aM  

2. Кодируем входные и выходные сигналы, то есть

o находим количество входов структурного автомата , ( - число входных сигналов абстрактного автомата);

o количество выходов 1 типа ; ( - число выходных сигналов 1 типа);

o количество выходов 2 типа , ( - число выходных сигналов 2 типа) и кодируем входные (табл.5.2) и выходные сигналы (табл.5.3) и (табл.5.4) абстрактного автомата.

Таблица 5.2.
z f / x 1 xL x1x2…x1
z  
z  
 
z  
Таблица 5.3.
wf/y 1y2…yN y 1y2…yN
w1  
w2  
 
wG  
       

o

Таблица 5.4.
uh/r 1 r2…rD r 1 r2…rD
u1  
u2  
 
uH  

3. Структурный автомат представляем обобщенной схемой (рис.5.6).


Рис. 5.6.

4. Составляем закодированную таблицу выходов автомата и по ней записываем уравнения выходов.

o ;

o ;

o...

o ;

o ;

o ;

o...

o ;

o...

5. Составляем закодированную таблицу переходов автомата и по ней записываем уравнения для функций возбуждения, используя таблицы переходов соответсвующих элементов памяти.

o ;

o ;

o...

o ;

6. Уравнения функций возбуждения и выходов минимизируются (по картам Карно, например) и по ним строится схема в заданном функционально - логическом базисе ({И, ИЛИ, НЕ}, {И-НЕ}, {ИЛИ-НЕ}).

 

3.3. Кодирование состояний и сложность комбинационных схем

3.3.1. Кодирование состояний и КС

Вспомним синтез автомата на линиях задержки, таблица переходов которого Т. 4.

В таблице Т. 15 состояние автомата кодируется так: к(а1) = 00, к(а2) = 01, к(а3) = 11.

В результате синтеза, функция возбуждения имеет такой вид:

Будем кодировать состояния автомата так: к(а1) = 01, к(а2) = 10, к(а3) = 00. Таблица переходов Т. 3-11 будет такой:

Так как таблица функции возбуждения при синтезе на линиях задержки совпадает с таблицей переходов, непосредственно с таблицей Т. 3-11, имеют такие функции возбуждения.

Рассмотрим алгоритм, который используется при кодировании состояний и позволяет упростить функции возбуждения:
1) каждому состоянию ставим в соответствие число Nm равное числу переходов в это состояние, или равное числу ветвей, входящих в это состояние на графе;
2) числа N1, N2,…,NM сортируются по убыванию;
3) состояние аt c наибольшим Nt кодируется кодом 0000…0;
4) следующие I-состояний (I - число элементов памяти) кодируется кодами с одной "1": (00..01), (00..10),…,(10...00);
5) следующие I-состояний из оставшихся кодируются кодами содержащие две "1".

В результате получаем такое кодирование, при котором чем больше переходов в некоторое состояние, тем меньше единиц содержит код этого состояния.


3.3.2. Кодирование выходных сигналов и КС

Аналогичные соображения могут быть использованы и при кодировании выходных сигналов для минимизации функции выходов. Вспомним таблицу выходов абстрактного С-автомата Т.5.

Упорядочим выходные сигналы автомата по частоте их появления в таблице графа.
w3 - 3 раза
w2 - 2 раза
w1 - 1 раз
w4 - 1 раз
U1 - 2 раза
U2 - 1 раз

Закодируем выходной сигнал первого и второго рода Т. 3-12, Т. 3-13.

Таблица выходов теперь будет такой:

Непосредственно из таблицы Т. 3-14 получаем выражение для функции выходов:


3.3.3. Оценка сложности КС

Введем весовую функцию

- расстояние между кодами состояний аm и as, равное числу элементов, которые изменяют свое значение при переходе из состояния аm в as.

Функция W, сумма произведений по всем возможным переходам, и служит оценкой сложности КС. Чем меньше значение функции, тем проще КС.

Рассмотрим один из самых распространенных алгоритмов:
1) строится матрица-столбец

состоящая из всех различных пар номеров, так что в автомате есть переход из r в r;
2) упорядочить строки в матрице так, чтобы выполнялось условие
.
Это означает, что хотя бы один из элементов r-строки содержится в какой-нибудь из предыдущих строк. Для связных графов это всегда возможно;
3) закодируем состояние из 1 строки матрицы М таким образом, что

4) вычеркиваем из М одну строку, соответствующую закодированным состояниям a1, b1
5) в силу условия пункта 2 в 1 строке новой матрицы М1 оказывается закодированным 1 элемент. Другой незакодированный элемент обозначим через ;
6) выбрав из матрицы М1 все строки, содержащие , построим матрицу М . В этой матрице выберем множество элементов В = ( f), f = 1,.., F, которые уже закодированы. Их обозначим k 1, k 2, …, k f;
7) для каждого k f (f = 1, …, F) находится множество кодов соседних с k f и еще не занятых для кодирования состояния автомата. Это множество
.
Может оказаться, что

где c f это множество кодов, у которых кодовое расстояние с кодом k f равно 2. Если и это

делаем дальше

пока не найдется
.
Обозначим
.
8) для каждого кода k g находим кодовое расстояние между этим кодом и всеми используемыми кодами k f
.
9) находим

Если в автомате имеются переходы из 1 состояния в другое и обратно, вес перехода входит в Wgдважды.
10) из множества Dn выбираем код k , у которого вес Wg = min Wg. Состояние a кодируется кодом k .
11) из матрицы М1 вычеркиваем строки, где закодированы оба элемента. Получаем М2. Если в ней не осталось ни одной строчки, то переходим к пункту 12, иначе - к 5.
12) вычисляем функцию
.
Оценкой качества кодирования служит число
,
где Р - число переходов. Значение kк лежит в пределах [1 - I], чем ближе к 1, тем лучше автомат.


3.3.4. Пример кодирования состояний автомата

Рассмотрим автомат представленный графом

Дугам графа входные и выходные сигналы не приписываются, т.к. они в работе алгоритма кодирования состояния не участвуют.

Строим матрицу М.

Кодируем первую строчку: k1 = 000, k2 = 001. Расположим эти коды в карте Карно.

Из матрицы вычеркиваем первую строчку и получаем матрицу М1.

В первой строке М1 не закодирован элемент = 4. Собираем матрицу из этих элементов.

В М4 уже закодирован элемент "2", ==> множество В4 = (2). Для элемента "2" с кодом 001 строим множество С12, которое получаем инвертируя элементы этого множества.

С12 = (101, 011).

С12 объединяем (если их несколько) и получаем объединение D14 = (101, 011). Находим весовые функции элементов с исходными кодами

Для элемента а4 можно взять любой из этих кодов, так как оба они равны единице. Возьмем код k4 = 101. Заносим его в карту Карно

В М1 удаляем 1 строку и получаем М2

В первой строке М2 не закодированным оказывается элемент = 5. Собираем матрицу М5

Множество В5 = (2, 4, 1). Коды этих элементов: "2" - 001, "4" - 101, "1" - 000.

Неиспользуемые смежные коды будут:

Находим весовые функции:

Надо взять число, которое дает минимальное расстояние: W100 = min (W011, W100, W111, W010).

Этим кодом и будет закодирован элемент а5 - k5 = 100.

В М2 удаляем 1 строчку и все строки, в которых элементы уже закодированы

= 3 - незакодирован. Матрица, состоящая из строчек с незакодированными элементами совпадает с матрицей М3.

Весовые функции:

k3 = 100

Все состояния оказываются закодированными.

Весовая функция всего автомата:

Число переходов самого автомата равно 8 (Р = 8).

Коэффициент качества кодирования:


Дата добавления: 2015-12-08; просмотров: 30 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.012 сек.)