Разработка и внедрение компонентов программного обеспечения в системах проектирования электронной аппаратуры ИФВЭ тема автореферата и диссертации по физике, 01.04.20 ВАК РФ
Рабский, Николай Николаевич
АВТОР
|
||||
кандидата физико-математических наук
УЧЕНАЯ СТЕПЕНЬ
|
||||
Протвино
МЕСТО ЗАЩИТЫ
|
||||
1998
ГОД ЗАЩИТЫ
|
|
01.04.20
КОД ВАК РФ
|
||
|
и
ф
В1 г! в
э
: нер ц|
государственный научный центр российской федерации
э ИНСТИТУТ ФИЗИКИ ВЫСОКИХ ЭНЕРГИЙ
98-3
На правах рукописи
Рабский Николай Николаевич
разработка и внедрение компонентов программного обеспечения в системах проектирования электронной аппаратуры ифвэ
01.04.20. — математическое и программное обеспечение вычичслительных машин,
комплексов, систем и сетей
Автореферат диссертации на соискание ученой степени кандидата физико-математических наук
Протвино 1998
М-24
Работа выполнена в Институте физики высоких энергий (г.Протвино).
Научные руководители: кандидат физ.-мат. наук А.Ф. Лукьянцев, кандидат технических наук А.П. Леонов.
Официальные оппоненты: доктор физ.-мат. наук В.М. Рыбин (МИФИ), кандидат физ.-мат. наук В.П.Воеводин (ИФВЭ).
Ведущая организация - Московский радио-технический институт (МРТИ).
Защита диссертации состоится "_" _ 1998 г. в
_часов на заседании диссертационного совета К034.02.01 по адресу: 142284,
Протвино Московской области.
С диссертацией можно ознакомиться в библиотеке ЙФВЭ.
Автореферат разослан "_" _ 1998 г.
Ученый секретарь
диссертационного совета К034.02.01 В.Н.Ларин
(с) Государственный научный центр Российской Федерации Институт физики высоких энергий, 1998
Общая характеристика работы
Актуальность проблемы. В рамках интегрированной системы автоматизированного проектирования и производства электронной аппаратуры для проведения экспериментальных исследований на физических установках ИФВЭ разработка новых алгоритмов и программных средств, сравнительный анализ различных программных реализаций являются актуальной проблемой, поскольку используемые алгоритмы и их программные реализации в значительной степени определяют соответствие разрабатываемой аппаратуры непрерывно меняющимся требованиям экспериментальных исследований.
В течение ряда лет (1985-1990 гг.) проектирование печатных плат в ИФВЭ велось в основном только на малых ЭВМ. Актуальность разработки алгоритмов и соответствующего программного обеспечения для этапа технического проектирования (ввод описания принципиальной схемы, размещение компонентов, трассировка, технологический контроль, подготовка управляющей информации для автоматизированного технологического оборудования и т.д.) определялась отсутствием эффективных программных пакетов для этого класса ЭВМ.
В последние годы проектирование РЭА ведется на персональных компьютерах (ПК) на базе пакетов PCAD и ACAD. Создание интегрированной системы проектирования и производства электронной аппаратуры в ИФВЭ потребовало как разработки дополнительных программных средств, так и адаптации ряда программ, реализованных ранее на малых ЭВМ.
Целью диссертационной работы являются разработка и внедрение компонентов программного обеспечения, предназначенного для автоматизации этапа технического проектирования печатных плат в системах автоматизированного проектирования электронной аппаратуры в ИФВЭ.
Научная новизна. В рамках интегрированной системы проектирования и производства электроники в ИФВЭ созданы оригинальные программные компоненты
для проектирования печатных плат. При их разработке основное внимание уделялось эффективности алгоритмов проектирования, повышению их быстродействия, улучшению результатов за счет сочетания различных алгоритмов, предоставления пользователю возможности гибкой организации процесса проектирования.
1. Разработаны и реализованы последовательный конструктивный алгоритм начального размещения и ряд итерационных алгоритмов оптимизации. Предложена схема комбинированного использования этих алгоритмов с целью обеспечения наилучших условий для последующей трассировки платы.
2. На основе алгоритмов п.1 разработана программа автоматического размещения компонентов на печатной плате PLACE для малых ЭВМ, а затем на ее основе и программа автоматического размещения GPLACE для IBM PC, позволяющая реализовать преимущества автоинтерактивного режима проектирования и работающая в среде MS-DOS в рамках пакета PCAD. Ее отличительной особенностью являются компактность, высокая скорость работы, простота использования. Опыт : эксплуатации программы показал, что она дает возможность получения более качественного размещения по сравнению с аналогичной процедурой PC-PLACE пакета PCAD.
3. Реализованы программы автоматической трассировки на малых ЭВМ на основе модификации волнового алгоритма и разработанного специализированного алгоритма разводки соединений одного слоя. Комплекс программ позволяет в процессе многопроходной трассировки сочетать ручные и автоматические процедуры проектирования, оценивать требуемые соединениями ресурсы в процессе работы.
4. Разработано ПО, обеспечивающее сопряжение системы проектирования с автоматизированным технологическим оборудованием для производства ПП и контроля качества их изготовления.
Практическая ценность. Разработанное автором в 1984-1996 гг. программное обеспечение внедрено в эксплуатацию в рамках интегрированной системы автоматизированного проектирования и изготовления электронной аппаратуры в ИФВЭ и использовалось в течение ряда лет на малых ЭВМ, а в настоящее время используется на ПК для проектирования печатных плат различной сложности, применяемых при создании электронной аппаратуры для проводящихся в ИФВЭ исследований. С помощью реализованных программ было спроектировано более 500 типов плат для широкого набора конструктивов (СУММА, КАМАК, ЭЛЕКТРОНИКА-бО, ФАСТ-БАС и т.д.).
Большая часть программ создана на языках ФОРТРАН и Си, что облегчает их перенос на ЭВМ различных типов, включая персональные компьютеры и рабочие станции.
Автор защищает: разработку и внедрение комплекса алгоритмов и программ для проектирования электронной аппаратуры в рамках интегрированной системы проектирования и изготовления электроники в ИФВЭ, включающего в себя:
• библиотеку подпрограмм доступа к двоичным файлам данных и программы форматных преобразований файлов данных используемых в ИФВЭ пакетов проектирования;
• алгоритм и программу трассировки соединений одного слоя, работающую на малых ЭВМ в среде RSX-11/M;
• программную реализацию алгоритма волновой трассировки соединений компонентов на печатной плате, работающую на малых ЭВМ под RSX-11/M;
• последовательный конструктивный алгоритм начального размещения и ряд итерационных алгоритмов оптимизации, схему комбинированного использования программных реализаций этих алгоритмов;
• программу автоматического интерактивного размещения компонентов на печатной плате, работающую в ОС MS-DOS на IBM PC;
• алгоритм и процедуру быстрой сортировки данных проекта (контактных площадок, отрезков трасс и т.п.);
• набор программ, обеспечивающих сопряжение системы проектирования с автоматизированным технологическим оборудованием для производства печатных плат и контроля качества их изготовления, работающих в среде MS-DOS на IBM PC.
Апробация работы и публикации. Материалы диссертации опубликованы в работах [1-9] и докладывались на Всесоюзном семинаре по автоматизации научных исследований в ядерной физике и смежных областях (Протвино, 1986), на совещаниях межотраслевого совета по САПР ЕСАПИ-2Б, научных семинарах ИФВЭ.
Структура диссертации. Диссертация состоит из введения, четырех глав и заключения. Объем диссертации составляет 97 страниц, включая 25 рисунков и 2 таблицы. Список литературы содержит 48 наименований.
Содержание работы
Во введении рассматриваются основные этапы проектирования электроннох! аппаратуры.
В первой главе описывается иерархическая структура проектных и справочных файлов, обеспечивающая компактное хранение данных л позволяющая гибко модифицировать содержимое файлов.
Если допустить, что всякая прикладная программа, входящая в систему проектирования, имеет возможность модифицировать файлы данных своими собственными средствами, то это может привести к ошибкам в данных, которые трудно обнаружить. Для предотвращения таких ситуаций все операции доступа к данным проекта осуществляются централизованно через единый набор подпрограмм — библиотеку доступа к файлам данных проекта. Такая библиотека, реализованная под
ОС VMS, RSX-ll/M, MS-DOS, рассматривается в первой главе. Она обеспечивает целостность и сохранность данных и предусматривает эффективный обмен между оперативной и дисковой памятью.
Файлы данных используемых в ЙФВЭ пакетов проектирования имеют специфический внутренний формат, поэтому создано программное обеспечение, позволяющее осуществлять интерфейс разработанного в ИФВЭ ПО с другими пакетами проектирования.
Основу организации данных составляют два двоичных файла: файл описания принципиальной схемы и файл топологии межконтактных соединений. Первый файл создается с помощью программы ввода описания принципиальной схемы и содержит исходную информацию для размещения и результат размещения компонентов, второй файл в начальном состоянии содержит исходную информацию для трассировки, а в конечном — топологию печатной платы.
Аналогичную отмеченным выше проектным файлам структуру имеет справочный файл, который является библиотекой описания стандартных компонентов. Часть этой библиотеки образует локальную библиотеку в файле описания принципиальной схемы и содержит описание типов и геометрий компонентов, необходимых для реализации конкретной схемы.
Рассматриваемые файлы имеют многоуровневую структуру: схема — множество различных областей; область — множество однотипных групп, например, цепей; группа — множество элементов, например выводов компонента; элемент является простым объектом данных.
С пакетом PCAD интерфейс осуществляется с помощью трех программ через файл с расширением .PDF. Предусмотрен интерфейс с другими графическими системами и редакторами через графические файлы, имеющие специфический формат.
Реализованы постпроцессоры, позволяющие получить файлы данных проекта для устройств изготовления и отображения. Предусмотрен доступ и использование различных библиотек.
Вторая глава посвящена решению задачи размещения компонентов на печатной плате. В общем виде задачу размещения можно сформулировать следующим образом: задано множество компонентов, связанных между собой в соответствии с принципиальной электрической схемой модуля, и набор позиций на поле платы. Необходимо разместить компоненты в заданные позиции таким образом, чтобы некоторая функция, называемая целевой функцией, достигала экстремального значения. Основной целью задачи размещения следует считать создание оптимальных условий для последующей трассировки.
В процессе размещения необходимо проводить предварительную оценку трас-сируемости платы. Для этого реальную трассу заменяют на некоторую модель. Модель в общих чертах должна соответствовать окончательной трассировке и в то же время быть удобной для проведения расчетов, поскольку ее приходится многократно использовать.
В предлагаемой программе размещения используются следующие модели представления трассы:
• минимальное косоугольное дерево соединений, построенное на множестве основных вершин;
• минимальное ортогональное дерево, построенное на основных и вспомогательных вершинах.
Вторая модель более соответствует окончательной трассировке, но первая проще и поэтому значительно удобнее для проведения расчетов.
В большинстве процедур размещения в качестве критерия оценки результатов размещения выбирается минимальная суммарная длина межсоединений, способ вычисления которой в общем виде можно представить таким образом [7]:
где 5 — число цепей схемы; Ь,- — оценка длины соединений компонентов г-ой цепи; Р; — размещение компонентов ьой цепи; М — модель представления цепи в процессе автоматического размещения.
Критерий минимальной суммарной длины соединений хорошо учитывает условия для трассировки и удобен тем, что позволяет оценить результаты размещения с помощью одного числа. Однако для сложных плат трассировку по кратчайшим путям провести не удается, так как в процессе трассировки возникают перегруженные участки платы, на которых трассы проводятся обходными путями и становятся неоптимальными. Поэтому в алгоритмах размещения важно предусмотреть равномерное заполнение монтажного пространства. Критерий минимизации плотности соединений наиболее загруженных сечений приводит к более равномерному заполнению монтажного пространства и, следовательно, к более качественной трассировке.
Ниже описываются разработанные автором последовательный конструктивный алгоритм начального размещения и четыре итерационных алгоритма улучшения его качества.
Начальное размещение
Процесс начального размещения компонентов допускает чередование автоматического и "ручного" режимов работы. Перед началом работы программы часть компонентов размещается "вручную" и фиксируется. Фиксированные компоненты являются ядрами, вокруг которых группируются все остальные и которые определяют размещение в целом. При автоматическом размещении на очередном шаге выбирается компонент, для которого число связей с уже размещенными компонентами максимально, и помещается в тот узел сетки посадочных мест, который обеспечивает минимум суммарной длины соединений.
В процессе работы программы на экран терминала выводятся размещаемые компоненты и отображаются связи между ними для визуальной оценки пользователем начального размещения. Более того, предусмотрена возможность прерывания
5
I
(1)
1=1
программы, если автоматическое размещение текущего компонента по каким-либо причинам не удовлетворяет пользователя, чтобы сделать необходимую коррекцию, а затем продолжить работу в автоматическом режиме.
Оптимизация размещения
Итерационный алгоритм оптимизации размещения в качестве исходного использует начальное размещение. На этом этапе в качестве критерия оценки результатов используется минимум суммарной длины соединений. Для данного алгоритма характерны попытки парных перестановок компонентов. Реально переставляется та пара компонентов, которая приводит к максимальному сокращению длины соединений. Переставляться могут не только компоненты, но и вентили как внутри отдельного корпуса, так и между различными корпусами.
Алгоритм поэтапного начального размещения и оптимизации
На первом этапе все множество компонентов разбивается на несколько подмножеств {5,}, г — 1, N, минимально связанных между собой, но с сильной внутренней связностью. Разбиение осуществляется с помощью последовательного алгоритма, т.е. при создании очередного подмножества 5,- выбирается компонент, для которого число связей, соединяющих этот компонент и компоненты, уже входящие в 51, максимально. Затем с помощью метода парных перестановок осуществляется перестановка компонентов, принадлежащих различным подмножествам, с целью уменьшения суммарного числа связей между ними.
На втором этапе для компонентов, входящих в первое подмножество 51, осуществляется начальное размещение на регулярной сетке посадочных мест, а затем осуществляется оптимизация. Затем та же самая процедура выполняется для 52 и т.д.
На заключительном этапе осуществляется оптимизация на множестве уже всех размещенных компонентов.
С помощью данного алгоритма на ряде плат удается получить более качественное размещение, чем с помощью алгоритмов начального размещения и оптимизации, но оно зависит от того, насколько удачно удается осуществить разбиение на слабосвязанные между собой подмножества.
Алгоритм групповых перестановок
Алгоритм- групповых перестановок в качестве исходного использует результат, полученный после оптимизации начального размещения. Поэтому в начале работы алгоритма не существует пары компонентов, переставив которые удалось бы уменьшить суммарную длину соединений. Используется следующий порядок групповых перестановок: сначала выбираются два компонента Мг и М], перестановка которых увеличивает суммарную длину не более чем на 1)1. Значение 1)1 не рекомендуется выбирать более чем 30% от величины ВХ + ВУ, где ВХ, ВУ — габариты платы. В противном случае резко возрастает время работы программы и обычно не улучшается результат.
Предположим, что среди компонентов, связанных с Mi и Mj, путем парных перестановок удается найти пару компонентов Mq и Мр, перестановка которых приводит к максимальному уменьшению длины на D2 (с учетом перестановки Mi и Mj). Если D2 — D1 > 0, то Mi переставляется с Mj, а Мр — с Mq. Далее выбирается очередная пара компонентов Mi и Mj. Предлагаемый порядок перебора компонентов приводит к существенному увеличению времени работы программы: до трех часов времени на IBM РС/386, однако на сложных платах данный алгоритм позволяет уменьшить суммарную длину соединений до 5%.
Оптимизация размещения для получения равномерной загрузки платы
Цель алгоритма — уменьшение плотности соединений сильно загруженных частей платы и получение равномерного заполнения монтажного пространства. Алгоритм рекомендуется применять непосредственно после процедур начального размещения и оптимизации в случае, если в результате ручной редакции не нарушена регулярность расположения компонентов. Тогда легко выделить строки и столбцы компонентов, которые определены регулярной сеткой посадочных мест, задаваемой для начального размещения. Для каждого горизонтального и вертикального участка платы, определяемого сеткой посадочных мест, подсчитываются средняя и максимальная загрузки, вычисляемые как процент занятых каналов трассировки от общего числа каналов.
Затем выполняются последовательные парные перестановки компонентов и вентилей с целью уменьшения загруженности перегруженных участков. Алгоритм также учитывает критерий минимальной суммарной длины соединений, который, на наш взгляд, является более важным. Таким образом, если перестановка позволяет снизить загруженность, но суммарная длина увеличивается более чем на заданную величину S, то такая перестановка отвергается.
Предлагается схема комбинированного использования этих алгоритмов, обеспечивающая возможность чередования ручного и автоматического режимов работы, вмешательства пользователя в автоматические процедуры, возможность комбинирования различных алгоритмов размещения, определения численных критериев оценки качества размещения и визуального анализа, а также возможность возврата на предыдущие этапы размещения.
После всестороннего анализа полученного решения пользователь имеет возможность изменить начальные условия для размещения, некоторые параметры для алгоритмов, а также очередность запуска того или иного алгоритма.
В диссертации приведена организация данных, позволяющая эффективно вычислять длину минимального дерева и обеспечить высокое быстродействие работы, программы.
Представлена разработанная на основе указанных алгоритмов программа автоматического размещения компонентов на печатной плате GPLACE для IBM PC, работающая в среде MS-DOS в рамках пакета PCAD. Реализован графических!
интерфейс, обеспечивающий работу программы в автоинтерактивном режиме и позволяющий чередовать ручные и автоматические этапы процедуры размещения. На экран терминала выводится только часть меню (подменю), содержащая перечень допустимых в данный момент действий.
В процессе работы программы на экран выводятся размещаемые компоненты и отображаются связи между ними. Более того, предусмотрена возможность прерывания программы, если автоматическое размещение текущего компонента по каким-либо причинам не удовлетворяет пользователя, чтобы сделать необходимую коррекцию, а затем продолжить работу в автоматическом режиме.
Для размещения схем, состоящих из разнотипных по габаритам компонентов, имеется возможность разбить всю схему на несколько подсхем и размещать их последовательно на разных сетках. Обычно интегральные схемы и некоторые крупногабаритные компоненты размещаются сначала на крупных сетках, а затем мелкогабаритные (резисторы, конденсаторы и т.п.) — на более мелких сетках на фоне уже размещенных компонентов и, естественно, с учетом связей с ними.
Программа GPLACE написана на языке С в интегрированной системе Borland С++. С использованием встроенного графического пакета обеспечено быстрое воспроизведение на экране дисплея изображения печатной платы и ее редактирование.
Программа предназначена для использования в рамках системы PCAD, поэтому меню расположено в той же самой части экрана дисплея, что и в программе PC-PLACE. Более того, многие редакторские команды программы GPLACE имеют те же самые имена и работают аналогично командам программы PC-PLACE. Реализованы такие функции, как MOVE (сдвиг), ROT (поворот), QRY (опрос), PAN (сдвиг окна), VWIN (задание окна изображения), BARR (задание барьера), HIST (вывод гистограммы), REDR (обновить экран) и ряд других. Но наибольший интерес для пользователя имеют подпрограммы автоматического размещения PLCE (начальное размещение) и IMPR (алгоритмы оптимизации).
Приведен сравнительный анализ работы программы с фирменной программой PC-PLACE пакета PCAD. Опыт ее эксплуатации как в ИФВЭ, так и в ряде других организаций показал, что практически на каждой плате эффективность размещения компонентов программой GPLACE по числу неразводов на 10-15% выше по сравнению с PC-PLACE.
В третьей главе рассматривается решение задачи автоматической трассировки печатных плат на малых ЭВМ. Описывается программа, созданная на основе модификации волнового алгоритма, позволяющая быстро и качественно получать решение задачи для двухслойных плат в многопроходном режиме. Представлен разработанный автором и реализованный специализированный алгоритм трассировки соединений одного слоя, применяемый при трассировке соединений микросхем типа "Память".
Целью задачи трассировки соединений печатных плат является проведение в монтажном пространстве максимального процента связей за минимальное время с
наилучшим качеством при заданных правилах проектирования, технологических ограничениях и площади печатной платы. Качество трассировки оценивается по совокупности критериев, таких как максимально допустимая длина связей, отсутствие петель, количество межслойных переходов и т.п.
В 80-е годы получили широкое применение малые 16-разрядные ЭВМ. Одновременно в ИФВЭ появились интерактивные графические станции АррНсоп на основе малых ЭВМ, позволяющие осуществлять редакцию проектируемых объектов. В ИФВЭ весьма актуальной стала задача постановки всего комплекса процедур проектирования на машинах этого типа.
Характерной особенностью волнового алгоритма является наличие матрицы, отображающей состояние элементарных ячеек, на которые подразделяется коммутационная площадь печатной платы. Элементы матрицы соответствуют узлам координатной сетки, нанесенной на плату, и описывают использование ресурсов слоев платы. Это обстоятельство определяет повышенные требования к объему оперативной памяти. Действительно, при размере ячеек 1,25 х 1,25 мм2 их число для основных габаритов плат должно составлять несколько десятков тысяч.
При наличии двух слоев, на что рассчитана программа трассировки, в общем случае для описания одного узла сетки требуется 10 разрядов: биты 1,2 — признаки занятости ячейки по 1 и 2 слоям соответственно; биты 3,4 — маркеры фронта волны; биты 5,6 — достигнута ячейка волной по 1,2 слоям; биты 7,8 — признаки мишени или источника на 1, 2 слоях; бит 9 — признак компонента или проводника; бит 10 — признак разрешения межслойного перехода.
Введение признака мишени способствует значительному ускорению трассировки, так как выделение мишеней в отдельный список с последующей проверкой каждой точки волны на совпадение с мишенью является неоптимальной для ЭВМ процедурой. В то же время использованный алгоритм обеспечивал универсальный характер трассировки и ее гибкость, гарантировал проведение соединений при наличии пути. Было очень важно реализовать эту программу на малых ЭВМ с сохранением всех ее положительных качеств и возможностей. Для этой цели вначале необходимо было определить стратегию подхода.
Число разрядов состояния ячеек дискретного поля было уменьшено до 7 при сохранении всего перечня характеристик, для чего были совмещены разряды входа волны с разрядами слоя мишени, т.е. их смысл менялся в зависимости от контекста. Запрет на переходное отверстие совладает с признаком наличия контактной площадки.
Необходимо было отказаться от языка высокого уровня при программировании и от использования внешней памяти, чтобы такого объема оперативной памяти хватило для решения поставленной задачи. Кроме этого, реализация процедуры волнового поиска на ассемблере с учетом специфики конкретной ЭВМ значительно увеличила быстродействие и сделала реально возможной активную эксплуатацию программ трассировки. Все сопутствующие задачи выполняются в виде отдельных процедур последовательно, когда это возможно, либо параллельно.
Процесс трассировки соединений реализуется с помощью комплекса программ ROUTER, состоящего из четырех программ (рис. 1).
MEMNET
> t
МА XZ
.. У. . . ROUT
PRCNET MAXRTR
Рис. 1. Схема взаимосвязи программ трассировки.
На первом этапе программа МЕЗ\ШЕТ проводит все соединения, которые могут быть осуществлены по одному слою. Программа применяется при трассировке соединений микросхем типа "Память", когда внутренние связи образуют регулярные вертикальные или горизонтальные пересекающиеся парные соединения.
На следующем этапе формируются состояния ячеек дискретного поля посредством программы MAXZ. Трассировка всех оставшихся соединений производится с помощью двух параллельно работающих программ РЙСКЕТ и MAXRTR. В функции первой программы входят считывание исходной информации о цепи, определение границ поиска соединений для ускорения работы программы, передача информации в программу МАХИТК, прием от нее оттрассированной цепи, диагностика при необходимости и запись информации в выходной файл.
Программа MAXRTR выполняет все соединения выводов и отдельных сегментов трассируемой цепи, а также осуществляет прием и передачу информации. Здесь можно выделить четыре основные процедуры: распространение волны обратного отслеживания соединения, снятие и установка запретов от трассируемой цепи и окончательное формирование соединения, при котором информация сводится к перечислению координат изломов и переходных отверстий. Подчеркнем, что именно последняя процедура оказалась наиболее объемной и трудоемкой в смысле программирования, так как в ней приходится с целью оптимизации соединений учитывать множество редко встречающихся ситуаций.
Отслеживание производится в большинстве случаев дважды с окончательным выбором того соединения, которое имеет меньшее число изломов. Отводы от мише-
ней выполняются перпендикулярно к линии расположения контактов микросхемы, а изломы между двумя контактами при подводе к источнику смещаются для того, чтобы обеспечить проведение в этом месте другого соединения. Необходимость учета этих деталей существенно усложняет реализацию программы трассировки, чему мало уделяется внимания в научных работах по алгоритмическим аспектам проблем трассировки.
Для сокращения времени работы программы область поиска ограничивается прямоугольником, включающим все контакты цепи с полями, пропорциональными его габаритам.
В ОС RSX-11/M практически отсутствуют штатные средства для межпрограммного обмена. По этой причине данному вопросу пришлось уделить достаточно много внимания. Было рассмотрено несколько вариантов передачи информации между программами, исключающих использование дискового файла.
В данной реализации пришлось прибегнуть к использованию стандартного варианта межпрограммной связи (ФОРТРАН-вызовы SEND и RECEIV). Размер посылок ограничен всего 13 словами, что подразумевает обмен ограниченным объемом сообщений или передачей имени файла, в котором может находиться неограниченный объем информации. В нашем случае при трассировке цепей питания в обе стороны могут поступать сотни слов информации, что приводит к необходимости разбиения и сборки сообщений в виде последовательности 13-словных посылок. Опыт работы в данном режиме показывает, что никаких побочных нежелательных явлений не возникает, и обмен работает надежно без ощутимых задержек по времени.
Набор программ трассировки позволяет получать разводку для широкого набора конструктивов за приемлемое время около 15 мин реального времени на ЭВМ ЭЛЕКТРОНИКА-100/25.
В диссертации также описывается схема процесса трассировки, позволяющая сочетать ручные и автоматические процедуры, различные алгоритмы трассировки. Реализация режима дотрассировки частично разведенных цепей вручную или автоматически позволила организовать процесс многопроходной трассировки.
Представлен проведенный сравнительный анализ разработанного в ИФВЭ трассировщика с фирменной программой пакета PCAD, показавший, что количество не-разведенных цепей для одних и тех же плат примерно одинаково. Однако устранить разрывы, оставшиеся после программы трассировки PC-ROUTER пакета PCAD, ручной редакцией значительно труднее, чем после предлагаемой программы.
Четвертая глава посвящена разработке программ, обеспечивающих сопряжение системы автоматизированного проектирования и изготовления электроники с используемым в ИФВЭ автоматизированным технологическим оборудованием для производства печатных плат и контроля качества их изготовления [8]. В главе рассмотрены:
1. Программа для автоматического контроля качества несмонтированных ПП на установке Veritrak, осуществляющая доступ к базе данных PCAD и подгота-
вливающая информацию в формате установки Veritrak. Программа осуществляет выявление нарушений технологических требований как для двухслойных ПП, так и многослойных ПП (контроль отдельных слоев и всей платы в целом).
В случае многослойных ПП цепь может состоять из нескольких участков, расположенных на разных слоях ПП и соединенных между собой переходными отверстиями. Поэтому программа предварительно выделяет участки цепи, лежащие на требуемом слое. Каждый такой участок должен представлять собой неразрывную структуру и не должен быть связан с другими участками цепи на рассматриваемом слое. Для выявления пересекающихся объектов и получения несвязанных участков цепей анализируются пересекающиеся сегменты трасс и полигоны и выполняется процедура их сшивки.
2. Программа расчета площади металлизации. Точный расчет площади металлизации слоев ПП является очень важным, так как позволяет установить требуемую величину силы тока в гальванической ванне, что определяет качество металлизации проводящих цепей на ПП. Наиболее трудоемким является точное вычисление площади полигонов, которые могут иметь довольно сложную форму. Более того, внутри полигонов могут быть вырезы, которые создаются автоматически программами пакета PCAD.
3. Разработанная и реализованная процедура быстрой сортировки графических объектов, которая используется в программах оптимизации данных для сверлильных станков, трассировки, технологического контроля ПП и ряде других.
4. Программы подготовки информации для изготовления фотошаблона и сверления заготовок ПП, оптимизирующие время работы приборов, что позволяет существенно уменьшить износ дорогостоящих прецизионных узлов и время работы приборов.
Рассмотренное ПО реализовано на языке С++ и работает совместно с пакетом PCAD в среде MS-DOS на IBM PC в рамках интегрированной системы автоматизированного проектирования и изготовления ПП в ИФВЭ.
В заключении приведены результаты диссертации, из которых основными являются разработка и реализация компонентов программного обеспечения для проектирования электронной аппаратуры под ОС VMS, RSX-ll/M, MS-DOS и его внедрение в эксплуатацию в рамках интегрированной системы автоматизированного проектирования и изготовления печатных плат в ИФВЭ.
В процессе работы автором был проведен анализ алгоритмов конструкторского проектирования и используемых в ИФВЭ пакетов проектирования печатных плат, были выявлены возникающие на различных этапах трудности и разработана методика их устранения.
Полученные в ходе разработок программного обеспечения результаты имеют самостоятельное научное и практическое значение.
1. Под ОС RSX-ll/M, VMS, MS-DOS реализована унифицированная библиотека подпрограмм, обеспечивающая централизованный доступ к файлам данных проекта и позволяющая модифицировать файлы, вводить при необходимости
новые области и расширять форматные поля, гарантируя при этом работоспособность созданных ранее прикладных программ.
2. На основе выбранной модели представления цепи и критериев оценки качества размещения, учитывающих суммарную длину соединений и равномерность заполнения монтажного пространства, автором разработаны последовательный конструктивный алгоритм начального размещения и ряд итерационных алгоритмов оптимизации.
Предложена схема комбинированного использования этих алгоритмов с целью обеспечения интерактивности, многопроходности, оценки качества результатов размещения и создания наилучших условий для последующей трассировки платы.
Разработана организация данных, позволяющая эффективно вычислять длину минимального дерева, являющегося моделью представления цепи, и обеспечить высокое быстродействие работы программы.
3. На основе разработанных автором алгоритмов реализована программа автоматического размещения компонентов на печатной плате GPLACE для IBM PC, работающая в рамках пакета PCAD в среде MS-DOS. Опыт ее эксплуатации как в ИФВЭ, так и в ряде других организаций показал, что практически на каждой плате программа дает возможность получения более качественного размещения по сравнению с процедурой PC-PLACE пакета PCAD.
Реализованный графический интерфейс обеспечивает возможность работы программы в автоинтерактивном режиме, произвольно чередовать ручные и автоматические этапы процедуры размещения.
4. Реализована модификация волнового алгоритма трассировки. Разработан и реализован специализированный алгоритм для трассировки соединений, которые могут быть осуществлены по одному слою, что главным образом характерно для соединений микросхем типа "Память". Набор программ трассировки позволяет получать разводку для широкого набора конструктивов (СУММА, КАМАК, ЭЛЕКТРОНИКА-бО, ФАСТБАС и т.д.) за приемлемое время (около 15 мин реального времени на ЭВМ ЭЛЕКТРОНИКА-ЮО/25). Предложена схема работы программ трассировки, предусматривающая возможность сочетания автоматических и ручных процедур проектирования, различных алгоритмов трассировки. Реализация режима дотрассировки частично разведенных цепей вручную или автоматически позволяет организовать процесс многопроходной трассировки.
Проведенный сравнительный анализ разработанного в ИФВЭ трассировщика с аналогичной программой пакета PCAD показал, что количество не-разведенных цепей для одних и тех же плат примерно одинаково. Однако устранить разрывы, оставшиеся после программы трассировки PC-ROUTER пакета PCAD, ручной редакцией значительно труднее, чем после предлагаемой программы.
5. Разработан набор программ, обеспечивающих сопряжение системы проектирования с автоматизированным технологическим оборудованием для производства печатных плат и контроля качества их изготовления:
• программа для автоматического контроля качества несмонтированных ПП на установке Veritrak, обеспечивающая выявление нарушений технологических требований, как для двухслойных ПП, так и многослойных ПП (контроль отдельных слоев и всей платы в целом);
• программа расчета площади металлизации, позволяющая определить требуемую величину силы тока в гальванической ванне и обеспечить качество металлизации проводящих цепей на ПП;
• программы подготовки информации для изготовления фотошаблона и сверления заготовок ПП, оптимизирующие время работы приборов, что позволяет существенно уменьшить износ дорогостоящих прецизионных узлов и время прорисовки для Р40 и сократить время сверления для станков SCHMOLL и EXCELLON.
6. Разработан и реализован алгоритм быстрой сортировки, используемый в программах технологического контроля, трассировки, в программах подготовки и оптимизации данных для сверлильных станков, фотоплоттера и рядом других.
Реализованное ПО работает в рамках интегрированной системы автоматизированного проектирования и изготовления ПП в ИФВЭ, органически дополняя пакет PCAD и обеспечивая технологическую подготовку производства.
С использованием разработанного программного обеспечения было спроектировано более 500 типов двухслойных печатных плат различной сложности.
Список литературы
[1] Леонов А.П., Лукьянцев А.Ф., Милюткин В.П., Рабский H.H., Хворостянов А.Г. САПР ПРОЕКТ и сравнительный анализ некоторых результатов ее работы и пакета PCAD: Препринт ИФВЭ 95-102. - Серпухов, 1995.
[2] Денисенко A.A., Лукьянцев А.Ф., Рабский H.H., Тюриков С.П., Хворостянов А.Г., Шелухо В.М. Ввод в ЭВМ описания принципиальных электрических схем в САПР ИФВЭ: Препринт ИФВЭ 85-98. - Серпухов, 1985.
[3] Демидова В.И., Денисенко A.A., Лукьянцев А.Ф., Максимов Г.М., Рабский H.H., Хворостянов А.Г., Шелухо В.М. Автоматическое размещение модулей на плате в САПР ИФВЭ: Препринт ИФВЭ 85-102. - Серпухов, 1985.
[4] Демидова В.И., Рабский H.H., Шелухо В.М. Анализ распределения ресурсов двухслойных печатных плат при использовании автоматических процедур проектирования: Препринт ИФВЭ 87-192. - Серпухов, 1987.
[5] Максимов Г.М., Рабский H.H. Реализация эффективной трассировки соединений печатных плат на ЭВМ типа СМ-4: Препринт ЙФВЭ 88-25. - Серпухов, 1988.
[6] Ершов В.М., Демидова В.И., Рабский H.H. Графический редактор топологии печатных плат для дисплейных станций серии "Гамма" - В кн.: Тезисы докладов Всесоюзной школы-семинара молодых ученых "Машинная графика и автоматизация проектирования в радиоэлектронике". - Челябинск, 1990.
[7] Леонов А.П., Рабский H.H. Программа автоматического размещения компонентов на печатной плате для IBM PC: Препринт ЙФВЭ 95-102. - Протвино, 1995.
[8] Леонов А.П., Милюткин В.П., Рабский H.H., Хворостянов А.Г. Разработка программного обеспечения для сопряжения САПР ИФВЭ с автоматизированным технологическим оборудованием: Препринт ИФВЭ 96-84. - Протвино, 1996.
[9] Рабский H.H. Процедура автоматичемкого размещения компонентов на печатной плате для IBM PC. (Статья направлена в журнал "Приборы и системы управления.)
Рукопись поступила 16 января 1998 г.