Перейти к содержанию
    

Рекурсивный код. Обратное преобразование

Есть двоичный рекурсивный код. Получается при помощи формулы, например такой x11 = x1 xor x5 xor x10, но вообще необязательно xor , может быть любая бинарная операция, равно как и количество операндов входящих в неё, кроме того допускается использование констант.

 

Для этой формулы задаётся начальная константа = 0 и осуществляется рекурсивное построение кода.

 

У меня есть такой код(2^17 значений) и формула по которой он был синтезирован.

 

Задача сводится к тому чтобы, для произвольного 17разрядного значения кода определить число шагов рекурсии, которое необходимо для его синтеза.

 

Самый простой способ - использование ппзу емкостью 2^17 слов. Тогда адрес - это одно из значений кода, а то что лежит по адресу - искомое число шагов рекурсии.

 

Хотелось бы найти более простое решение, которое можно было бы реализовать в качестве комбинационной логике на ПЛИС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На мой взгляд, Вы слишком большой оптимист, если думаете, что решение может быть найдено для такого общего случая. Самое похожее, что мне встречалось - это нахождение члена рекуррентного ряда по его номеру (e.g., числа Фибоначчи x(n+2) = x(n+1)+x(n), x(0)=x(1)=1), и там, как, впрочем, и в теории простейших диффуров, все упирается в невозможность формулой определить корни уравнения степени более 4. Предполагаю (я совсем не математик), что использование в уравнении только 0 и 1 (а не всех целых чисел) не делает задачу аналитически решаемой в общем случае.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

По поводу нулей и единиц возникла такая мысль. Составить для каждого разряда свою ДНФ и попытаться её минимизировать. Естественно порядки не те , чтобы делать это вручную. Может попробую на этой недели сгенерировать эти формулы и загнать их например в LeonardoSpectrum.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...