Процес трасування є, мабуть, найбільш трудомістким в розробці друкованої плати. У реалізації всіх вимог, необхідних для виконання трасування, велике значення мають кілька факторів:
- правильно складене технічне завдання на трасування;
- висока кваліфікація інженера-конструктора друкованих плат;
- використання передових засобів автоматизованого проектування.
Після виконання процесу Fanout, про який ми говорили в попередній статті, починаємо трасування з завдання вихідних даних.
Завдання параметрів для сигналів
Процес завдання параметрів для сигналів можна розділити на дві основні стадії:
- Створення груп сигналів по характеристикам їх віддаленості як один від одного, так і однієї групи сигналів від іншої. Величини відстаней визначаються або на основі рекомендації виробника компонента, або на основі стандартів, що описують відповідні інтерфейси (PCI, PCI-X, DDR2, DDR3 і ін.), Або на основі розрахунків по цілісності сигналу. Ця опція в Allegro називається Net Spacing Type.
- Визначення фізичних параметрів сигналів (ширина лінії сигналу на певному шарі друкованої плати). Ці параметри визначають шляхом розрахунків, виходячи з кількості шарів плати, структури плати, порядку і товщини шарів, а також заданого хвильового опору (рис. 1). Ця опція називається Net Physical Type.
Мал. 1. а) Порядок шарів друкованої плати із зазначенням фізичних характеристик сигналів; б) розрахунок характеристик сигналів за допомогою програми Polar для різних типів хвильового опору
Передача вимог до параметрів сигналів зі схеми в друковану плату
Зрозуміло, існують додаткові характеристики сигналів, вимоги до яких задаються або інженером-схемотехніки на рівні схеми, або інженером-конструктором безпосередньо в друкованій платі. Найбільш поширені з них:
- визначення шин сигналів (Bus);
- диференціальні пари;
- максимальну кількість перехідних отворів в 1 сигналі;
- довжина сигналу;
- довжина сигналу на зовнішніх шарах;
- довжина «стаб» (відгалужень від основної лінії сигналу);
- характеристики паралелізму сигналів, що проходять в 1 шарі;
- відповідність груп сигналів по довжині.
Мал. 2. Властивості сигналів в: а) OrCAD; б) Allegro
У разі, коли властивості внесені в OrCAD на рівні файлу схеми DSN, після генерації списку з'єднань (Net List) і занесення його в Allegro ці властивості автоматично з'являються в пам'яті проекту, і інженер-конструктор може почати працювати з групами елементів. Досвідчений розробник завжди може сказати, які властивості він би хотів бачити на рівні схематики, а які йому буде зручно внести самому.
Всі з'єднання, заведені в схему, представляються як віртуальні лінії, що з'єднують ніжки компонентів, так звані Rats Net. Можна побачити як все сигнали списком (рис. 3), так і окремі сигнали, їх групи, а також сигнали, що належать компоненту або окремої ніжці компонента (рис. 4).
Мал. 3. Rats Net для сигналів на друкованій платі
Мал. 4. Опції для відображення груп Rats Net
Для зручності можна робити так звані «зв'язки» ліній, як в автоматичному режимі, так і в інтерактивному (функція Bundle) (рис. 5). У цьому випадку сигнали представлені групою, як єдиний «пучок», що полегшує візуальне сприйняття таких сигналів на платі.
Мал. 5. Зв'язки сигналів на платі (Bundles)
диференціальні пари
Можливості Allegro дозволяють вести 2 сигналу в диференціальної парі, одночасно забезпечуючи задану ширину лінії і відстань між ними в обраному шарі (рис. 6).
Мал. 6. а) Rats Net для диференціальних пар; б) трасування диференціальної пари
В інтерактивному режимі можна вибрати такі опції, як огибание об'єктів в процесі трасування, дотримання дистанції до інших об'єктів, зрушення перехідних отворів. При виконанні операції «слайд-зсуву» зсуваються дві лінії одночасно. При необхідності можна проводити і окремо кожну лінію. Для цього потрібно лише вибрати опцію трасування одного сигналу (Single Trace Mode) (рис. 7).
Мал. 7. Режим одиночної трасування сигналу в DP
Якщо всі параметри для DP введені, то в режимі реального часу можна бачити, відповідає реальний стан трасування DP заданим значенням чи ні. Це стосується як різниці в довжині всередині DP, так і довжини всієї DP або її частини, і відповідності довжини кожного члена в DP всередині групи сигналів, визначеної за параметрами різниці по довжині (Match Group) (рис. 8). За відповідності параметрам користувач бачить зелене табло, при невідповідності - червоне; якщо трасування не завершена або відключений режим перевірки на помилки, то жовте. Цей «світлофор» дозволяє дуже швидко оцінити стан речей і внести зміни в процес трасування, не вдаючись до додаткових дій.
Мал. 8. Параметри DP в режимі реального часу
Трасування одиночних сигналів проводиться також в ручному або інтерактивному режимі. Перебуваючи в режимі трасування, натисканням правої кнопки миші можна викликати додаткове меню (рис. 9), що дає можливість скасувати попередню дію, додати перехідний отвір, змінити активний шар, поміняти шар, увійти в режим змін товщини сигналу на заданій ділянці (Neck Mode) і т . д.
Мал. 9. Меню правої кнопки миші в режимі трасування
Додаткові функції трасування - підрізання та заміщення
І ще про двох корисних функціях трасування.
Одна з них пов'язана з «підрізанням» груп сигналів активним сигналом (той сигнал, трасування якого проводиться зараз). Дуже зручно, коли потрібно змінити напрямок руху вже проведених сигналів, не виходячи з режиму трасування. Це досягається включенням режиму Clip Danglings Line в розділі Options (рис. 10).
Мал. 10. Режим підрізання сусідніх сигналів
Друга опція пов'язана з інтерактивним заміщенням знову проведеного ділянки сигналу замість попереднього, без виконання додаткових команд з видалення непотрібних ділянок. Це відбувається при використанні функції Replace Etch (рис. 11).
Мал. 11. Функція заміщення знову проведеного ділянки: а) до завершення команди; б) після завершення команди
Вельми активно в процесі трасування інженер використовує функцію динамічного редагування, коли при зміні траєкторії сигналу можна зрушити або змінити положення сусідніх сигналів, зберігаючи при цьому задані відстані між об'єктами трасування. Можна підключити при цьому функції зсування перехідних отворів (Shove Vias) і згладжування дефектів розводки (Smooth) (рис. 12).
вирівнювання затримок
Коли перед конструктором друкованих плат стоїть завдання вирівнювання сигналу по довжині в групі, доречно скористатися функцією затримки сигналу (Delay Tune) (рис. 13).
Мал. 13. Функція Delay Tune
Виділяючи потрібний сигнал курсором, в опціях можна вибрати стиль вирівнювання сигналу (рис. 14):
- Яка форма «змійки» (Accordion, Trombone, Saw tooth).
- Чи буде виконано вирівнювання щодо центру лінії чи ні.
- Крок вирівнювання (1X space), де Х - ширина лінії.
- Прямий кут, під 45 ° або округлення.
- Чи дозволені помилки під час вирівнювання чи ні.
Мал. 14. Стилі вирівнювання сигналів: а) Accordion; б) Trombone; в) Saw tooth
І після цього відразу з'являється інтерактивне вікно, що сигналізує про стан сигналу щодо заданих параметрів по довжині. Сумарне положення групи сигналів відображено в таблиці Constraint Manager, про що ми поговоримо наступного разу.
Коли дозволяє простір, на платі можна «захопити» групу сигналів, щоб трассіровать їх одночасно, включаючи або не вмикаючи інтерактивне дотримання дистанції, згідно із заданими умовами (рис. 15).
Рис.15. Одночасна трасування групи сигналів
Викликавши підміню правою кнопкою, можна вибрати режим вибору відстаней між сигналами (Route Spacing) (рис. 16). Таким чином, можна заощадити місце, зменшивши відстань до мінімуму (Minimum DRC) або встановивши своє (User defined).
Мал. 16. Режим вибору відстаней між сигналами
Локальні області з особливими правилами
Буває так, що виникає необхідність поставити так звані локальні області на друкованій платі, в яких діють інші закони як по відстані між сигналами, так і по їх ширині. Особливо часто це застосовується в області компонентів BGA, де відстань між перехідними отворами не дозволяє провести сигнал з необхідною шириною або неможливо зберегти задану відстань.
У Allegro за це відповідає так звана «область обмежень» (Constraint Region) (рис. 17).
Мал. 17. Область обмежень в меню палітри зображень
Визначивши розміри заданої області обмежень, можна задати всередині цієї області необхідні закони дотримання відстаней від сигналу до перехідного отвору, до ніжки компонента, а також власне ширини лінії, якщо це необхідно (рис. 18).
Мал. 18. Область обмежень для BGA-компонента
Далі в процесі трасування програма автоматично витримує задані параметри всередині області обмежень (рис. 19).
Мал. 19. Автоматичне витримування товщини сигналу всередині області
Дуже важливе місце в трасуванні сигна лов займає визначення полігонів і робота з ними. САПР Allegro надає в цьому напрямку широке поле діяльності і великі можливості. Почнемо з того, що саме визначення полігонів виконується досить просто і може бути реалізовано кількома способами.
Позитивні і негативні полігони
Ще одне основне поділ полігонів - це так звані «позитивні» і «негативні» полігони. Різниця полягає в тому, що для позитивних полігонів звільнення від об'єктів здійснюється відповідно до заданих параметрах відстаней від об'єктів (отворів, ніжок, сигналів і інших полігонів) до даного полігону. Цих полігонів може бути кілька на одному шарі, і ви можете змінити налаштування відстаней для кожного полігону окремо.
У негативному полігоні звільнення здійснюється за рахунок визначення відступу, Anti Pad, тобто віртуального відстані для вивільнення, що визначається для кожного типу наскрізного отвору. Негативні полігони, як правило, використовуються тільки на внутрішніх шарах для ланцюгів «землі» і харчування (GND, VCC). Переваги негативних полігонів складаються в економії пам'яті і збільшенні швидкодії комп'ютера. Недолік полягає в тому, що неможливо звільнити полігон в кожному конкретному випадку на задану відстань. Це важливо, якщо ми маємо справу з сигналами високої напруги, коли відстань між об'єктами трасування змінюється. Вибір виду полігону здійснюється на рівні визначення порядку шарів друкованої плати (рис. 20).
Мал. 20. Вибір негативного типу полігону
Якщо ми говоримо про полігоні, який визначається для всієї плати (сигнали GND, VCC), то його можна визначити, скопіювавши область, дозволену для трасування (Route Keep In), на потрібний шар, задати їй тип «полігон» (динамічний або статичний) , а потім стиснути або розширити полігон за розміром при необхідності. Потім можна привласнити цьому полігону необхідну ланцюг - «землі» або харчування (рис. 21).
Мал. 21. а) Створення полігону шляхом копіювання кордонів трасування (Route Keep In); б) створений полігон в шарі L2-GND1
Як було сказано вище, для позитивних динамічних полігонів параметри задаються на початку проекту глобально (рис. 22).
Мал. 22. а) Стиль заповнення полігону (Shape Fill); б) вибір типу і параметрів (Gerber); в) визначення типу звільнення полігону: згідно DRC або з добавкою до заданого значення (Clearances); г) параметри термоз'єднуванням (Thermal Relief)
Створити полігон можна, не тільки використовуючи меню для створення стандартних форм (прямокутник, коло), але і довільно.
Полігони можна копіювати з шару в шар, привласнюючи їм інші ланцюги, міняти їм статус з динамічного на статичний і назад, об'єднувати полігони, що належать до одного сигналу, в один полігон (Merge Polygon), а також виконувати з ними інші необхідні дії.
Як вже було сказано, в динамічному режимі вивільнення полігону від об'єктів відбувається автоматично, але іноді доводиться здійснювати «косметичні» дії або, якщо мова йде про статичному полігоні, звільняти об'єкти в ручному режимі. Для цього існує команда Manual Void в меню Shape (рис. 23).
Мал. 23. Меню для створення і редагування полігонів
Вибираючи полігон, конструктор викликає підменю і визначає необхідний режим вивільнення полігону (рис. 24).
Мал. 24. Режими вивільнення полігону
Отримані вивільнення (Voids) можна потім переносити на інше місце або копіювати. Результати дії цієї команди ви можете бачити на рис. 25.
Мал. 25. Варіанти Voids, отримані різними способами
Зрозуміло, фрагменти трасування можна копіювати з місця на місце, переносити з шару в шар і навіть міняти місцями, тобто, по суті, працювати з ними як з групами елементів.
Ще одна чудова функція, яка існує в Allegro, дозволяє істотно скоротити час розробки як всього проекту в цілому, так і процес трасування зокрема. Йдеться про Design Partition або паралельному проектуванні (рис. 26).
Мал. 26. Опція для паралельного проектування
Сенс цієї функції полягає в тому, що проектувальники можуть розділити плату на кілька областей для розміщення, трасування і т. Д. Проект може бути розділений вертикально (на розділи) з «м'якими» кордонами або горизонтально (по шарах). В результаті розробник може працювати над своїм фрагментом проекту, а «майстер» може бачити все розділи і виробляти оновлення розділів, щоб контролювати процес проектування в цілому (рис. 27).
Мал. 27. Менеджер управління процесом паралельного проектування
Автотрасування в програмі Specctra
Мал. 28. Меню експорту-імпорту в програму автоматичного трасування Speсctr # 945;
Однак зауважимо, що для сучасних швидкісних плат з високою щільністю з'єднань можливості автоматичного трасування в Specctra, на жаль, досить ограниче ни, тому в таких випадках ми використовуємо прекрасні можливості Allegro для ручного трасування, щоб виконати проекти замовників грамотно, якісно і в короткий проміжок часу .
висновок
Можна підсумувати переваги трасування в Allegro наступним чином:
В результаті досягається найвища швидкість проектування при максимальному використанні площі і мінімальній кількості шарів друкованої плати.
Завантажити статтю в форматі pdf