Функциональная спецификация схемы имеет три части:
- определение сигналов (имя, число бит);
- определение специальных (целевых) сигналов (частота, длительность циклов);
- функциональные события (изменение состояний выхода по входу).
Формат выражения: операция (Вход 1, Вход 2,... Управляющие входы, Выходы, Время)
Если в ряду параметров встречаются подряд две запятые, то это означает отсутствие или неизвестность соответствующего параметра. Например, комбинационные схемы не имеют управляющих параметров (сигналов).
Элемент памяти (store) переключается по фронту управляющего сигнала и передает входной сигнал данных на выход. Передача (transmit) осуществляется при единичном значении сигнала управления.
В системе допускается только один вход для всех (пяти) элементарных функций за исключением "И" и "ИЛИ".
Инициализация с условием: declaration (signal, value, time)
сигнал (signal) значения value появляется через время time.
Форматы временного параметра:
- константа времени (номер итерационного такта - t);
- константа с признаком цикличности (повторяемости с заданной частотой tr).
store (a,,b,1); -запись по концу первого такта.
store (a,,b,1r). -запись по концу каждого такта с частотой r.
Функциональные (основные) операторы (covered):
Служебные операторы (support):
Parallel-to-serial-conversion / | \ / | \value (i1,v1,t1); transmit(v1,,o,t2) value(ld,rising,t1);......................... value(st,rising,t2).value (in,vn,t1); transmit(vn,,o,t2+n-1) Рис. 2. Представление функций преобразователя параллельного кода в последовательныйОрганизация базы знаний правил проектирования
Состав:
· технологически зависимая модульная библиотека (конструктивы, номера выводов);
· технологически независимая библиотека функций и функциональных модулей;
|
Библиотека методов применения функций содержит предыдущий опыт проектирования, основные теоремы синтеза логических схем и пополняется правилами проектирования функциональных модулей других экспертных систем. Модульные библиотеки могут пополняться и заменяться.
Процесс проектирования
Процесс проектирования содержит четыре вида последовательного представления проекта. Первое представление (функциональное описание) составляется вручную разработчиком. Остальные представления генерируются системой автоматически (знак ->).
Функциональное описание -> Примитивы -> Функциональные модули ->
Проект есть законченный синтез в виде библиотечных микросхем.
Примитивы или Элементарные Операции (ЭО), достаточные для описания функционирования любого устройства, и используемые данной системой, следующие: И, ИЛИ, НЕТ, ЯЧЕЙКА ПАМЯТИ, ПЕРЕСЫЛКА (ПЕРЕДАЧА).
Система имеет следующие особенности:
· формальный эвристический метод поиска для выполнения глобальной оптимизации и имеет больший потенциал по отношению к методу специальных правил;
· однозначные выражения фундаментальных теорем цифровых схем и логических функций в большей степени сокращают избыточность и противоречивость, чем системы, использующие правила безусловной базы знаний.
- стратегия снизу-вверх данной системы более эффективна для систем средних размеров по сравнению со стратегией сверху вниз большинства известных систем.
Итак, процесс проектирования состоит из следующих этапов:
· составление функциональной спецификации проекта из записей типа ЕСЛИ... ТО... с указанием времени событий;
|
· функциональная компиляция (преобразование функциональной
· спецификации в наборы ЭО и их оптимизация);
· функциональное представление (преобразование оптимизированных наборов ЭО в оптимизированный набор библиотечных функций), поиск набора имеющихся функций для покрытия результата первого этапа путем использования эвристического алгоритма А поиска best-first, метода планирования и метапланирования для сокращения сложности процесса поиска;
· преобразование функционального представления в структурное (в набор конкретных конструктивных библиотечных элементов). Этот этап исполнения функций на конструктивных элементах (достигается процедурой эвристического поиска, задача проектирования есть оптимизация по определенным критериям проектирования, используется развиваемая функционально-модульная библиотека для получения технологически зависимой базы знаний проектирования.
Функциональная компиляция есть транслирование функциональной спецификации в последовательность элементарных операторов, которые выполняются по условиям и по изменениям состояний, описанных в каждом событии. Например, сигнал с назначением тактирования (clock) преобразуется (translated) в последовательность операторов Transmit (передача) с входным значением "1" для определенного временного интервала и значеним "0" для другого интервала.
После трансляции система применяет пост-оптимизацию, использующую причинность (reasoning) и inferencing с целью удаления избыточных ЭО.
Пример: Event 3 if i = 1 then (Complement i) -> o;
|
Смысл описания в том, что пока i = 1 на выходе будет дополнение i.
Результат компиляции:
· value(i,1,t3),
· not(i,,pAD,3),
· transmit(pAD,,o,t3).
Пропуск между запятыми означает не найденный на данный момент соответствующий сигнал, как правило - служебный.
Система анализирует наборы элементарных операторов на разрывы (пропуски to uncover) в их взаимодействии и удаляет избыточные операторы.
Этот анализ включает:
1. Поиск входных сигналов, условием появления которых может быть управляющий сигнал других функций.
Например, input(a,rising,t), где a подставляется в оператор store
store(b,,c,t) автоматически по признаку t,
в результате чего имеем store(b,a,c,t).
2. Идентификацию целевых управляющих сигналов.
Например, запускающий (инициирующий) сигнал определяется по активности и во времени и по расположению в порядке исполняемых операций.
3. Вывод временного отношения среди элементарных операторов.
Например,