"преобразователь кода фибоначчи в код "золотой" пропорции"
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике. Целью изобретения является сокращение аппаратурных затрат. Преобразователь содержит сдвигающий регистр 2, блок 3 элементов И, накапливающий сумматор 4, блок 5 управления, элемент 6 задержки и генератор 7 кодовых эвивалентов. 1 з.п. ф-лы, 2 ил., 1 табл.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК(51)5 Н 03 M 7/02
ГОСУДАРСТВЕННОЕ ПАТЕНТНОЕ
ВЕДОМСТВО СССР (ГОСПАТЕНТ СССР) ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4796249/24 (22) 28.02.90 (46) 23.12.92, Бюл, N 47 (71) Винницкий политехнический институт (72) А,П.Стахов, Н.А.Соляниченко, Д,А.Стахов и И.В.Стахова (56) Авторское свидетельство СССР
N 662933, кл. Н 03 M 7/02, 1976.
Авторское свидетельство СССР
N - 1552380, кл. Н 03 М 7/30, 1988.
ЯХ 1783616 А1 (54) ПРЕОБРАЗОВАТЕЛЬ КОДА ФИБОНАЧЧИ В КОД "ЗОЛОТОЙ" ПРОПОРЦИИ (57) Изобретение относится к вычислительной технике. Целью изобретения является сокращение аппаратурных затрат. Преобразователь содержит сдвигающий регистр 2, блок 3 элементов И, накапливающий сумматор 4, блок 5 управления, элемент 6 задержки и генератор 7 кодовых эвивалентов. 1 з.п. ф-лы; 2 ил., 1 табл.
178361б выход лока эквиваленИзабрвтение относится к вычислитель- вивалентов, причем выхо бл ной технике. тов И соединен с информационным входом
Известны устройства для преобразова- накапливающего сумматора, первый выход ния двоичного кода в код с другим основа- блока управления соединен с тактовым аханием. использующий принцип 5 дом накапливающего сумматора и через суммирования кодовых эквивалентов. элемент задержки — с к — с тактовыми входами
Недостатком этих устройств является генератора кодовых эквивалентов и сдвиганевозможность преобразования кода Фи- ющего регистра, информа ионный в боначчи в ко "з л д золотои пропорции. торого является информационным входом
Наиболее близким техническим реше- 10 преобразователя, информационный выход нием к предлагаемому является преобразо- которого соединен с выходом накапливаю03 M 7/30 19 ватель кодов (авт.св. СССР N 1552380, кл. Н щего сумматора вход
88), содержащий сдвигающий чальной установки преобразо егист б азователя р р, блок элементов И, накапливающий соединены с соответствующими входами сумматор, блок управления, элемент задер- 15 блока управления, второй вход которого явжки и генератор кодовых эквивалентов, ляется выходом готовности преобразоватеимеющий сдвигающий регистр разрядно- ля, третий выход блока управления стью li, где n — разрядность кодового экви- подключен к входам начальной установки валента разряда с наибольшим весом, и сдвигающего регистра, накапливающего блок маскирования. Генерирование кодо- 20 сумматора и генератора кодовых эквиваленвых эквивалентов в рассматриваемом уст- тов, группа выходов которого соединена с .ройстве основывается на закономерностях первой группой входов блока элементов И, между эквивалентами соседних весов раз- введены новые связи, а именно: четвертый рядов кода Фибоначчи в коде "золотой" выход блока управления соединен с входом пропорции и осуществляется путем сдвига 25 задания режима генератора кодовых эквикодового эквивалента предыдущего стар- валентов, выход сдвигающего регистра соешего веса разряда кода Фибоначчи на один динен с второй группой входов блока разряд а сторону младших разрядов сдвиго- элементов И. вым регистром генератора с одновремен- Поставленная цель достигается также
- ным маскированием нулями 30 изменением структуры генератора кодовых соответствующих разрядов с отрицательны- эквивалентов. В отличие от генератора коми степенями и установкой, при четных по- довых эквивалентов по прототипу, в предларядковых номерах разрядов входного кода, гаемом устройстве генератор кодовых определенного разряда кодового эквива- эквивалентов содержит первый, второй и лента в единичное состояние блоком маски- 35 третий сдвигающие регистры и коммутато, причем выходы разрядов второго и третьего
Блок маскирования содержит сдвигаю- сдвигающего регистров соединены соответщий регистр разрядностыб k/2, где k ÷èñëo ственно с первой и второй группами инфорразрядов, имеющих отрицательные значе- мационных входов коммутатора, выход ния степеней кодового эквивалента, k эле- 40 группы которого являются соответствующиментов И, k/2 элементов ИЛИ, триггер и ми k младшими выходами группы генератопреобразовательунитарного кода вединич- ра кодовых эквивалентов (где ный, на реализацию функций которого не- порядковый номер разряда кода "золотой" обходима комбинационная схема, пропорции с весом а ); выходы разрядов содержащая k элементов И, k/2 элементов 45 первого сдвигающего регистра являю с Л /
Л И и k/2 элементов НЕ. старшими (n - k) выходами группы генератоТаким образом, для реализации всего ра кодовых эквивалентов, тактовый вход гегенератора кодовыхэквивалентовустройст- нератора кодовых эквивалентов соединен с ва по прототипу требуется два сдвигающих тактовыми входами и;.рвого, второго и регистра общей разрядностью n + k/2, 2k 50 третьего сдвигающих регистров, вход задаэлементов И, k элементов ИЛИ, один триг- ния режима генератора кодовых эквиваленгер и k/2 элементов HE. тов соединен с управляющим входом
Цель изобретения — сокращение аппа- коммутатора, вход начальной установки гературных затрат... нератсрэ кодовых эквивалентов соединен с
Поставленная цель достигается.тем, что 55 входами на -сальной установки первого, втов преобразователь кода Фибоначчи в код рого и третьего сдвигающих регистров, "золотой" пропорции. содер>кащий сдвига- Таким образом, для реализации генерающий регистр, блок элементов И, накаплй- тора кодовых эквивалентов предложенным вающий сумматор, блик управления, устрсйством необходимы три сдвигающих элемент задер;кки и генератор кодовых эк- регистра Общей разрядностью п + k u k-раз1783616
От четности Al рядный коммутатор, т.е. требуются меньшие аппаратурные затраты по сравнению с аппаратурными затратами на реализацию устройства по прототипу.
Функциональная схема предлагаемого устройства приведена на фиг. 1; функциональная схема блока управления — на фиг 2.
Преобразователь кодов (фиг, 1) содержит информационный вход устройства 1, сдвигающий регистр 2, блок 3 элементов И, накапливающий сумматор 4, блок управления 5, элемент задержки 6, генератор кодовых эквивалентов 7, информационные выходы устройства 8, вход 9 запуска преобразователя, вход
10 начальной установки преобразователя, Генератор кодовых эквивалентов 7 содержит первый 11, второй 12 и третий 13 сдвигающие регистры и коммутатор 14, Информационный вход 1 устройства подключен к информационному входу сдвигающего регистра 2, информационный выход 8 преобразователя соединен с выходом накапливающего сумматора 4, выход блока 3 элементов И соединен с информационным входом накапливающего сумматора 4, первый выход блока управления 5 соединен с тактовым входом накапливающего сумматора 4 и через элемент задержки 6- с тактовыми входами первого 11. второго 12 и третьего 13 сдвигающих регистров генератора кодовых эквивалентов 7 и с тактовым входом сдвигающего регистра 2, вход 9 запуска и вход 10 начальной установки преобразователя соединены с соответствующими входами блока управления 5, второй выход которого является выходом готовности преобразователя, третий выход блока управления 5 подключен к входам начальной установки сдвигающего регистра 2, накапливающего сумматора 4 и сдвигающих регистров 11 — 13 енератора кодовых эквивалентов 7, четвертый выход блока управления 5 соединен с управляющим входом коммутатора 14 генератора кодовых эквивалентов 7, выход сдвигающего регистра 2 соединен с второй группой входов блока 3 элементов И, выходы разрядов второго 12 и третьего 13 сдвигэющих регистров генератора кодовых эквивалентов 7 соединены соответственно с первой и второй группами информационных входов коммутатора 14. выходы группы которого соединены с соответствующими k младшими входами первой группы входов блока 3 элементов И, выходы разрядов первого сдвигающего регистра 11 генератора 7 соединены со сгаршими (n - k) входами первой группы входов блока 3 элементов И.
Первый сдвигающих регистр 2 предназначен для хранения и последовательного сдвига в сторону старших разрядов исходно5
ro преобразуемого кода Фибоначчи. Коммутатор 14, первый 11, второй 12 и третий 13 сдвигающие регистры предназначены для генерирования кодовых эквивалентов весов разрядов кода Фибоначчи. При этом первый сдвигающий регистр 11 предназначен для формирования старших (n - k) разрядов кодовых эквивалентов, а второй 12 и третий 13 сдвигающие регистры — для формирования остальных k младших разрядов кодовых эквивалентов, причем второй сдвигающий регистр 12 формирует младшие разряды кодовых эквивалентов с четными порядковыми номерами, а третий сдвигающий регистр 13 — с нечетными номерами.
Коммутатор 14 предназначен для подключения на каждом такте преобразования выходов соответствующего сдвигающего регистра 11 или 13 — e зависимости от четности порядкового номера формируемого кодового эквивалента.
Сдвигэющие регистры 2, 11-13 и коммутатор 14 могут быть реализованы на стандартных микросхемах, Блок управления 5 может быть реализован по схеме (фиг. 2), содержащий счетчик 15, первый триггер 16, элемент И 17, генератор импульсов 18, элемент ИЛИ 19, элемент задержки 20, второй триггер 21.
Вход 9 запуска блока управления 5 соединен с синхровходом второго триггера 21, вход установки в "О" которого подключен к входу 10 начальной установки преобразователя и соединен с входом записи счетчика 15 и через элемент задержки 20 — с первым входом элемента ИЛИ 19 и с третьим выходом блока управления 5. Выход второго триггера
21 соединен с первым входом элемента И 17, второй вход которого подключена подключен к выходу генератора импульсов 18, выход равенства нулю счетчика 15 соединен с третьим входом элемента И 17 и является вторым выходом с блока управления 5, выход элемента
И 17 соединен со счетным входом первого триггера 16, вторым входом элемента ИЛИ 19 и синхровходом вычитания счетчика 15, выход первого триггера 16 является четвертым выходом блока управления 5, выход элемента
ИЛИ 19 является первым выходом блока управления 5, Второй триггер 21 я вляется D-триггером, 0-вход которого соединен с логической "1" и предназначен для формирования сигнала разрешения преобразования при появлении импульса на входе запуска 12 устройства, Первый триггер 16 является счетным триггером и предназначен для формирования управляющих сигналов коммутатора 14, его начальное знэ4ение задается в зависимости
1783616
Счетчик 15 предназначен для формирования временного интервала, в период которого происходит преобразование исходного кода. Счетчик 15 работает в режиме вычитания, при этом начальное значение счетчика равно и в двоичном коде, Инверсный выход равенства нулю счетчика 15 позволяет блокировать с помощью злемента И
17 прохождение тактовых импульсов на узлы преобразователя кодов после окончания преобразования кода. Блокировка тактовых импульсов до начала преобразования осуществляется элементом И 17 при наличии нулевого сигнала на выходе второго триггера 21, Элемент ИЛИ 19 предназначен для формирования синхросигналов сдвига и начальной установки всех регистров устройства преобразования. Элемент задержки 20 может быть выполнен с помощью RC-цепочки и предназначен для задержки синхросигнала по отношению к сигналу начальной установки на входе 13 устройства.
Генерация кодовых эквивалентов технически реализована исходя из закономерностей между соседними кодовыми эквивалентами весбв разрядов кода Фибоначчи в коде "золотой" пропорции. Как видно из таблицы, (и - k) старших разрядов двух соседних кодовых эквивалентов равны между собой при сдвиге кодового эквивалента разряда с большим весом в сторону младших разрядов на 1 бит, Младшие k разрядов двух соседних кодовых эквивалентов с четными порядковыми номерами равны при сдвиге кодового эквивалента с большим весом в сторону . старших разрядов на 2 бита; Аналогично кодовым эквивалентам с четными номерами формируются соседние кодовые эквиваленты с нечетнымй номерами (см. таблицу).
Устройство работает следующим образом, При поступлении единичного сигнала на вход 10 начальной установки устройства преобразователь кодов устанавливается в исходное состояние: код, подлежащий преобразованию, записывается в сдвигающий регистр 2, а в первый сдвигающий регистр
11 генератора кодовых эквивалентов 7 заносятся старшие (и — k) разрядов кодового эквивалента, соответствующего весу m-го старшего разряда преобразуемого кода.
При m нечетном в третий сдвигающий регистр 13 записываются k младших разрядов гп-го кодового эквивалента, а во второй сдвигающий регистр 12 заносятся k младших разрядов (т -1)-го кодового эквивалента, сдвинутого в сторону младших разрядов на 1 бит. При m четном запись производится наоборот: в третий сдвигающий регистр 13записываются k младших разрядов (m - 1)-го кодового эквивалента, сдвинутых на 1 бит в сторону младших разрядов, а во второй сдвигающий регистр 12 — k младших разрядов а-го кодового эквивалента. При этом, 5 так как младшие значащие разряды m-го и (m - 1)-го кодовых эквивалентов при m четном имеют одинаковый вес, для сохранения информации при сдвиге на 1 бит (m - 1)-го кодового эквивалента разрядность третьего
10 сдвигающего регистра 13 должна быть равна k + 1 разрядам, тогда как для второго сдвигающего регистра 12 достаточно разрядности k. К коммутатору 14 в этом случае должны быть подключены только старшие ,15 k-разряды третьего сдвигающего регистра
13. При m нечетной разрядности регистров
12, 13 равны k. .В исходном состоянии накапливающий сумматор 4 и второй триггер 21 блока управ20 ления 5 обнуляются, а в счетчик 15 заносится двоичный код, соответствующий значению m, а первый триггер 16 блока управления 5 устанавливается в состояние, значение которого зависит от четности по25 рядкового номера старшего кодового экви-, валента. При m четном значение сигнала на четвертом выходе блока управления 5 должно быть таким, чтобы коммутатор 14 подключал к своим выходам выходы второго
30 сдвигающего регистра 12, при m нечетном— выходы третьего сдвигающего регистра 13.
Преобразование начинается при поступлении на вход 9 устройства сигнала за- . пуска.
35 Каждый такт преобразования состоит из двух полутактов. Синхросигналы первого полутакта формируются на первом выходе блока управления 5, синхросигналы второго полутакта — на выходе элемента задержки 6.
40 Длительность задержки сигналов элементов задержки 6 должна быть больше времени, необходимого для суммирования двух кодовых слов на накапливающем сумматоре
4.
45 .На первом полутакте происходит сложение содержимого накапливающего сумматора 4 и значения на выходе блока 3 элементов И.
На втором полутакте происходит сдвиг
50 на 1 бит сдвигающего регистра 2 и сдвигающих регистров 12, 13 генератора кодовых эквивалентов 7 в сторону старших разрядов, а также сдвиг на 1 бит в сторону младших разрядов первого сдвигающего
55 регистра 11 генератора кодовых эквивалентов 7. При этом на каждом втором полутакте на четвертом выходе блока управления 5 формируется сигнал, значение которого противоположно предыдущему, Таким об1783616 разом, на каждом р-м (р = 1„,m) втором полутакте в первом сдвигающем регистре 11 формируются старшие (n - k) разрядов (р +
1)-ro кодового эквивалента, а на выходе коммутатора 14 формируются остальные k раз- 5 рядов (р + 1)-го кодового эквивалента. На первом р-м полутакте при значении р-го разряда исходного преобразуемого кода "1" сформированный р-й кодовый эквивалент поступает через элементы 11 блока 3 на 10 накапливающий сумматор 4. При значении р-го разряда исходного кода "О" на вход накапливающего сумматора 4 поступает код. значение которого равно О.
Процесс преобразования продолжает- 15 ся до тех пор, пока не произойдет полного сдвига содержимого сдвигающего регистра
2. При этом на втором выходе устройства формируется сигнал противоположного значения, а на выходах 8 устройства будет 20 сформирован эквивалент исходного кода
Фибоначчи в коде "золотой" пропорции.
Таким образом, изменение структуры генератора кодовых эквивалентов позволяет производить преобразование кода Фибо- 25 наччи в код "золотой" пропорции устройством, требующим меньших аппаратурных затрат по сравнению с устройством по прототипу.
Формула изобретения 30
1. Преобразователь кода Фибоначчи в код "золотой" пропорции, содержащий сдвигающий регистр, блок элементов И, накапливающий сумматор, блок управления, элемент задержки и генератор кодовых эк- 35 вивалентов, при чем выход блока элементов
И соединен с информационным входом накапливающего сумматора, первый выход блока управления соединен с тактовым входом накапливающего сумматора и через 40 элемент задержки с тактовыми входами генератора кодовых эквивалентов и сдвигающего регистра, информационный вход которого является информационным входом преобразователя, информационный 45 выход которого соединен с выходом накапливающего сумматора, вход запуска и вход начальной установки преобразователя соединены с соответствующими входами блока управления, второй выход которого является выходом готовности преобразователя, третий выход блока управления подключен к входам начальной установки сдвигающего регистра, накапливающего сумматора и генератора кодовых эквивалентов, группа выходов которого соединена с первой группой входов блока элементов И, о т л и ч а ю щ и йс я тем, что, с целью сокращения аппаратурных затрат, четвертый выход блока управления соединен с входом задания режима генератора кодовых эквивалентов, выход сдвигающего регистра соединен с второй группой входов блока элементов №
2. Преобразователь по и. 1, о т л и ч а юшийся тем, что генератор кодовых эквивалентов содержит первый, второй и третий сдвигэющие регистры и коммутатор, причем выходы разрядов второго и третьего сдвигающих регистров соединены соответственно с первой и второй группами информационных входов коммутатора, выходы группы которого являются соответствующими k младшими выходами группы генератора кодовых элементов (где k — порядковый номер разряда кода "золотой пропорции" с весом aо), выходы разрядов первого сдви гающего регистра являются старшими ив
k-выходами группы генератора кодовых эквивалентов (п-разрядность кодового эквивалента), тактовый вход генератора кодовых эквивалентов соединен с тактовыми входами первого, второго и третьего сдвигающих регистров, вход задания режима генератора кодовых эквивалентов соединен с управляющим входом коммутатора, вход начальной установки генератора кодовых эквивалентов соединен с входами начальной установ- ки первого, второго и третьего сдвигающих регистра в, 1783616
Продолжение т а б л и ц ы
Р Р.
Составитель H.Øåëîáàòoaà
Техред M,Ìîðãåíòàë Корректор C,Þñêà
Редактор Г.Бельская
Производственно-издательский комбинат "Патент", r, Ужгород, yn,Гагарина, 101
Заказ 4521 Тйраж Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., 4/5