Интерфейс проектировщика современной среды САПР СБИС

структуре УСО, за исключением того, что в качестве каналов связи с ОУ теперь выступают каналы передачи данных от УСО.

4. Заключение

В настоящее время в ТРТУ создаются программные средства проектирования распределенных БЗ и логического вывода по ситуационным и ситуационно-фреймовым сетям. Ведутся исследования по разработке архитектуры сетевого нечеткого контроллера на базе процессора нечеткого логического вывода Еи/Сор 2.0 [7].

Данная работа рассматривается авторами как основа проектирования нового поколения нечетких процессоров и контроллеров, отличающихся от известных введением процедур нечеткого логического вывода и адаптации в организации вычислительных процессов. Это означает, что нечеткий контроллер не только реализует нечеткие алгоритмы управления технологическими объектами и процессами, но и сама его архитектура, процедуры адаптации, диспетчер контроллера организованы на основе нечетких алгоритмов. Такие контроллеры будут разрабатываться и использоваться в составе АСУ цеха добычи нефти и газа, проектируемой в настоящее время при участии авторов работы.

ЛИТЕРАТУРА

1. Прикладные нечеткие системы // Под ред. Т. Тэрано, К. Асаи, М. Сугэно. М.: Мир, 1993, 386 с.

2. Заде Л.А. Понятие лингвистической переменной и его применение к понятию приближенных решений. М.: Мир, 1976, 168 с.

3. Алиев Р.А., Захарова Э.Г., Ульянов С.В. Нечеткие модели управления динамическими системами. ВИНИТИ. Итоги науки и техники. Серия техн. кибернетика. Т. 29., 1990. С. 127—201.

4. Кузнецов Ю.Н., Кузубов В.И., Волощенко А.Б. Математическое программирование. М.: Высш. школа, 1980, 300 с.

5. Кузин Л.Т. Основы кибернетики: В 2-х т. Т. 2. Основы кибернетических моделей. М.: Энергия, 1979, 584 с.

6. Батыршин И.З. Методы представления и обработки нечеткой информации в интеллектуальных системах. М.: Новости искусственного интеллекта, № 2, 1996. С. 9—65.

7. Мелихов А.Н., Коровин С.Я., Казупеев В.М., Пуховский В.Н., Кияшко А.Б., Цыганков В.Ю. Еи^СОР 2.0: Процессор нечеткого логического вывода. Специализированный нечеткий логический процессор, выполненный по технологии полузаказной СБИС // Национальная конференция с международным участием "Искусственный интеллект-94". Сборник научных трудов в двух томах, том II. Рыбинск, 1994. С. 220—226.

УДК 582.522

И.Н. Розенберг

ИНТЕРФЕЙС ПРОЕКТИРОВЩИКА СОВРЕМЕННОЙ СРЕДЫ САПР СБИС

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

проектом, информацию по контролю за выбором процедур автоматизированного проектирования на верхнем уровне, а также средства графического представления и обработки входной информации. Новые интерфейсы должны иметь также новые формы представления выходной информации, включающей промежуточные проектные данные (как в графической, так и не в графической формах), статистику процесса проектирования и управляющую информацию, состояния работы процедур САПР, а также проектные данные для последующей обработки [1].

Рис. 1. Структура основных компонентов интерфейса проектировщика

СБИС

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

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

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

Таблица 1

Фрагмент автомати- Запрос системы чески генерируемого системой текста

Ответ разработчика

file

Введите имя проекта Выберите класс модуля: chipset chip

general_module

module_datapath

module_random_logic

block

Введите имя модуля Введите тип модуля Внутренние модули? Выберите класс модуля: chipset chip

general_module

module_datapath

module_random_logic

block

Введите имя модуля

E PROGRAMMER

