Автоматический синтез цифровых схем по их функциональному описанию

Автор: Ярышкина Наталья Владимировна, Могнонов Птр Борисович

Журнал: Вестник Бурятского государственного университета. Математика, информатика @vestnik-bsu-maths

Рубрика: Математическое моделирование и обработка данных

Статья в выпуске: 3, 2016 года.

Бесплатный доступ

В статье рассматривается алгоритм реализации автоматического синтеза цифровых схем по их функциональному описанию, построенному с использованием математического аппарата λ-исчисления. Определяется способ разбора λ-выражений с целью определения структуры синтезируемой цифровой схемы и взаимосвязей входных и выходных сигналов элементов схемы. На конкретном примере функционального описания сложной цифровой схемы 4-х разрядного параллельного регистра пошагово производится разбор λ-выражения, и показывается, как будет происходить процесс построения схемы.

Цифровые схемы, автоматический синтез

Короткий адрес: https://sciup.org/14835194

IDR: 14835194   |   DOI: 10.18101/2304-5728-2016-3-80-86

Текст научной статьи Автоматический синтез цифровых схем по их функциональному описанию

Под функциональным описанием схемы понимается описание логики ее работы. Такое описание может быть выполнено в виде функциональной схемы устройства, функциональных диаграмм, а также в виде функциональных выражений. Для получения функциональных выражений, описывающих логику работы цифровых схем и их элементов, предлагается использовать математический аппарат теории λ-исчисления [1].

В связи с тем, что в теории λ-исчисления функции рассматриваются с математической точки зрения как отношение входных параметров к выходным [2], то проводя аналогию с цифровыми схемами, которые также можно представить в виде отношения входных сигналов к выходным, следует вывод, что функциональные выражения, составленные по правилам λ-абстракции, удобно использовать для описания логики работы цифровых схем.

  • 1.    Правила, определяющие порядок разбора функциональных описаний цифровых схем

  • 2.    Алгоритм синтеза схемы по ее функциональному описанию

Функциональные выражения есть не что иное, как λ-термы. При помощи λ-термов можно описывать и один простой объект, и сложную структуру объектов, в которой согласно теории λ-исчисления сами функции могут использоваться как аргументы для функций высшего порядка [2]. Т.е., описание схемы строится из основных базовых элементов, которые составляют в более сложные структуры. Кроме этого, количество λ-выражений, используемых для описания одной схемы, зависит от количества выходов (выходных функций) схемы. Каждому выходному сигналу соответствует свой λ-терм.

Для автоматизации синтеза структуры схемы и взаимосвязи элементов схемы на основе ее функционального описания применяются правила конверсии и редукции λ-термов, описывающих схему. В результате свертки пошагово выявляется структура схемы, а также связи между элементами, что и позволяет произвести синтез цифровой схемы по ее функциональному описанию.

Анализ λ-термов нужно проводить, ориентируясь на скобочную запись, и, выполняя поэтапную свертку λ-выражения, привести его к элементарному объекту. Далее в ходе сопоставления с λ-описанием логических констант и базовых логических элементов выделяются и отображаются отождествленные элементы схемы. Затем разбор продолжается, при этом могут анализироваться временно введенные выражения, использованные при выполнении свертки. Построение схемы будет производиться справа-налево, т.е. от выходной функции к аргументам-входным переменным.

На основе правил разбора функциональных выражений, рассмотрим по шагам, как будет происходить синтез сложной цифровой схемы, представленной 4-х разрядным параллельным регистром памяти, построенным на RS-триггерах с общими цепями управления (рис.1).

В основе схемы лежит описание RS-триггера, на вход S подается результат конъюнкции управляющего сигнала записи «Зп» и информационного « DIi ». Информация хранится до тех пор, пока не поступит сигнал чтения «Чт». После прихода сигнала «Чт» информацию можно считывать с выхода «Qi ».

