Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Основы построения САПР и АСТПП

..pdf
Скачиваний:
9
Добавлен:
12.11.2023
Размер:
6.91 Mб
Скачать

очевидной необходимость защиты данных каждого типа и обес­

печение точности и полноты данных.

Дальнейший рост сложности проектируемых радиоэлектрон­ ных систем привел к созданию САПР, реализующих иерархиче­ ское или многоуровневое проектирование и моделирование, со­ кращающее поток входных данных и потребности в вычисли­ тельных ресурсах. В этом случае роль БД резко возрастает, так как через нее связываются в единую систему моделирование на уровне системы (например, блок развертки) и моделирование на уровне усилителей. На рис. 4.5 приведена структура иерархи­ ческой БД.

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

Современные САПР строят по модульному принципу. Модуль­ ность САПР обусловливается большим объемом и сложностью ПО и изменяющимися внешними условиями функционирования САПР. Гибкость или настраиваемость САПР на ТС и задачи за­ висят прежде всего от качества проектирования баз данных.

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

мации.

Банк данных обладает следующими особенностями, придаю­ щими этой форме накопления информации качественно новый ха­

рактер:

или централизация

— интегрированное накопление данных

обособленных массивов данных, обеспечение

централизованного

доступа ко всем накопленным данным;

 

—динамическое хранение данных;

 

 

Ш

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

итех же данных;

независимость банка данных от специальных случаев при­

менения;

коллективное и монопольное использование информации банка данных;

представление банка данных в виде БД как накопителя информации и системы управления базой данных.

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

Перечисленные особенности банка данных обусловили основ­

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

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

защиты данных, формирование ответов и регистрацию

движения

данных.

 

 

 

Проблема создания банков данных, возникшая в середине

60-х годов и получившая большую

популярность в различных

сферах управления и планирования,

все еще

является новой и

находится в стадии становления.

Создание

банка

данных —

сложный и трудоемкий процесс, требующий

решения

ряда во­

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

Появление банков данных в САПР вызвано возросшими объемами информации, необходимостью оперативного управле­

112

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

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

ных массивов

 

и

связующих. Главные

 

массивы несут

основную информацион­

 

ную нагрузку, а связующие являются их:

 

логическим

расширением. Взаимосвязь,

 

между записями всех массивов организу­

 

ется с помощью

адресных связей, позво­

 

ляющих образовывать

различные цепоч­

 

ки, по которым

можно

быстро находить

Рис. 4.6. САПР с общей

нужные данные.

 

 

 

базой данных

В развитии САПР за последние десять

с проблемами по­

лет можно выделить два этапа, связанных

строения БД.

э т а п

характеризуется созданием САПР с общей

П е р в ы й

базой данных

(рис. 4.6), где ПРОПМ — проблемно-ориентиро­

ванный программный модуль. Такую организацию имеют все ин­ тегрированные САПР. Однако в таких САПР отсутствует инфор­ мация о конкретном содержании общей базы данных, поэтому стали проводить интегрирование независимых баз данных и ПРОПМ (рис. 4.7).

Так как пользователи ИНСАПР часто применяют несколько ПРОПМ, то возникла необходимость в программах, обеспечива­ ющих взаимосвязь между базами данных. В подобных системах целостность данных обеспечивается не полностью, поэтому воз­ никает необходимость в программах для контроля данных. Все это приводит к тому, что на переработку и контроль данных рас­ ходуется больше вычислительных ресурсов, чем на выполнение собственно функций проектирования. Выход можно найти, напри­ мер, в частичном объединении баз данных (рис. 4.8).

Вт о р о й э т а п связан с построением центральной базы дан­ ных совместо с вспомогательными базами данных.

Главная роль СУБД заключается в обеспечении пользователя инструментами, позволяющими оперировать данными в абстракт­

ных терминах (терминах транзисторов,

печатных

плат и т. д.),

не связанных со способами их хранения

в ЭВМ.

Кроме того,

СУБД должна выполнять следующие функции: 1) обеспечение секретности, чтобы кроме пользователя САПР к данным никто не имел доступа; 2) защиту целостности данных, т. е. данные долж­

113

Рис. 4.7. Интегрирование баз данных

ны отвечать некоторым свойствам (например, в данных о радио­ электронном блоке должны быть ограничения на количество про­ водников, подводимых к определенному разъему, и т. д.); 3) син­ хронизацию или обеспечение режима работы с данными несколь­ ким пользователям одновременно; 4) защиту от отказов и

восстановление.

Так как ЭВМ во время ра­ боты допускает сбои, то долж­ ны быть предусмотрены вос­ становление данных и возмож­ ность продолжения работы с момента существовавшего пе­ ред сбоем.

