Лекция 12

Тема: Системы автоматизированного проектирования.

 

План

 

1. Понятие инженерного проектирования и автоматизированного проектирования (САПР).

2. Принципы системного подхода к проектированию

3. Структура САПР

4. Разновидности САПР

5. CALS – технологии

 

Ключевые слова

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

Проектированиетехнического объекта – создание, преобразование и представление в принятой форме образа этого ещё не существующего объекта. Проектирование включает в себя разработку технического предложения (или) технического задания (ТЗ),отражающих эти потребности, и реализацию ТЗ в виде проектной документации.

Документация ТЗ предоставляют в виде некоторых документов, и оно является исходным (первичным) описанием объекта. Эта документация и есть проект, точные, окончательные описание объекта.

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

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

Система реализующая автоматизированное проектиование, представляет собой систему автоматизированного проектированияСАПР (в англоязычном написании CAD System-computer Aided Design System).

Проектирование сложных систем основанных на системном подходе.

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

В системном подходе разделяют :

· Структурный;

· Блочно- иерархический;

· Объектно – ориентированный;

подходы.

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

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

Объектно – ориентированный подход имеет преимущества в решении проблем управления сложностью и интеграции ПО:

1. вносит в модули приложении большую структурную определенность, распределяя представленные в приложении данные и процедуры между классами объектов;

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

3. уменьшает вероятность искажения данных в объектах в следствие ошибочных следствии за счет ограничения доступа к определенным категориям данных в объектах.

Для всех подходов к проектированию сложных систем характерны так же следующие особенности:

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

2. Итерационный характер проектирования.

3. Типизация и унификация проектных решении и средств проектирования.

Структура САПР. Как и любая ложная система, САПР состоит из подсистем. Различают подсистемы проектирующие и обслуживающие.

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

Обслуживающие подсистемы обеспечивают функционирование проектирующих подсистем, их совокупность часто называют системной средой (или оболочкой) САПР. Типичными обслуживающими подсистемами являются подсистемы управления проектными данными, подсистемы разработки и сопровождения программного обеспечения CASE (Computer Aided Software Engineering), обучающие подсистемы для освоения пользователями технологий, реализованных в САПР.

Структурирование САПР по различным аспекта обуславливает появление видов обеспечения САПР. Принято выделять семь видов обеспечения САПР:

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

· Математическое (МО), объединяющее матиматические методы, модели и алгоритмы для выполнения проектирования;

· Программные, представляемые компьютерными САПР ;

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

· Лингвистическое,выражаемое языками общения между проектировщиками и компьютером, языками программирования и языками обмена данных между техническами средствами САПР;

· Метадическое, включающее различные методыдики проектирования, к нему относят также математическое обеспечение;

· Организационное, представляемое штатными расписаниями, должностными инструкциями и другими документами, регламентирующими работу проектного предприятия.

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

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

1. САПР для применения в отраслях общего машиностроения. Их называют машиностроительным САПР или системами MCAD (Mechanical CAD).

2. САПР для радиоэлектронике: системы ECAD (Electronic CAD) и EDA (Electronic Design Automation).

3. САПР в области архитектуры и строительства.

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

По целевому назначению различают САПР, обеспечивающие разные аспекты проектирования. Так, в составе MCAD появляются CAE/CAD/CAM – системы.

По масштабам различают отдельные программно методические комплексы (ПМК) САПР, например: комплекс анализа прочности механических изделии или комплекс анализа электронных схем; системы ПМК; системы с уникальными архитектурами не только программного, но технического обеспечений.

По характеру базовой подсистемы различают следующие разновидности САПР:

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

2. САПР на базе СУБД. Они ориентированы на приложения, в которых при несложных математических расчетах перерабатывается большой объем данных (проектирование бизнес планов).

3. САПР на базе конкретного прикладного пакета. Фактически это автономно используемые ПМК, имитационного моделирования производственных процессов, анализ систем автоматического управления и т.п.

4. Комплексные (интегрированные) САПР, состоящие из совокупности подсистем предыдущих видов. Характерными примерами комплексных САПР являются CAE/CAD/CAM – системы в машиностроении или САПР БИС.

Понятие о CALS- технологиях.

Технологии комплексной компьютеризации сфер промышленного производства, цель которых – унификация и стандартизация спецификации промышленной продукции на всех этапах её жизненного цикла, называют CALS- технологиями. Функция CALSсвязана со всеми этапами жизненного цикла промышленных изделии. CALS- Continuous Acquisition and Life cycle Support. В русском языке понятию CALS соответствует ИПИ (информационная поддержка изделий).

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