Сигналы обозначим удобными для описания символами Уст«0»=r, DIi = di , Зп=Z, Чт=C, qi =сигнал обратной связи триггера.

Схема имеет 4 выхода « Q 1 », « Q2», « Q3», « Q4 », а, значит, для полного ее описания строится 4 Х-выражения:

Q i = I d i Zq i rC .((( d i ( Z 1 ) 1 ) 1 )((( q 1 (( r 1 ) 1 ) 1 ) 1 ) 1 ) 1 )( C 1 ) 1 (1) Q 2 = X d 2 Zq 2 rC . ((( d 2 ( Z 1 ) 1 ) 1 )((( q 2 (( r 1 ) 1 ) 1 ) 1 ) 1 ) 1 )( C 1 ) 1 (2) Q 3 = X d 3 Zq 3 rC . ((( d 3 ( Z 1 ) 1 ) 1 )((( q 3 (( r 1 ) 1 ) 1 ) 1 ) 1 ) 1 )( C 1 ) 1 (3) Q 4 = X d 4 Zq 4 rC . ((( d 4 ( Z 1 ) 1 ) 1 )((( q 4 (( r 1 ) 1 ) 1 ) 1 ) 1 ) 1 )( C 1 ) 1 (4)

Рис.1. Схема 4-х разрядного параллельного регистра памяти

Из анализа выражений Х-термов видно, что входными для схемы являются сигналы «г», « d i », «Z», «С». Для выполнения синтеза производится разбор каждого выражения по шагам на основе правил, определенных в разделе 1 статьи.

Шаг 1. Разбираем первый Х-терм, описывающий схему формула (1). Анализируя структуру выражения, в нем можно выделить три части: две части это выражения в скобках ((( d 1 ( Z 1 ) 1 ) 1 )((( q 1 (( r 1 ) 1 ) 1 ) 1 ) 1 ) 1 ) и ( C 1 ), третья часть представлена константой 1 .

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

Шаг 2. Пусть функция f (d 1, Z, q1, r) = Xd 1 Zq1 r.((d 1( Z 1) 1) 1)((( q 1(( r 1) 1) 1) 1) 1) 1 (5) обозначается символом « x 1», тогда Х-терм выходной функции в результате конверсии примет вид

Q 1 ( x 1 , C ) = X x 1 C . x 1 ( C 1 ) 1 . (6)

Выражение полученного λ-терма совпадает с описанием логического элемента «И», на вход которого подаются сигналы « x 1 » и «C», причем на « x 1 » приходит сигнал с выхода схемы, описанной функцией f ( d 1 , Z , q 1 , r ) . На этом основании можно сделать вывод о том, что описанный элемент является конъюнктором с двумя входными сигналами « x 1 » и «C» и одним выходным Q 1 (рис. 2).

рис. 2

Таким образом, произведен синтез первого элемента схемы, который соответствует элементу D9.

Шаг 3. Рассматриваем функцию, определенную в формуле (5), которая на предыдущем шаге обозначалась « x 1 ». Выражение λ-терма состоит из трех частей, две из которых также описываются сложными выражениями ( d 1 ( Z ) ) и ((( q 1 (( r ) ) ) ) ) . Поэтому продолжаем свертку.

Шаг 4. Пусть s1 =λd1Z.d1(Z⊥)⊥.(7)

В результате конверсии для x1 получаем функцию от трех переменных x1 = f(s1,q1,r) = λs1q1r.(s1(((q1(r ⊥) ⊥) ⊥) ⊥) ⊥) ⊥.(8)

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

f(s1,q1,r) = λs1q1r.s1(((q1(r ⊥) ⊥) ⊥) ⊥) ⊥ и обозначить y1 , то в результате конверсии f(y1)=λy1.y1 ⊥, что совпадает с описанием логического элемента «НЕ». Выход схемы будет подан на вход x1 предыдущего элемента схемы. Для удобства синтезированный элемент обозначим D51(рис.3).

рис. 3

