книги / Основы построения САПР и АСТПП
..pdfочевидной необходимость защиты данных каждого типа и обес
печение точности и полноты данных.
Дальнейший рост сложности проектируемых радиоэлектрон ных систем привел к созданию САПР, реализующих иерархиче ское или многоуровневое проектирование и моделирование, со кращающее поток входных данных и потребности в вычисли тельных ресурсах. В этом случае роль БД резко возрастает, так как через нее связываются в единую систему моделирование на уровне системы (например, блок развертки) и моделирование на уровне усилителей. На рис. 4.5 приведена структура иерархи ческой БД.
Системы автоматизированного проектирования с многоуров невым проектированием добавили в структуру данных третье измерение. Вместо простого разделения проекта на обозримые, поддающиеся управлению части, как в системах с параллельной структурой, иерархическая структура дифференцирует эти час ти по классам. Результаты проектирования на одном уровне становятся справочными данными для более высокого уровня. Иерархичность системы подразумевает соответствующую про цедуру проектирования РЭА, т. е. восходящее или нисходящее проектирование. Восходящее проектирование начинается с базо вых элементов, с последующим их объединением для построения более сложных функций вплоть до реализации всей системы. При нисходящем проектировании происходит детализация проекта на различных уровнях, когда каждый компонент системы последо вательно разделяется на малые подсистемы вплоть до получения определенных элементов радиоаппаратуры или ПО.
Современные САПР строят по модульному принципу. Модуль ность САПР обусловливается большим объемом и сложностью ПО и изменяющимися внешними условиями функционирования САПР. Гибкость или настраиваемость САПР на ТС и задачи за висят прежде всего от качества проектирования баз данных.
Банк и база данных. Информационные системы, называемые банками данных, впервые появились в сфере управления. Увели чивающаяся потребность в информации, в оперативности управ ления, а также появление ЭВМ третьего и четвертого поколениявсе это стимулирует развитие банков данных как прогрессивной и рациональной системы обработки данных, основанной на стан дартных моделях сбора, хранения, получения и выдачи инфор
мации.
Банк данных обладает следующими особенностями, придаю щими этой форме накопления информации качественно новый ха
рактер: |
или централизация |
— интегрированное накопление данных |
|
обособленных массивов данных, обеспечение |
централизованного |
доступа ко всем накопленным данным; |
|
—динамическое хранение данных; |
|
|
Ш |
—отсутствие дублирования данных, т. е. любая информация вводится в банк данных один раз, а затем выдается для выполне ния всех требуемых операций технологической подготовки произ водства, что позволяет устранять многократную фиксацию одних
итех же данных;
—независимость банка данных от специальных случаев при
менения;
—коллективное и монопольное использование информации банка данных;
—представление банка данных в виде БД как накопителя информации и системы управления базой данных.
Система управления базой данных представляет собой сово купность программных средств по организации процессов фор мирования и ведения БД. Система управления базами данных содержит необходимые для работы самого банка данных про граммы, части программ и таблицы параметров, которые могут использоваться в различных сочетаниях.
Перечисленные особенности банка данных обусловили основ
ной принцип его построения — структуризации информации. Структуризация информации предусматривает разбиение исход ной информации на отдельные элементы (сегменты) данных с организацией логических записей сложной структуры. Тем самым между отдельными массивами информации устанавливается тес ная связь, позволяющая за счет объединения данных из различ ных массивов использовать их в любых вариантах, отвечающих запросам АСТПП. Структурная организация данных в массивах является основным критерием, характеризующим банк данных.
В общем случае банки данных должны выполнять следующие функции: организацию, описание, ведение и модификацию масси вов, обращение и поиск по запросам, обеспечение надежности и
защиты данных, формирование ответов и регистрацию |
движения |
||
данных. |
|
|
|
Проблема создания банков данных, возникшая в середине |
|||
60-х годов и получившая большую |
популярность в различных |
||
сферах управления и планирования, |
все еще |
является новой и |
|
находится в стадии становления. |
Создание |
банка |
данных — |
сложный и трудоемкий процесс, требующий |
решения |
ряда во |
просов, связанных с реализацией основных функций банка дан ных, разработкой средств и методов описания и представления всех видов информации (технологической, проектной, управля ющей и т. д.), разработкой структуры информационного обеспе чения, организацией функционирования и прохождения задач, защитой целостности и секретности данных, разработкой тре буемого математического обеспечения, выбором необходимых ТС.
Появление банков данных в САПР вызвано возросшими объемами информации, необходимостью оперативного управле
112
ния, принятия решения и учета планирования. Перечисленные задачи относятся к категории вычислительных или справочных задач. Для них характерно то, что совокупности задач базиру ются в своем решении на одних и тех же исходных данных, за ложенных в самой сущности решаемых проблем САПР и АСТПП.
Модель единой информационной базы для некоторой сово купности решаемых задач строится на принципах установления взаимоотношений между исходными данными для их последую щей списковой организации в виде глав
ных массивов |
|
и |
связующих. Главные |
|
|
массивы несут |
основную информацион |
|
|||
ную нагрузку, а связующие являются их: |
|
||||
логическим |
расширением. Взаимосвязь, |
|
|||
между записями всех массивов организу |
|
||||
ется с помощью |
адресных связей, позво |
|
|||
ляющих образовывать |
различные цепоч |
|
|||
ки, по которым |
можно |
быстро находить |
Рис. 4.6. САПР с общей |
||
нужные данные. |
|
|
|
базой данных |
|
В развитии САПР за последние десять |
с проблемами по |
||||
лет можно выделить два этапа, связанных |
|||||
строения БД. |
э т а п |
характеризуется созданием САПР с общей |
|||
П е р в ы й |
|||||
базой данных |
(рис. 4.6), где ПРОПМ — проблемно-ориентиро |
ванный программный модуль. Такую организацию имеют все ин тегрированные САПР. Однако в таких САПР отсутствует инфор мация о конкретном содержании общей базы данных, поэтому стали проводить интегрирование независимых баз данных и ПРОПМ (рис. 4.7).
Так как пользователи ИНСАПР часто применяют несколько ПРОПМ, то возникла необходимость в программах, обеспечива ющих взаимосвязь между базами данных. В подобных системах целостность данных обеспечивается не полностью, поэтому воз никает необходимость в программах для контроля данных. Все это приводит к тому, что на переработку и контроль данных рас ходуется больше вычислительных ресурсов, чем на выполнение собственно функций проектирования. Выход можно найти, напри мер, в частичном объединении баз данных (рис. 4.8).
Вт о р о й э т а п связан с построением центральной базы дан ных совместо с вспомогательными базами данных.
Главная роль СУБД заключается в обеспечении пользователя инструментами, позволяющими оперировать данными в абстракт
ных терминах (терминах транзисторов, |
печатных |
плат и т. д.), |
не связанных со способами их хранения |
в ЭВМ. |
Кроме того, |
СУБД должна выполнять следующие функции: 1) обеспечение секретности, чтобы кроме пользователя САПР к данным никто не имел доступа; 2) защиту целостности данных, т. е. данные долж
113
ны отвечать некоторым свойствам (например, в данных о радио электронном блоке должны быть ограничения на количество про водников, подводимых к определенному разъему, и т. д.); 3) син хронизацию или обеспечение режима работы с данными несколь ким пользователям одновременно; 4) защиту от отказов и
восстановление.
Так как ЭВМ во время ра боты допускает сбои, то долж ны быть предусмотрены вос становление данных и возмож ность продолжения работы с момента существовавшего пе ред сбоем.
В своей главной роли СУБД подобна транслятору (интер претатору) с языка очень вы сокого уровня (языка описания объекта проектирования), сред ствами которого можно иде ально специфицировать проект.
Между уровнем представле ния данных пользователем и уровнем представления дан ных, понятным для ЭВМ (уро вень битов, где бит — единица информации, выраженная в
виде двоичного представления одного разряда), существует не сколько уровней абстракции данных. Существование таких уров ней упрощает переход от самого верхнего уровня к самому ниж-
ПРОПМ-1
ПРОПМ-2
ПРОПМ-4
Рис. 4.8. Объединение баз данных
нему. В реальных СУБД существует три уровня абстракции баз данных (рис. 4.9): представление данных пользователем, концеп туальная и физическая БД. Отметим, что реально хранится толь
114
ко физическая база данных. Концептуальная база данных — это абстрактное отображение физической БД, а представления — это абстракции некоторых частей концептуальной БД.
Различие в уровнях абстракции между представлениями и концептуальной БД невелико. И представление и концептуальная
Рис. 4.9. Три уровня базы данных
база данных имеют дело с абстракциями такого рода, как «ре зистор, транзистор» и с такими абстрактными связями, как «про вести анализ операционного усилителя». Физическая база данных находится на самом нижнем из рассматриваемых уровней абстрации. Чаще всего она размещается на долговременных запоми нающих устройствах (ЗУ) типа магнитного барабана, магнитной ленты, магнитного диска, магнитных доменов, приборов с зарядо вой связью и т. д.
Концептуальная БД содержит язык определения данных, по зволяющий записывать концептуальное представление данных в терминах некоторой «модели данных».S
S 4.4. СТРУКТУРА ЛИНГВИСТИЧЕСКОГО ОБЕСПЕЧЕНИЯ САПР
Под лингвистическим обеспечением САПР понимают языко вые средства общения пользователя с САПР и языки программи рования (ЯП), с помощью которых создается информационное и прикладное ПО. В самом широком смысле язык представляет собой средство общения между человеком и машиной. Языки разделяются на несколько видов. В процедурно-ориентирован ных языках последовательность выполняемых действий опреде ляется порядком следования предложений языка. В непроцедур ных языках порядок обработки языком не определяется. Компи лятивные языки характеризуются преобразованием входных предложений в машинный код, который затем выполняется. Ин терпретирующие языки предполагают считывание входных пред ложений и выполнение определенных подпрограмм в них. Язык программирования обеспечивает гибкость обработки данных, яв ляясь инструментом программной реализации конкретного алго ритма. Лингвистическое обеспечение САПР (рис. 4.10) включает в себя языки программирования и языки взаимодействия пользо вателя с САПР.
Языки программирования. Эти языки предназначены в основ ном для создания ПО САПР и используются, как правило, раз работчиками САПР. Языки программирования можно условно
115
разделить на три уровня: машинные, машинно-ориентированные, высокого уровня.
М а ш и н н ы е я з ы к и п р о г р а м м и р о в а н и я . Языки программирования (ЯП) этого уровня (их иногда называют аб солютными) не требуют никаких дополнительных преобразова ний программ перед их выполнением ЭВМ. На машинном ЯП любой алгоритм можно представить в виде последовательности команд и дополнительной информации, включающей исходные данные, константы и пр. Электронная вычислительная машина, выполняя эти команды в заданном порядке, выдает необходимые
результаты. Машинные ЯП обладают необходи мой точностью и достаточ но формализованы для адекватного представле ния алгоритмов решения задач. В то же время они неудобны для разработчи ка программ, так как от ладка программ является трудоемким и утомитель
ным процессом, требующим значительных вычислительных ресурсов, необходимо знать особенности конкретной ЭВМ (рас пределение оперативной памяти, память на магнитных лентах и дисках), невозможно переносить программы с одного класса
ЭВМ на другой (например, с двухадресной на |
трехадресную). |
||
Устранение указанных причин привело |
к созданию |
машинно |
|
ориентированных ЯП или автокодов. |
я з ык и . |
Эти языки от |
|
М а ш и н н о - о р и е н т и р о в а н н ы е |
|||
носятся к ЯП высокого уровня и по сравнению |
с машинными |
||
языками позволяют сокращать время |
составления |
программы |
за счет использования более удобных средств описания алгорит мов, передавать ЭВМ работу по распределению оперативной и долговременной памяти, обнаруживать самой ЭВМ ошибки ко дирования и выполнения программ и выдавать в удобной для программиста форме информацию. К таким ЯП относятся язык Ассемблер (для всех классов ЭВМ), автокод БЭСМ-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