А
Б В
Г Д
Е Ж
З И
К Л
М Н
О П
Р С
Т У
Ф Х
Ц Ч
Ш Э
Ю Я
Реферат: Разработка и исследование подсистемы учебно-исследовательской САПР РЭА
Разработка и исследование подсистемы учебно-исследовательской САПР РЭА
РЕЦЕНЗИЯ на дипломную работу на тему: "Разработка и исследование подсистемы учебно-исследовательской САПР РЭА" Горбач Дмитрия Александровича, студента тр.Р-53, специальности "Радиотехника" Дальневосточного Технологического института. Представленная на рецензию дипломная работа содержит по- яснительную записку в объеме 102 страницы печатного текста, включая 37 илл., 7 таблиц, 14 библ. и 6 листов графического материала формата А3. В настоящее время в промышленности широкое распростране- ние получили различные системы автоматизированного проектиро- вания (САПР). В частности, для проектирования печатных плат (ПП) широко используется система P-CAD, разработанная фирмой Personal CAD System. При подготовке специалистов радиотехнических специаль- ностей целесообразно организовать учебную исследовательскую работу студентов на системах автоматизированного проектирова- ния промышленного уровня. В связи с этим, представленная на рецензию дипломная ра- бота является актуальной. В работе приводится обзор современных алгоритмов, исполь- зуемых на различных этапах радиотехнических САПР - при расчете конструктивного объема РЭА, компоновке печатных плат и их трассировке. На примере разработки двух блоков, отличающихся составом элементной базы, произведены исследования возмож- ностей программ пакета P-CAD. Приведена методика компоновки в автоматическом и интерактивном режимах программы PC-PLACE, оп- ределена последовательность действий оператора, позволяющая достичь максимального использования ресурсов печатной платы. Дан сравнительный анализ алгоритмов трассировки программы PC-ROUTE. Расчет экономической эффективности САПР с применени- ем данного пакета убедительно показывает снижение трудоемкости работы проектировщиков более чем в два раза. Дипломником самостоятельно разработана программа, содер- жащая описания большого количества РЭК, позволяющая рассчитать конструктивный объем проектируемых изделий и размеры печатной платы, что не позволяет сделать система P-CAD. Пояснительная записка содержит большое количество рисун- ков, выполненных средствами компьютерной графики, в частности в пакетах P-CAD, Picture Maker, Paint Brush и др. Графический материал представлен плакатами, исполненными на плоттере под управлением программы PC-PLOT. Подготовлен ряд демонстрационных слайдов, поясняющих ход экспериментов и наг- лядно отображающих результаты исследований. Результаты работы - методика исследований и данные экспе- риментов - могут быть использованы при организации курса лабо- раторных работ на основе пакета P-CAD, а так же будут полезны разработчикам РЭА, использующим эту систему. Дипломная работа заслуживает оценки "Отлично", а диплом- ник Горбач Д.А. присвоения квалификации радиоинженера. Начальник отдела САПР АО Приморгражданпроект И.В.Третьяков . Дальневосточный технологический институт Кафедра радиоэлектроники и компьютерной техники "УТВЕРЖДАЮ" Зав.кафедрой ____________________ "___"__________ 1993г. З А Д А Н И Е на дипломное проектирование студенту Горбач Дмитрию Александровичу 1. Тема работы: Разработка и исследование подсистемы учебно-исследовательской САПР РЭА. Утверждена приказом по институту No 191/1 от 22.03.93. 2. Срок сдачи работы 01.06.93 3. Техническое задание к работе 3.1. Цель: исследование и разработка подсистем и звеньев учебно-исследовательской САПР РЭА. 3.2. Решаемые задачи: обзор алгоритмов и методов конструирования печатных плат; pазpаботка пpогpаммы pасчета констpуктивного объема РЭА; исследование алгоритмов, использу- емых в системе автоматизированного проектирования на основе пакета P-CAD; технико-экономическое обоснование внедpения pассматpиваемой САПР в пpомышленное пpоизводство. 4. Работа представляется пояснительной запиской и гpафи- ческим матеpиалом. 5. Содержание пояснительной записки: введение; обзоp ал- гоpитмов, используемых в САПР РЭА (pасчет констpуктивного объ- ема, модель печатной платы, алгоpитмы компоновки и тpассиpовки печатных плат); исследование методов пpоектиpования и алгоpит- мов, используемых в САПР РЭА на основе пакета P-CAD; экономи- ческое обоснование внедpения pассматpиваемой САПР в пpомышлен- ное пpоизводство; пpиложения (пpогpамма pасчета констpуктивно- го объема РЭА, стpуктуpы баз данных пpогpаммы). 6. Перечень гpафического матеpиала (плакаты формата А3): 1) Пример I. Блок видеомагнитофона. СхемаscriDІЕ электрическая прин- ципиальная; 2) Пример I. Компоновочный эскиз печатной платы. 3) Пример I. Трассировка в слое COMP. 4) Пример I. Трассировка в слое SOLDER. 5) Диаграмма - сравнение эффективности алгоритмов трассировки. 6) Диаграмма - снижение трудоемкости при внедрении САПР. 7. Консультант по экономическому разделу работы _______________________________________ Бешенцева О.В. Дата выдачи задания 10.03.93. Руководитель дипломного проектирования _______________________________________ Колесник Н.Я. . АННОТАЦИЯ Горбач Д.А. Разработка и исследование подсистемы учебно-исследовательской САПР РЭА. Дипломная работа. ДВТИ, 1993, 102 с., 37 илл., 7 табл., 14 библ., 6 пл. Цель дипломной работы - исследование и разработка подсистем и звеньев учебно-исследовательской САПР РЭА на осно- ве пакета P-CAD, в частности программ компоновки и трассировки печатных плат, как наиболее трудоемкого и нуждающегося в авто- матизации этапа проектирования радиоэлектронной аппаратуры. В работе приводится обзор современных алгоритмов, исполь- зуемых на различных этапах радиотехнических САПР - при расчете конструктивного объема РЭА, компоновке печатных плат и их трассировке. С целью облегчить расчет конструктивного объема проектируемых изделий была разработана программа RTN (IBM PC, Clipper), содержащая описание более 2000 компонентов отечест- венной элементной базы. На примере разработки двух разнотипных блоков произведен ряд экспериментов с целью исследовать воз- можности программ пакета P-CAD. Приведена методика компоновки в автоматическом и интерактивном режимах программы PC-PLACE, определена последовательность действий оператора, позволяющая достичь максимального использования ресурсов печатной платы. Дан сравнительный анализ алгоритмов трассировки программы PC-ROUTE. Расчет экономической эффективности САПР с применени- ем данного пакета убедительно показывает снижение трудоемкости работы проектировщиков более чем в два раза. При внедрении по- добной системы на промышленном предприятии срок окупаемости составит 2-3 месяца. Результаты работы - методика исследований и данные экспе- риментов - могут быть использованы при организации курса лабо- раторных работ на основе пакета P-CAD, а так же будут полезны разработчикам РЭА, использующим эту систему. . СОДЕРЖАНИЕ ВВЕДЕНИЕ 4 1. АНАЛИЗ АЛГОРИТМОВ САПР ПЕЧАТНЫХ ПЛАТ 6 1.1. Модель печатной платы для электрических соединений 6 1.2. Алгоритмы компоновки печатных плат 11 1.3. Алгоритмы проектирования печатного монтажа 19 1.4. Способы соединения контактов 39 2. ИССЛЕДОВАНИЕ АЛГОРИТМОВ, ИСПОЛЬЗУЕМЫХ В СИСТЕМЕ P-CAD 41 2.1. Постановка задачи 41 2.2. Пример I. Блок видеомагнитофона. 41 2.3. Пример II. Имитатор целей РЛС. 65 3. ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРИМЕНЕНИЯ САПР P-CAD 81 ЗАКЛЮЧЕНИЕ 90 СПИСОК ЛИТЕРАТУРЫ 92 Приложение I. Программа RTV. 93 . ВВЕДЕНИЕ С увеличением степени интеграции современной радиоэлект- ронной аппаратуры (РЭА) существенно возрастает и трудоемкость ее проектирования. Это связано с ростом размерности задач, ре- шаемых в процессе разработки. Эффективным средством решения этой проблемы является применение компьютерной техники на всех этапах создания РЭА. В последнее время методы автоматизирован- ного проектирования, как и радиоэлектроника в целом, находятся на этапе стремительного совершенствования. Поскольку высокоэф- фективные компьютеры перестали быть редкостью, методы машинно- го проектирования постепенно превращаются в инструмент, поль- зоваться которым может практически каждый. Инженер по радиоэлектронике и автоматике в условиях тех- нической оснащенности интеллектуальной деятельности должен свободно владеть средствами математического и программного мо- делирования и решения задач проектирования и эксплуатации ап- паратуры с помощью ЭВМ. При этом, направленное обучение специ- алистов по использованию компьютерной техники и программного обеспечения АРМ инженера, является весьма актуальным и обусловлено широким внедрением в инженерную практику персо- нальных ЭВМ. В настоящее время в промышленности широкое распростране- ние получили различные системы автоматизированного проектиро- вания (САПР). В частности, для проектирования печатных плат (ПП), гибридных интегральных схем (ГИС), микросборок (МБС) и других подобных конструктивов широко используется система P-scriDІЕ CAD, разработанная фирмой Personal CAD System. По оценке специалистов система P-CAD является несомненным лидером среди других систем аналогичного назначения, функционирующих на персональных компьютерах класса IBM PC. Cистема P-CAD (Personal Computer Aided Design) предназна- чена для автоматизированного проектирования печатных плат. Данный пакет включает в себя средства, позволяющие пользовате- лю создавать описания радиоэлектронных компонентов (РЭК), электрических принципиальных схем, задавать форму печатной платы, расставлять РЭК на плате как вручную, так и автомати- чески, а также производить трассировку печатной платы. Резуль- таты могут быть выданы на принтер, плоттер, фотошаблон. - 5 - $$$ При подготовке специалистов радиотехнических специаль- ностей целесообразно в курсах по конструированию РЭА (или ана- логичных курсах) организовать учебную исследовательскую работу студентов на системах автоматизированного проектирования про- мышленного уровня, преследуя при этом следующие цели: - сформировать достаточно полное представление об основ- ных элементах, структуре и принципах функционирования промыш- ленных систем автоматизированного проектирования; - способствовать получению своеобразного "фундамента" для упрощения в дальнейшем освоения других промышленных систем ав- томатизированного проектирования. Необходимость организации такой работы пользователей со средствами САПР РЭА в диалоговом режиме ставит задачу разра- ботки учебных систем диалогового проектирования, ориентирован- ных на дисплейные классы. Рассмотренная система на основе паке- та P-CAD предназначена для конструирования разнообразных уст- ройств РЭА и изучения методов и алгоритмов автоматизированного проектирования. Целью данной дипломной работы является исследование раз- личных алгоритмов и методов, используемых пакетом P-CAD для решения задач размещения радиоэлектронных элементов и трасси- ровки печатных плат. Эти задачи составляют основу подсистемы учебно-исследовательской САПР, связанной с вопросами компонов- ки и топологии, как наиболее трудоемкого и нуждающегося в ав- томатизации этапа проектирования радиоэлектронной аппаратуры. . - 6 - $$$ 1. АНАЛИЗ АЛГОРИТМОВ САПР ПЕЧАТНЫХ ПЛАТ 1.1. Модель печатной платы для электрических соединений Использование формальных методов проектирования топологии проводников на монтажных платах требует решения вопросов о компьютерном представлении модели поверхностей слоев платы. Необходимым условием корректности модели монтажного пространства является требование адекватности отображения в ней всех факторов, определяющих ресурсы и ограничения прообра- за при проектировании печатного монтажа. К числу основных па- раметров модели следует отнести: число слоев и размеры каждого слоя платы, координаты и геометрию контактов, допустимые формы печатных проводников и минимальные зазоры между ними, зоны запрета на трассировку. Наибольшее распространение в практике трассировки получи- ла ортогональная модель поля платы. Рассмотрим правила постро- ения такой модели. Пусть на каждый слой платы, имеющей контакты, проводники и зоны запрета, наложена некоторая регулярная сетка, образо- ванная множествами вертикальных и горизонтальных прямых и состоящая из ячеек размером (dx x dy) каждая. Каждой ячейке соответствует некоторый признак, значение которого идентифицирует одну из следующих ситуаций: - ячейка содержит участок проводника, зоны запрета или контак- та, то есть ячейка занята и через нее недопустима прокладка проводника; - ячейка не содержит перечисленных выше компонент. Размеры dx и dy выбираются из условия: dx >= Hmin, dy >= Hmin, где Hmin - минимальное расстояние между осями двух параллельных сигнальных проводников. Введенную сетку, покрывающую монтажное пространство слоя платы, будем называть дискретной сеткой. Описанная дискретная модель достаточно просто формируется и представляется в компьютерной памяти с помощью двумерного числового массива-матрицы, каждый компонент которого взаим- но-однозначно соответствует одной ячейке сетки. Соответствую- щий ячейке нулевой код означает, что она свободна для проклад- ки печатного проводника, ненулевой код устанавливает запрет на - 7 - $$$ прокладку. Платы с двумя и более слоями монтажа программно представ- ляются в виде трехмерного массива-матрицы M( x, y, z), где значения индекса z соответствуют номерам слоев платы. Недостатком матричного отображения монтажного прост- ранства плат является большой объем компьютерной памяти, тре- буемый для представления этой модели. Однако до настоящего времени она остается наибscriDІЕ олее популярной. Рассмотрим вопрос о размещении матрицы в компьютерной па- мяти и систему адресации ее элементов. Актуальность данного вопроса связана с повышением быстродействия алгоритмов трасси- ровки, использующих матричную модель. Для большинства совре- менных компьютеров характерна векторная структура представле- ния многомерных массивов (в частности, трехмерных M( x, y, z). Положение элемента матрицы M( x, y, z) относительно начального адреса вектора V определяется выражением kj = (zj - 1) * Xo * Yo + Xo * (yj - 1) + xj (1.1) где kj - индекс вектора V; Xo, Yo - максимальные значения ин- дексов x и y для матрицы M. Представленная схема адресации элементов матрицы в векто- ре V имеет один существенный недостаток. Действительно, при распространении волнового фронта (см.п.1.3.6) на каждой итера- ции обработки очередного элемента выполняется анализ состояния матрицы в соответствии с рис. 1.2. В данном случае рассмотрение осуществляется на одном из слоев, например Zj = 1. Если положить индексы текущего дискре- та в M( x, y, z), Xj и Yj, то в векторе V этот дискрет займет положение kj в соответствии с (1.1). Тогда дискреты 1, 2, 3, 4 (рис. 1.2) будут занимать места в векторе V в соответствии со следующими выражениями: 1. kj = kj + Xo 2. kj = kj + 1 3. kj = kj - Xo 4. kj = kj - 1 . - 8 - $$$ Zj = 1 Zj = 2 ЪДДДВДДДВДДДї ЪДДДВДДДВДДДї 3 і G і H і I і 3 і P і R і S і ГДДДЕДДДЕДДДґ ГДДДЕДДДЕДДДґ 2 і D і E і F і 2 і M і N і O і ГДДДЕДДДЕДДДґ ГДДДЕДДДЕДДДґ 1 і A і B і C і 1 і J і K і L і АДДДБДДДБДДДЩ АДДДБДДДБДДДЩ Yj / 1 2 3 Yj / 1 2 3 ] Xj Xj а) б) V ЪДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВД ДВДДДВДДДї і A і B і C і D і E і F і G і H і I і J і K і ... і R і S і АДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБД ДБДДДБДДДЩ 1 2 3 4 5 6 7 8 9 10 11 17 18 Kj в) Рис. 1.1. Иллюстрация расположения элементов матрицы в векторной структуре: а, б - условное представление элементов матрицы M( x, y, z) (Xo = Yo = 3); в - расположение элементов матрицы M( x, y, z) в векторной структуре. ЪДДДї і 1 і і і ЪДДДДДДЕДДДЕДДДДДДї і 4 2 і АДДДДДДЕДДДЕДДДДДДЩ і і і 3 і АДДДЩ Рис. 1.2. Схема анализа соседних элементов. . - 9 - $$$ Очевидно, что такое расположение элементов вектора явля- ется неудачным, так как требует для анализа этих четырех эле- ментов четыре команды обращения к памяти. Практика трассировки показывает, что операции выборки и анализа дискретов при расп- ространении волнового фронта полностью определяют быстро- действие алгоритма. Поэтому актуальной задачей является поиск новых вариантов упаковки элементов массивов в векторы, позво- ляющих сократить количество обращений к последним. Одним из решений этой задачи является диагональное представление рабочего поля платы в компьютерной памяти [1], где упаковка массива производится по следующей формуле: kj = [(xj + yj)*Yo + yj + (zj - 1)*Xo*Yo] mod( Zo Xo Yo) (1.2) где T, при T = q В 1.2 предполагается, что индексы трехмерной матрицы M( x, y, z) лежат в следующих диапазонах: x E [ 0, Xo - 1] y E [ 0, Yo - 1] z E [ 0, Zo - 1]. На рис. 1.3 представлена иллюстрация упаковки элементов матрицы M( x, y, z) в вектор V. Анализ (1.2) и иллюстрация показывают, что данная упаков- ка выгодно отличается от предыдущей тем, что элементы, сосед- ние с каждым текущим (рис.1.2) при распространении волнового фронта, располагаются в векторной структуре попарно с соседни- ми. Такое расположение элементов позволяет сократить число об- ращений к памяти вдвое за счет одновременной выборки пары соседних элементов. Сопутствующий положительный эффект представленной упаковки элементов является и то, что программе поиска пути волновым методом нет необходимости "помнить", на каком слое находится данный текущий элемент. Переход с любого - 10 - scriDІЕ $$$ Zj = 1 Zj = 2 ЪДДДВДДДВДДДї ЪДДДВДДДВДДДї 3 і G і H і I і 3 і P і R і S і ГДДДЕДДДЕДДДґ ГДДДЕДДДЕДДДґ 2 і D і E і F і 2 і M і N і O і ГДДДЕДДДЕДДДґ ГДДДЕДДДЕДДДґ 1 і A і B і C і 1 і J і K і L і АДДДБДДДБДДДЩ АДДДБДДДБДДДЩ Yj / 1 2 3 Yj / 1 2 3 ] Xj Xj а) б) V ЪДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВД ДВДДДВДДДї і A і R і B і D і S і C і E і G і J і F і H і ... і N і P і АДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБД ДБДДДБДДДЩ 1 2 3 4 5 6 7 8 9 10 11 17 18 Kj в) Рис. 1.3. Иллюстрация расположения элементов матрицы в векторной структуре при диагональном представлении рабочего поля. из двух слоев на другой выполняется всегда корректно при уве- личении zj на единицу. И, наконец, диагональное представление модели рабочего поля позволяет осуществлять эффективный контроль за процессом распространения волнового фронта, не позволяя значению индекса элемента выходить за границы размера массива. . - 11 - $$$ 1.2. Алгоритмы компоновки печатных плат 1.2.1. Общие вопросы практики компоновки Компоновка РЭА - размещение в пространстве или на плоскости ЭЛ, имеющих электрические соединения в соответствии с принципиальной схемой, и обеспечение допустимого минимума паразитных взаимодействий, которые не нарушают значения расчетных выходных параметров РЭА. Энергетическое несовершенство РЭА по преобразованию энер- гии источников питания в энергию выходного сигнала (чаще всего КПД = 10e-3...10e-10) - причина больших тепловыделений, для отвода которых требуется развитие поверхности конструкций и высокая эффективность теплоносителя. Емкостные и индуктивные ЭЛ РЭА требуют для нормальной ра- боты определенного пространства, в котором при их работе воз- никают электрические и магнитные поля. Их локализация требует увеличения объема конструкции РЭА либо использования специаль- ных экранов. Сложные условия эксплуатации, энергетическое несовер- шенство РЭА, необходимость учета при компоновке "объемов" электрических и магнитных полей - причина усложнения проблем компоновки ЭЛ РЭА, которая может быть определяющим фактором при выборе того или иного компоновочного решения РЭА. Поэтому компоновочными моделями ЭЛ РЭА в целом являются не геометри- чески адекватные им модели, а модели, геометрически обобщающие всю совокупность их свойств. Такая модель называется обобщен- ной геометрической моделью (ОГМ). Сложность расчета объема и формы ОГМ [2] - причина использования в практике компоновочных работ упрощенных компо- новочных моделей в виде установочных объемов Vуст или площади Sуст ЭЛ. Vуст (Sуст) - прямоугольный параллелепипед (прямоу- гольник), описанный вокруг ЭЛ с учетом его максимальных уста- новочных размеров, требований по монтажу и регулировке и до- полнительных объемов или пространства, обеспечивающих его нор- мальную работу при данном тепловыделении, электрических и маг- нитных взаимодействиях. Размеры ОГМ (Vуст и Sуст) - функция геометрии ЭЛ и его режима работы. При малых коэффициентах нагрузки (Кн) по мощ- - 12 - $$$ ности (0.1...0.3) можно использовать упрощенные соотношения для вычислений Vуст и Sуст по нормированным установочным раз- мерам (рис.1.4): Vуст = 1.5 * Amax * Bmax * Hmax Sуст = 1.3 * Amax * Bmax При значениях Кн > 0.3...0.5 вычисление Vуст и Sуст зат- рудняется, так как необходимо вычисление объемной или плоской ОГМ со сложными образующими (рис.1.5), что требует знания на- чальных и граничных условий. 1.2.2. Аналитическая компоновка В основе аналитической компоновки лежат выражения Vs = Kv * SUM( Vустi) = ( 1/Kvзап) * SUM( Vустi) Ss = Ks * SUM( Sустi) = ( 1/Ksисп) * SUM( Sустi) где Vs (Ss) - суммарный объем (площадь) РЭА; Kv (Ks) - коэффициенты увеличения объема (площади), за- висящие от назначения и условий эксплуатации и равные 5..1 (3..1); Vустi (Sустi) - установочный объем (площадь) i-го элемента Kvзап - коэффициент заполнения РЭА по объему (0.2...0.1) Ksисп - коэффициент использования площади платы, шасси и т.п. (0.33...1). Объемная масса РЭА обычно лежит в пределах 0.4...1.6 г/см^3. Расчет конструктивного объема РЭА по вышеизложенному ме- тоду реализован в программе RTV, являющейся авторскоscriDІЕ й разра- боткой (Приложение I). Программа производит расчет объемов из- делия и площади печатной платы, а так же сообщает рекомендуе- мые размеры платы. База данных программы насчитывает свыше 2000 компонентов отечественной элементной базы, проста и удоб- на в использовании. Результаты расчетов могут использоваться . - 13 - $$$ на различных этапах проектирования РЭА, в частности служить в качестве исходной информации для компоновки печатных плат. 1.2.3. Задачи компоновки печатных плат РЭА Цель компоновки заключается в создании наилучших условий для последующего синтеза топологии электрических соединений при выполнении конструкторских и технологических ограничений. На решение задачи компоновки большое влияние оказывают типы проектируемых блоков. В зависимости от типа блока (цифровой, аналоговый или цифроаналоговый) решаются различные задачи и определяется тот или иной метод их решения. Элемент блока является одновременно геометрическим объек- том Ti( Xi, Qi), где Xi, Qi - параметры установки элемента, и элементом схемы соединений. Задача компоновки состоит в опти- мизации оценки качества Ф( X1, Q1, Г1,..., Xn, Qn, Гn), при условиях непересечения геометрических объектов, соответствую- щих любой паре элементов и расположения каждого элемента в по- ле платы. Эта задача является многопараметрической задачей оптими- зации. Аналитический вид зависимости оптимизируемого критерия от параметров компоновки неизвестен, в связи с этим решение задачи в общей постановке невозможно. Задача компоновки разби- вается на ряд частных задач, которые согласуются со спецификой проектирования субблоков РЭА. В процессе размещения минимизируются суммарная длина сое- динений и максимальное число соединений в сечении канала. Об- щая стратегия состоит в получении начального размещения и в последующем его улучшении с помощью ряда итерационных алгорит- мов, применяемых в различных порядках. 1.2.4. Допущения, упрощающие задачу Анализ практических задач, возникающих при проектировании конкретных устройств РЭА, позволил выделить следующие ограни- чения, упрощающие постановку задач упаковки: пространство про- ектирования двумерное; угол поворота системы координат элемен- - 14 - $$$ та относительно системы координат платы может принимать значе- ния: 0', 90', 180' или 270'; координаты расположения элементов на поле платы при упаковке могут принимать только конечное множество значений; все типы элементов, как геометрические объекты, имеют вид прямоугольников. 1.2.5. Последовательный алгоритм упаковки элементов на плате с заданной сеткой посадочных мест Пусть во множество A входят элементы k видов T1, T2, ..., Ti, ..., Tk. Некоторые элементы могут быть фиксированы на поле платы. Тогда упаковка производится в следующей последователь- ности: Шаг 1. Вычеркивание занятых посадочных мест из заданной сетки, в том числе учитываются фиксированные элементы; Шаг 2. Выбор вида элемента. Из множества элементов A вы- бирается один вида Ti. Критерии выбора могут быть различными. Например: выбор по наибольшим габаритам, по наибольшему коли- честву контактов, по наибольшему количеству элементов в виде; Шаг 3. Производится последовательно-одиночная упаковка элементов выбранного вида в заданное множество посадочных мест. Занятые посадочные места отмечаются; Шаг 4. Контроль упакованных элементов на наложение с сет- кой посадочных мест неупакованных элементов. Шаг 5. Проверка на возможность дальнейшей упаковки. Про- веряется возможность в свободные посадочные места упаковать оставшиеся элементы. Если возможно, переходим к следующему ша- гу, иначе меняется последовательность упаковки. Шаг 6. Поиск незанятых посадочных мест, оставшихся после упаковки данного вида элементов. Координаты этих посадочных мест запоминаются для дальнейшего использования программами расстановки. Шаг 7. Проверка на завершение. Все виды элементов упако- ваны? Если нет, переходим ко второму шагу, иначе упаковка за- вершена. Рассмотренный алгоритм прост в реализации, не требует большого объема компьютерной памяти, время счета линейно за- . - 15 - $$$ висит от количества видов элементов и практически не зависит от количества элементов в каждом виде. 1.2.6. Упаковка элементов на плате без задания сетки посадочных мест В данном случае возникает необходимость в автоматическом построении сетки посадочных мест. Пространство проектирования покрывается сеткой квадратов t1 x t2 и поле проектирования To представляется в виде упорядоченных пар ( t1, t2) индексов по- павших в него квадратов - позиций. В каждую пscriDІЕ озицию поля про- ектирования может быть установлен полюс элемента Ti( Xi, Qi), где Xi=( t1i, t2i), Qi={ 0, 90', 180', 270'). Задачу упаковки можно свести к линейной (одномерной). Это даст возможность использовать при решении методы целочисленно- го программирования, упростит и ускорит получение результата. 1.2.7. Упаковка элементов методом раскроя Для решения задачи упаковки без задания сетки посадочных мест можно использовать алгоритмы задачи раскроя прямоугольно- го листа на прямоугольные заготовки, суть которого состоит в следующем: задан плоский лист размером X на Y и m прямоуголь- ных площадок размером xi на yi, i = 1...m. Требуется найти на- именьшее неотрицательное решение функционального уравнения: f(x,y)=MAX{ max( f(i,y)+f(x-i,y)), max( f(x,i)+f(x,y-i))} (1.3) i=0..x i=0..j обеспечивающее условия f( x, 0) = f(0,y) = 0, f(xi,yi) >= Ci, (1.4) где Ci - стоимость i-й детали. . - 16 - $$$ Функция f(x,y), являющаяся наименьшим решением уравнений (1.3)-(1.4), кусочно-постоянна, не убывает по x и y и допуска- ет представление f(x,y) = max ( fj ), j:xj критерием качества трасси- ровки (а также и предшествующих фаз этапа технического проек- тирования) является процент (или доля) разведенных цепей по отношению к их общему числу. В ряде случаев при техническом проектировании многослойных печатных плат (МПП) качество трассировки оценивается числом слоев, требуемых для реализации всех заданных электрических соединений. При проектировании печатного монтажа могут использоваться и другие критерии качества, такие как ограничение длин элект- рических соединений для части или всех цепей, обеспечение тре- буемых характеристик быстродействия проектируемого устройства. В ряде случаев для обеспечения помехоустойчивости минимизиру- ются длины параллельных участков близко расположенных печатных проводников, принадлежащих разным цепям. Последние два крите- рия в настоящее время становятся все более актуальными и су- щественным образом усложняют процесс синтеза печатных провод- ников с точки зрения удовлетворения основного критерия качест- ва трассировки. Результаты автоматической трассировки должны оставлять возможность для трассировки в интерактивном режиме нереализо- ванных соединений. Поэтому на рабочем поле трассировки должны сохраняться ресурсы для дотрассировки. Для максимизации числа автоматически построенных трасс необходимо предотвращать блокировку выводов элементов, к кото- рым еще не подведены соединения. Экспериментально установлено, что вероятность блокировки уменьшается при использовании преи- мущественных направлений трасс в слоях (в одном слое прово- дятся, в основном, горизонтальные отрезки, в другом - верти- кальные) и построении трасс в порядке увеличения сложности. В настоящее время существует и функционирует широкий на- бор систем, обеспечивающих автоматизированное проектирование монтажных плат. Однако до сих пор этап трассировки является "узким" местом в системах технического проектирования. Несмот- ря на большую номенклатуру современных алгоритмов размещения и трассировки, проблема получения проектов с требуемым качеством остается нерешенной. Это объясняется следующими факторами. 1. Этапы размещения и трассировки в силу их трудоемкости в программных реализациях разделяются на последовательно вы- полняемые шаги. - 19 - $$$ 2. Методы решения задач размещения и трассировки базиру- ются на эвристических предпосылках и, следовательно, не гаран- тируют полной трассируемости соединений на заданном конструк- тиве. 3. Подавляющее большинство современных методов трассиров- ки печатных проводников относится к классу алгоритмов последо- вательного типа, не обеспечивающих выполнения формального ана- лиза метрико-топологических зависимостей в расположении про- водников и контактов на поле платы с целью поиска оптимальной укладки электрических соединений. 4. Практически во всех эксплуатируемых системах техни- ческого проектирования отсутствуют эффективные программные средства доразводки печатного монтажа в автоматическом режиме. Перечисленные особенности нередко приводят к тому, что проект, получаемый в автоматическом режиме, требует внесения доработок конструктором со всеми вытекающими из этого не- достатками. 1.3.2. Входная информация для решения задачи трассировки Исходные данные для трассировки определяются при состав- лении исходного задания на проектирование и дополняются после выполнения операций компоновки и назначения (см.п.1.2). В ито- ге входная информация для трассировки представляется двумя компонентами: списком трассируемых контактов и моделью представления поля печатной платы. Решение задачи трассировки соединений предполагает пред- варительное выполнение следующих основных этапов: 1. Определение списка всех проводников, которые должны быть проложены между парами различных контактов. 2. Распределение проводников по слоям. 3. Определение последовательности трассировки проводников в каждом слое (назначение парных соединений в каналы при ка- нальной трассировке). 4. Собственно трассировка проводников. . - 20 - $$$ 1.3.3. Алгоритм Прима На первом этапе необходимо решить, в какой последователь- ности следует соединять контакты одной цепи (т.е. установить Перечень Проводников одной цепи для каждой пары контактов), чтобы суммарная длина всех соединений цепи была минимальна. Эта задача сводится к задаче построения Минимального Связываю- щего Дерева. На рис.1.6а приведен пример такого дерева для се- ми контактов. Наибольшее распространение для решения этой задачи на компьютерах получил алгоритм Прима [3]. На первом шаге алго- ритма для произвольного контакта из n находится ближайшая вер- шина и соединяется ребром. На остальных n-2 шагах из множества неподсоединенныхscriDІЕ контактов выбирается тот, который находится ближе всего к группе уже связанных контактов и соединяется кратчайшим ребром. На рис.1.6б показаны фрагменты дерева ( x1, x2, x3, x4, x5) после четвертого шага алгоритма, ближайший контакт x6 и кратчайшее ребро ( x5, x6), имеющее минимальную длину среди всех возможных ребер, показанных пунктиром. В ре- зультате перечень для трассировки цепи на рис.1.6а будет [(x1,x2) (x2,x3) (x2,x4) (x4,x5) (x5,x6) (x6,x7)]. Алгоритм Прима применяется для определения числа пересе- чений проводников и оценки качества решения задачи размещения. Для печатного монтажа лучшие результаты будут получены, если искать минимальное дерево в координатной сетке; такое де- рево называется Минимальным Ортогональным Деревом (рис.1.6в). Особенность задачи заключается в том, что при построении дере- ва допускается введение дополнительных вершин x1' и x2', а та- кое дерево называется Деревом Штейнера. Для решения задачи в данной постановке применяется ортогональная метрика и разрабо- таны алгоритмы, аналогичные алгоритму Прима. 1.3.4. Распределение проводников по слоям Распределение может быть выполнено двумя способами: . - 21 - $$$ 1. Последовательно проводят соединения до заполнения оче- редного слоя, после чего переходят к заполнению следующего слоя (при таком подходе получается большое число слоев и не- равномерное их заполнение). 2. Подсчитывают возможное число пересечений проводников, совмещенных в одном слое, а затем проводят распределение по слоям. Подсчет возможного числа пересечений проводников можно осуществить для двух различных представлений соединения двух контактов на плоскости: 1. Соединения представляются в виде прямолинейных отрез- ков и их пересечения определяются по уравнениям прямых линий (рис.1.7а). 2. Соединения представляются в ортогональном пространстве и их пересечения определяются по уравнениям прямых, параллель- ных осям координат (рис.1.7б) или по факту перекрытия мини- мальных прямоугольников, построенных для соответствующих кон- тактов (x1,x2) и (x3,x4) на рис.1.7в. Обе оценки дают завышенное число возможных пересечений и имеют примерно одинаковую эффективность. 1.3.5. Определение порядка трассировки проводников Определение порядка трассировки проводников в каждом слое связано с тем, что успех трассировки очередного проводника су- щественно зависит от конфигурации уже проведенных трасс. Так как задача не формализуется теоретическими методами, для ее решения разработаны различные эвристические алгоритмы. Наибольшее распространение получили методы, основанные на оценке длины проводников. Здесь возможны два подхода: 1. Соединение проводников в порядке возрастания длины от- дельных проводников (в качестве оценки длины принимается крат- чайшее расстояние между соединяемыми контактами). Этот метод основан на том соображении, что короткие проводники вносят меньше конфликтных ситуаций. 2. Соединение проводников в порядке убывания длины про- водников, так как длинные проводники труднее трассировать. . - 22 - $$$ С точки зрения минимальной суммарной длины соединений оба подхода дают примерно одинаковые результаты. Другие методы упорядочения связаны с учетом степени влияния проводников друг на друга по площади перекрытия минимальных прямоугольников (см. рис. 1.7в), с учетом числа контактов, попадающих в мини- мальный прямоугольник, или с другими критериями. Для эффективного использования ресурсов многослойной пе- чатной платы решается задача распределения строящихся провод- ников между слоями. Своевременное выявление конфликтов между цепями и их устранение путем разнесения соответствующих печат- ных проводников на различные слои позволяет существенно по- высить качество трассировки. 1.3.6. Волновой алгоритм трассировки соединений и его модификации Среди множества алгоритмов трассировки электрических сое- динений наиболее распространенным является волновой алгоритм (алгоритм Ли). Он обладает высокой степенью общности, прост в реализации и имеет широкий спектр применимости для трассировки двухслойных, многослойных печатных плат, БИС и т.д. Основан на "просмотре" возможных вариантов решений и выборе из них одно- го, удовлетворяющего требованиям поставленной задачи. Решение задачи с использованием волнового алгоритма пред- полагает два этапа: на первом осуществляется поиск возможных решений - распространение волны, на втором выбирается решение, удовлетворяющее условиям поставленной задачи - построение об- ратного следа. Модель поля платы для трассировки представляется совокуп- ностью дискретов (см.п.1.1). Все множество дискретов модели D разделяются на два подмнscriDІЕ ожества D' и D". Подмножество D' объ- единяет в себе те дискреты модели, которые допустимо исполь- зовать для прокладки через них печатных проводников. Подмно- жество D" состоит из дискретов, через которые недопустима прокладка трасс. Каждому дискрету из D присвоены два числа: весовой коэффициент Pj, определяющий особенности расположения j-го дискрета на модели поля; волновое число Aj, характеризую- - 23 - $$$ щее факт участия данного дискрета в процессе распространения числовой волны. Два дискрета с координатами (Xi,Yi) и (Xj,Yj) будем назы- вать соседними, если для них выполняется условие: іXi - Xjі + іYi - Yjі = 1. Всем дискретам D" присвоим значения P, равные некоторому большому числу. Тогда схема волнового алгоритма на дискретной модели поля может быть представлена следующим образом. Шаг 1. Разметка всех дискретов из D' кодом A=0. Обнуление ячеек массивов фронтов X и Y. Шаг 2. Окраска точки "истока" волны (Xo,Yo). Шаг 3. Далее Ao := Po; K := 1; X(1) := Xo; Y(1) := Yo. Шаг 4. Xj := X(1); Yj := Y(1); Если X(1) = Y(1) = 0, то перейти к п.6. Шаг 5. Последовательно выбрать все дискреты с координата- ми (Xi,Yi), удовлетворяющими следующему уравнению: іXi - Xjі + іYi - Yjі = 1. Если характеристические числа удовлетворяют одновременно двум условиям: Pi = Pj + Pi). После просмотра и соот- ветствующей обработки дискретов на шаге 5 выполнить сдвиг со- держимого массивов X и Y на одну ячейку влево. Перейти к чет- вертому шагу. Шаг 6. Окончание процесса. Пример работы представленной схемы волнового алгоритма приведен на рис.1.8. 1.3.7. Канальные методы трассировки Канальные методы трассировки определяют одно из самосто- ятельных направлений решения задач топологического синтеза. Эти методы имеют определенные преимущества перед другими, но им присущи также и недостатки. Наибольшее распространение ка- - 24 - $$$ нальные методы получили при проектировании больших интеграль- ных схем. Однако это не исключает их использование в практике трассировки монтажных плат. Основной единицей модели поля при канальной трассировке является канал, представляющий множество свободных для трасси- ровки вертикальных и горизонтальных каналов-магистралей, расположенных между рядами запрещенных для трассировки зон. Соединения между соседними каналами осуществляются через так называемые проходные блоки или через внешнюю область монтажа. Процесс канальной трассировки обычно разделяют на несколько этапов [ 4, 5]. Создание канала. На этом шаге элементы уже размещены, и интервалы между ними достаточны для проведения любых проводников питания и за- земления, которые должны находиться в этих интервалах, и со- держат некоторое пространство для проводников других цепей. Нам не нужно особенно заботиться о ширине интервалов, посколь- ку, если нам не удастся найти разводку сетей в выделенном пространстве, мы сделаем очередную попытку с лучшим пониманием того, какой величины должен быть каждый интервал в действи- тельности. Мы должны разделить все пустое пространств вокруг элемен- тов на каналы, которые определим как условные прямоугольники пустого пространства. Основная цель здесь состоит в том, чтобы выполнить разделение как можно проще; "простота" формально оп- ределена тем условием, чтобы общая длина ребер, разделяющих прямоугольники каналов, была минимальна. Как обычно, задачу минимизации нельзя решить точно для больших задач, поэтому мы должны прибегнуть к эвристическому методу. Вот простой пример такого эвристического метода: 1. Продолжим все границы элементов до пересечения других гра- ниц элементов или границ схемы (рис.1.9). 2. Рассмотрим каждый отрезок продолженных линий, начиная с са- мого большого. Удаляем отрезки, если мы можем сделать это без нарушения прямоугольности каналов. Иначе говоря, мы не . - 25 - $$$ можем удалить отрезок границы, если это удаление создает область, имеющую форму буквы L или T (рис.1.10). 3. Если необходимо, добавляем каналы вокруг границ схемы. Глобальная трассировка Следующей задачей является глобальная трассировка цепей, иначе говоря, выбор для каждой цепи дерева каналов, которые она должна занять. Здесь возможно использование алгоритмы на- хождения кратчайшего пути. Наши пути будут проходить по точкам середин границ каналов, начинаясь и заканчиваясь на выводах одной и той же цепи. Упорядочивание пересечений между каналами На данном scriDІЕ этапе происходит выбор точек, в которых провод- ники пересекают стены между каналами, отдавая приоритет выбору положения проводников внутри каналов. Трассировка соединений в каналах Выбрав позиции для всех точек пересечения стены, мы можем проложить трассы проводников внутри каждого канала отдельно, зная, что то, что мы делаем в одном канале, не повлияет на другой. Более того, больше не нужно разделять точки на грани- цах канала на точки выводов элементов и точки пересечений сте- ны. Конечно, поскольку ширина каналов первоначально выбиралась условно, нет гарантии, что можно выполнить требуемую трасси- ровку данного канала даже самым умным и исчерпывающим алгорит- мом. В этом нет ничего ужасного, поскольку, когда даже один канал не может быть обработан, последует увеличение каналов и почти весь процесс разводки начинается сначала. Наиболее известным методом канальной трассировки является метод Стволов и Ветвей [6]. Как показано на рис.1.11. имеет место одно ограничение, состоящее в том, что каждой группе соединительных проводников соответствует одна горизонтальная - 26 - $$$ трасса (Ствол), и поэтому определив, какую горизонтальную до- рожку следует использовать в данном случае, задачу трассировки вертикальных проводников (Ветвей) можно решить автоматически. Известны случаи, когда канальная трассировка с использо- ванием только метода стволов и ветвей оказывается невозможной. Так, например, как показано на рис.1.12а, маршруты двух из трех проводников могут быть легко проложены, а маршрут треть- его - нет. Это соответствует появлению замкнутой петли на гра- фе, характеризующем ограничения, связанные с ориентацией вет- вей (рис.1.12б). Таким образом, если появляется замкнутая пет- ля, то наложение проводников необходимо предотвратить, исполь- зуя для части проводников две и более трассы (рис.1.12в). На этом обстоятельстве основаны методы трассировки типа "Доглег", позволяющие не только предупреждать появление замкнутых пе- тель, но и производить трассировку каналов с уменьшенным коли- чеством дорожек (рис.1.13). Трассировка в областях пересечения (рис.1.14) произво- дится на самом последнем этапе проектирования топологии, и, если она оказывается невозможной, топологию приходится проек- тировать заново, что связано со значительными затратами. Вре- мя, затрачиваемое на решение данной задачи, довольно велико, и для ее решения необходимо использовать алгоритмы, обеспечиваю- щие 100%-ную трассируемость. В частности, в этом случае нахо- дят применение алгоритмы с распределением по сетке или специ- альные алгоритмы, в которых учитывается специфика задачи. 1.3.8. Лучевые алгоритмы трассировки Недостатки волнового алгоритма, проявляющиеся в его низ- ком быстродействии и значительном объеме компьютерной памяти, требуемом для представления модели поля печатной платы, дали стимул для разработки ряда новых алгоритмов трассировки, в частности лучевых. Рассмотрим работу лучевого алгоритма на конкретном приме- ре (рис.1.15), где требуется определить форму электрического соединения между точками A и B. Из точек (дискретов) трассируемой пары генерируются лучи Л11, Л12 и Т11, Т12 (Л- и Т-типа) до встречи запретов или луча - 27 - $$$ того же типа (для контакта А генерируются лучи Л-типа, для В - Т-типа). Если обнаружен факт пересечения лучей Л- и Т-типа, то считается, что соединяющий путь найден. В противном случае процесс генерации лучей обоих типов продолжается. Для этого через ранее построенные лучи строятся перпендикулярные по пра- вилам, описанным выше. Множества лучей Л- и Т-типа расширя- ется: {Л11, Л12, Л21, Л22, Л23, Л24} и {Т11, Т12, Т21, Т22} и т.д. Построение луча Т22 приводит к пересечению лучей Л- и Т-типа. Представленный алгоритм имеет высокое быстродействие, приблизительно на два порядка выше, чем у волнового, при трассировке электрических связей, "потенциально" имеющих ма- лое число поворотов (1 или 2). При поиске более сложных соеди- нений по быстродействию этот алгоритм приближается к волново- му. В целях повышения быстродействия лучевого алгоритма и в случае многоповоротных соединений допустим метод сокращенного "просмотра" вариантов. Генерация лучей от некоторого Лi выпол- няется не из каждой точки Лj, а с некоторым шагом dЛ, значение которого в программе трассировки устанавливает пользователь. Учитывая особенности временных характеристик волнового и лучевого алгоритмов трассировки, некоторые авторы организуют двухэтапный процесс трассировки. На первом этапе список трассируемых цепей обрабатывается средствами лучевого алгорит- ма, а на втором - оставшиеся неразведенными цепи трассируются средствами волнового алгоритма, что повышает процент рscriDІЕ азведен- ных связей. Наибольшее распространение лучевые методы получили при трассировке дискретных печатных плат с регулярным расположени- ем магистралей. 1.3.9. Прочие методы трассировки Из методов трассировки, появившихся сравнительно недавно, можно отметить отечественный метод периферийной трассировки [1] и проектирование методом рекапитуляции. Основу первого составляет принцип, согласно которому проводники каждой трассируемой цепи должны создавать "минимум помех" для трасси- - 28 - $$$ ровки последующих цепей. Этому принципу удовлетворяет располо- жение синтезируемых проводников по периферии модели поля трассировки. Проектирование печатного монтажа методом рекапитуляции рассматривает трассировку проводников как итерационный про- цесс, развитие которого сопровождается изменениями в состоянии модели поля. 1.4. Способы соединения контактов В общем случае рисунок межсоединений определяется деревом Штейнера, имеющим несколько точек ветвления (рис.1.16а). В быстродействующих ИС с целью уменьшения задержки на распрост- ранение сигналов по проводникам и снижения уровня отражений желательно применять или непосредственное соединение выхода предшествующего логического вентиля с входами следующих (рис.1.16б), или же располагать входы последующих каскадов на одной шине (рис.1.16в). . - 41 - 2. ИССЛЕДОВАНИЕ АЛГОРИТМОВ, ИСПОЛЬЗУЕМЫХ В СИСТЕМЕ P-CAD 2.1. Постановка задачи Целью данной дипломной работы является исследование раз- личных алгоритмов и методов, используемых пакетом P-CAD для решения задач размещения радиоэлектронных элементов и трасси- ровки печатных плат. Эти задачи составляют основу подсистемы учебно-исследовательской САПР, связанной с вопросами компонов- ки и топологии, как наиболее трудоемкого и нуждающегося в ав- томатизации этапа проектирования радиоэлектронной аппаратуры. Для того, чтобы узнать возможности алгоритмов, реализо- ванных в программах P-CAD, произведем разработку нескольких разнотипных блоков РЭА. Поскольку методика конструирования в значительной мере зависит от элементной базы, используемой в проекте (интегральные схемы в стандартных корпусах, дискретные элементы или равновесное содержание тех и других), для иссле- дований выбираем две схемы. Элементная база первой (рис.2.1) содержит примерно равное количество дисретных элементов и мик- росхем. Такое соотношение весьма характерно для современной радио-электронной аппаратуры III поколения средней степени ин- теграции, где все сильнее делается акцент на использование микросхем. Вторая схема (рис.2.2), напротив, содержит в основ- ном цифровые интегральные схемы. Процесс разработки такой пе- чатной платы может служить примером методики конструирования изделий с регулярной структурой. 2.2. Пример I. Блок видеомагнитофона 2.2.1. Расчет конструктивного объема Чтобы определить размеры монтажной платы проектируемого изделия, произведем расчет конструктивного объема. Расчет вы- полняется с помощью программы RTV. Результаты работы программы приведены в табл.2.1. . - 44 - Таблица 2.1. Список используемых элементов ЪДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДВДДДДДДДДДДДДДДї і Наименование элементов і Количество і Размеры, мм і ГДДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДЕДДДДДДДДДДДДДДґ і MЛТ_0125 і 19 і 6x2.2x2.2 і і KM-5 і 4 і 8x 8x 3 і і K50-6 і 1 і 18x 10x 10 і і KT315 і 1 і 7.2x 3x 8 і і K155ЛА3 і 1 і19.5x7.5x 5 і і K155ЛН1 і 1 і19.5x7.5x 5 і і K155ЛП5 і 1 і19.5x7.5x 5 і і К155ТМ2 і 1 і19.5x7.5x 5 і і К155АГ3 і 1 і21.5x7.5x 5 і і КР556РТ4 і 1 і21.5x7.5x 5 і і PK-172-TB-1 і 2 і 13x3.5x 10 і і КПК-1 і 2 і 16x 11x 9 і і Разъемы і 13 і 5x 2x 2 і АДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДБДДДДДДДДДДДДДДЩ Суммарная площадь элементов 1806 мм^2 Коэффициент заполнения 0.4 Площадь платы 45150 мм^2 Размеры сторон 60 x 75 мм 2.2.2. Упаковка конструктивов на плату Данный этап работы выполняет программа PC-PACK. Исходными данными для нее являются список цепей электрической схемы (NLT-файл), библиотека компонентов (LIB-файл) и файл, содержа- щий контур печатной платы (PCB-файл). По окончанию работы программы создается PKG-файл, содержащий описаscriDІЕ ние платы и ком- понентов, подготовленных для размещения. Собственно размещение выполняется программой PC-PLACE, специально предназначенной для этой операции, но может проводится и в редакторе PC-CARDS. По окончании работы программы PC-PACK в данном примере был создан PKG-файл (рис. 2.3). Видно, что программа считает оптимальным размещение деталей на плате размером 205 х 225 мм, - 46 - что не согласуется с поставленными нами условиями и примерно в три раза больше размеров, рекомендованных программой RTV. Поэ- тому дальнейшие этапы разработки изделия мы будем проводить на плате размером 60 х 75 мм, полученным при расчете конструктив- ного объема. 2.2.3. Размещение компонентов Размещение компонентов на плате в пакете P-CAD произво- дится программой PC-PLACE, которая обеспечивает как интерак- тивный, так и автоматический режимы работы. Как правило, авто- матическое размещение является только первым этапом компонов- ки. Очень редко расклад элементов, выполненный машиной явля- ется удовлетворительным как со стороны соблюдения конструк- торско-технологических требований, так и со стороны обеспече- ния возможности 100% последующей трассировки. 2.2.3.1. Автоматическое размещение Исходные данные ДДДДДДДДДДДДДДД Печатная плата 60 х 75 мм Сетка привязки конструктивов 100 х 100 DBU Сетка привязки трасс 50 х 50 DBU Очередность размещения конструктивов DIP16 DIP14 MLT_0125 C-PF CVAR KT315 K50-6 ZQ Так как элементы PIN (внешние разъемы) имеют жестко за- данное положение на плате, они предварительно размещены и зафиксированы и в автоматическом размещении не участвуют. (Примечание: 200 DBU = 5 мм) . - 47 - Статистика автоматического размещения ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД По окончанию работы программы автоматического размещения создается PLR-файл, содержащий отчет о выполненных действиях и результате. Время работы 00:00:17 Общая длинна связей (mils) 134511 Общее число компонентов 54 Число интегральных схем 5 Число интегральных схем (эквивалентных элементов) 10.38 Число дискретных компонентов 49 Число соединителей 0 Плотность элементов на плате 0.69 (в квадратных дюймах на эквивалентную схему) Неразмещенных компонентов 10 (MLT_0125 7) (C-PF 3) Гистограмма автоматического размещения ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Программа построения гистограммы анализирует число соеди- нений и незадействованных контактов, пересекающих каждую линию ресурсов, получает отношение этого числа к суммарному числу возможных каналов трассировки и выводит результат в виде гра- фика (рис. 2.4). Цвет гистограммы выражает степень использова- ния канала: зеленый - 0-35%; желтый - 35-50%: красный - более чем на 50%. Фактор выигрыша показывает относительное улучшение состо- яния гистограммы за счет каждого изменения размещения. В нача- ле работы фактор выигрыша обнуляется. . - 49 - Созданный программой отчет о гистограмме предсказываемой плотности трасс по автоматическому размещению: Вертикальная сетка гистограммы (ось X) Выделено 128 каналов трассировки. Использование Максимальное 40 ( 31 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 5 ( 3 %) Вертикальная сетка гистограммы (ось Y) Выделено 218 каналов трассировки. Использование Максимальное 40 ( 18 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 11 ( 5 %) Фактор выигрыша 0 2.2.3.2. Ручное размещение Компоновка элементов, не размещенных программой ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Размещение в интерактивном режиме позволяет разместить элементы, которые не смогла обработать программа автомати- ческой компоновки, а также улучшить условия scriDІЕ для последующей трассировки, минимизируя плотность трасс в выделенных каналах. О качестве осуществляемых перестановок можно судить по гистог- рамме и фактору выигрыша. . - 50 - Вертикальная сетка гистограммы (ось X) Выделено 128 каналов трассировки. Использование Максимальное 39 ( 30 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 5 ( 3 %) Вертикальная сетка гистограммы (ось Y) Выделено 218 каналов трассировки. Использование Максимальное 39 ( 17 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 10 ( 4 %) Фактор выигрыша 3 Перестановка логических элементов ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Программа PC-PLACE имеет возможность осуществить автома- тическую перестановку компонентов логических элементов, улуч- шающую размещение. На данном этапе осуществим перестановку ло- гических элементов для уменьшения суммарной длины связей. Логические элементы компонентов поддаются перестановке, если они эквивалентны и не используют различное питание. Система автоматически выполняет итерационные парные переста- новки логических элементов с целью улучшения текущего варианта размещения. Процесс заканчивается по достижению локального оп- тимума или по команде пользователя. Проход 1. Общая длина связей 216519 mils Обмен R14 на R18 Обмен DD2.1 на DD2.6 Обмен R5 на R6 Обмен R14 на R17 - 51 - Обмен R4 на R7 Обмен R20 на R5 Обмен DD4.1 на DD4.4 Обмен R20 на R11 Обмен R3 на R16 Обмен DD4.2 на DD4.3 Обмен DD1.2 на DD1.3 Проход 2. Общая длина связей 211305 mils Обмен DD2.6 на DD2.5 Обмен R6 на R18 Проход 3. Общая длина связей 208137 mils Обмен DD2.5 на DD2.4 Обмен R7 на R18 Проход 5. Общая длина связей 206106 mils Обмен не произведен Общая длина связей 206106 mils Время работы 00:00:08 Отчет по гистограмме после перестановке логических элементов: Вертикальная сетка гистограммы (ось X) Выделено 128 каналов трассировки. Использование Максимальное 38 ( 29 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 4 ( 3 %) Вертикальная сетка гистограммы (ось Y) Выделено 218 каналов трассировки. Использование . - 52 - Максимальное 36 ( 16 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 9 ( 4 %) Фактор выигрыша 5 Очевидно, что данная операция способствовала улучшению первоначального размещения - уменьшилась общая длина связей и плотность трасс в каналах. Перестановка компонентов ДДДДДДДДДДДДДДДДДДДДДДДД Для дальнейшей оптимизации размещения программа PC-PLACE предоставляет возможность осуществить автоматическую переста- новку однотипных компонентов для уменьшения суммарной длины связей. Процесс заканчивается по достижению локального оптимума или по команде пользователя. Проход 1. Общая длина связей 109141 mils Обмен R12 на R15 Обмен R5 на R9 Обмен R15 на R6 Обмен R13 на R10 Обмен R7 на R3 Обмен R11 на R4 Обмен R9 на R8 Обмен R2 на R8 Обмен C1 на C6 Обмен C4 на C3 Обмен R14 на R16 Обмен R18 на R17 Обмен DD4 на DD5 Обмен R4 на R8 Обмен C5 на C8 - 53 - Проход 2. Общая длина связей 97583 mils Обмен R15 на R2 Обмен R5 на R20 Обмен R20 на R13 Обмен R18 на R17 Обмен R2 на R7 Обмен C1 на C8 Обмен DD2 на DD4 Проход 3. Общая длина связей 94207 mils Обмен R15 на R3 Обмен R3 на R7 Обмен R2 на R14 Обмен R18 на R16 Обмен R16 на R17 Обмен R11 на R9 Проход 4. Общая длина связей 93093 mils Обмен не произведен Общая длина связей 93093 mils Время работы 00:00:08 Отчет по гистограмме после перестановке компонентов: Вертикальная сетка гистограммы (ось X) Выделено 128 каналов трассировки. Использование Максимальное 34 ( 26 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 4 ( 3 %) Вертикальная сетка гистограммы (ось Y) Выделено 218 каналов трассировки. Использование . - 54 - Максимальное 28 ( 12 %) Среднее scriDІЕ 0 ( 0 %) Минимальное 0 ( 0 %) Итого 8 ( 3 %) Фактор выигрыша 10 Данная операция оказала наибольшее влияние на общую длину связей и плотность трасс. Можно предположить, что имеется воз- можность производить дальнейшую оптимизацию данного размеще- ния. Способна ли программа PC-PLACE достичь лучших результа- тов, работая в автоматическом режиме? Чтобы проверить это, об- ратимся к повторной оптимизации размещения логических элемен- тов. Повторная перестановка логических элементов ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Проход 1. Общая длина связей 198750 mils Обмен DD1.4 на DD1.3 Обмен DD2.3 на DD2.1 Обмен DD1-D на DD1.2 Обмен R20 на R10 Обмен R11 на R20 Обмен R7 на R3 Обмен R15 на R5 Обмен DD4.4 на DD4.1 Обмен DD4.3 на DD4.2 Обмен DD5.2 на DD5.1 Проход 2. Общая длина связей 196477 mils Обмен R10 на R4 Обмен DD2.1 на DD2.4 . - 55 - Проход 3. Общая длина связей 196295 mils Обмен не произведен Общая длина связей 196295 mils Время работы 00:00:15 Отчет по гистограмме после перестановке компонентов: Вертикальная сетка гистограммы (ось X) Выделено 128 каналов трассировки. Использование Максимальное 35 ( 27 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 4 ( 3 %) Вертикальная сетка гистограммы (ось Y) Выделено 218 каналов трассировки. Использование Максимальное 29 ( 13 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 8 ( 3 %) Фактор выигрыша 9 В результате произведенного обмена длина связей безуслов- но уменьшилась, но гистограмма показывает увеличение плотности трасс в каналах. Здесь возникает проблема - каким результатом воспользоваться для дальнейшей работы. Критерием выбора может служить фактор, который необходимо обеспечить прежде всего - уменьшение суммарной длины связей может улучшить частотные ха- рактеристики изделия, особенно при проектировании высоко- частотной и сверхвысокочастотной аппаратуры, но увеличение плотности трасс может затруднить дальнейшую трассировку печат- ной платы, что особенно нежелательно при малых размерах последней. Так как степень заполненности платы в данной разра- ботке высока, а к конфигурации трасс специальных требований не - 56 - предъявляется, целесообразно выбрать вариант с минимальной плотностью трасс. Поэтому результаты последней перестановки не используем. Ручная оптимизация размещения ДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Дальнейшего улучшения размещения компонентов можно достичь поворотом некоторых компонентов на 180` и оптимизацией назначения контактов внешних выводов. Данная операция позволя- ет увеличить значение фактора выигрыша до 15. Вертикальная сетка гистограммы (ось X) Выделено 128 каналов трассировки. Использование Максимальное 30 ( 23 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 4 ( 3 %) Вертикальная сетка гистограммы (ось Y) Выделено 218 каналов трассировки. Использование Максимальное 28 ( 12 %) Среднее 0 ( 0 %) Минимальное 0 ( 0 %) Итого 8 ( 3 %) Фактор выигрыша 15 Дальнейшие попытки улучшить размещение не дают сколь- ко-нибудь заметного выигрыша, поэтому данное размещение (рис.2.5) можно считать окончательным и использовать для даль- нейшей работы. . - 58 - 2.2.4. Исследование методов соединения проводников Программа PC-ROUTE, осуществляющая автоматическую трасси- ровку платы, подготовленной в редакторе PC-PLACE, помимо обыч- ной настройки программ такого типа позволяет выбрать один из четырех методов присоединения проводников: 1. DAISY - соединение пар контактов; 2. MIN-SPAN - соединение пар контактов без Т; 3. STEINER - построение Т-образных соединений пар контак- тов по методу Штейнера; 4. STEINER-MINVIA - построение Т-образных соединений пар контактов с минимизацией числа переходных отверстий. Выбор того или иного метода для трассировки зависит от технологических особенностей изготовления печатной платы и/или необходимости обеспечить временные и электрические характе- ристики проектируемого изделия. Так, DAISY, при котором произ- водится непосредственное соединение выхода предшествующего ло- гического вентиля с входами следscriDІЕ ующих, целесообразно использо- вать при конструировании быстродействующих ИС с целью уменьше- ния задержки на распространение сигналов по проводникам и сни- жения уровня отражений. Если же применение данного метода зна- чительно снижает процент автоматической разводки платы, но требования к временным параметрам остаются высокими, можно ре- комендовать использование соединения MIN-SPAN, при котором входы последующих каскадов располагаются на одной шине. Способ STEINET с построением Т-образных соединений счита- ется наиболее эффективным и его обычно рекомендуется использо- вать, если позволяет конструкция. На рис.1.16 показаны все три метода. Проведем исследование методов, предлагаемых P-CADом. В качестве критериев оценки можно выбрать - процент разведенных связей, - длину проложенных проводников, - количество переходных отверстий, - время работы. В исследуемой схеме 46 цепей, 109 связей и 166 контактов. . - 59 - Работа проводилась на компьютере IBM-PC 386DX 40MHz. Результа- ты четырех трассировок приведены на рис.2.6., в табл.2.2. и табл.2.3. Таблица 2.2. Сравнение эффективности методов построения соединений ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДВДДДДДДДДВДДДДДДДВДДДДДДДДДДДДДДї і Метод і DAISY іMIN-SPANіSTEINERіSTEINER-MINVIAі ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДЕДДДДДДДДЕДДДДДДДЕДДДДДДДДДДДДДДґ іПроцент разводки і 100і 100і 100і 100 і іДлина проводников і 107746і 107025і 100975і 101575 і іПереходных отверстийі 23і 16і 22і 25 і іВремя работы (мм.сс)і 01.25і 01.28і 01.38і 01.45 і АДДДДДДДДДДДДДДДДДДДДБДДДДДДДБДДДДДДДДБДДДДДДДБДДДДДДДДДДДДДДЩ Таблица 2.3. Распределение времени при трассировке ЪДДДДДДДДДДДДДДДДДДДДДДВДДДДДВДДДДДДДДВДДДДДДДВДДДДДДДДДДДДДДї і Процесс іDAISYіMIN-SPANіSTEINERіSTEINER-MINVIAі ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДЕДДДДДДДДЕДДДДДДДЕДДДДДДДДДДДДДДґ іУпорядочение і 1 і 1 і 1 і 1 і іТрассировка і 25 і 19 і 21 і 31 і іОптимизация. Проход 1.і 23 і 19 і 22 і 25 і іМинимизация переходові 5 і 4 і 5 і 5 і іОптимизация. Проход 2.і 32 і 28 і 27 і 32 і іСпрямление углов і 2 і 2 і 2 і 2 і АДДДДДДДДДДДДДДДДДДДДДДБДДДДДБДДДДДДДДБДДДДДДДБДДДДДДДДДДДДДДЩ Безусловно, полученные результаты в некоторой степени за- висят от конкретной схемы и качества компоновки печатной пла- ты. Но, используя данные этого эксперимента, все же можно сде- лать некоторые общие выводы: - построение трасс по методу Штейнера является наиболее продолжительным. Это можно объяснить затратами времени на расчет точек присоединения "ветвей" к "дереву" трассы; - в литературе данный метод рекомендуется как наиболее выгодный для повышения числа разведенных связей и уменьшения их суммарной длины. В данном примере любой алгоритм обеспечи- вает 100% разведение цепей, но метод Штейнера, действительно, - 65 - обеспечивает минимальную суммарную длину проводников. DAISY, как и предполагается, выдает максимальное число проводников, что объясняется самим принципом соединения контактов (только две связи на один контакт); - количество переходных отверстий минимально при исполь- зовании MIN-SPAN. В данном примере это особенно важно, так как данная плата технологически проще в изготовлении. Сравнивая результаты трассировок, статистические данные (рис.2.7 - 2.9) и геометрические контуры трасс, для изготовле- ния платы данного устройства следует выбрать второй вариант (MIN-SPAN), как наиболее технологичный (рис.2.10 - 2.11). 2.3. Пример II. 2.3.1. Размеры печатной платы В данном примере разработка изделия производилась по за- казу и размеры печатной платы были определены заказчиком исхо- дя из габаритных размеров проектируемой конструкции. Расчет габаритного объема производился основным разработчиком изде- лия. Таким образом наша задача упрощается. Мы должны произ- вести разработку печатной платы размером 60х90 мм. Электри- ческая принципиальная схема блока приведена на рис.2.2. 2.3.2. Упаковка конструктивов на плату По окончании работы программы PC-PACK в данном примере был создан PKG-файл (рис. 2.12). Видно, что программа размеща- ет детали на площадке размером 100х110 мм, что, как и в первом примере, не согласуется с поставленными нами условиями. Можно сделать вывод, что при начальном расположении элементов прог- рамма выбирает минимальный коэффициент заполнения. Данный вы- бор никак не может служить рекомендацией для определения раз- меров печатной платы, так как такой расклад элементов является крайне неэкономичным. Для проведения дальнейших этапов разра- ботки используем заданные заказчиком размеры пscriDІЕ ечатной платы 60х90 мм. - 68 - 2.3.3. Размещение компонентов 2.3.3.1. Автоматическое размещение Исходные данные ДДДДДДДДДДДДДДД Печатная плата 60 х 90 мм Сетка привязки конструктивов 100 х 100 DBU Сетка привязки трасс 50 х 50 DBU Так как элементы PIN (внешние разъемы) имеют жестко за- данное положение на плате, они предварительно размещены и зафиксированы и в автоматическом размещении не участвуют. Статистика автоматического размещения ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД По окончанию работы программы автоматического размещения создается PLR-файл, содержащий отчет о выполненных действиях и результате. Время работы 00:00:16 Общая длинна связей (mils) 188746 Общее число компонентов 53 Число интегральных схем 18 Число интегральных схем (эквивалентных элементов) 19.88 Число дискретных компонентов 35 Число соединителей 0 Плотность элементов на плате 0.43 (в квадратных дюймах на эквивалентную схему) Неразмещенных компонентов 4 (K155ИЕ5 4) . - 70 - Гистограмма автоматического размещения ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Созданный программой отчет о гистограмме предсказываемой плотности трасс по автоматическому размещению: Вертикальная сетка гистограммы (ось X) Выделено 88 каналов трассировки. Использование Максимальное 81 ( 92 %) Среднее 0 ( 0 %) Минимальное 50 ( 56 %) Итого 45 ( 51 %) Вертикальная сетка гистограммы (ось Y) Выделено 80 каналов трассировки. Использование Максимальное 57 ( 71 %) Среднее 0 ( 0 %) Минимальное 46 ( 57 %) Итого 36 ( 45 %) Фактор выигрыша 0 2.3.3.2. Ручное размещение Компоновка элементов, не размещенных программой ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Размещение в интерактивном режиме позволяет разместить элементы, которые не смогла обработать программа автомати- ческой компоновки, и улучшить условия для последующей трасси- ровки, используя операции перестановки компонентов и логи- ческих элементов, минимизируя плотность трасс в выделенных ка- налах. О качестве осуществляемых перестановок можно судить по гистограмме и фактору выигрыша. . - 71 - Перестановка логических элементов ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Длина связей = 167990 mils Проход 1 . Длина связей = 167990 mils Проход 2 . Длина связей = 151410 mils Проход 3 . Длина связей = 146788 mils Проход 4 . Длина связей = 140787 mils Проход 5 . Длина связей = 139182 mils Проход 6 . Длина связей = 139015 mils Длина связей = 138931 mils Время работы: 00:00:16 Перестановка компонентов ДДДДДДДДДДДДДДДДДДДДДДДД Длина связей = 146160 mils Проход 1 . Длина связей = 146160 mils Проход 2 . Длина связей = 138860 mils Проход 3 . Длина связей = 134839 mils Проход 4 . Длина связей = 129759 mils Проход 5 . Длина связей = 127235 mils Проход 6 . Длина связей = 123560 mils Проход 7 . Длина связей = 123252 mils Длина связей = 123252 mils Время работы: 00:00:18 Мы получили сокращение общей длины связей, но учитывая высокую плотность компоновки печатной платы, необходимо макси- мально облегчить последующую трассировку. Повторим перестанов- ки, используя в качестве исходных достигнутые результаты. Перестановка компонентов ДДДДДДДДДДДДДДДДДДДДДДДД Длина связей = 123166 mils Проход 1 . Длина связей = 123166 mils Проход 2 . Длина связей = 119388 mils Проход 3 . Длина связей = 118848 mils - 72 - Проход 4 . Длина связей = 118476 mils Проход 5 . Длина связей = 118026 mils Проход 6 . Длина связей = 117792 mils Проход 7 . Длина связей = 117590 mils Длина связей = 117538 mils Время работы: 00:00:26 Перестановка логических элементов ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Длина связей = 157613 mils Проход 1 . Длина связей = 157613 mils Проход 2 . Длина связей = 143600 mils Проход 3 . Длина связей = 142331 mils Проход 4 . Длина связей = 141548 mils Длина связей = 141548 mils Время работы: 00:00:14 Перестановка компонентов ДДДДДДДДДДДДДДДДДДДДДДДД Длина связей = 130695 mils Проход 1 . Длина связей = 130695 mils Проход 2 . Длина связей = 126391 mils Проход 3 . Длина связей = 119905 mils Проход 4 scriDІЕ . Длина связей = 118569 mils Проход 5 . Длина связей = 118225 mils Проход 6 . Длина связей = 117975 mils Длина связей = 117975 mils Время работы: 00:00:23 Перестановка логических элементов ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Длина связей = 157089 mils Проход 1 . Длина связей = 157089 mils Проход 2 . Длина связей = 142944 mils Проход 3 . Длина связей = 142651 mils Проход 4 . Длина связей = 141868 mils - 73 - Длина связей = 141868 mils Время работы: 00:00:14 Ручная оптимизация размещения ДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Дальнейшего улучшения размещения компонентов можно достичь поворотом некоторых компонентов на 180` и оптимизацией назначения контактов внешних выводов. Данная операция позволя- ет увеличить значение фактора выигрыша до 9. Вертикальная сетка гистограммы (ось X) Выделено 72 каналов трассировки. Использование Максимальное 63 ( 87 %) Среднее 18 ( 25 %) Минимальное 48 ( 66 %) Итого 42 ( 58 %) Вертикальная сетка гистограммы (ось Y) Выделено 44 каналов трассировки. Использование Максимальное 38 ( 86 %) Среднее 0 ( 0 %) Минимальное 30 ( 68 %) Итого 25 ( 56 %) Фактор выигрыша 9 Дальнейшие попытки улучшить размещение не дают сколь- ко-нибудь заметного выигрыша, поэтому данное размещение (рис.2.13) можно считать окончательным и использовать для дальнейшей работы. 2.3.4. Трассировка соединений Произведем трассировку различными методами, предлагаемыми программой PC-ROUTE. Основными критериями оценки качества трассировки будем считать: - 75 - - процент разведенных связей, - количество переходных отверстий, - общую длину проводников. В исследуемой схеме 62 цепи, 170 связей и 318 контактов. Статистические данные результатов трассировок приведены в табл.2.3, табл.2.4. и на рис.2.14, рис.2.15. Таблица 2.3. Сравнение эффективности методов построения соединений ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДВДДДДДДДДВДДДДДДДВДДДДДДДДДДДДДДї і Метод і DAISY іMIN-SPANіSTEINERіSTEINER-MINVIAі ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДЕДДДДДДДДЕДДДДДДДЕДДДДДДДДДДДДДДґ іПроцент разводки і 99.4і 100і 100і 100 і іДлина проводников і 150975і 150222і 139999і 145439 і іПереходных отверстийі 78і 77і 64і 59 і іВремя работы (мм.сс)і 03.48і 02.41і 03.15і 03.18 і АДДДДДДДДДДДДДДДДДДДДБДДДДДДДБДДДДДДДДБДДДДДДДБДДДДДДДДДДДДДДЩ Таблица 2.4. Распределение времени при трассировке ЪДДДДДДДДДДДДДДДДДДДДДДВДДДДДВДДДДДДДДВДДДДДДДВДДДДДДДДДДДДДДї і Процесс іDAISYіMIN-SPANіSTEINERіSTEINER-MINVIAі ГДДДДДДДДДДДДДДДДДДДДДДЕДДДДДЕДДДДДДДДЕДДДДДДДЕДДДДДДДДДДДДДДґ іУпорядочение і 1 і 1 і 2 і 2 і іТрассировка і 120 і 66 і 150 і 88 і іОптимизация. Проход 1.і 65 і 57 і 70 і 73 і іМинимизация переходові 10 і 10 і 9 і 9 і іОптимизация. Проход 2.і 9 і 10 і 9 і 9 і іСпрямление углов і 3 і 3 і 3 і 3 і АДДДДДДДДДДДДДДДДДДДДДДБДДДДДБДДДДДДДДБДДДДДДДБДДДДДДДДДДДДДДЩ Метод DEISY не обеспечил 100% трассировки соединений, по- этому из дальнейшего рассмотрения его исключаем. Проведенная по методу MIN-SPAN трассировка строит трассы, располагая входы последующих каскадов на одной шине. Это весь- ма часто используемый в цифровой технике метод трассировки, но в данном случае он обеспечивает наихудшие результаты - макси- мальную длину трасс и максимальное число переходных отверстий. - 79 - Методы использующие построение дерева Штейнера - STEINER и STEINER-MINSPAN дают лучшие результаты. Здесь практика пол- ностью совпадает с теорией, согласно которой введение дополни- тельных точек соединения облегчает построение трасс (см. п. 1.3.3). STEINER-MINSPAN обеспечивает минимизацию числа пере- ходных отверстий, но при его использовании суммарная длина соединений увеличивается. Мы должны определиться - какой из двух факторов предпочесть. Меньшая длина трасс третьего вари- анта трассировки может улучшить частотные характеристики изде- лия и его помехозащищенность, но печатная плата с большим ко- личеством переходных отверстий сложнее в изготовлении. В дан- ном проекте следует предпочесть трассировку методом STEINER-MINVIA, так как мы производим разработку проекта на плате весьма малого размера, и большое число переходных от- верстий может сильно затруднить ее изготовление. Исследуем зависимость эффективности трассировки от поряд- ка предварительной сортировки цепей (см.п. 1.3.5). scriDІЕ Результаты сравнения приведены в табл.2.5. и рис.2.16. Таблица 2.5. Сравнение трассировок при разной сортировке ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї і Сортировка цепей і Короткие-Длинные і Длинные-Короткие і ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДґ іПроцент разводки і 100 і 100 і іДлина проводников і 145439 і 139772 і іПереходных отверстийі 59 і 40 і іВремя работы (мм.сс)і 03:18 і 02:30 і АДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ Видно, что предварительная сортировка цепей в порядке убывания длины позволяет получить заметный выигрыш в качестве разводки. Количество переходных отверстий уменьшилось на де- вятнадцать, стали короче трассы, сократилось время работы программы. Данный вариант можно считать наилучшим и использо- вать для изготовления платы. . - 80 - Проведенные исследования показали, что при проектировании печатных плат немаловажное значение имеет состав элементной базы проекта. При разработке изделия в первом примере, содер- жащего примерно равное количество дискретных элементов и кор- пусных микросхем, размеры печатной платы выбирались исходя из результатов расчета конструктивного объема (коэффициент запол- нения 0.4). Размеры платы во втором примере (элементная база, в основном, представлена микросхемами) были заданы заказчиком, Плотность размещения компонентов в обоих примерах примерно одинакова, но операции оптимизации размещения, предоставляемые P-CADом, позволяют добиться лучшего результата во втором при- мере. Так, если в примере I при попытке произвести повторные перестановки компонентов и логических элементов плотность свя- зей не уменьшается, т. е. после первого обращения к этим опе- рациям достигается оптимальное состояние, то в примере II, со- держащем относительно большее количество логических вентилей, именно повторное использование перестановок в различных соче- таниях позволяет достичь лучшего результата. Можно сделать вы- вод, что P-CAD больше приспособлен для компоновки корпусных схем. Применение одних автоматических операций здесь позволяет достичь вполне удовлетворительных результатов. Но размещение дискретных компонентов лучше всего производить в интерактивном режиме, используя в качестве исходных данных автоматический расклад элементов. . - 81 - 3. РАСЧЕТ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ САПР ПЕЧАТНЫХ ПЛАТ НА ОСНОВЕ ПАКЕТА P-CAD Понятие "автоматизированная система" охватывает все типы систем, в которых функционирование системы осуществляется в результате согласованного взаимодействия человека-специалиста в заданной области - и соответствующего комплекса средств ав- томатизации его труда на базе компьютера. Для всех систем дан- ного класса характерно включение человека в состав системы при научно обоснованном распределении функций между ним и комп- лексом средств автоматизации (КСА). Такое распределение пред- полагает выполнение человеком более свойственных ему функций эвристического характера, основанных на опыте, интуиции, не- формальном творческом отношении к выполняемому процессу, и включение в КСА формализованных, алгоритмически представимых функций, основанных на использовании известных методов и зна- ний. Оценка эффективности автоматизированных систем необходима не столько для фиксации соотношения произведенных затрат и по- лученных результатов, сколько для определения форм и методов эффективного создания системы, а затем ее эффективного функци- онирования. Знание механизма формирования эффективности авто- матизированных систем необходимо не только экономистам, рассчитывающим экономические показатели, характеризующие систему, но и разработчикам автоматизированных систем, а также специалистам, работающим в них и обслуживающих их, с тем чтобы закладывать в систему и практически использовать методы и ре- шения, повышающие ее эффективность. Понятие эффективности автоматизированной системы шире по- нятия ее экономической эффективности, поскольку в него входят также понятия научно-технического уровня и качества системы, некоторые составляющие социальной эффективности, которые не- достаточно точно фиксируются в величине экономической эффек- тивности. Основными факторами, определяющими экономическую эффек- тивность САПР, являются: - улучшение качества проектирования, складывающееся из улучшения качества инженерных решений и качества технической - 82 - документации (экономия за счет снижения и ликвидации брака в технической документации, уменьшения затрат на доработку и дублирование технической документации); - уменьшение срока проектирования новой техscriDІЕ ники, что оп- ределяется сокращением цикла "исследование - производство" и сказывается на увеличении срока морального износа нового изде- лия, эффекта приоритетной новизны изделия, обеспечивающего его конкурентоспособность, экономии за счет сокращения потребности в оборотных средствах в результате ускорения их оборачивае- мости; - снижение затрат на производство, происходящее от эконо- мии капитальных затрат на выполнение исследований и проектиро- вания за счет замены дорогостоящих натуральных испытаний, фи- зического моделирования, специализированных стендов математи- ческим и имитационным моделированием; - экономический эффект от сокращения численности работни- ков, занятых на стадии исследования и проектирования. Область функционирования САПР P-CAD - проектирование уп- равляющих программ для фотокоординатографа, станков с ЧПУ и плоттера. Внедрение САПР позволит: сократить сроки разработки и изготовления печатных плат; уменьшить конструкторские ошибки при проектировании фотошаблонов; повысить производительность труда проектировщиков фотошаблонов; уменьшить трудоемкость и стоимость проектирования. Исходные данные для расчета приведены в табл.1.1. Таблица 1.1. Исходные данные ЪДДДДДДДДДДДДДДДДДДДВДДДДДДДДДВДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї і Наименование іУсловные і Единица і Значение показателяі і показателей іобозначе-іизмеренияГДДДДДДДДДДВДДДДДДДДДґ і і ния і і без САПР і с САПР і ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДДДДДДДЕДДДДДДДДДДЕДДДДДДДДДґ і1. Количество пе-і Nп, Nап і шт/годі 280 і 280 і ічатных плат, проек-і і і і і ітируемых за год і і і і і і2. Трудоемкость і tп, tап і чел-ч/шті 165 і 64 і іпроектирования од-і dtп = і і 101 і і іной печатной платы і і і і і АДДДДДДДДДДДДДДДДДДДБДДДДДДДДДБДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДЩ . - 83 - Продолжение табл.1.1. ЪДДДДДДДДДДДДДДДДДДДВДДДДДДДДДВДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї і Наименование іУсловные і Единица і Значение показателяі і показателей іобозначе-іизмеренияГДДДДДДДДДДВДДДДДДДДДґ і і ния і і без САПР і с САПР і ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДДДДДДДЕДДДДДДДДДДЕДДДДДДДДДґ і3. Количество фото-і Nф, Nаф і шт/годі 600 і 600 і ішаблонов, проекти-і і і і і іруемых за год і і і і і і4. Трудоемкость і tф, tаф і чел-ч/шті 66 і 41 і іпроектирования од-і dtф = і і 25 і і іного фотошаблона і і і і і і5. Количество кор-і Nк, Nак і шт/годі 140 і 140 і іректируемых плат заі і і і і ігод і і і і і і6. Трудоемкость і tк, tак ічел-ч/годі 100 і 40 і ісхемных корректиро-і dtк = і і 60 і і івок по одной плате і і і і і і7. Удельная стои-і Cтп іруб/чел-чі 500 і 500 і імость трудозатраті і і і і іодного конструктораі і і і і іплат і і і і і і8. Удельная стои-і Cтф іруб/чел-чі 550 і 550 і імость трудозатраті і і і і іпроектирования ФШ і і і і і і9. Отчисления в і K1 і % і 28 і 28 і іпенсионный фонд і і і і і і10. Отчисления на і К2 і % і 5.4 і 5.4 і ісоц. страхование і і і і і і11. Отчисления на і K3 і % і 3.6 і 3.6 і іобязательное мед. і і і і і істрахование і і і і і і12. Отчисления в і К4 і % і 2 і 2 і іфонд занятости і і і і і і13. Предпроизводст-і Kп і тыс.руб.і і 1000 і івенные затраты наі і і і і ісоздание САПР, при-і і і і і іведенные к расчет-і і і і і іному году і і і і і АДДДДДДДДДДДДДДДДДДДБДДДДДДДДДБДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДЩ . - 84 - Продолжение табл.1.1. ЪДДДДДДДДДДДДДДДДДДДВДДДДДДДДДВДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДї і Наименование іУсловные і Единица і Значение показателяі і показателей іобозначе-іизмеренияГДДДДДДДДДДВДДДДДДДДДґ і і ния і і без САПР і с САПР і ГДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДЕДДДДДДДДДЕДДДДДДДДДДЕДДДДДДДДДґ і14. КапитальнscriDІЕ ые і Kк і тыс.руб.і і 3000 і ізатраты на КТС, і і і і і іиспользуемый в і і і і і іСАПР, приведенные кі і і і і ірасчетному году і і і і і і15. Стоимость 1 чі Cми і руб/ч і і 200 і іработы оборудованияі і і і і іКТС і і і і і і16. Действительный і Fд і ч і і 2400 і ігодовой фонд време-і і і і і іни работы оборудо-і і і і і івания КТС і і і і і і17. Коэффициент і Tсапр і % і і 90 і ізагрузки оборудова-і і і і і іния решением задачі і і і і іСАПР і і і і і і18. Период функцио-і T і лет і і 5 і інирования САПР сі і і і і іодинаковым годовымі і і і і ірезультатом до об-і і і і і іновления системы і і і і і АДДДДДДДДДДДДДДДДДДДБДДДДДДДДДБДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДЩ 1. Расчет затрат на создание и функционирование САПР на основе пакета P-CAD. 1.1. Расчет единовременных затрат на создание и ввод в действие САПР: K = Kп + Tсапр * Kк K = 1000 + 0.9 * 3000 = 3700 тыс.руб. (исходные данные затрат приведены к расчетному году). . - 85 - 1.2. Расчет текущих затрат на функционирование САПР: а) годовые текущие затраты на функционирование САПР: Иг = Tсапр * Сми * Fд / 1000 Иг = 0.9 * 200 * 2.4 = 432 тыс.руб/г б) суммарные текущие затраты на функционирование САПР за 5 лет с приведением к расчетному году (первому году функциони- рования системы): Так как Ио = И1 = И2 =И3 = И3 = И4 = Иг, то И = Иг*а0 + Иг*а1 + Иг*а2 + Иг*а3 + Иг*а4 И = 432 * (1 + 0.9091 + 0.8264 + 0.7513 + 0.6831) = = 1801.4 тыс.руб. (значения ai взяты из табл.1.2). Таблица 1.2. Значение коэффициентов приведения к расчетному году ai. ЪДДДДДДДДВДДДДДДДДДї і i і ai і ГДДДДДДДДЕДДДДДДДДДґ і 0 і 1 і і 1 і 0.9091 і і 2 і 0.8264 і і 3 і 0.7513 і і 4 і 0.6831 і АДДДДДДДДБДДДДДДДДДЩ 1.3. Расчет суммарных затрат на создание и пятилетнее функционирование САПР: З = К + И З = 3700 + 1801.4 = 5501.4 тыс.руб. (здесь значения К и И приведены к расчетному году). 2. Стоимостная оценка результатов функционирования САПР (расчет экономии от САПР). . - 86 - 2.1. Расчет сокращения времени проектирования требуемого количества печатных плат и фотошаблонов: dTп = T * (dtп * Nп + dtк * Nк) dTф = T * dtф * Nф dTп = (101 * 280 + 60 * 140 ) * 5 = 183400 часов dTф = 25 * 600 * 5 = 75000 часов 2.2. Расчет годовой экономии по заработной плате, получа- емой от снижения трудозатрат при проектировании печатных плат, фотошаблонов и внесении схемных корректировок в условиях САПР: Pз = SUM( Nаi * dti * Ci) * [1 + SUM(Ki)] / 1000 или Pз = [1+(K1+K2+K3+K4)] * [Nап*dtп*Cтп + + Nаф*dtф*Cтф + + Nак*dtк*Cтп]/ 1000, Pз = 1.39 / 1000 * *(280*101*500 + 600*25* 550 + 140*60* 500) = = 36960.1 тыс.руб/год 2.3. Условно-годовая экономия Pг = Pз - Иг Рг = 36960.1 - 432 = 36528.1 тыс.руб/год 2.4. Расчет экономии, получаемой от снижения трудозатрат на проектирование печатных плат и фотошаблонов за период функ- ционирования САПР: P = Pг * (ao + a1 + a2 + a3 + a4) Р = 36528.1 * 4.1699 = 152318.5 тыс.руб. . - 87 - Экономия в результате уменьшения числа конструкторских ошибок и брака в документации учтена в снижении трудозатрат на проектирование. Здесь не рассчитывается экономия, получаемая при изготов- лении печатных плат за счет проектирования в САПР, из-за отсутствия исходных данных. На практике такая экономия может быть получена в результате оптимизации схемных решений на пе- чатной плате и решения многовариантной задачи выбора оптималь- ной технологии изготовления печатной платы. Получение экономии в процессе изготовления печатных плат должно являться основной целью автоматизации проектироваscriDІЕ ния. Кроме того, важной составляющей стоимостной оценки ре- зультата функционирования САПР является оценка конкурен- тоспособности проектируемого изделия и прибыли, получаемой за счет его опережающего выпуска. Это также является предметом специального исследования и в данном расчете не учитывается из-за отсутствия исходных данных. 2.5. Оценка годового экономического эффекта, получаемого при функционирование САПР: Эг = Рг - К / Т Эг = 36528.1 - 3700 / 5 = 35788.1 тыс.руб/год 2.6. Оценка экономического эффекта, получаемого за пятилет- нее функционирование САПР: Э = Р - К Э = 152318.5 - 3700 = 148618.5 тыс.руб. 2.7. Оценка народнохозяйственной эффективности САПР: Еа = Рг / К Еа = 36528.1 3700 = 9.9 1/год . - 88 - 2.8. Оценка периода возврата единовременных затрат: Твз = 1 / Еа Твз = 1 / 9.9 = 0.1 года Единовременные затраты возвращаются за период Tвз ных работ на основе пакета P-CAD, а так же будут полезны разработчикам РЭА, использующим эту систему. Несомненно, развитие промышленного производства в даль- нейшем будет идти по пути все большей автоматизации как конструирования, так и производства. Но не следует упускать из виду, что в настоящее время методы машинного проектирования еще не вышли на уровень полной автоматизации. Какими бы эффек- тивными не были программы машинного проектирования, они по-прежнему остаются только инструментом, дополняющим возмож- ности разработчика. На данном этапе полная автоматизация про- ектирования невозможна. . - 92 - ЛИТЕРАТУРА 1. Автоматизированное конструирование монтажных плат РЭА: Справ. специалиста/ А.Т.Абрамов, В.Б.Артемов, В.П.Богданов и др.; Под ред. Л.П.Рябова.- М.:Радио и связь, 1986. 2. Справочник конструктора РЭА: Общие принципы конструи- рования/ Под ред. Р.Г.Варламова. - М.:Сов.радио, 1980. 3. Системы автоматизированного проектирования электронной и вычислительной аппаратуры/Норенков И.П., Маничев В.Б.- М.:Высш.школа, 1983. 4. Ульман Дж. Вычислительные аспекты СБИС: Пер.с англ./Под ред. П.П.Пархоменко.- М.:Радио и связь, 1990. 5. Автоматизированное проектирование СБИС на базовых кристаллах/ А.И.Петренко, В.Н.Лошаков, А.Я.Тетельбаум, Б.Л. Шрамченко.- М.:Радио и связь, 1988. 6. Проектирование СБИС: Пер. с япон./Ватанабэ М., Асада К., Кани К., Оцуки Т.- М.:Мир, 1988. 7. Placement and routing. User's Manuals. Personal CAD Systems Inc. 1987. 8. Беклешов В.К., Морозова Г.А. САПР в машиностроении: организационно-экономические проблемы. - Л.: Машиностроение, 1989. 9. Комплексная оценка эффективности мероприятий, направ- ленных на ускорение научно-технического прогресса: методи- ческие рекомендации и комментарии по их применению.- М., 1989 10. Автоматизированное проектирование микросхем для вто- ричных источников питания/ Анисимов В.И., Дмитриевич Г.Д., Ка- питонов М.В. и др.- Л.:ЛЭТИ, 1986. 11. Компоновка и конструкции микроэлектронной аппаратуры/ П.И.Овсищер, И.И.Лившиц, А.К.Орчинский и др.- М.:Радио и связь, 1982. 12. Графические средства проектирования РЭА/ Д.И.Тома- шевский, Г.Г.Масютин, А.А.Явич, В.В.Преснухин.- М.:Сов.радио, 1980. 13. Селютин В.А. Автоматизированное проектирование топо- логии БИС. - М.:Радио и связь, 1983. 14. Морозов К.К., Одиноков В.Г., Курейчик В.М. Автомати- зированное проектирование конструкций радиоэлектронной аппара- туры.- М.:Радио и связь, 1983. . - 93 - Приложение I. Программа RTV. * Clipper Summer'87. * -------------------------------------------------------------- * * Программа RTV - расчет установочного объема РЭА * * г.Владивосток, ДВТИ, кафедра РКТ, Горбач Д.А. * * март, ноябрь 1992 г., май 1993 г. * * -------------------------------------------------------------- * * * Параметры элементов в базе данных: * * L * _______ * D / /і Цилиндрические детали: * ЪДДДДДДї і В базе D=0 как признак цилиндра. * і і і Тогда площадь элемента считается * і і і * H і і і Selem = L x L * і і/ Velem = H x Selem * АДДДДДДЩ * і і * L * _______________________________ Плоские детали (DIP и др) * D / /і Площадь элемента: * ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і * H і Ъ Ъ Ъ Ъ Ъ Ъ і/ Selem = L x D * АДДіДДДДіДДДДДіДДДДіДДДіДДДіДДЩ Velem = H x Selem * * wsetmove(.F.) set key 28 to my_help set key -9 to menu set scoreboard off set cursor off set wrap on public baza, Kol, N_ALL, N_ELEMENT[20] public Selem, Velem, Vreal, Vusta, Mass, GlavMenu, WM, WE, WB, TXT public KoeV, KoeM, VGA public sideX, sideY, sideZ public nfile, ok, vk, box1 declare Pole_base[15], Titl[15], T[1] ok =.T. vk = chr(13)+chr(10) TXT = "" VGA =.F. Selem = 0 Velem = 0 Vreal = 0 Vusta = 0 Mass = 0 KoeV = 0.50 KoeM = 1.25 sideX = 0 sideY = 0 sideZ = 0 nfile = "rtv.doc " GlavMenu = 3 T[1] = "baza0->element" box1 = "ЕБЗНИЛЙґ " box2 = "КБхНхЛМґ " DO GetScreen DO SetScreen set color to "w*/n" clearwin(0,0,24,79, "w*/n"," ") set color to "n */w ,w+ /n" WM=wopen( 0,0,0,79) - 94 - wselect( 0) @ 0, 0 say space(80) @24, 0 say space(80) @24, 2 say "F1-Help і" @24,67 say "і F10-Menu" keyboard chr(27) do menu if file("RTV_1.DBF") # ok .or. ; file("RTV_1.DBT") # ok .or. ; file("RTV_2.DBF"scriDІЕ ) # ok .or. ; file("RTV_3.DBF") # ok window( 10,13,14,66, "w+/r") @ 2,4 say "Не найдены системные файлы - работа невозможна" inkey(0) wclose() l_gmode(3) quit endif window(7,21,17,58, "w+*/b ,w+ /n") do copyright select 1 use RTV_1 alias baza0 do menu_new PUBLIC N[n_all] afill( N,0) select 2 use RTV_2 alias Korpus if file("RTV_2.NTX") # ok index on DIP to RTV_2 endif set index to RTV_2 select 3 use RTV_3 alias Standart if file("RTV_3.NTX") # ok index on GOST to RTV_3 endif set index to RTV_3 wclose() WB=window( 2, 16, 21, 76, "w+*/b ,w+ /n") set color to "n/w" @ 0,59,19,60 box box1 set color to "n */w ,w+ /n" @ 0,59 say "Кх" @ 19,59 say "Мх" @ 4,51 say " PgUp " @ 7,51 say " PgDn " @10,51 say " Tab " set color to "n */b" @ 4,57 say "Ь" @ 5,52 say "ЯЯЯЯЯЯ" @ 7,57 say "Ь" @ 8,52 say "ЯЯЯЯЯЯ" @10,57 say "Ь" @11,52 say "ЯЯЯЯЯЯ" WE=window( 2, 1, 15, 12, "w+*/b ,w+ /n") select 1 go top * --------------------------------------------------------- * * Собственно программа * * --------------------------------------------------------- * dbedit( 1,2,12,9, T, "edit", 0, "Элемент","Д") quit - 95 - * --------------------------------------------------------- * * Процедуры, функции * * --------------------------------------------------------- * function edit parameters m, f if lastkey()=9 .or. lastkey()=13 && Ret, Tab do Var_base endif return( 1) * --------------------------------------------------------- * procedure Var_base private i, rec, X, Y, tmp, scr, len, N_inp N_inp = 0 scr = wselect() tmp = "" X = 0 Y = 0 wselect( WB) set color to "n */w" @ 1,59 say "ґН" set color to "w+*/b ,w+ /n" @ 3,1,16,48 box box1 select 1 rec = recno() afill(Pole_base,"") baza= baza0->base @ 1,3 say baza0->NAME Y=Mlcount(POLE,8) for i=1 to Y Pole_base[i]=Memoline(baza0->POLE, 8,i) @ 3+i,2 say MemoLine(baza0->Glav,15,i) next i if rec > 1 for i=1 to rec-1 X=X+N_ELEMENT[i] next i endif select 4 use &baza alias bazaRT len=lastrec() set key 9 to exit_code do while ok set color to "w+*/b ,w+ /n" clear gets for i=1 to Y if Pole_base[i]="N" N_inp=N[recno()+X] @ 3+i,18 get N_inp picture " 9999" else tmp=Pole_base[i] @ 3+i,18 say &tmp endif next i set cursor on read set cursor off N[X+recno()]=N_inp key=lastkey() do case case key=13 .or. key=3 && PgDn, Enter do print_code skip +1 if eof() skip -1 endif case key=18 && PgUp do print_code - 96 - skip -1 case key=27 && Esc do print_code exit endcase set color to "n */w" @ 1+17*recno()/len,59 say "ґН" enddo set key 9 to select 1 goto rec wselect(scr) return * --------------------------------------------------------- * procedure exit_code keyboard chr(27) return * --------------------------------------------------------- * procedure print_code set color to "n/w" @ 1+17*recno()/len,59 say "ґН" return * --------------------------------------------------------- * Procedure menu set cursor off set key -9 private scr scr=wselect() do while ok wselect( WM) @ 0, 1 prompt " р " @ 0, 5 prompt " Файл " @ 0,12 prompt " Данные " @ 0,21 prompt " Расчет " @ 0,30 prompt " Объем " @ 0,38 prompt " Отчет " @ 0,46 prompt " Выход " menu to GlavMenu do case case GlavMenu=1 window(6,21,16,58,"w+/b", box1) do copyright inkey(0) wclose() case GlavMenu=2 do menu_file case GlavMenu=0 .or. GlavMenu=3 GlavMenu=3 clear gets scriDІЕ exit case GlavMenu=4 do menu_exec case GlavMenu=5 do menu_graf case GlavMenu=6 do menu_text case GlavMenu=7 do menu_quit endcase enddo wselect( scr) set key -9 to menu return * --------------------------------------------------------- * . - 97 - function window parameters y1, x1, y2, x2, color private W W=wopen( y1, x1, y2+1, x2+2) colorwin( 1, 2, y2-y1+1, x2-x1+2) set color to &color @ 0, 0, y2-y1, x2-x1 box box1 return( W) * --------------------------------------------------------- * procedure menu_file private i i=1 window( 1,5,8,16,"n */w ,w+ /n", box1) @ 2,1 prompt " Load " @ 3,1 prompt " Save " @ 4,1 prompt " Save as.." @ 5,1 prompt " New " menu to i do case case i=4 afill(N,0) TXT = "" endcase wclose() return * --------------------------------------------------------- * function get_name_file parameters y,x, nfile window(y,x,y+2,x+21,"n/w, w+/n", box1) clear gets @ 1,2 say "File:" get nfile picture "@K XXXXXXXXXXXX" set cursor on read set cursor off wclose() return nfile * --------------------------------------------------------- * procedure menu_new select 1 go top KOL=0 N_ALL=0 Afill( N_ELEMENT,0) do while .not. eof() baza = baza0->base select 4 if file(baza+".DBF") use &baza KOL=KOL+1 N_ELEMENT[Kol]=lastrec() N_ALL=N_ALL+N_ELEMENT[Kol] else select 1 delete endif select 1 skip enddo pack return * --------------------------------------------------------- * . - 98 - procedure menu_exec private i i=1 window(1,21,5,43,"n */w ,w+ /n", box1) @ 1,1 prompt " Счет по среднему " @ 2,1 prompt " Счет по максимуму " @ 3,1 prompt " Счет по минимуму " menu to i wclose() if i#0 do exec with i endif return * --------------------------------------------------------- * procedure exec parameters i private X, OLD_select, OLD_recno1, OLD_recno4, tmp private D, L, H, M, Sij, XDip, XGost Selem = 0 Velem = 0 Vreal = 0 Vusta = 0 X = 0 D = 0 L = 0 H = 0 M = 0 rec = 0 Mass = 0 TXT = "" XDip = "" XGost = "" sideZ = 0 OLD_recno4=recno() OLD_select=select() select 1 OLD_recno1=recno() go top window(2,16,21,65,"w+*/bg", box1) set color to "n */bg,w+*/n" @ 2,4 say "Объем Элементов .......... 0 мм^3" @ 3,4 say "Объем Реальный ........... 0 мм^3" @ 4,4 say "Объем Установочный ....... 0 мм^3" @ 6,4 say "Масса Общая .............. 0 гр." @ 7,4 say "Масса Реальная ........... 0 гр." @ 9,4 say "Сторона X ................ 0 мм" @10,4 say "Сторона Y ................ 0 мм" @11,4 say "Сторона Z ................ 0 мм" @13,4 say "Коэффициент заполнения ... (0.2 _ 1)" get koeV picture "99.99" @14,4 say "Коэффициент массы ........ (1.2 _ 3)" get koeM picture "99.99" wopen(19,20,19,62) @0,0 say "Ы"+replicate("±",41) do while .not. eof() baza = baza0->base tmp = norm_or_min() rec = recno() if rec > 1 X=X+N_ELEMENT[rec-1] endif select 4 use &baza for j=X+1 to X+N_ELEMENT[rec] if N[j]#0 goto j-X do case - 99 - case tmp=1 .and. i=1 D=(D_min+D_max)/2 L=(L_min+L_max)/2 H=(H_min+H_max)/2 case tmp=1 .and. i=2 D=D_max L=L_max H=H_max case tmp=1 .and. i=3 D=D_min L=L_min H=H_min case tmp=2 XDip = DIP select 2 *// go top seek XDip if found() select 4 D=Korpus->D L=Korpus->L HscriDІЕ =Korpus->H M=Korpus->M else select 4 D=0 L=0 H=0 M=0 endif endcase if H=0 Sij=N[j]*D*D else Sij=N[j]*D*H endif Selem=Selem+Sij Velem=Velem+Sij*L sideZ=max(L,sideZ) Mass=Mass+M XGost=Gost select 3 go top seek XGost select 4 TXT=TXT+baza0->element+" і "+left(Tip+space(15),15)+; +" і "+Standart->Gost+" і "+; +str(N[j],6)+" шт. і "+str(Sij*L,10)+" мм^3"+; +vk endif next j select 1 @0,0 say replicate("Ы",rec*42/Kol) skip enddo wclose() && окно под индикатором выполнения select 1 goto OLD_recno1 baza=baza0->base select 4 use &baza select( OLD_select) goto OLD_recno4 *//wclose() * --------------------------------------------------------- * * * * Вывод отчета по вычислениям * * * * --------------------------------------------------------- * @17,14 say "Ь Ь Ь" @18, 5 say "ЯЯЯЯЯЯЯЯЯЯ ЯЯЯЯЯЯЯЯЯЯ ЯЯЯЯЯЯЯЯЯЯ" . - 100 - do while ok Vreal=Selem*sideZ Vusta=Vreal/KoeV if sideZ != 0 sideX=sqrt(Vusta/sideZ) else sideX=0 endif sideY=sideX set color to "n */bg,n /w" @ 2,30 say str(Velem,10) @ 3,30 say str(Vreal,10) @ 4,30 say str(Vusta,10) @ 6,30 say str(Mass,10) @ 7,30 say str(Mass*KoeM,10) @ 9,30 say str(sideX,10) @10,30 say str(sideY,10) @11,30 say str(sideZ,10) clear gets @13,41 get KoeV picture "99.99" range 0.2,1 @14,41 get KoeM picture "99.99" range 1.2,3 j=1 set color to "n/w, n */w" @ 17, 4 prompt " NewKoe " @ 17,20 prompt " View " @ 17,36 prompt " Cancel " menu to j do case case j=0 .or. j=3 exit case j=1 set cursor on set color to "n/w,w+/n" read set cursor off case j=2 DO menu_graf endcase enddo TXT= space(24)+"Расчет Установочного Объема РЭА"+vk +vk+; +replicate("Д",76) +vk+; +TXT+; +replicate("Д",76) +vk+; +"Объем Элементов .........."+str(Velem,10) +" мм^3"+vk+; +"Объем Реальный ..........."+str(Vreal,10) +" мм^3"+vk+; +"Объем Установочный ......."+str(Vusta,10) +" мм^3"+vk+; +"Масса Общая .............."+str(Mass,10) +" гр." +vk+; +"Масса Реальная ..........."+str(Mass*KoeM,10)+" гр." +vk+; +" Коэффициент заполнения .. "+str(KoeV,4,2) +vk+; +" Коэффициент массы ....... "+str(KoeM,4,2) +vk+; +vk+; +"Размеры сторон:" +vk+; +"X = "+str( sideX,10)+" мм" +vk+; +"Y = "+str( sideY,10)+" мм" +vk+; +"Z = "+str( sideZ,10)+" мм" +vk wclose() return * --------------------------------------------------------- * function norm_or_min private i, p, x p=0 for i=1 to Mlcount(POLE,10) x=Memoline(POLE,10,i) do case case at("MIN",x)#0 p=1 - 101 - case at("DIP",x)#0 p=2 endcase next i return( p) * --------------------------------------------------------- * procedure menu_text private i i=1 window(1,27,4,44,"n */w, w+/n", box1) do while ok @ 1,1 prompt " Отчет на экран " @ 2,1 prompt " Отчет в файл " menu to i do case case i=0 exit case i=1 wopen(1,0,23,79) set color to "w */n" wbox(box1) set color to "w+ */n" scriDІЕ memoedit( TXT, 0,1,22,77,.F.,"",240) wclose() case i=2 nfile=get_name_file(6,32,nfile) if lastkey()=13 memowrit( nfile, TXT) endif exit endcase enddo wclose() return * --------------------------------------------------------- * procedure menu_graf private x[4], y[4], MAX wopen(0,0,24,79) L_gmode( 16) L_line( 260, 200, 260, 639, 1) && --- 9 - B+ L_line( 260, 200, 320, 0, 1) && / L_line( 260, 200, 0, 200, 1) && | L_stroke( "X", 1, 265, 620, 15, 12, 9) L_stroke( "Y", 1, 320, 10, 15, 12, 9) L_stroke( "Z", 1, 0, 210, 15, 12, 9) MAX=max( sideX, max( sideY, sideZ)) if MAX#0 x[1]=200 y[1]=260 x[2]=200+400*sideX/MAX y[2]=260-220*sideZ/MAX x[3]=200-300*sideY/MAX/2 y[3]=260+ 90*sideY/MAX/2 x[4]=200-300*sideY/MAX/2+400*sideX/MAX y[4]=260+ 90*sideY/MAX/2-210*sideZ/MAX l_box ( y[1],x[1],y[2],x[2],10) l_box ( y[3],x[3],y[4],x[4],10) l_line( y[4],x[4],y[2],x[2],10) l_line( y[3],x[3],y[1],x[1],10) l_line( y[3],x[4],y[1],x[2],10) l_line( y[4],x[3],y[2],x[1],10) endif . - 102 - inkey(0) release x,y,max do SetScreen wclose() return * --------------------------------------------------------- * procedure menu_quit private menu window(1,32,4,52,"n */w ,w+/n") @ 1,1 prompt " Продолжать работу " @ 2,1 prompt " Закончить работу " menu to menu wclose() if menu=2 set color to "w/n" L_gmode(3) quit endif return * --------------------------------------------------------- * procedure my_help set key 28 to window(3,5,19,73,"w+/bg",box1) set color to "n/bg" memoedit( memoread("rtv.hlp"), 1,2,15,65,.F.,"",240) wclose() set key 28 to my_help return * --------------------------------------------------------- * procedure copyright @ 1, 3 say "Расчет Установочного Объема РЭА" @ 3,13 say "Версия 2.0" @ 5,10 say "Владивосток . ДВТИ" @ 6, 7 say "Кафедра радиоэлектроники" @ 7, 8 say "и компьютерной техники" @ 9,13 say "Горбач Д.А." return * --------------------------------------------------------- * Procedure GetScreen Private VI, ADAPTER VI = " " ADAPTER = 0 ret = pcxVI(vi) ADAPTER = asc( substr(VI,1,1)) if ret#0 .or. ADAPTER
|