hierarchy {

Выбор

general_module

I title I type I

PROG

PROGRAMMER

Да

Выбор

module_datapath

{ title { type

SHR

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

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

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

Описание 1

Фрагмент описания принципиальной электронной схемы проекта СБИС

file E PROGRAMMER {

hierarchy {

general_module PROG { title { type PROGRAMMER } module_datapath DBF { title { type DATA BUFFER } } ; module_datapath SHR { title { type SHIFT REGISTER } } ; module_random_logic CNT { title { type 3 BIT COUNTER } } ; module_random_logic CLG { title { type CONTROL LOGIC } } ; module_random_logic RLG { title { type RESET LOGIC } } ; module_random_logic CAG { title { type COUNT ADD

GENERATOR } } ; block ( DATA IN , CLOCK , DO , D1 , D2 , D3 , D4 , D5 , D6 ,

D7 , AO ,

A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , /WE , /OE ) {

title { type PAD } }

}

} ;

object PROG { netlist {

net N1_1 { frequency 100.0 ; voltage 12.0 ; delay 5 ; connector

} ;

net N1_2 { frequency 100.0 ; voltage 5.0 ; delay 3 ; connector

} ;

По мере построения текста система "по умолчанию" или по желанию разработчика выдает справочную информацию на терминал. В первом случае это включение в текст описания всех параметров каждого элемента из используемой библиотеки с указанием значений параметров, принимаемых по умолчанию. Во втором — информация, отражающая возможности системы, характеристики и содержание библиотеки, текущее состояние проекта разрабатываемой СБИС и т. д. и выдаваемая по требованию или при пассивности разработчика в течение некоторого за-

ранее заданного времени. При управлении работой системы можно изменить уже построенное описание принципиальной схемы проекта СБИС (при этом обеспечивается корректность нового описания).

Встроенный объектно-ориентированный экранный редактор текстов достаточно традиционный. Адаптация его к заданному языку описания СБИС предполагает наличие командных примитивов, соответствующих отдельным синтаксическим конструкциям языка, что в значительной степени облегчает исправление текстов.

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

На рис. 1 изображена внутренняя структура системы с показанными связями по передаче управления и данным [2]. При вызове системы управление передается командному процессору, который, в свою очередь, может активизировать один из трех процессов обработки входного описания: создание текста (реализуется генератором описаний), редактирование и трансляция описания во внутреннее представление данных системы проектирования. Система "электронного справочника" (Online Help-система), а также программы связи с операционной системой (ОС) инициализируются в начале работы системы ввода и представления данных проекта СБИС и доступны на протяжении всего времени ее функционирования. Причем программы связи с ОС получают управление от отдельных компонентов системы, а "электронный справочник" может использоваться при любом ее внутреннем состоянии.

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

Подсистема графического представления и обработки данных проекта СБИС включает в себя следующие программные компоненты (рис. 2):

Рис. 2. Программные компоненты подсистемы графической визуализации и обработки данных проекта СБИС

— системный интерфейс, обеспечивающий дупликативное адекватное синхронное изображение текстовой информации, выводимой на основной терминал РС РП СБИС, и графических образов, порождаемых подсистемой;

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

К списываемым модулям относятся:

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

— поддержка графической памяти;

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

— масштабирующий преобразователь для снятия ограничения конечной величины и разрешения экрана графического монитора.

Данные программные модули позволяют отображать иерархию СБИС на экране дисплея в виде графических образов одновременно с процессом создания текстового описания рассматриваемой иерархии. Каждый образ описывается числовой последовательностью, которая характеризует вложенность этого образа, а каждый иерархический слой, в

свою очередь, окрашивается определенным цветом. Примерный вид графического экрана приведен на рис. 3.

Рис. 3. Вид графического экрана

В работе графического интерпретатора можно выделить три основные операции:

— выбор некоторого (текущего) образа описываемого в тексте элемента схемы СБИС для дальнейшей модификации;

— создание подуровня в текущем образе при описании входящих в рассматриваемый элемент элементов нижнего уровня;

— увеличение числа образов в текущем уровне для адекватного отображения входящих элементов.

Алгоритмы порождения графических образов элементов иерархии отрабатываются в соответствии с требованием достижения наибольшей наглядности графического изображения. Так, при выполнении третьей операции производится поиск максимального по площади образа текущего уровня. Его размеры, а также размеры входящих в него подобразов, если они существуют, сжимаются по одной из координат (в зависимости от составляющих размеров обрабатываемого образа), и на свободном после сжатия месте генерируется новый образ. Это позволяет создавать описание проекта в произвольной последовательности. Ограничение остается лишь в том, что описание образов подуровня необходимо вводить после описания образа, который включает в себя этот подуровень, что автоматически выполняется, исходя из методов и алгоритмов функционирования языкового процессора.

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

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

ЛИТЕРАТУРА

1. Harison D.S., Newton A.R., Spickerlmier R.L., Barnes T.J. Electronic CAD Frameworks, Proceedings of the IEEE, vol. 78, № 2, 1990.

2. Мицук H.B., Розенберг И.Н., Савостин C.H., Скупой И.В. Языки описания проектов. Под ред. Н.Г. Малышева. Ростов-на-Дону, Изд-во РГУ. 1992.

УДК 681.324

А.Э. Саак

РАЗБИЕНИЕ ПОЛЯ ПАРАЛЛЕЛЬНО ДЕЙСТВУЮЩИХ ОБЪЕКТОВ НА ЧАСТИ С ОДИНАКОВОЙ ПРОПУСКНОЙ СПОСОБНОСТЬЮ

Пусть имеется G различных групп пользователей. Задачи пользователей m-й группы для своего решения требуют число параллельно