W poprzedniej części cyklu dowiedzieliśmy się, jak wyglądało projektowanie płytek drukowanych przed pojawieniem się komputerów, gdy cały proces realizowany był ręcznie. W momencie, gdy pojawiły się pierwsze programy komputerowe, pojawiło się także nowe narzędzie, dotychczas nieznane inżynierom - autorouter. To algorytm komputerowy, który automatycznie wykonuje połączenie na płytce drukowanej rysując ścieżki.
Autorouter to dosyć tajemniczy i mityczny zwierz w świecie projektowania PCB... To znaczy w sumie nie jest wcale mityczny ani nazbyt tajemniczy - takie narzędzia rzeczywiście istnieją i, wierzcie bądź nie, są ludzie, którzy z nich korzystają. Ale dlaczego? Każdy zaawansowany projektant płytek drukowanych wie, że algorytmy autoroutera są dalekie od ideału. Ich odpowiednie skonfigurowanie zajmuje sporo czasu, a bardzo często wyniki ich pracy są dalekie od satysfakcjonujących, tak, że trzeba po nich poprawiać. Sumarycznie zajmuje to w sumie tyle samo czasu, co narysowanie ścieżek samodzielnie.
Na pierwszy rzut oka idea autoroutera wydaje się genialna. Algorytm, który idealnie poprowadzi ścieżki na płytce drukowanej za inżyniera. Brzmi wspaniale! Taka właśnie idea przyświecała pracom nad tego rodzaju algorytmami w latach '80 XX wieku. Niestety pierwsze z nich nie dawały idealnych rezultatów. A nawet gorzej - dawały rezultaty bardzo kiepskie. Wczesne autoroutery miały wiele wad: źle zarządzały miejscem na płytce, nierównomiernie obciążały strony płytki i generowały nadmierną ilość przelotek na PCB.
Jeśli chcielibyśmy jednym zdaniem opisać sytuację wczesnych autorouterów, to z pewnością byłoby to "upośledzenie spowodowane ograniczeniami sprzętowymi". Algorytmy po prostu nie mogły zredukować swojej siatki pracy, by zapewnić lepszą rozdzielczość obliczeń, gdyż nie pozwalały na to ograniczenia w postaci procesorów oraz niewielkiej ilości pamięci. Bez odpowiednich komputerów, twórcy oprogramowania EDA (do projektowania urządzeń elektronicznych) eksplorowali inne techniki, na przykład autorouting oparty na kształtach. Nowe algorytmy pozwoliły na spełnienie wymagań dotyczących generacji połączeń na płytce drukowanej i zapewnienia integralności sygnałów dzięki:
* Tworzeniu wydajnych połączeń pomiędzy elementami,
* Redukcji ilości przelotek na płytce drukowanej - możliwe było zmniejszenie kosztów produkcji płytek drukowanych,
* Zmniejszeniu liczby warstw na PCB kosztem zwiększenia jej rozmiaru.
Jednakże nawet pomimo tego, rezultaty osiągane z pomocą autoroutera były co najwyżej średnie. Twórcom oprogramowania EDA udało się pokonać ograniczenia sprzętowe oprogramowania, jednakże projektanci PCB nadal sceptycznie odnosili się do nowej technologii projektowania płytek.
Jak z każdą technologią, tak i w tym zakresie następowała ewolucja. W latach '90 XX wieku do autorouterów dodawano nowe funkcje, takie jak zoptymalizowane kąty prowadzenia ścieżek, tryby przepychania innych ścieżek podczas generacji połączeń etc. Dzięki temu zmniejszała się ilość przelotek i ścieżek na PCB. Niestety pomimo tego nowa technologia miała bardzo ograniczony wpływ na środowisko projektantów PCB. Konfiguracja autoroutera nadal była bardzo czasochłonna i wymagała wprowadzania dużej ilości poprawek. Niektórych płytek nawet nie dało się połączyć automatycznie w 100%. Mimo ogromnego postępu w tym okresie autorouter ciągle nie był realnie wykorzystywany i wszystkie ścieżki projektowane były manualnie.
Przełom wieków wprowadził do elektroniki gro nowych technologii i elementów, co spowodowało z kolei, że zmienił się sposób projektowania płytek drukowanych. W wielu projektach trzeba było redukować ilość przelotek, które pogarszają jakość sygnału. Ścieżki muszą mieć często ściśle kontrolowaną impedancję i opóźnienia; pojawiły się także sygnały różnicowe, które obecnie są standardem, w których konieczne jest utrzymywanie dwóch ścieżek blisko siebie i o tej samej długości. Pojawiły się nowe obudowy, takie jak BGA, które preferowane są w przypadku układów scalonych z dużą ilością wyprowadzeń. Zmiany technologiczne pociągnęły za sobą ogromną zmianę w świadomości projektantów. Te zmiany dały początek nowej generacji algorytmom, tzw. river-routing.
Nowa metoda jest zadziwiająco efektowna. Pozwala ona na zredukowanie liczby przelotek w torze sygnału, wykorzystuje równo wszystkie warstwy i nie przejawia żadnych preferencji co do prowadzenia połączeń którąkolwiek z nich. Mimo tych zalet jednakże nadal niewielu elektroników niechętnie sięgnęło po nowe rozwiązanie. Dlaczego? Tym razem to nie technologia – przyczyna leży w psychice projektantów.
Inżynierowie, podczas rozkładania elementów na płytce drukowanej, cały czas już w głowie prowadzili ścieżki. Ma to bezpośredni wpływ więc na ich rozmieszczenie, a w konsekwencji na poprowadzone później ścieżki. Próba zmiany tego trybu pracy, poprzez wprowadzenie autorouterów, kończy się zawsze odmową współpracy przez projektanta, któremu niezwykle ciężko jest zmienić swoje przyzwyczajenia.
Oprócz ‘river-routing’ powstał także algorytm ‘route-planning’. Ten z kolei daje projektantom szerokie możliwości konfiguracji autoroutera. Ustawienia pozwalają na definicję przeznaczenia poszczególnych warstw, stworzenie różnych więzów dla sygnałów, zapewnianie ekranowania wybranym sygnałom etc. Niestety – jakkolwiek wszystkie te ustawienia sprawiają, że autorouter idealnie sprawdza się w swoim zastosowaniu, to czas jego konfiguracji jest dłuższy niż manualne prowadzenie ścieżek na płytce.
Rezultat jest taki, że pomimo ogromnego postępu, jaki w ciągu ostatnich lat możemy obserwować w tym sektorze, algorytmy tego typu nadal nie doczekały się pełniejszej akceptacji w środowisku projektantów PCB. Obecnie wszystko wskazuje, że wykonujemy krok w tył – wracamy do momentu, gdy szczytem technologii były autoroutery jedynie asystujące projektantom. Ale czy to realny krok w tył? Niekoniecznie.
Podczas projektowania płytki drukowanej typowy inżynier elektronik wykorzystuje podejście „od ogółu do szczegółu”. W pierwszej kolejności zgrubnie rozmieszcza elementy zgodnie z jego doświadczeniem i planowanym kierunkiem płynięcia sygnałów na PCB. Następnie manualnie rysuje ścieżki łączące poszczególne układy. W przypadku bardziej złożonych układów można początkowo wytyczyć miejsce, gdzie znajdować się będą szyny danych etc. W ten sposób łatwiej jest rozplanować płytkę drukowaną.
Autorouter z kolei postępuje zupełnie odwrotnie – „od szczegółu do ogółu”. Algorytm zajmuje się dokładnym spozycjonowaniem każdej ścieżki już na samym początku swojej pracy. Dlatego też ciężko jest połączyć oba podejścia – ludzkie i autoroutera – w jedną całość.
Firmy, takie jak Altium czy Mentor Graphics, właśnie z takim podejściem podeszły do tworzenia nowych algorytmów wspomagania prowadzenia ścieżek. Z ich wykorzystaniem inżynier nanosi jedynie zgrubnie kształt, wedle którego chciałby poprowadzić ścieżki, tak jakby szkicował je na papierze, a resztę pracy wykonuje narzędzie wbudowane w program CAD. Narzędzia te mogą nawet dopasowywać długość ścieżek do siebie czy prowadzić pary różnicowe. Na obrazku poniżej widać przykład działania takiego algorytmu.
Dzięki zastosowaniu zupełnie nowego podejścia, które nie jest tak zautomatyzowane jak poprzednie, możliwe jest osiąganie rezultatów tak dobrych, jak w przypadku manualnego prowadzenia ścieżek, z szybkością typowych w pełni zautomatyzowanych algorytmów autoroutingu.
Nic nie wskazuje, aby w najbliższym czasie powstać miały lepsze narzędzia. W pełni zautomatyzowane podejście jest póki co niemożliwe do zrealizowania – ilość czasu, jaką poświęcić trzeba na konfigurację autoroutera jest większa niż na manualne narysowanie ścieżek w projekcie. A nawet, jeżeli już w jakiś sposób przekonamy się do takiej złożonej konfiguracji algorytmu, to nadal i tak nigdy nie można być w 100% pewnym, czy operacja się powiedzie.
A Wy – czy korzystaliście kiedyś z autoroutera? Z jakim skutkiem? A może korzystacie z niego nadal?
Źródło: https://www.eeweb.com/profile/alex-tamari/articles/eras-of-pcb-design-the-autorouter
Autorouter to dosyć tajemniczy i mityczny zwierz w świecie projektowania PCB... To znaczy w sumie nie jest wcale mityczny ani nazbyt tajemniczy - takie narzędzia rzeczywiście istnieją i, wierzcie bądź nie, są ludzie, którzy z nich korzystają. Ale dlaczego? Każdy zaawansowany projektant płytek drukowanych wie, że algorytmy autoroutera są dalekie od ideału. Ich odpowiednie skonfigurowanie zajmuje sporo czasu, a bardzo często wyniki ich pracy są dalekie od satysfakcjonujących, tak, że trzeba po nich poprawiać. Sumarycznie zajmuje to w sumie tyle samo czasu, co narysowanie ścieżek samodzielnie.
Na pierwszy rzut oka idea autoroutera wydaje się genialna. Algorytm, który idealnie poprowadzi ścieżki na płytce drukowanej za inżyniera. Brzmi wspaniale! Taka właśnie idea przyświecała pracom nad tego rodzaju algorytmami w latach '80 XX wieku. Niestety pierwsze z nich nie dawały idealnych rezultatów. A nawet gorzej - dawały rezultaty bardzo kiepskie. Wczesne autoroutery miały wiele wad: źle zarządzały miejscem na płytce, nierównomiernie obciążały strony płytki i generowały nadmierną ilość przelotek na PCB.
Jeśli chcielibyśmy jednym zdaniem opisać sytuację wczesnych autorouterów, to z pewnością byłoby to "upośledzenie spowodowane ograniczeniami sprzętowymi". Algorytmy po prostu nie mogły zredukować swojej siatki pracy, by zapewnić lepszą rozdzielczość obliczeń, gdyż nie pozwalały na to ograniczenia w postaci procesorów oraz niewielkiej ilości pamięci. Bez odpowiednich komputerów, twórcy oprogramowania EDA (do projektowania urządzeń elektronicznych) eksplorowali inne techniki, na przykład autorouting oparty na kształtach. Nowe algorytmy pozwoliły na spełnienie wymagań dotyczących generacji połączeń na płytce drukowanej i zapewnienia integralności sygnałów dzięki:
* Tworzeniu wydajnych połączeń pomiędzy elementami,
* Redukcji ilości przelotek na płytce drukowanej - możliwe było zmniejszenie kosztów produkcji płytek drukowanych,
* Zmniejszeniu liczby warstw na PCB kosztem zwiększenia jej rozmiaru.
Jednakże nawet pomimo tego, rezultaty osiągane z pomocą autoroutera były co najwyżej średnie. Twórcom oprogramowania EDA udało się pokonać ograniczenia sprzętowe oprogramowania, jednakże projektanci PCB nadal sceptycznie odnosili się do nowej technologii projektowania płytek.
Jak z każdą technologią, tak i w tym zakresie następowała ewolucja. W latach '90 XX wieku do autorouterów dodawano nowe funkcje, takie jak zoptymalizowane kąty prowadzenia ścieżek, tryby przepychania innych ścieżek podczas generacji połączeń etc. Dzięki temu zmniejszała się ilość przelotek i ścieżek na PCB. Niestety pomimo tego nowa technologia miała bardzo ograniczony wpływ na środowisko projektantów PCB. Konfiguracja autoroutera nadal była bardzo czasochłonna i wymagała wprowadzania dużej ilości poprawek. Niektórych płytek nawet nie dało się połączyć automatycznie w 100%. Mimo ogromnego postępu w tym okresie autorouter ciągle nie był realnie wykorzystywany i wszystkie ścieżki projektowane były manualnie.
Przełom wieków wprowadził do elektroniki gro nowych technologii i elementów, co spowodowało z kolei, że zmienił się sposób projektowania płytek drukowanych. W wielu projektach trzeba było redukować ilość przelotek, które pogarszają jakość sygnału. Ścieżki muszą mieć często ściśle kontrolowaną impedancję i opóźnienia; pojawiły się także sygnały różnicowe, które obecnie są standardem, w których konieczne jest utrzymywanie dwóch ścieżek blisko siebie i o tej samej długości. Pojawiły się nowe obudowy, takie jak BGA, które preferowane są w przypadku układów scalonych z dużą ilością wyprowadzeń. Zmiany technologiczne pociągnęły za sobą ogromną zmianę w świadomości projektantów. Te zmiany dały początek nowej generacji algorytmom, tzw. river-routing.
Nowa metoda jest zadziwiająco efektowna. Pozwala ona na zredukowanie liczby przelotek w torze sygnału, wykorzystuje równo wszystkie warstwy i nie przejawia żadnych preferencji co do prowadzenia połączeń którąkolwiek z nich. Mimo tych zalet jednakże nadal niewielu elektroników niechętnie sięgnęło po nowe rozwiązanie. Dlaczego? Tym razem to nie technologia – przyczyna leży w psychice projektantów.
Inżynierowie, podczas rozkładania elementów na płytce drukowanej, cały czas już w głowie prowadzili ścieżki. Ma to bezpośredni wpływ więc na ich rozmieszczenie, a w konsekwencji na poprowadzone później ścieżki. Próba zmiany tego trybu pracy, poprzez wprowadzenie autorouterów, kończy się zawsze odmową współpracy przez projektanta, któremu niezwykle ciężko jest zmienić swoje przyzwyczajenia.
Oprócz ‘river-routing’ powstał także algorytm ‘route-planning’. Ten z kolei daje projektantom szerokie możliwości konfiguracji autoroutera. Ustawienia pozwalają na definicję przeznaczenia poszczególnych warstw, stworzenie różnych więzów dla sygnałów, zapewnianie ekranowania wybranym sygnałom etc. Niestety – jakkolwiek wszystkie te ustawienia sprawiają, że autorouter idealnie sprawdza się w swoim zastosowaniu, to czas jego konfiguracji jest dłuższy niż manualne prowadzenie ścieżek na płytce.
Rezultat jest taki, że pomimo ogromnego postępu, jaki w ciągu ostatnich lat możemy obserwować w tym sektorze, algorytmy tego typu nadal nie doczekały się pełniejszej akceptacji w środowisku projektantów PCB. Obecnie wszystko wskazuje, że wykonujemy krok w tył – wracamy do momentu, gdy szczytem technologii były autoroutery jedynie asystujące projektantom. Ale czy to realny krok w tył? Niekoniecznie.
Podczas projektowania płytki drukowanej typowy inżynier elektronik wykorzystuje podejście „od ogółu do szczegółu”. W pierwszej kolejności zgrubnie rozmieszcza elementy zgodnie z jego doświadczeniem i planowanym kierunkiem płynięcia sygnałów na PCB. Następnie manualnie rysuje ścieżki łączące poszczególne układy. W przypadku bardziej złożonych układów można początkowo wytyczyć miejsce, gdzie znajdować się będą szyny danych etc. W ten sposób łatwiej jest rozplanować płytkę drukowaną.
Autorouter z kolei postępuje zupełnie odwrotnie – „od szczegółu do ogółu”. Algorytm zajmuje się dokładnym spozycjonowaniem każdej ścieżki już na samym początku swojej pracy. Dlatego też ciężko jest połączyć oba podejścia – ludzkie i autoroutera – w jedną całość.
Firmy, takie jak Altium czy Mentor Graphics, właśnie z takim podejściem podeszły do tworzenia nowych algorytmów wspomagania prowadzenia ścieżek. Z ich wykorzystaniem inżynier nanosi jedynie zgrubnie kształt, wedle którego chciałby poprowadzić ścieżki, tak jakby szkicował je na papierze, a resztę pracy wykonuje narzędzie wbudowane w program CAD. Narzędzia te mogą nawet dopasowywać długość ścieżek do siebie czy prowadzić pary różnicowe. Na obrazku poniżej widać przykład działania takiego algorytmu.
Dzięki zastosowaniu zupełnie nowego podejścia, które nie jest tak zautomatyzowane jak poprzednie, możliwe jest osiąganie rezultatów tak dobrych, jak w przypadku manualnego prowadzenia ścieżek, z szybkością typowych w pełni zautomatyzowanych algorytmów autoroutingu.
Nic nie wskazuje, aby w najbliższym czasie powstać miały lepsze narzędzia. W pełni zautomatyzowane podejście jest póki co niemożliwe do zrealizowania – ilość czasu, jaką poświęcić trzeba na konfigurację autoroutera jest większa niż na manualne narysowanie ścieżek w projekcie. A nawet, jeżeli już w jakiś sposób przekonamy się do takiej złożonej konfiguracji algorytmu, to nadal i tak nigdy nie można być w 100% pewnym, czy operacja się powiedzie.
A Wy – czy korzystaliście kiedyś z autoroutera? Z jakim skutkiem? A może korzystacie z niego nadal?
Źródło: https://www.eeweb.com/profile/alex-tamari/articles/eras-of-pcb-design-the-autorouter
Fajne? Ranking DIY
