Научная статья на тему 'Построение структурной модели цифровой системы на основании поведенческого описания'

Построение структурной модели цифровой системы на основании поведенческого описания Текст научной статьи по специальности «Математика»

CC BY
103
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Построение структурной модели цифровой системы на основании поведенческого описания»

УДК 621.38

Д.И. Попов

ПОСТРОЕНИЕ СТРУКТУРНОЙ МОДЕЛИ ЦИФРОВОЙ СИСТЕМЫ НА ОСНОВАНИИ ПОВЕДЕНЧЕСКОГО ОПИСАНИЯ

Задача высокоуровневого синтеза цифровых устройств представляет собой одну из актуальных проблем при проектировании современных САПР БИС[1,2]. В работе предлагается метод построения структурного представления цифровой системы или БИС на основании алгоритмического описания, отличающийся инвариантностью по отношению к исходным языкам поведенческого описания. Под алгоритмическим или поведенческим описанием будем понимать представление модели работы БИС с использованием следующих шести стандартных синтаксических конструкций: множество операций и операторов по преобразованию данных; последовательность действий; условие с одним и двумя вариантами действий; цикл с предусловием и постусловием.

Нетрудно видеть, что такие конструкции являются универсальными и имеют аналоги в любом алгоритмическом языке программирования высокого уровня, в том числе и в языке описания цифровых систем УНБЬ[3]. После получения алгоритмической модели БИС необходимо осуществить операцию выделения условных и управляющих состояний алгоритмической модели. Под условным состоянием будем понимать такое состояние, в результате наступления которого необходимо производить какие-либо проверки над входными данными. Управляющее состояние соответствует каждому блоку операций или операторов по преобразованию данных. В управляющем состоянии при построении структурной модели должен вырабатываться сигнал для инициализации необходимых действий. Анализ поведенческого описания разбивается на три части, анализ условий, выбор необходимых блоков операций в зависимости от результатов проверки условий и, наконец, собственно выполнение этих операций. Выделим эти три части в структурные блоки и назовем их блок анализа условий (БАУ), блок управления (БУ) и блок операций (БО). При синтаксическом анализе условных операций в исходном алгоритмическом описании можно выделить два события: условие истинно и условие ложно. БУ анализирует событие и переходит в новое состояние, при необходимости выдавая управляющие сигналы для БО. Таким образом, информация об истинности условных операций является выходной для БАУ и входной для управляющего автомата БУ. Каждое условие в алгоритмическом описании можно представить двумя

абстрактными буквами, несущими семантическую нагрузку истинности и ложности условия соответственно. Такие пары букв образуют выходной алфавит автомата БАУ и входной алфавит автомата БУ. Синтаксический анализ алгоритмического описания выделяет возможные связи между входными данными, участвующими в условных операциях. Эти связи по возможности оптимизируются. В качестве математической модели БАУ может выступать граф-схема алгоритма (ГСА) работы. Действительно, основными операциями БАУ являются операции проверки условия и выдачи управляющих сигналов. Этим же характеризуются цифровые устройства, разработанные на основе ГСА. Поэтому выбор ГСА как реализации алгоритма работы БАУ является не случайным. Элементный базис структурной реализации БАУ может состоять из набора компараторов, счетчиков, регистров и других комбинационных устройств. Математической моделью БУ может выступать абстрактный автомат. Взаимосвязь управляющего автомата БАУ на основе ГСА, абстрактного автомата БУ и комбинационного БО позволяет получить структурное представление цифровой системы на основании поведенческого (алгоритмического) описания. Возникает вопрос о необходимости согласования работы этих двух блоков.

Возможны два режима взаимодействия БАУ и БУ: асинхронный и синхронный режимы. Пусть Л=(Л], Л2, ... ,Лп} - множество всевозможных условий в алгоритмическом описании, У ={^0,У^,У20,У},...,Уп0,У!} - выходной алфавит БУ

и входной алфавит БУ, Вас =(В], В2, ... , Вт} - выходной алфавит БУ и входной для БО. Если Б, О - функции, отображающие работу БАУ и БУ, то совместное функционирование БАУ и БУ в асинхронном режиме можно описать как систему:

ГУ = Р (Л);

I Вс = 0(У).

При синхронном режиме работы БАУ и БУ мощность множества выходного алфавита БУ увеличивается на количество условий, содержащихся в алгоритмическом описании. С их помощью БУ как бы запрашивает проверку условия в определенный момент времени. Пусть Вс = {В1С, В2С,..., ВЩ } - подмножество

выходного алфавита БУ при синхронном режиме работы, являющееся одновременно подмножеством входного алфавита БАУ. Тогда выходной алфавит БУ В = Вс и Вас, \В\=\Вас\ + \Вс\=т+п, \Вс\=\Л\=п и совместное функционирование БАУ и БУ описывается так:

'У = Р (Л, Вс);

< В = О (У);

В = Вс и В .

ас

БО представляется графом прохождения данных. Вершины графа являются операциями, такими как присваивание, сложение и пр., а также переменными, участвующими в этих операциях. Операции предварительно пронумеровывают и ставят им в соответствие инициализирующие сигналы, используемые на этапе синтеза блока управления. Дуги указывают последовательность передачи данных. Следует отметить, что граф может быть несвязным или разбитым на отдельные подграфы. Вершины, соответствующие операциям, будем изображать квадратами. К каждой такой вершине для наглядности пририсуем дугу, взвешенную именем сигнала, инициализирующего эту операцию. Предварительно все сложные операции должны быть приведены к более простому виду. Для этого должна существовать своего рода таблица макроподстановок, которая описывала бы каждую сложную операцию как последовательное выполнение элементарных операций. Например, операцию х=х-у можно разбить на две, включив дополнительную переменную ^ : ]) 1]=х-у; 2)х= 1].

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

1. Киносита К., Асада К., Карацу О. Логическое проектирование СБИС. М.: Мир, 1988.

2. Интеллектуальные интегрированные САПР РЭА и БИС. М.: Наука, 1990.

3. Армстронг Дж.Р. Моделирование цифровых систем на языке УНОЬ. М.: Мир, 1992.

i Надоели баннеры? Вы всегда можете отключить рекламу.