В своей главной роли СУБД подобна транслятору (интер­ претатору) с языка очень вы­ сокого уровня (языка описания объекта проектирования), сред­ ствами которого можно иде­ ально специфицировать проект.

Между уровнем представле­ ния данных пользователем и уровнем представления дан­ ных, понятным для ЭВМ (уро­ вень битов, где бит — единица информации, выраженная в

виде двоичного представления одного разряда), существует не­ сколько уровней абстракции данных. Существование таких уров­ ней упрощает переход от самого верхнего уровня к самому ниж-

ПРОПМ-1

ПРОПМ-2

ПРОПМ-4

Рис. 4.8. Объединение баз данных

нему. В реальных СУБД существует три уровня абстракции баз данных (рис. 4.9): представление данных пользователем, концеп­ туальная и физическая БД. Отметим, что реально хранится толь­

114

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

Различие в уровнях абстракции между представлениями и концептуальной БД невелико. И представление и концептуальная

Рис. 4.9. Три уровня базы данных

база данных имеют дело с абстракциями такого рода, как «ре­ зистор, транзистор» и с такими абстрактными связями, как «про­ вести анализ операционного усилителя». Физическая база данных находится на самом нижнем из рассматриваемых уровней абстрации. Чаще всего она размещается на долговременных запоми­ нающих устройствах (ЗУ) типа магнитного барабана, магнитной ленты, магнитного диска, магнитных доменов, приборов с зарядо­ вой связью и т. д.

Концептуальная БД содержит язык определения данных, по­ зволяющий записывать концептуальное представление данных в терминах некоторой «модели данных».S

S 4.4. СТРУКТУРА ЛИНГВИСТИЧЕСКОГО ОБЕСПЕЧЕНИЯ САПР

Под лингвистическим обеспечением САПР понимают языко­ вые средства общения пользователя с САПР и языки программи­ рования (ЯП), с помощью которых создается информационное и прикладное ПО. В самом широком смысле язык представляет собой средство общения между человеком и машиной. Языки разделяются на несколько видов. В процедурно-ориентирован­ ных языках последовательность выполняемых действий опреде­ ляется порядком следования предложений языка. В непроцедур­ ных языках порядок обработки языком не определяется. Компи­ лятивные языки характеризуются преобразованием входных предложений в машинный код, который затем выполняется. Ин­ терпретирующие языки предполагают считывание входных пред­ ложений и выполнение определенных подпрограмм в них. Язык программирования обеспечивает гибкость обработки данных, яв­ ляясь инструментом программной реализации конкретного алго­ ритма. Лингвистическое обеспечение САПР (рис. 4.10) включает в себя языки программирования и языки взаимодействия пользо­ вателя с САПР.

Языки программирования. Эти языки предназначены в основ­ ном для создания ПО САПР и используются, как правило, раз­ работчиками САПР. Языки программирования можно условно

115

Рис. 4.10. Структура лингвистического обес­ печения САПР

разделить на три уровня: машинные, машинно-ориентированные, высокого уровня.

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

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

ным процессом, требующим значительных вычислительных ресурсов, необходимо знать особенности конкретной ЭВМ (рас­ пределение оперативной памяти, память на магнитных лентах и дисках), невозможно переносить программы с одного класса

ЭВМ на другой (например, с двухадресной на

трехадресную).

Устранение указанных причин привело

к созданию

машинно­

ориентированных ЯП или автокодов.

я з ык и .

Эти языки от­

М а ш и н н о - о р и е н т и р о в а н н ы е

носятся к ЯП высокого уровня и по сравнению

с машинными

языками позволяют сокращать время

составления

программы

за счет использования более удобных средств описания алгорит­ мов, передавать ЭВМ работу по распределению оперативной и долговременной памяти, обнаруживать самой ЭВМ ошибки ко­ дирования и выполнения программ и выдавать в удобной для программиста форме информацию. К таким ЯП относятся язык Ассемблер (для всех классов ЭВМ), автокод БЭСМ-6 и др. Языки уровня Ассемблера соответствуют системам команд кон­ кретных ЭВМ и позволяют составлять программы в форме, удоб­ ной для человека, например СТАРТ, ЗАГР и т. д.

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

116

особенности конкретных ЭВМ и сохранить эффективность ма­ шинных ЯП. Автокоды в основном используют для написаний служебных и стандартных программ.

В последнее время языки Ассемблера нашли широкое приме­ нение при программировании на мини-, микро- и персональных ЭВМ из-за необходимости написания эффективных программ с учетом малых объемов ОЗУ, отсутствия для данных ЭВМ пери­ ферийных устройств, необходимых для эксплуатации системы трансляции с языка высокого уровня.

