ЗМІСТ
1.Вступ………………………………………………………………………………..3
Розділ 1……………………………………………………………………………….3
1.1.Алгоритми компоновки………………………………………………..3
1.2.Послідовні алгоритми компоновки…………………………………...5
1.3.Ітераційні алгоритми компоновки…………………………………..9
1.4.Алгоритми розміщення……………………………………………….10
1.5.Силові алгоритми розміщення……………………………………….12
1.6.Ітераційні алгоритми розміщення…………………………………...13
1.7.Послідовні алгоритми розміщення…………………………………..14
1.8.Алгоритми трасування………………………………………………..15
1.9.Хвильовий алгоритм Лі………………………………………………17
1.10.Модифікації алгоритму Лі…………………………………………..19
1.11.Променевий алгоритм трасування…………………………………20
Розділ 2……………………………………………………………………………...21
2.1. . Проектування електричних принципових схем пристроїв електронної техніки у середовищі САПР P-CAD………………….....21
2.2.Інтерактивне розміщення компонентів друкованих вузлів та багатошарових керамічних плат………………………………………...28
2.3. Автоматичне трасування провідників друкованих плат пристроїв електронної техніки у середовищі САПР P-CAD……...35
2.4. Підготовка конструкторської документації багатошарової керамічної плати…………………………………………………………..44
Висновок……………………………………………………………………………46
Література………………………………………………………………………….47
|
1. Вступ
При конструкторському проектуванні РЕА (радіоелектронної апаратури) вирішуються завдання, пов'язані з пошуком якнайкращого варіанту конструкції, що задовольняє вимогам технічного завдання і що максимально враховує можливості технологічної бази виробництва. Тісна взаємозв'язаність задач і велика розмірність кожної з них зазвичай не дозволяє запропонувати метод пошуку оптимального конструктивного рішення в єдиному циклі у зв'язку з труднощами створення загальної математичної моделі, особливості конструкторсько-технологічної бази виробництва, що комплексно враховує. Тому розробка і реалізація алгоритмів і методів рішення окремих задач етапу конструкторського проектування: компоновки, розміщення і трасування, - до цих пір залишаються актуальними проблемами, рішення яких невід'ємно пов'язане з розвитком систем автоматизації проектування.
РОЗДІЛ 1
1.1.Алгоритми компоновки
На етапі конструкторського проектування вирішуються питання, пов'язані з компоновкою елементів логічної схеми в модулі, модулів в осередки, осередків в панелі і т.д. Ці завдання в загальному випадку тісно зв'язані між собою, і їх рішення дозволяє значно скоротити витрати і трудомісткість вказаного етапу в САПР. Зазвичай завдання компоновки розглядаються як процес ухвалення рішень в певних або невизначених умовах, в результаті виконання якого частини логічної схеми розташовуються в конструктивних елементах i-го рівня, а ці елементи розміщуються в конструктивних елементах (i+1) -го рівня і т. д., причому розташування виконується з оптимізацією по вибраному критерію.
Компоновкою електричної схеми РЕА на конструктивно закінчені частини називається процес розподілу елементів нижчого конструктивного рівня у вищий відповідно до вибраного критерію. Основним для компоновки є критерій електромагнітотеплової сумісності елементів нижчого рівня. Даний критерій визначає область допустимого розбиття схеми, на якій формулюються інші критерії. Такими критеріями можуть бути: мінімум типів конструктивно закінчених частин, щільність компоновки, мінімум з'єднань між пристроями, простота діагностування і ін. Очевидно, що зовнішні з'єднання між частинами схем є одним з найважливіших чинників, що визначають надійність РЕА. Тому найбільш поширеним критерієм є критерій мінімуму числа зовнішніх зв'язків. Виконання цього критерію забезпечує мінімізацію взаємних наведень, спрощення конструкції, підвищення надійності і т.д.
Для побудови формальної математичної моделі компонувальних завдань зручно використовувати теорію графів. При цьому електричну схему інтерпретують ненаправленим мультиграфом, в якому кожному конструктивному елементу (модулю) ставлять у відповідність вершину мультиграфа, а електричним зв'язкам схеми - його ребра. Тоді завдання компоновки формулюється таким чином, Заданий мультиграф G(X,U). Потрібно “розрізати” його на окремі шматки G1(X1,U1), G2(X2,U2)., Gk(Xk,Uk) так, щоб число ребер, що сполучають ці шматки, було мінімальним, тобто
мінімізувати EMBED Equation.3 i≠j
при EMBED Equation.3 EMBED Equation.3 i,j = 1,2,…,k,
де Uij - безліч ребер, що сполучають шматки Gi(Xi,Ui) і Gj(Xj,Uj).
Іншими словами розбиттям частин сукупності G на графи вважаються, якщо будь-яка частина з цієї сукупності не порожня; для будь-яких двох частин перетин безлічі ребер може бути не порожнім; об'єднання всіх частин в точності рівне графові G.
Відомі алгоритми компоновки можна умовно розбити на п'ять груп:
1) алгоритми, що використовують методи цілочисельного програмування.
2) послідовні алгоритми
3) ітераційні алгоритми
4) змішані алгоритми
Алгоритми першої групи хоч і дозволяють отримати точне рішення задачі, проте для пристрою реальної складності фактично не реалізовуються на ЕОМ. Останнім часом найбільшого поширення набули наближені алгоритми компоновки (послідовні, ітераційні, змішані). При використанні послідовних алгоритмів спочатку за певним правилом вибирають вершину графа, потім здійснюють послідовний вибір вершин (з числа нерозподілених) і приєднання їх до формованого шматка графа. Після утворення першого шматка переходять до другого і т.д. до отримання бажаного розрізання початкового графа. У ітераційних алгоритмах початкове розрізання графа на шматки виконують довільним чином; оптимізація компоновки досягається парними або груповими перестановками вершин графа з різних шматків. Процес перерозподілу вершин закінчують при отриманні локального екстремуму цільової функції, задовольняючим вимогам розробника. У змішаних алгоритмах компоновки для отримання початкового варіанту “розрізання” використовується алгоритм послідовного формування частини; подальша оптимізація рішення здійснюється перерозподілом вершин між окремими шматками графа.
1.2.Послідовні алгоритми компоновки
У послідовних алгоритмах компоновки «розрізання» початкового графа G(X,U) на частини G1(X1,U1), G2(X2,U2)., Gk(Xk,Uk) зводиться до наступного. У графові G(X,U) знаходять вершину xi ϵ X з мінімальним локальним ступенем EMBED Equation.3 ..
Якщо таких вершин декілька, то перевагу віддають вершине з максимальним числом кратних ребер. З безлічі вершин, суміжних з вершинами формованої частини графа G1(X1,U1), вибирають ту, яка забезпечує мінімальний приріст зв'язків шматка з ще нерозподіленими вершинами. Дану вершину x1 ϵ X \ X1 включають в G1(X1,U1), якщо не відбувається порушення обмеження по числу зовнішніх зв'язків частини, тобто
EMBED Equation.3 ,
де αjε - елемент матриці суміжності результатного графа G(X,U); δ(xg) - відносна вага вершини xg,, рівний приросту числа зовнішніх ребер частини G1(X1,U1) при включенні вершини xg в безліч X1; E – множина індексів вершин, включених у формовану частину графа на попередніх кроках алгоритму; m - максимально допустиме число зовнішніх зв'язків окремо взятої частини з тими, що всіма залишилися.
Вказаний процес продовжується до тих пір, поки безліч X1 не міститиме n елементів або приєднання чергової нерозподіленої вершини xj до частини G1(X1,U1) не приведе до порушення обмеження по числу зовнішніх з'єднань шматка, рівному EMBED Equation.3
Слід зазначити, що величина не є монотонною функцією |X1|, тому, для того, щоб переконається в неможливості подальшого формування частини унаслідок порушення останнього обмеження, необхідно перевірити його нездійсненність на подальших кроках збільшення безлічі X1 аж до n. Як остаточний варіант вибирають частину G10(X10,U10), що містить максимально можливе число вершин графа G(X,U), для якого виконуються обмеження на число зовнішніх зв'язків і вхідних в нього вершин (nmin-nmax).
Після перетворення частини G10(X10,U10) процес повторюють для формування другої, третьої і т.д. частини початкового графа з тією лише різницею, що розгляду підлягають вершини, що не увійшли до попередніх частин.
Сформулюємо алгоритм послідовної компоновки конструктивних елементів.
t:0
Xf = Xt = Ø; t=t+1; Θ=1; α=nmax,
Де t, Θ - порядкові номери формованої частини і приєднуваної вершини; α - обмеження на число вершин в частині.
По матриці суміжності початкового графа | αhp|NxN,, де N - число вершин початкового графа (при великому значенні N для скорочення об'єму оперативної пам'яті ЕОМ використовуємо не саму матрицю суміжності, а її кодову реалізацію), визначаємо локальні ступені вершин .
EMBED Equation.3 .
4) З безлічі нерозподілених вершин X вибираємо вершину xj з ρ(xj) = EMBED Equation.3 . Переходимо до п.6. Якщо таких вершин декілька, то переходиться до п.5
5) З підмножини вершин Xl з однаковим локальним ступенем вибирають вершину xj з максимальним числом кратних ребер (мінімальним числом суміжних вершин), тобто Гxj| = EMBED Equation.3 .
6) Запам'ятовуємо початкову вершину формованої частини графа EMBED Equation.3 Переходимо до п.10
7) По матриці суміжності EMBED Equation.3 будуємо множину Xs = EMBED Equation.3 і визначаємо відносні ваги вершин EMBED Equation.3 :
EMBED Equation.3
8) З безлічі XS вибираємо вершину EMBED Equation.3 . Переходимо до п.10. Якщо таких вершин декілька, то переходиться до п.9.
9) З підмножини вершин Xv з однаковою відносною вагою вибираємо вершину xj з максимальним локальним ступенем, тобто . EMBED Equation.3 .
10) EMBED Equation.3 .
11) Якщо >m, то переходиться до п.13.
12) Розглянуті вершини включаємо у сформовану частину Xf = Xt .
13) Θ = Θ + 1.
14) Якщо Θ > α, то переходиться до п.15, а в протилежному випадку - до п.7.
15) Якщо |Xf|<nmin, де nmin - мінімальне допустиме число вершин в частині, то переходиться до п.21.
16) Вибираємо остаточний варіант сформованої частини графа:
Xt = Xf ; X = X \ Xt ; α = nmax.
17) Якщо |X|> nmax, то переходиться до п.20.
18) Якщо |X|< nmin , то переходиться до п.21.
19) Визначаємо число зовнішніх зв'язків останньої частини графа: EMBED Equation.3 ,
де F - безліч індексів вершин, що входять в X. Якщо EMBED Equation.3 , то переходиться до п.21, інакше - до п.24.
20) Якщо t<k – 1, де до - число частин розрізання графа, то переходиться до п.2, інакше - до п.23.
21) Попередній цикл «розрізання» вважаємо недійсним. Якщо t>1, тобто є як мінімум одна раніше сформована частина, то переходиться до п.22. інакше - до п.23.
22) Шукаємо інший допустимий варіант формування попередньої частини з меншим числом вершин: t=t–1;
EMBED Equation.3 . .
Переходимо до п.7.
23) Завдання при заданих обмеженнях не має рішення.
24) Кінець роботи алгоритму.
Розглянутий алгоритм простий, легко реалізується на ЕОМ і дозволяє отримати рішення задачі компоновки. Також серед переваг даної групи алгоритмів виступає висока швидкодія їх при рішенні задач компоновки.
Основним недоліком послідовного алгоритму є нездатність знаходити глобальний мінімум кількості зовнішніх зв'язків (не аналізуються можливі ситуації). Найбільша ефективність методу послідовного розбиття графа має місце, коли число вершин графа G значно більше вершин в будь-якій частині розбиття.
1.3.Ітераційні алгоритми компоновки
Суть даної групи алгоритмів полягає у виборі деякого початкового «розрізання» початкового графа на частини (уручну або за допомогою послідовного методу компоновки) і подальшого його поліпшення за допомогою ітераційного парного або групового обміну вершин з різних частин. При цьому для кожної ітерації здійснюється перестановка тих вершин, яка забезпечує максимальне зменшення числа зв'язків між частинами графа або максимальне поліпшення іншого вибраного показника якості з урахуванням використовуваних обмежень (наприклад, на максимальне число зовнішніх ребер будь-якої окремо взятої частини).
Розглянемо основну ідею ітераційного алгоритму розбиття графа G, заданого матрицею суміжності, з мінімізацією числа сполучних ребер. Розбиття графа G = (X,U) на l підграфів G1 = (X1,U1), G2 = (X2,U2),.,Gl = (Xl,Ul) зведемо до розбиття на двох підграфів. З цією метою в матриці суміжності R виділимо по головній діагоналі дві підматриці R1 і R2. При цьому порядок підматриці R1 рівний числу вершин, які винні знаходиться в G1, а порядок підматриці R2 - числу всіх вершин графа, що залишилися. Необхідно так переставити рядки і стовпці матриці R, щоб число ребер між G1 і частиною графа G, що залишилася, було мінімальним. Після цього підматрицю R1 з матриці R виключаємо, викресливши з R рядки і стовпці, відповідні елементам R1. Далі підматрицю R1’ розбиваємо знову на дві підматриці R2 і R2’, причому порядок R2 відповідає числу вершин другого підграфа, що виділяється, а порядок R2 - числу вершин графа, що залишилися. Переставляємо рядки і стовпці R1’ з метою мінімізації числа сполучних ребер. Після цього підматриця R2’ виключається і процес повторюється до тих пір, поки не буде виконано розбиття графа G на l підграфів.
Основна ідея алгоритму полягає у виборі таких рядків і стовпців, перестановка яких приводить до зосередження в діагональних клітках матриці R максимального числа елементів. Побудуємо прямокутну матрицю W = ||wi,j||nix(n-ni), у якого рядки визначаються вершинами з множини I, а стовпці - з множини V EMBED Equation.3 . . На перетині k рядка EMBED Equation.3 і q EMBED Equation.3 стовпця знаходиться елемент EMBED Equation.3 ,
де rk,q - елемент матриці суміжності R.
Елемент wk,q матриці W характеризує зміна числа сполучних ребер між Gi і Gj при перестановці вершин EMBED Equation.3 і EMBED Equation.3 . Використовуючи матрицю W, можна знайти підстановку, яка збільшить число елементів в підматрицях R1 і R1’. Такий процес повторюється до тих пір, поки в підматриці R1 не зосередиться максимальне число одиниць.
У ітераційних алгоритмах передбачена можливість пошуку оптимального варіанту для різного початкового розбиття. Це пов'язано з тим, що при використанні ітераційних алгоритмів оптимальність рішення значною мірою залежить від того, наскільки вдало було проведено початкове розбиття графа G(X,U).
Ітераційні алгоритми компоновки забезпечують високу якість рішення задачі, проте вимагають великих витрат машинного часу, чим послідовні алгоритми. Для скорочення числа ітерацій обміну вершин між частинами в змішаних алгоритмах для отримання початкового «розрізання» графа застосовують послідовні методи формування його частин. З цією метою в деяких ітераційних алгоритмах використовують процес групової перестановки взаємно непересічних пар вершин.
1.4.Алгоритми розміщення
Початковою інформацією при рішенні задач розміщення є: дані про конфігурацію і розміри комутаційного простору, визначувані вимогами установки і кріплення даної складальної одиниці в апаратурі; кількість і геометричні розміри конструктивних елементів, що підлягають розміщенню; схема з'єднань, а також ряд обмежень на взаємне розташування окремих елементів, що враховують особливості конструкції, що розробляється. Завдання зводиться до відшукання для кожного розміщуваного елементу таких позицій, при яких оптимізується вибраний показник якості і забезпечується найбільш сприятливі умови для подальшого електричного монтажу. Особливого значення це завдання набуває при проектуванні апаратури на друкарських платах.
Основна складність в постановці завдань розміщення полягає у виборі цільової функції. Зв'язано це з тим, що однією з головних цілей розміщення є створення якнайкращих умов для подальшого трасування з'єднань, що неможливо перевірити без проведення самого трасування. Будь-які інші способи оцінки якості розміщення (мінімум числа перетинів ребер графа, що інтерпретує електричну схему з'єднань, розбиття графа на мінімальне число плоских суграфів і т.д.), хоч і дозволяють створити сприятливі для трасування умови, але не гарантують отримання оптимального результату, оскільки друкарські провідники є криволінійними відрізками кінцевої ширини, конфігурація яких визначається в процесі їх побудови і залежить від порядку проведення з'єднань. Отже, якщо для оцінки якості розміщення елементів вибрати критерій, безпосередньо пов'язаний з отриманням оптимального малюнка металізації друкарської плати, то кінцевий результат може бути знайдений тільки при сумісному рішенні задач розміщення, вибору черговості проведення з'єднань і трасування, що практично неможливе унаслідок величезних витрат машинного часу.
Тому всі вживані в даний час алгоритми розміщення використовують проміжні критерії, які лише якісно сприяють рішенню основної задачі: отриманню оптимального трасування з'єднань. До таких критеріїв відносяться: 1) мінімум сумарної зваженої довжини з'єднань; 2) мінімум числа з'єднань, довжина яких більше заданою; 3) мінімум числа перетин провідників; 4) максимальне число з'єднань між елементами, що знаходяться в сусідніх позиціях або в позиціях, вказаних розробником; 5) максимум числа ланцюгів простій конфігурації.
Найбільшого поширення в алгоритмах розміщення набув перший критерій, що пояснюється наступними причинами: зменшення довжин з'єднань покращує електричні характеристики пристрою, спрощує трасування друкарських плат; крім того, він порівняно простий в реалізації.
Залежно від конструкції комутаційної плати і способів виконання з'єднань відстань між позиціями установки елементів підраховується по одній з наступних формул:
EMBED Equation.3 , EMBED Equation.3 , EMBED Equation.3
У загальному вигляді завдання розміщення конструктивних елементів на комутаційній платі формулюється таким чином. Задана безліч конструктивних елементів R={r1,r2,…,rn} і безліч зв'язків між цими елементами V={v1,v2,…,vp}, а також безліч настановних місць (позицій) на комутаційній платі T={t1,t2,…,tk}. Знайти таке відображення множини R на множини T, яка забезпечує екстремум цільової функції
EMBED Equation.3
де cij - коефіцієнт зваженої зв'язності.
1.5.Силові алгоритми розміщення
У основу цієї групи алгоритмів покладений динамічний метод В.С. Лінського. Процес розміщення елементів на платі представляється як рух до стану рівноваги системи матеріальних крапок (елементів), на кожну з яких діють сили тяжіння і відштовхування, що інтерпретують зв'язки між розміщуваними елементами. Якщо сили тяжіння, що діють між будь-якими двома матеріальними точками ri і rj пропорційні числу електричних зв'язків між даними конструктивними елементами, то стан рівноваги такої системи відповідає мінімуму сумарної довжини всіх з'єднань. Введення сил відштовхування матеріальних крапок один від одного і від меж плати виключає можливість злиття два будь-яких крапок і сприяє їх рівномірному розподілу по поверхні монтажного поля. Щоб усунути виникнення в системі незгасаючих коливань, вводять сили опору середовища, пропорційні швидкості руху матеріальних крапок.
Таким чином, завдання оптимального розміщення елементів зводиться до знаходження такого місцеположення крапок, при якому рівнодіючі всіх сил звертаються в нуль.
До переваг даного методу відносяться можливість отримання глобального екстремуму цільової функції, а також зведення пошуку до обчислювальних процедур, для яких є розроблені чисельні методи.
Недоліками є трудомісткість методу і складність його реалізації (підбору коефіцієнтів для силових зв'язків); необхідність фіксації місцеположення деякого числа конструктивних елементів на платі для запобігання великої нерівномірності їх розміщення на окремих ділянках плати.
1.6.Ітераційні алгоритми розміщення
Ітераційні алгоритми мають структуру, аналогічну ітераційним алгоритмам компоновки, розглянутим раніше. У них для поліпшення початкового розміщення елементів на платі вводять ітераційний процес перестановки місцями пар елементів.
У разі мінімізації сумарної зваженої довжини з'єднань формула для розрахунку зміни значення цільовій функції при перестановці місцями елементів ri і rj, закріплених в позиціях tf і tg, має вигляд:
EMBED Equation.3 ,
де p і h(p) - порядковий номер і позиція закріплення нерухомого елементу rp. Якщо, EMBED Equation.3 ,то здійснюють перестановку ri і rj, що приводить до зменшення цільової функції на EMBED Equation.3 , після чого проводять пошук і перестановку наступної пари елементів і т.д. Процес закінчується отриманням такого варіанту розміщення, для якого подальше поліпшення за рахунок парних перестановок елементів неможливе.
Використання описаного направленого перебору скорочує число аналізованих варіантів розміщення (в порівнянні з повним перебором), але приводить до втрати гарантії знаходження глобального екстремуму цільової функції.
Алгоритми дано групи характеризуються достатньо високою швидкодією. Алгоритми з груповими перестановками елементів на практиці використовуються рідко зважаючи на їх складність, яка часто не виправдовує ступінь поліпшення результату, що досягається.
1.7.Послідовні алгоритми розміщення
Послідовні алгоритми засновані на допущенні, що для отримання оптимального розміщення необхідно в сусідніх позиціях розташовувати елементи, максимально пов'язані один з одним. Суть цих алгоритмів полягає в послідовному закріпленні заданого набору конструктивних елементів на комутаційній платі відносно раніше встановлених. Як первинні закріплені на платі елементи зазвичай вибирають роз'єми, які штучно «розсовують» по самі вінця плати. При цьому всі контакти роз'ємів рівномірно розподіляються по секціях (стовпцям і рядкам координатної сітки). На кожному l-ом кроці (l=1,2.,n) для установки на комутаційну плату вибирають елемент EMBED Equation.3 з числа ще не розміщених, що має максимальний ступінь зв'язності з раніше закріпленими елементами Rl-1. У більшості використовуваних в даний час алгоритмів оцінку ступеня зв'язності проводять по одній з наступних формул:
EMBED Equation.3 ;
EMBED Equation.3 ,
де cij - коефіцієнт зваженої зв'язності елементів i і j; Jl-1 - безліч індексів елементів, закріплених на попередніх l-1 кроках; n - загальне число розміщених елементів.
Якщо настановні розміри всіх розміщуваних на платі елементів однакові, то вибраний на черговому кроці елемент EMBED Equation.3 закріплюють в тій позиції EMBED Equation.3 з числа незайнятих, для якої значення цільової функції EMBED Equation.3 з урахуванням раніше розміщених елементів Rl-1 мінімально. Зокрема, якщо критерієм оптимальності є мінімум сумарної зваженої довжини з'єднань, то
EMBED Equation.3 ,
де dfj - відстань між f-ой позицією установки елементу EMBED Equation.3 і позицією розміщеного раніше елементу rj; Tl-1 - безліч позицій, зайнятих елементами після (l-1) -го кроку алгоритму.
Процес розміщення алгоритму закінчується після виконання n кроків алгоритму.
Алгоритми, що використовують послідовний процес закріплення елементів в позиціях, є в даний час самими швидкодіючими. Проте за якістю отримуваного рішення послідовні алгоритми поступаються ітераційним. Тому їх використовують зазвичай для отримання початкового розміщення елементів на платі.
1.8.Алгоритми трасування
Трасування з'єднань є, як правило, завершальним етапом конструкторського проектування РЕА і полягає у визначенні ліній, що сполучають еквіпотенціальні контакти елементів, і компонентів, складових проектований пристрій.
Завдання трасування - одна з найбільш трудомістких в загальній проблемі автоматизації проектування РЕА. Це пов'язано з декількома чинниками, зокрема з різноманіттям способів конструктивно-технологічної реалізації з'єднань, для кожного з яких при алгоритмічному рішенні задачі застосовуються специфічні критерії оптимізації і обмеження. З математичної точки зору трасування - складне завдання вибору з величезного числа варіантів оптимального рішення.
Одночасна оптимізації всіх з'єднань при трасуванні за рахунок перебору всіх варіантів в даний час неможлива. Тому розробляються в основному локально оптимальні методи трасування, коли траса оптимальна лише на даному кроці за наявності раніше проведених з'єднань.
Основне завдання трасування формулюється таким чином: по заданій схемі з'єднань прокласти необхідні провідники на площині (платі, кристалі і т.д.), щоб реалізувати задані технічні з'єднання з урахуванням наперед заданих обмежень. Основними є обмеження на ширину провідників і мінімальні відстані між ними.
Початковою інформацією для вирішення завдання трасування з'єднань зазвичай є список ланцюгів, параметри конструкції елементів і комутаційного поля, а також дані по розміщенню елементів. Критеріями трасування можуть бути відсоток реалізованих з'єднань, сумарна довжина провідників, число перетинів провідників, число монтажних шарів, число міжшарових переходів, рівномірність розподілу провідників, мінімальна область трасування і т.д. Часто ці критерії є взаємовиключними, тому оцінка якості трасування ведеться по домінуючому критерію при виконанні обмежень по інших критеріях або застосовують адитивну або мультиплікативну форму оцінної функції, наприклад наступного вигляду EMBED Equation.3 ,
де F - адитивний критерій; λi - ваговий коефіцієнт; fi - приватний критерій; p - число приватних критеріїв.
Відомі алгоритми трасування друкарських плат можна умовно розбити на три великі групи:
1) Хвильові алгоритми, засновані Чи на ідеях і розроблені Ю.Л. Зіманом і Г.Г. Рябовим. Дані алгоритми набули широкого поширення в існуючих САПР, оскільки вони дозволяють легко зважати на технологічну специфіку друкарського монтажу з своєю сукупністю конструктивних обмежень, Ці алгоритми завжди гарантують побудову траси, якщо шлях для неї існує;
2) Ортогональні алгоритми, що володіють великою швидкодією, чим алгоритми першої групи. Реалізація їх на ЕОМ вимагає в 75-100 разів менше обчислень в порівнянні з хвильовими алгоритмами. Такі алгоритми застосовують при проектуванні друкарських плат з крізними металізованими отворами. Недоліки цієї групи алгоритмів пов'язані з отриманням великого числа переходів з шару на шар, відсутністю 100%-ої гарантії проведення трас, великим числом провідників, що паралельно йдуть;
3) Алгоритми евристичного типу. Ці алгоритми частково засновані на евристичному прийомі пошуку шляху в лабіринті. При цьому кожне з'єднання проводиться по найкоротшому шляху, обходячи перешкоди, що зустрічаються на шляху.
1.9.Хвильовий алгоритм Лі
Даний алгоритм є класичним прикладом використання методів динамічного програмування для вирішення завдань трасування друкарських з'єднань. Основні принципи побудови трас за допомогою динамічного алгоритму зводяться до наступного.
Всі осередки монтажного поля підрозділяють на зайняті і вільні. Зайнятими вважаються осередки, в яких вже розташовані провідники, побудовані на попередніх кроках, або знаходяться монтажні висновки елементів, а також осередки, відповідні межі плати і забороненим для прокладення провідників ділянкам. Кожного разу при проведенні нової траси можна використовувати лише вільні осередки, число яких у міру проведення трас скорочується.
На безлічі вільних осередків комутаційного поля моделюють хвилю впливу з одного осередку в іншу, що сполучаються згодом загальним провідником. Перший осередок, зароджується хвиля впливів, називають джерелом, а другу - наступником хвилі. Щоб мати можливість стежити за проходженням фронту хвилі впливів, його фрагментам на кожному етапі привласнюють деякі ваги:
EMBED Equation.3 ,
де Pk і Pk-1 - ваги осередків к-го і (k-1) -го фронтів; EMBED Equation.3 - вагова функція, що є показником якості проведення шляху, кожен параметр якої EMBED Equation.3 характеризує шлях з погляду одного з критеріїв якості (довжини шляху, числа перетинів і т.п.). На Pk накладають одне обмеження - ваги осередків попередніх фронтів не повинні бути більше вагів осередків подальших фронтів. Фронт розповсюджується тільки на сусідні осередки, які мають з осередками попереднього фронту або загальну сторону, або хоч би одну загальну крапку. Процес розповсюдження хвилі продовжується до тих пір, поки її фронт, що розширюється, не досягне приймача або на Θ -ом кроці не знайдеться жодного вільного осередку, який міг би бути включений в черговий фронт, що відповідає випадку неможливості проведення траси при заданих обмеженнях.
Якщо в результаті розповсюдження хвиля досягла приймача, то здійснюють «проведення шляху», яке полягає в русі від приймача до джерела про пройденим на етапі розповсюдження хвилі осередкам, стежачи за тим, щоб значення Pk монотонно убували. В результаті отримують шлях, що сполучає ці дві крапки. З опису алгоритму виходить, що всі умови, необхідні для проведення шляху, закладаються в правил ваги осередкам.
Щоб виключити невизначеність при проведенні шляху для випадку, коли декілька осередків мають однакову мінімальну вагу, вводять поняття координат шляху, задаючих перевагу проведення траси. Кожен напрям кодують двійковим числом по mod q, де q - число сусідніх осередків, що проглядаються. При цьому ніж переважніше те або інший напрям, тим менший числовий код воно має. Наприклад, якщо задатися пріоритетним порядком проведення шляху зверху, справа, знизу і зліва, то коди відповідних координат шляху будуть 00, 01, 10, і 11. Прописання координат шляху проводять на етапі розповсюдження хвилі. При проведенні шляху рух від осередку до осередку здійснюють по координатах шляху.
SHAPE \* MERGEFORMAT
Істотними недоліками хвильового алгоритму є мала швидкодія і великий об'єм оперативної пам'яті ЕОМ, необхідний для зберігання інформації про поточний стан всіх осередків комутаційного поля, можливість побудови лише з'єднань типу «уведення-виведення». Спроби усунути вказані недоліки привели до створення ряду модифікацій хвильового алгоритму.
1.10.Модифікації алгоритму Лі
У даному методі джерелами хвиль є обидва осередки, що підлягають електричному об'єднанню. При цьому на кожному к-ом кроці по черзі будують відповідні фронти першої і другої хвиль, що розповсюджуються з цих осередків. Процес продовжується до тих пір, поки який-небудь осередок з фронту першої хвилі не потрапить на фронт другої хвилі або навпаки. Проведення шляху здійснюють з даного осередку у напрямі обох джерел за правилами, описаними Чи в хвильовому алгоритмі.
Оцінимо число осередків, що переглядаються на етапі розповсюдження хвилі, при використанні як джерела однієї або двох об'єднуваних крапок. Хай відстань між цими точками R. Тоді для першого випадку у момент досягнення хвилею осередку-приймача площа проглянутої околиці має величину EMBED Equation.3 (знак рівності відповідає відсутності перешкод шляху розповсюдження хвилі). Для другого випадку у момент зустрічі фронтів двох хвиль площа проглянутої околиці EMBED Equation.3 . Таким чином, при використанні методу зустрічної хвилі площа, що проглядається, а отже, і час, що витрачається на етапі розповсюдження хвилі, зменшуються приблизно удвічі.
Недоліком методу є необхідність виділення додаткового розряду пам'яті на кожен робочий осередок поля для зберігання інформації про приналежність її до першої або другої хвилі. Проте виграш в підвищенні швидкодії виконує вказаний недолік, тому даний метод використовують у всіх випадках, коли це дозволяє об'єм оперативної пам'яті ЕОМ.
1.11.Променевий алгоритм трасування
У даному алгоритмі, запропонованим Л.Б. Абрайтісом, вибір осередків для визначення шляху між точками A і B, що сполучаються, проводять по наперед заданих напрямах, подібних променях. Це дозволяє скоротити число осередків, що проглядаються алгоритмом, а отже, і час на аналіз і кодування їх стану, проте призводить до зниження вірогідності знаходження шляху складної конфігурації, і ускладнює облік конструктивних вимог до технології друкарської плати.
Робота алгоритму полягає в наступному. Задається число променів, поширюваних з точок A і B, а також порядок привласнення путніх координат (звичайне число променів для кожного осередку-джерела приймається однаковим). Промені A(1), A(2),…, A(n) и B(1), B(2),…, B(n) вважають однойменними, якщо вони розповсюджуються з однойменних джерел A або B. Промені A(i) і B(i) є різнойменними по відношенню один до одного. Розповсюдження променів проводять одночасно з обох джерел до зустрічі двох різнойменних променів в деякому осередку C. Шлях проводиться з осередку C і проходить через осередки, по яких розповсюджувалися промені.
При розповсюдженні променя може виникнути ситуація, коли всі сусідні осередки будуть зайняті. В цьому випадку вважається заблокованим і його розповсюдження припиняється.
Промені:
A(1): вгору, вліво
A(2): вліво, вгору
B(1): вниз, управо
B(2): управо, вниз
На другому кроці промінь B(1) виявляється заблокованим, а на четвертому кроці блокується і промінь A(2). Промені A(1) і B(2) зустрічаються в осередку C на восьмому кроці.
Зазвичай за допомогою променевого алгоритму вдається побудувати до 70-80% трас, інші проводять, використовуючи хвильовий алгоритм або уручну. Його застосування особливе вигідно при проектуванні плат з невисокою щільністю монтажу.
SHAPE \* MERGEFORMAT
РОЗДІЛ 2
2.1. Проектування електричних принципових схем пристроїв електронної техніки у середовищі САПР P-CAD
Методи опису принципових електричних схем можна розділити на символьні (текстові) та графічні.
Символьні методи передбачають опис ПЕС на деякій вхідній мові. При цьому виділяються два основних способи опису ПЕС:
опис ПЕС за електричними ланцюгами;
опис ПЕС за елементами (компонентами).
В першому способі за основну одиницю ПЕС приймається електричний ланцюг. Електричні ланцюги іменуються. Для кожного ланцюга вказуються імена контактів елементів, що входять в дане коло.
В другому способі за основну одиницю ПЕС приймається схемний елемент (компонент). Для кожного контакту елемента вказується ім'я електричного ланцюга, в яке входить даний контакт.
Приклад опису фрагменту ПЕС за електричними колами:
S1 = X1/1, R1/1;
S2 = R1/2, R2/1, C1/1;
S3 = X1/2, C1/2, X2/1;
S4 = R2/2, X2/1.
Приклад опису фрагменту ПЕС за компонентами:
X1 = 1/S1, 2/S3;
R1 = 1/S1, 2/S2;
R2 = 1/R2, 2/S4;
C1 = 1/S2, 2/S3;
X2 = 1/S4, 2/S3.
В наведених прикладах: S1… S4 – імена електричних ланцюгів; X1, X2, R1, R2, C1 – імена компонентів; 1, 2 – імена контактів (виводів) компонентів.
Опис ПЕС за електричними колами доцільно застосовувати для схем з великою кількістю дискретних елементів, які мають небагато контактів; опис за елементами - для схем, які мають елементи з великою кількістю контактів (інегральні міросхеми). Більшість сучасних САПР допускають комбінації вказаних способів опису ПЕС.
Найвищу ефективність при проектуванні ПЕС забезпечують графічні інтерактивні методи. Ці методи повинні мати засоби для побудови зображень схемних компонентів, їх розміщення на схемі та побудови з'єднань між елементами.
До найбільш відомих та ефективних засобів інтерактивного проектування ПЕС належить графічний редактор Schematic САПР P-CAD.
Примітка: команди, вікна та опції графічного редактора Schematic САПР P-CAD в тексті цих методичних вказівок позначені жирним куривом.
Настроювання параметрів конфігурації редактора проводиться після виконання команди Options/Configure. В області вікна Workspace Size (розмір формату) необхідно вибрати один з стандартних листів. Габарити вибраного формату листа підсвічуються в рядках вікна Width (ширина) і Height (висота). В області Orthogonal Modes (Options/Configure) встановлюється режим введення електричних кіл і ліній: 90/90 Line-Line - введення ортогональних ліній, 45/90 Line-Line - введення діагональних ліній. При включеному першому режимі лінії проводяться під прямим або під довільним кутом. У другому випадку - по діагоналях або під довільним кутом. Рекомендується включити обидва режими.
Число, проставлене у вікні Increment Value області Net Increment, вказує крок, на який збільшується номер електричного кола, що вводиться в схему.
У вікні Zoom Factor вказується масштаб зміни зображення по командах меню View/Zoom або при одноразовому натисненні клавіш «сірий» плюс або «сірий» мінус.
Настроювання сітки екрана проводиться в діалоговому вікні яке викликається командою Options/Grids.
Меню Options/Text Style дозволяє визначити стиль тексту, що встановлюється по замовчуванню, а при необхідності формує і інші стилі написів:
Default - шрифт, що немасштабується по замовчуванню (відстань між рядками 2,5 мм);
Pin Style - шрифт для імен виводів компонентів;
Part Style - шрифт для імен компонентів;
Wire Style - шрифт для імен кіл;
Port Style - шрифт для імен портів;
Default TTF - шрифт, що масштабується (по замовчуванню шрифт Ariаl, розмір 3,17 мм).
Потрібний шрифт призначається двійним клацанням миші на його ім'я.
Електричні схеми виконуються без дотримання масштабу. Реальне розташування компонентів на монтажно-комутаційному полі не враховується при малюванні електричних схем. Вибраний розмір формату листа, на який виводиться малюнок схеми, повинен забезпечити компактність і ясність при читанні деталей схеми.
На електричній схемі зображаються символи компонентів, електричні зв'язки між ними, текстова інформація, таблиці, буквено-цифрові позначення і основні написи на форматах схеми.
Лінії на всіх схемах одного проекту виконуються товщиною від 0,2 до 1 мм. З'єднання і умовні позначення компонентів виконуються лініями однакової товщини. Потовщеними лініями малюються джгути (загальні шини). Кожний зв'язок при її з'єднанні зі джгутом позначається номером або своїм ім'ям і повинна підключатися під прямим кутом або під кутом 45°.
Неприєднані виводи символів («висячі» контакти) і виводи кіл, не підключені до інших контактів або інших фрагментів кола, позначаються підсвіченими квадратиками, які гаснуть після їх електричного з'єднання. Місця з'єднань фрагментів одного і того ж кола позначаються точкою (рис. 3).
Рис.1.Фрагмент принципової електроичної схеми
У вікно Net Name можна ввести ім'я електричного кола. Якщо бажана впорядкована послідовність імен кіл що підводяться до шини, встановіть прапорець Increment Port Name. Перемикачі Pin Count, Pin Length і Pin Orientation (число контактів порта, довжина, вивід і орієнтація контакту відповідно) встановіть в потрібне положення. Встановіть форму порта Port Shape і натисніть кнопку ОК.
Тепер можна підключати порти до кіл, що іменуються клацанням миші. Поточне ім'я кола відображається автоматично (рис. 1). Іменовані таким чином коло є глобальними (Global) і їх можна перейменовувати командою Edit/Nets.
Після вибору компонента, клацання правою кнопкою миші і виборі рядка Highlight Attached Nets висвічуються всі електричні кола, підключені до виділеного компонента. Скасування підсвічення кіл виконується вибором рядка Unhighlight Attached Nets.
При пошуку потрібного компонента на схемі виконується команда Edit/ Parts, потім вибирається ім'я компонента і натискається кнопка Jamp. Екран зміщується у бік потрібного компонента, а сам компонент підсвічується на схемі. Якщо компонент знаходиться на іншому листі схеми, то перемикання на потрібний лист відбувається автоматично. В діалоговому вікні, що з'являється Edit Part за допомогою опції Properties можна редагувати різні параметри компонента в діалоговому вікні Part Properties.
При пошуку потрібного кола виконується команда Edit/Nets, потім в діалоговому вікні (рис. 4) вибирається ім'я кола і послідовно натискаються кнопки Select і Jamp to Node, екран зміщується у бік вибраного кола і коло підсвічується на поточному листі і інших листах, якщо воно на них є.
Для переміщення компонентів або електричних кіл схеми необхідно їх спочатку виділити, а потім переміщувати за допомогою миші. При одночасному переміщенні групи об'єктів (наприклад, компонент і пов'язані з ним ланцюги) спочатку їх треба виділити по черзі (з одночасним натисненням клавіші Ctrl), а потім перетягнути виділену групу елементів схеми в потрібне місце. Порушену геометрію сегментів кіл після їх переміщення можна виправити. Для цього необхідно виділити необхідний сегмент і ...