УДК 681.325.53: 37 : 004.5 С.Н. КОВАЛЕНКО
ДВУХШАГОВЫЙ ПРЕОБРАЗОВАТЕЛЬ КОДОВ С ПАРАЛЛЕЛЬНЫМ ИСПОЛЬЗОВАНИЕМ ШАГОВ ПРЕОБРАЗОВАНИЯ
Предлагается способ повышения быстродействия преобразователей кодов на счетчиках за счет применения параллельной стратегии использования шагов преобразования. Описывается метод расчета числа тактов преобразования и программное обеспечение для его реализации.
1.Постановка задачи
Двухшаговый преобразователь кодов (ПК) с последовательной стратегией использования шагов преобразования в ряде случаев не обеспечивает требуемого быстродействия. Поэтому в случае, когда необходимо высокое быстродействие, применяют параллельную стратегию шагов преобразования. Структуру преобразователя кодов в этом случае необходимо изменить.
2. Структура и функционирование двухшагового ПК последовательного типа
Структура двухшагового ПК, ориентированного на повышение быстродействия с применением параллельной стратегии приведена на рис.1.
Двухшаговый ПК двоично-К-ичного кода в двоичный код содержит группу разрядных счетчиков I, блок управления (генератор) импульсов 2, содержащий прямой П, прямые задержанные П31 и П32 выходы, первую группу триггеров 3 состояния, вторую группу триггеров 4 состояния, комбинационный двоичный сумматор 5 и регистр 6 результата, образующие в совокупности накапливающий сумматор 7, группу элементов И-НЕ 8, группу элементов И-НЕ 9, группу дешифраторов нуля 10, группу дешифраторов превышения 11, группу шифраторов 12, формирователь эквивалента 13, включающий в свой состав первый 14 и второй 15 дешифраторы и шифратор 16, элемент ИЛИ-НЕ 17, группу элементов ИЛИ 18.
В состав формирователя эквивалентов 13 также входят элемент НЕ 19, группа элементов И 20 и группа элементов ИЛИ 21. Функционирование двухшагового ПК происходит следующим образом.
Группа триггеров 3 фиксирует ненулевое значение счетчиков соответствующих разрядов; группа триггеров 4 - значение старших разрядных счетчиков, превышающее заданное число а-1, например 1.
Шифраторы 12 реализуют следующую функцию:
Y = {Х -а;Х > а; {Х;Х < а; где Х - входной код тетрады; а - параметр, в частном случае, равный 2. Цепи инициирования и сброса на рис.1 не показаны. Так как в конкретном случае п = 4, К = 12, то диапазон
изменения входного кода 0 — (124 — 1) = 0 — 2073510. Код состояний триггеров как первой
группы 3, так и второй 4 имеет 23 = 8 значений от 000 до III.
Формирователь эквивалентов (ФЭ) 13, выполненный в виде последовательного соединения первого 14 и второго 15 дешифраторов, реализует функцию
§ = |КС1 + К2 С 2 + К3С3; Д1 = Д 2 = Дэ = 0; [аКК 1 + аК2Д2 + аК^; Д1 ,Д2 ,Д3 * 0; где С ,С 2, С3 - значения разрядов двоичного кода триггеров состояний первой группы 3; Д1 ,Д2, Д3 - значения разрядов двоичного кода триггеров состояния второй группы 4.
г
20
-Е>
х„
+1 -1
V
ст
1 15
10! 1
Д1
1 ОС, <
<
(
К
со
"ФЭ 13 I
+1 -1
V
ст
ь.
Х2
гЬ
+1
-1
V
ст 1,
12,
2 р
Пуск Останов
— 1 17
ч>
ГТ31
г
нем 7
I___„___I
П32
Рис 1. Структура двухшагового ПК с последовательным использованием шагов
Каждый из С т (т = 1,3) триггеров 3 первой группы состояний разрядных счетчиков соответствует наличию (1) или отсутствию (0) информации в соответствующем старшем разряде преобразуемого кода, а разряд Д т (т = 1,3) триггеров 4 второй группы состояний разрядных счетчиков равен 1, если соответствующий разряд преобразуемого кода имеет значение х; > а(2 < а < к -1), в противном случае Дт = 0 .
ФЭ 13 преобразует вначале двоичный код Д3,Д 2 ,Д1 триггеров состояний второй группы, затем приД3,Д 2 ,Д1 = 0 преобразует двоичный кодС3,С 2 ,С1 триггеров состояний
первой группы и при Д3 = Д 2 = Д1 = С3 = С 2 = С1 =000 выполняет трансляцию (передачу) двоично-К-ичного кода младшего разряда в двоичный код эквивалента на выходе. 3. Структура и функционирование двухшагового ПК параллельного типа Логика управления в двухшаговом ПК параллельного типа выполнена так, чтобы запретить возможность вычитания шага 1, если в этом разряде имеется возможность вычитания
шага а. И наоборот, если значение разряда хт находится в пределах 1 < хт < а, то 104
следует разрешить опрос вентиля, управляющего вычитанием I из разрядного счетчика,
хранящего хт.
Этот принцип управления реализуется в двухшаговом ПК параллельного типа путем замены (п-1) входного элемента ИЛИ-НЕ блоком инверторов, вход каждого из которых связан с единичным выходом соответствующего триггера старшего регистра состояний, а выход инвертора соединяется с управляющим входом схемы И, на информационный вход которой поступает сигнал с единичного выхода триггера этого разряда, но младшего регистра состоянии.
Закон функционирования ФЭ для двухшагового ПК параллельного типа для набора шагов 1,2 и К=12 приведен в таблице. ФЭ двухшагового ПК параллельного типа имеет 27 строк; ПК последовательного типа - всего 15 строк. Особенностью ФЭ для ПК параллельного типа является отказ от принципа последовательного соединения ряда стробируемых ДШ и применение ряда вентилей, каждый из которых стробирует определенный ДШ, выделяющий определенное подмножество входных наборов.
Дешифрование строк таблицы ФЭ ПК параллельного типа осуществляется не двумя последовательно включенными ДТ, а совокупностью ДТ, стробируемых состояниями
триггеров Д3Д2Д! старшей группы, на информационные входы которых поступают сигналы с триггеров младшей группы. Каждой горизонтальной полосе соответствует определенный ДШ. Так, для дешифрования строк 0-7 следует применить ДШ 3-8, стробируемый инверсным выходом трехвходового элемента ЗИЛИ-НЕ, на входы
которого поступают сигналы Д3Д 2 Д!, а на информационные входы ДШ - сигналы С3С 2 С! (см. рис. 2.).
Вторую, третью и пятую полосы таблицы (строки 8-11; 12-15 и 18-21 соответственно) выделяют с помощью ДШ 2-4, на два информационных входа которых подают соответственно сигналы С3С2,С3С!,С2С!.
Выделение оставшихся строк 16-17 (четвертая полоса); 22-23 (шестая); 24—25 (седьмая) и 26 (восьмая) выполняют с помощью или ЛЭ или ДШ 2-4.
После выделения всех строк закона функционирования ФЭ реализация выходных функций шифратора у !2 - у! для двухшагового ПК параллельного типа выполняется аналогично случаю ПК последовательного типа. В целях более простой реализации осуществляют выделение ряда общих частей в некоторых подмножествах функций. Так, у! = у 2 = 0;
У12 = Д3; У4 = СЪ У3 = (2!
ъ,
ъ-
ъ
13
ъ
15
ъ
19
Ъ2!) и Ъ25;
М! = ъ 4
ъ
ъ
ъ7;М2 = ъш
ъ
!!
ъ
14
ъ
15
ъ!7;М 9 = ъ20
ъ
2!
ъ
23
ъ
24
ъ
25
ъ 26;
М3 = М5 иМ6;М4 = ъб
ъ
ъ
16
ъ!7;М 5 = ъ20
ъ2!;М 6 = ъ 23
ъ
24
ъ
25
ъ
26
уп = Д3 иМ! иМ2;ую = М! иМ2 иМ3, у9 = (ъ!! ъ!2 ъ13 ъ14 ъ15 ъ18 ъ19 ъ22) и М4,
у8 = (ъ2
ъ3
ъ4
ъ5
ъ9
ъ
!0
ъ
14
ъ15) и (ъ
!7
ъ
18
ъ
19
ъ
22
ъ
24
ъ
25
ъ 26)
у7 = М! и М2;у6 = (ъ9 у5 = (ъ2
ъ
!!
ъ
!2
ъ
13
ъ
14
ъ
15
ъ
16
ъ!7) и Мб
ъ3 ъ6 ъ7 ) и (ъ8 ъ!0 ъ16 ъ!7 ъ20 ъ2! ъ22 ъ26)
г
2С
"фэ 13 i
1
10
+ 1 -1 V
ст 1,
131 ]
и:
1 ОС,
1
я,
К
СР
+1 ■ 1
V
СТ 1:
12,
1 V
§
+ 1
■I 1"
V
ст
с ^
ПуСЕ Осипов
17,
—&
J
ТТ31
ж
п
нсы 7
П
«1
^171.)
ш2
I
J
Рис 2. Структура двухшагового ПК с параллельным использованием шагов
4. Математические модели, описывающие ФЭ в ПК параллельного типа
Функционирование двухшагового многоблочного формирователя эквивалентов с параллельной стратегией использования шагов преобразования (рис.3), описывается выражением
1=тР
sm = 1 (Ь)К1-1 • Я1 (Ь),,(! = 1, тр),
1=(т-1)Р+1
где т - номер блока (т = 1, М); i- номер разряда в блоке т; Р - число разрядов в блоке п
(Р = м); п - число входных преобразуемых разрядов; ^ текущий шаг преобразований; М
- число блоков в разбиении (М ^); С1 - состояние >го триггера регистра состояний.
Коэффициент у, (Ь) при степени оснований к1-1 может принимать три значения в зависимости от значений Di и Ci триггеров >го разряда соответственно старшого и младшего регистров состояний на этапе (такте) преобразования ^
У, (Ь) =
а,Б; * 0; С; * 0; 1,Б; = 0;С, * 0; 0,Б; = 0; С, = 0.
Коэффициент Я, (Ь) учитывает вхождение компоненты >го разряда (ее вклад) в выражение для Sm блока т и равен
= С, = 0;
Я; (Ь ) = ■
1,^ V С = 1.
В зависимости от номера текущего такта преобразования h(h= 0, Н) значения коэффициентов у, (Ь) и Я, (Ь) могут изменяться, т.е. являются динамически изменяющимися, что относится также и к величине Sm.
Номер набора Состояние т риггеров Общий вид эквивалента Десятичный код эквивалента Двоичный код эквивалента
Второй группы Первой группы
21 ДзД 2 Д1 С3С 2 С1 Б Б10 У12 У11У10 У9 У8У7У6У5 У4У3У 2 У1
0 000 000 Х0 Х0 Трансляция младшей тетрады
1 000 001 к1 12 0000 000 1100
2 000 010 к2 144 0000 1001 0000
3 000 011 к2 + к1 156 0000 1001 1100
4 000 100 к3 1728 0110 1100 0000
5 000 101 к3 + к1 1740 0110 1100 1100
6 000 110 к3 + к2 1872 0111 0101 0000
7 000 111 к3 + к2 + к1 1884 0111 0101 1100
8 001 001 ак 24 0000 0001 1000
9 001 011 к 2 + ак 168 0000 1010 1000
10 001 101 к3 + ак 1752 0110 1101 1000
11 001 111 к3 + к 2 + ак 1896 0111 0110 1000
12 010 010 ак 2 288 0001 0010 0000
13 010 011 ак 2 + к 300 0001 0010 1100
14 010 110 к3 + ак 2 2016 0111 1110 0000
15 010 111 к3 + ак2 + к 2028 0111 1110 1100
16 011 011 ак 2 + ак 312 0001 0011 1000
17 011 111 к3 + ак 2 + ак 2040 0111 1111 1000
18 100 100 ак3 3456 1101 1000 0000
19 100 101 ак3 + к 3468 1101 1000 1100
20 100 110 ак3 + к 2 3600 1110 0001 0000
21 100 111 ак3 + к2 + к 3612 1110 0001 1100
22 101 101 ак3 + ак 3480 1101 1001 1000
23 101 111 ак3 + к 2 + ак 3624 1110 0010 1000
24 110 110 ак3 + ак 2 3744 1110 1010 0000
25 110 111 ак3 + ак 2 + к 3756 1110 1010 1100
26 111 111 ак3 + ак 2 + ак 3768 1110 1011 1000
_ Сз —
Д1
ОС 1-2
1 1А:
=1 -1
с2 -2
-3 -4
д, -п|
дЯ 1 ^
1 ОС 0 <
3-8 1 '
2 2 <
3 <
4 4 <
5 <
— й <
V 7 <
Д1
Д^ -±
ос 1-2
1
Д1
Е>С 1-2 0 1
1
< -Я 1 .
^24
Д1
п-1
1 ОС 2-4
г
_ Д1
<=1 —11
сз
1 ОС 0
2-4 1
г г
3
У
г-г -
1ЕП7 эт 25 -
Я:
1 ОС 0
2-4 1
г г
3
г -г 18 21
«1
1 Сй 1
г
3
4
5
6
гп-1
25 т
Рис. 3. Структура ФЭ для двухшагового ПК параллельного типа Процесс преобразования заканчивается, если на каком-либо из тактов преобразования h состояния всех триггеров Di и С всех блоков оказываются равными нулю. В случае разбиения шестиразрядного ПК и ФЭ на 6 блоков имеем следующие выражения для Sl- S6:
^ = У1 (Ь)К % (Ь); S2 = у 2 (Ь)К^ (Ь); Sз =Уэ(Ь )K 2Я S4 =у 4(h)K3R 4(Ь);
S5 =у^ЬЖ4R5(Ь); S6 =у6(Ь)Л6(Ь).
Число блоков разбиения (декомпозиции) M ФЭ и ПК на блоке является делителем числа входных разрядов п. В этом случае все блоки содержат одинаковое число разрядов. Так, при п=6 делителями являются числа 6,3,2,1 (М=1,2,3,6). При М=3 получим следующие выражения для Sm:
^ = Еу 1 да(Ь) = у 2 да^2 (Ь)+у 1 да % (Ь),
1=1
S2 = Е У1 (h)K1-1^ (Ь) = у 4(h)K3R 4 (Ь) + у 3 (Ь )K 2 R 3 (Ь),
1=3
1=6 ■ , с л
§3 = Еу 1 №)К1-^ (Ь) = y6(h)K5R6(h) + y5(h)K4R5(h).
1=5
При М=2 выражения для вычисления значений §т ФЭ преобразуются в следующие: §1 = ЕУ 1 (Ь)К 1-1Rl (Ь) = у 3 да Ъ 3 (Ь) + у 2 да^2 (Ь) + У1 (Ь)К 0Rl (Ь),
1=1
S2 = lYi(h)Ki-1R;(h) = y6(h)K5R6(h) + Y4(h)K3R4(h) + Уэ(Ь)К^(h) .
i=6
Наконец, при М=1 получим:
Si = Zy i (h )K i-1Ri (h) = у 6 (h)K5R 6 (h) + у 4(h)K3R 4(h) + y 3(h)K 2R 3(h) +
i=1
+ y3 (h)K2R3 (h) + y2 (h)K1R2 (h) + Yi (h)K0Ri (h) .
Следует отметить, что если М является делителем числа n, то все блоки разбиения будут идентичными и иметь одинаковое число разрядов в блоке. Если это условие не выполняется, то последний блок разбиения будет иметь меньшее число разрядов по сравнению с предыдущими.
Так, при n=8 и М=3, будет два блока по три разряда (S1 и S2) и один блок (третий) с двумя разрядами. Функционирование ФЭ этих блоков описывается следующими формулами:
51 = IY i (h)K i-1Ri (h) = y 3 (h)K 2R 3 (h) + y 2 (h)K^2 (h) + Y1 (h)K 0R1 (h);
i=1
52 = Ey i (h )K i-1Ri (h) = Y 6 (h)K5 R 6 (h) + Y 5 (h )K4 R 5 (h) + y 4 (h )K3R 4 (h);
i=4
i=8 . . _ , S3 = EY i (h )Ki-1Ri (h) = y 8(h)K7R8(h) + Y 7 (h)K6 R7 (h).
i=7
Выводы
Научная новизна выполненного исследования заключается в следующем:
1. Предложен способ повышения быстродействия двухшаговых преобразователей кодов на базе счетчиков, функционирующих по методу накопления эквивалентов и использующих параллельную стратегию шагов преобразования.
2. Проведена сравнительная оценка последовательной и параллельной стратегии использования шагов преобразования и разработаны обобщенные математические модели, описывающие закон функционирования ФЭ в ПК с параллельной стратегией использования шагов преобразования.
3. Приведен пример построения закона функционирования ФЭ в ПК параллельного типа.
Практическая значимость исследования состоит в возможности существенного увеличения быстродействия двухшаговых ПК за счет небольших дополнительных аппаратурных затрат.
Список литературы: 1. А.с. 1126946 5G06F 5/02. Преобразователь двоично-К-ичного кода в двоичный код /А.Н. Слобожанин //Открытия, изобретения. 1984. №>44. С.250. 2. А.с. 1647908 5НОЗМ 7/12. Преобразователь двоично-К-ичного кода в двоичный код /Н.Я.Какурин, Ю.К. Кирьяков, А.Н. Макаренко // Там же. 1991. №17. С. 262-263. 3. А.С. 1783618 5G06F 5/02. Преобразователь двоично-К-ичного кода в двоичный код / Н.Я.Какурин, А.Н. Макаренко, Д.Ю. Исхаков, В.А. Толмацкий //Открытия, изобретения. 1984. №>44. С.250.
Поступила в редколлегию 17.09.2007
Коваленко Сергей Николаевич, соискатель кафедры АПВТ ХНУРЭ. Научные интересы: цифровые датчики, устройства преобразования кодов, автоматизации проектирования цифровых устройств. Адрес: Украина, 61166, Харьков, пр.Ленина, 14, тел. 70-21-326.