Яз ык и п р о г р а м м и р о в а н и я в ы с о к о г о у р о в н я . На этом уровне можно выделить два подкласса ЯП: проблемноориентированные и процедурно-ориентированные. Проблемноориентированные ЯП направлены на решение узкого класса за­ дач. Программирование ведется в понятиях, характерных для конкретной проблемной области. Данный подкласс ЯП тесно связан с языками общения в САПР.

Процедурно-ориентированные ЯП созданы для описания ал­ горитмов решения задач, среди них можно выделить машинно­ зависимые ЯП высокого уровня и алгоритмические.

Машинно-зависимые ЯП высокого уровня характеризуются максимальным использованием аппаратуры микроЭВМ и удоб­ ством записи и компоновки программ. Эти языки в меньшей сте­ пени зависят от конкретной ЭВМ, чем языки Ассемблер, хотя набор разрешенных оператором выражений находится в пря­ мом соответствии с набором команд и методов адресации аппа­ ратуры. Данный подкласс принадлежит к классу ЯП ПЛ/1 и нашел самое широкое распространение при программировании микропроцессорных наборов. К машинно-зависимым ЯП отно­ сятся SMAL/80 (с системой команд ЭВМ класса INTEL 8080) и МИСТРАЛ (Motorola-6800), PL/M, MPL, PLZ-SYS.

Алгоритмические ЯП являются машинно-независимыми язы­ ками. К данному подклассу языков можно отнести ФОРТРАН и его модификации, АЛГОЛ и его модификации, язык СИ, ПАСКАЛЬ, БЕЙСИК, Модула-2, АДА, ЛИСП, КОБОЛ. Досто­ инства перечисленных ЯП: высокая производительность труда программиста, самодокументируемость программ, простота экс­ плуатации, возможность переноса программ с одной ЭВМ на другую (свойство мобильности), наличие средств контроля и отладки.

Рассмотрим некоторые особенности использования алгорит­ мических языков ЯП. Если создаваемая САПР предназначена для решения инженерных задач, описываемых действительными числами, то лучше воспользоваться ЯП ФОРТРАН; для обра­

ботки экономической

информации

— КОБОЛ, для

обработки

списков — ЛИСП. Для выбора ЯП

можно воспользоваться и

другими факторами.

Например, если несколько

языков про­

граммирования удовлетворяют тематике задач,

то

предпочте­

117

ние отдается языку с более быстродействующим транслятором или снабженному лучшей системой отладки, или дающему более эффективные программы. Под параметрами эффективности под­ разумевается быстродействие, объем используемой оперативной памяти, количество требуемых операторов для обработки лите­ ратурного и вычислительного текстов. Исходя из этих критериев было выявлено, что ПЛ-1 с соответствующим транслятором обес­ печивает самые короткие объектные модули, на втором месте АЛГОЛ-68 (его программы на треть длиннее), далее СИМУЛА,

на последнем месте ПАСКАЛЬ (программы

на данном ЯП в

2,25 раза длиннее программ на ПЛ-1).

первым языком, в

Язык программирования ФОРТРАН стал

котором материализовалось понятие «модульность». Хорошо раз­ работанные библиотеки стандартных подпрограмм являются яр­ ким примером преимущества модульного принципа программиро­ вания. Но этот ЯП* не лишен многочисленных недостатков. Про­ блема взаимосвязи данных между этими модулями решена на низком уровне, метод общих блоков памяти (COMMON) нередко ведет к ошибкам. Идентифицирование данных несовершенно, так как ограничено шестью символами, которых часто не хвата­ ет. Возможность структуризации программы ограничена, а опе­ раторы скорее пронумерованы, чем поименованы. В результате программы на ФОРТРАНе трудно читать. Кроме того, в програм­ мах на этом ЯП нельзя производить структуризацию данных.

В отличие от ФОРТРАНа язык КОБОЛ обладает большими возможностями описания данных. Файлы ввода — вывода КОБОЛ а ориентированы на область "его применения — это преи­ мущество. Однако в КОБОЛе отсутствует модульность. Вообще ЯП КОБОЛ можно охарактеризовать как язык контрастов: с од­ ной стороны, возможность прекрасной структуризации данных и совершенный ввод — вывод, с другой — слабый синтаксис и от­ сутствие модульности.

С этих позиций остановимся на некоторых особенностях ЯП АЛГОЛ. Сильная сторона этого языка — структурность его про­ грамм. АЛГОЛ позволяет создавать более удачные конструкции, чем КОБОЛ и ФОРТРАН, позволяет программисту составлять самодокументирующиеся программы с помощью присвоения дан­ ным, программе и операторам имен. Но он не лишен недостат­ ков— отсутствует возможность раздельного компилирования—■ важного элемента модульности.

Может так оказаться, что ни один из известных или доступ­ ных программисту языков не удовлетворяет его практическим потребностям. В этом случае возможна разработка собственного ЯП, максимально учитывающего специфику структур данных и алгоритмов определенного класса задач, и его реализации. В ка­ честве примеров специализированных языков можно назвать сле­ дующие: ЛЯПАС — логический язык представления алгоритмов