Построение открытых распределенных автоматизированных систем для проектирования и управления в промышленности составляет основу современных CALS технологии. Главная проблема их построении – обеспечение единообразного описания и интерпретации данных, не зависимо от места и времени их получения в общей системе. Структура в проектной, технологической и эксплуатационной документации, языки её представления должны быть стандартизированными. Одна и та же конструкторская документация может быть использована многократно в разных проектах, а одна и та же технологическая документация- адаптирована к разным производственным условиям, что позволяет существенно сократить и удешевить общи цикл проектирования и производства.

Таким образом информационная интеграция является неотъемлемым свойством CALS – систем. Поэтому в основу CALS- технологии положен ряд стандартов, обеспечивающих такую интеграцию.

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

 

 

Контрольные вопросы и задания

1. Дайте определение понятию «проектирования технического объекта».

2. Что называется автоматизированным проектированием? Что представляет собой система автоматизированного проектирования?

3. Объясните принципы системного подхода к проектированию.

4. Какие идеи используются в блочно- иерархическом подходе к проектированию?

5. Выделите три характерные особенности подходов к проектированию сложных систем.

6. Какова структура САПР? Чем отличаются проектирующие и обслуживающие подсистемы?

7. Определите основные виды обеспечения при структурировании САПР.

8. Какие аппаратные средства включает техническое обеспечение САПР?

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

10. Что вы понимаете под термином CALS- технологии? Основная функция CALS – технологии и его преимущества.

 

Литература 2, 3, 5, 7, 17.
Лекция 13

Тема: Разработка систем автоматизированного проектирования

 

План

1. Методика разработки САПР. Уровни разработки САПР.

2. Этапы создания проекта САПР.

3. Методы разработки программного обеспечения.

4. Структура программ топологического проектирования печатных плат и оптимизации электронных схем.

5. Примеры кремниевых компиляторов.

 

Ключевые слова.

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

Методика разработки САПР.

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

 

Уровни и аспекты разработки САПР.

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

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

Разработка программно-методических комплексов (ПМК) ведется также на основе блочно-иерархического подхода с выделением уровней системного, прикладных программ и подпрограмм. Существенная особенность разработки ПМК САПР –отсутствие в большинстве случаев априорно заданного математического обеспечения. Поэтому создание ПМК включает:

· Формирование математических моделей для элементов проектируемых систем;

· Выбор методов анализа или синтеза;

· Разработку алгоритмов проектных операций и процедур.

При проектировании ПМК решаются также задачи создания языков проектирования, баз знаний и данных.

Таким образом, проектирование САПР включает несколько иерархических уровней. На верхнем системном уровне разрабатываются структуры технического и программного обеспечения исходя из данных и объёму проектных работ, маршрутам проектирования, перспективам развития отрасли. На последующих уровнях создаются оригинальные ПМК и специализированные технические средства по ТЗ, сформулированным на системном уровне.

Этапы создания проекта САПР.

Рассмотрим этапы синтеза структуры САПР, выполняемые на системном уровне.

Этап 1- сбор данных о содержании и объёмах проектных работ. Выясняются классы проектируемых объектов, интенсивность поступления заявок на проектирование, размерности проектных задач в момент проектирования САПР и с учётом прогнозов на будущее.

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

Этап 3- установление зависимостей между характеристиками проектируемых объектов, размерностями их моделей и затратами вычислительных ресурсов каждой проектной процедуры. Затраты ресурсов могут оцениваться количеством условных операций и объемом требуемой памяти. Примером может служит зависимость затрат машинного времени при разработке тестов вероятностным методом:

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

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

Этап 5- выбор ПМК, формулировка заданий на модернизацию существующих или разработку новых ПМК и их компонентов. При выборе используются каталоги программных средств, поставляемых из фондов алгоритмов и программ, имеющиеся средства в САПР данной или родственных отраслей.

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

Этап 7- оценка количество оборудования. Другими словами, на этом этапе устанавливаются потребные количества компьютеров, входящих в многомашинный комплекс, автоматизированных рабочих мест, мини и микрокомпьютеров.

Этап 8- выбор структуры и метода доступа к компьютерной сети. На этом этапе выбираются способы связи компьютеров и рабочих мест между собой с учетом данных, полученных на предыдущих этапах.

Этап 9- составление модели, имитирующей функционирование САПР. Структура модели определяется результатами этапов 2, 4, 6, 7, 8. Модель выражается на одном из языков имитационного моделирования.

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

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

Методы разработки программного обеспечения.

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

Часть программного обеспечения вновь создаваемой САПР можно образовать из компонентов ПО действующих САПР, другую часть необходимо создать заново.

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