Шаг 5. Производится разбор выражения (9). Этот λ-терм имеет сложную структуру, не сопоставляется ни с одним базовым элементом. Переменные « s 1 » и «r» поступают на вход анализируемой схемы, а на выходе будет формироваться сигнал y 1 .

Проанализировав выражение терма, видно, что оно состоит из трех частей: первая часть – это переменная «s1», вторая часть – сложное выра- жение, и третья – константа. По структуре близко к описанию логического элемента «И», но все еще требуется проведение свертки.

Шаг 6. Рассмотрим вторую часть выражения y 1 . Пусть

f ( q 1, r ) = λ q 1 r .( q 1( r ) )                     (10)

и обозначается n1 , тогда y1 = λs1n1.s1(n1 ⊥) ⊥ .                         (11)

Теперь описание y 1 совпадает с описанием логического элемента «И», на вход которого приходят сигналы s 1 и n 1 , а на выходе получается y 1 , обозначим его D52 (рис. 4).

рис. 4

Шаг 7. Элементы «И» (D52) и «НЕ» (D51) соединены последовательно, причем элемент D51 лишь инвертирует выходной сигнал y 1 с элемента D52, поэтому графически их можно объединить в один элемент «И-НЕ» (D53), для которого s 1 и n 1 - входные сигналы, x 1 - выходной (рис.5).

рис. 5

Шаг 8. Производится разбор функции (10), обозначенной на шаге 6 как n 1 . Выражение λ-терма этой функции состоит из двух частей: выражения в скобках и константы .

Пусть m1 = Xq 1 r. q1( r 1) 1,                         (12)

тогда f ( m 1) = λ m 1. m 1 . Она совпадает с описанием логического элемента «НЕ», обозначим его D54. Для элемента D54 m 1 входной сигнал, а n 1 – выходной, который поступает на вход элемента D53 (риc. 6).

рис. 6

Шаг 9. Анализируя выражение (12), видно, что оно совпадает с описанием логического элемента «И» и имеет 2 входных сигнала « q 1 » и «r» и один выходной « m 1 » (D55) (рис. 7).

рис. 7

Шаг 10. Элементы «И» (D55) и «НЕ» (D54) соединены последовательно, причем D54 лишь инвертирует выходной сигнал с элемента D55, поэтому их можно объединить в один элемент «И-НЕ» (D56) (рис. 8).

рис. 8

Шаг 11. Элементы D53 и D56 представляют собой схему RS-триггера, их можно изобразить при помощи условно-графического изображением триггера (рис. 9).

рис. 9

Шаг 12. Последнее выражение, оставшееся без анализа (7). Его описание совпадает с описанием логического элемента «И», на который поступает два входных сигнала «d1» и «Z», выходной «s1», являющийся входом для RS-триггера (рис. 10).

рис. 10

Таким образом, за 12 шагов проанализирован и разобран первый λ-терм, описывающий 4-х разрядный регистр. Остальные λ-термы разбираются аналогично согласно указанного алгоритма. В результате выполнения всех шагов алгоритма произведен синтез принципиальной схемы цифрового устройства.

Заключение

На основе проведенной работы можно сделать вывод о том, что функциональное описание цифровых схем с использованием математического аппарата λ-исчисления наиболее удобно для проведения синтеза структуры цифровых схем и предполагает возможность автоматизации процесса синтеза. А в дальнейшем автоматизация синтеза структуры схемы и определения взаимосвязей между ее элементами согласно предложенного алгоритма может стать основой для автоматического построения принципиальной схемы устройства.

Список литературы Автоматический синтез цифровых схем по их функциональному описанию

  • Ярышкина Н. В., Могнонов П. Б. Описание цифровых схем с помощью λ-выражений//Вестник Бурятского государственного университета. Математика, информатика. -2016. -№3. -С. 72 -79.
  • Барендрегт X. Ламбда-исчисление. Его синтаксис и семантика: Пер. с англ. -М.: Мир, 1985. -606 с.
Статья научная