118

синтеза цифровых автоматов, ЛИСП — язык обработки списков, ICL — язык проектирования интегральных микросхем.

В настоящее время разрабатываются языки четвертого уров­ ня, включающие в себя средства для автоматического выбора ме­ тода решения той или иной задачи с помощью ЭВМ. Такие ЯП позволят описать формулировку задачи и некоторые требования к методу решения. Дальнейшая работа по подготовке задачи и ее решению на ЭВМ будет выполняться автоматически. В основе таких языков лежат программы автоматического выбора методов решения задач.

Языки взаимодействия в САПР. На современном этапе раз­ работки и использования САПР ИЭТ обозначилось положение, когда эффективность любой САПР характеризуется тремя основ­ ными параметрами: степенью удобства языка взаимодействия пользователя с САПР, временем ожидания решения поставлен­ ной задачи, удобством формы представления результатов проек­ тирования.

Подробно остановимся на анализе только первого парамет­ ра. Степень удобства характеризует затраты человеческих ре­ сурсов на подготовку исходных данных для проектирования того или иного объекта. Язык взаимодействия (ЯВ) является средст­ вом, гарантирующим максимально удобный контакт пользовате­ ля с САПР и упорядочивающим процесс проектирования. Форма представления исходных данных на ЯВ должна сокращать или устранять полностью необходимость каких-либо знаний програм­ мирования; приближаться к естественной форме описания объек­ та в выражениях, максимально понятных пользователю; способ­ ствовать сокращению времени подготовки исходных данных, од­ новременно уменьшая возможность внесения ошибок; обладать гибкостью, некоторой универсальностью, легкостью изучения и простотой кодирования; сохранять способность к дальнейшему развитию и совершенствованию.

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

Язык взаимодействия является совокупностью трех взаимо­ связанных языков: языка описания объекта (ЯОО), предназна­ ченного для подготовки данных о проектируемом объекте; языка описания заданий (ЯОЗ), предназначенного для задания после­ довательности действий, составляющих выбранный маршрут про­ ектирования объекта; языка отображения информации (ЯОИ).

119

предназначенного для формирования и отображения (на АЦПУ, графопостроителе, экране буквенно-цифрового или графического дисплея) входных, выходных и промежуточных протоколов.

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

По своему характеру ЯВ делятся на пассивные и активные. Под пассивным ЯВ понимают язык, используя который пользо­ вателю приходится описать объект проектирования, задать по­ следовательность выполнения заданий и форму отображения информации сразу при подготовке одного этапа или нескольких этапов проектирования и ожидать результатов после выполне­ ния последнего задания без оперативного вмешательства для исправления ошибок или изменения последовательности выпол­ нения заданий. Такой режим взаимодействия пользователя с САПР называется пакетным. Пассивные ЯВ были обусловлены низким уровнем развития ТС и системного программного обес­ печения. После появления дисплеев, интерактивно-графических станцйй (ИГС), специального программного обеспечения для поддержания интерактивного режима работы системы человек — компьютер стали разрабатывать ЯВ на основе диалога. Диалог между человеком и компьютером подобен диалогу между двумя людьми, только более проблемно-ориентированный. Диалог мож­ но организовать в следующих формах: программируемого во­ просника; меню; вопросов и ответов типа «да — нет>; свободного общения. Главные достоинства диалога состоят в том, что поль­ зователь быстро обучается ЯВ и может вмешаться в любой мо­ мент в процесс проектирования с целью его окончания или из­ менения тех или иных исходных данных.

В качестве примера приведем диалоговый ЯВ в форме программируемого вопросника, реализованный в инженерной системе автоматизированного про­ ектирования радиоэлектронных схем (ИСАПРС) для анализа и оптимизации РЭС в частотной области — ИПАЛСК.

Для проектирования линейных схем в ИПАЛСК предусмотрены следую­

щие виды анализа, оптимизации и сервисных процедур:

частоте или

— анализ

узловых потенциалов и их разностей на заданной

в диапазоне

частот, узловых потенциалов как функций величин

элементов

схемы;

 

 

определение полосы пропускания и чувствительности на заданной ча­

стоте;

расчет фазовой и частотной характеристик;

получение максимально (или минимально) возможного коэффициента усиления или установление требуемого значения коэффициента усиления на заданной частоте;

печать графиков узловых потенциалов схемы или их разностей на за­ данной частоте, графиков узловых потенциалов схемы или их разностей как функций частоты в линейном или логарифмическом масштабе, графиков узло­

вых потенциалов как функций величин элементов схемы;

— вывод результатов всех видов расчета на печать;

120