Второй подход связан с проектированием полностью оригинальных программ. Он более универсален. Известны три группы методов проектирования ПО: методы нисходящего проектирования, восходящего проектирования и методы расширения ядра.

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

Методы восходящего проектирования основаны на предварительном выявлении набора типовых функций, встречающихся при реализации многих алгоритмов и создании набора модулей реализующих эти функции. Примеры типовых модулей: модули ввода-вывода информации, организации обмена с внешней памятью, решения систем ЛАУ, сортировки и т.п. Конкретные программы компилируются из таких типовых модулей. Для ПО САПР, характеризуемого большим разнообразием выполняемых функций, методы восходящего проектирования имеют ограниченное распространение.

Методы расширения ядраоснованы на постепенном расширении функций и состава программного комплекса начиная от некоторого ядра. Ядро -первоначальная версия программного комплекса, реализующая один или несколько коротких маршрутов проектирования, состоящих из типовых проектных процедур. Создание ядра вследствие его сравнительно малого объёма осуществляется достаточно быстро. Должны быть установлены необходимые структуры данных и правила расширения комплекса.

В методах всех трех групп важное значение придается вопросам структурирования ПО на основе принципов модульности и иерархичности.

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

 

Рис.1. Структура программы топологического проектирования печатных плат.

 

Соответствующая этому маршруту горизонтальная структура рабочей программы включает один уровень вложенности, если не рассматривать внутреннюю структуру модулей РМ,….,ВТ. На рис.2. дана вертикальная структура рабочей программы, реализующий процедуру параметрической оптимизации объекта, модель которого представлена в виде системы обыкновенных дифференциальных уравнений. На каждом шаге оптимизации для расчета целевой функции производится обращение к программе многовариантного анализа (первый уровень вложенности), каждый вариант требует обращения к программе одновариантного анализа (второй уровень вложенности) и т.д. Всего в область управления программы оптимизации входят пять уровней вложенности. Для вертикального управления характерно многократное обращение из модуля i-го уровня к модулю (i +1)-го уровня.

 

Рис.2. Структура программы оптимизации электронных схем.

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

Для лучшей структурированности программ целесообразна реализация модулей в соответствии со следующими правилами: модуль должен иметь один вход и один выход; возврат из вызываемого модуля должен быть осуществлен в вызывающий модуль (вертикальное управление); отсутствие последействия изменения модуля при обращении к нему недопустимы; передача параметров между модулями должна осуществляться в вызывающем модуле; запоминание содержаемого регистров предусматривается в вызываемом модуле.

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

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

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

Большинство КРК являются специализированными-они проектирует СБИС конкретного типа, изготовляемые по конкретной технологии. Например, существует КРК, область применения которых ограничивается проектированием программируемых логических матриц (ПЛМ) по КМОП технологии или СБИС произвольной комбинационной логики на вентильных n- МОП- матрицах. Узкая специализация позволяет повысить качество проектов, приблизив его к качеству схем, проектируемых опытными разработчиками в обычных САПР.

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

Топологические системы синтезируют топологию кристалла, имея на входе её эскизное описание. Эскизное описание может быть представлено в виде условной матрицы, (сетки) с фиксированными позициями, покрывающей площадь кристалла, причём для каждой позициям указан её тип. Значениями типа могут быть “металл”, поликремний” и т.д.Так в КРК Topologizen входное описание включает: список фрагментов СБИС с именами входов и выходов, списки транзисторов, составляемый для каждого фрагмента, в списках указывается тип, обозначения стока, затвора и истока, сведения о ширине слоев, положении контактов и т.п.

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

Поведенческое описание (алгоритмы функционирования) задаётся на каком – либо языке высокого уровня, например алгоритмическом языке (СИ, АДА), языке логического программирования (ПРОЛОГ), языке моделирования (VHDL).

Контрольные вопросы и задание.

1. На основе какого подхода ведется разработка программно – методических комплексов (ПМК)?

2. Какие задачи решаются при создании ПМК?

3. Перечислите основные этапы создания САПР.

4. Как можно оценить затраты ресурсов проектируемых объектов САПР? (формула).

5. Назовите методы проектирования программного обеспечения САПР.

6. В чем преимущество нисходящего проектирования ПО САПР ?

7. На чем основаны методы восходящего проектирования ПО САПР ?

8. Приведите структуру и определите состав программного топологического проектирования печатных плат САПР.

9. Дайте определение понятию “одновариантный и многовариантный анализ”.

10. Что означает термин “Кремниевые компиляторы”?

 

Литература 2, 3, 5, 7, 17.