Oprogramowanie EDA to kategoria narzędzi programowych służących do wykonania projektów systemów elektronicznych na różnym poziomie. Jest stosowane do projektowania obwodów elektronicznych i płytek drukowanych, ale także układów scalonych, obudów, różnych elementów konstrukcyjnych urządzeń, a nawet do różnego rodzaju wizualizacji i symulacji. W artykule skupimy się na rozwiązaniach pierwszej grupy, czyli na programach do projektowania schematów układów elektronicznych oraz projektowania i walidacji płytek drukowanych.
Ponieważ nowoczesne urządzenia elektroniczne składają się z setek lub nawet tysięcy komponentów, narzędzia EDA są niezbędne do ich szybkiego projektowania. Często systemy tego rodzaju zintegrowane są z oprogramowaniem do symulacji elektrycznych i fizycznych, dzięki czemu możliwe jest usprawnienie procesu projektowania. Przekłada się to na zaoszczędzony czas, a także redukuje ilość koniecznych prototypów i badań laboratoryjnych. W efekcie oznacza to zmniejszenie kosztów projektu danego systemu elektronicznego.
Łatwość edytowania projektów i wprowadzania zmian, nawet na późnym etapie projektowania czy w gotowych projektach, pozwala na szybsze dopasowanie projektu urządzenia do zmieniających się wymagań. Możliwa jest szybka podmiana elementów w projekcie urządzenia na wypadek, gdyby obecnie stosowane elementy nie były dostępne na rynku, np. z powodu wycofania ich z produkcji lub problemów z dostawami, co jest obecnie jednym z największych problemów branży.
Znacznie ułatwia to utrzymanie ciągłości produkcji urządzeń, szczególnie w przypadku trwającego kilkanaście czy kilkadziesiąt lat ich cyklu życia.
Na potrzeby przygotowanego zestawienia oprogramowanie zostało podzielone dosyć arbitralnie – według kategorii ceny i zastosowania. Nie jest niczym zadziwiającym to, że profesjonaliści stający przed bardzo zaawansowanymi projektami, często tworzonymi dla środowisk o szczególnych wymaganiach (urządzenia medyczne, elektronika motoryzacyjna, systemy funkcjonalnego bezpieczeństwa przemysłowego itp.), potrzebują zaawansowanych pakietów oprogramowania EDA. Nie jest też niczym zaskakującym, że zaawansowane oprogramowanie jest kosztowne. Nie oznacza to jednak, że otwarte czy darmowe oprogramowanie nadaje się tylko do prostych zastosowań – na rynku dostępnych jest coraz więcej ciekawych i rozbudowanych pakietów oprogramowania, udostępnianych na darmowych licencjach, które okazują się wystarczające w wielu niestandardowych przypadkach.
Z drugiej strony, można wydzielić też grupę pakietów EDA, które są relatywnie prostsze i tańsze, ponieważ są adresowane do firm projektujących mniej skomplikowane urządzenia elektroniczne, których projekt, z uwagi na niższy poziom złożoności, nie wymaga zaawansowanego oprogramowania. Jest to jednak podział bardzo arbitralny i subiektywny.
Zaprezentowane zestawienie nie jest rankingiem dostępnych na rynku narzędzi – nie da się zestawić takowego, ponieważ do każdej aplikacji będzie optymalne inne rozwiązanie. Wszystko w takim wypadku jest jakimś kompromisem, pomiędzy elastycznością oprogramowania, jego możliwościami i oczywiście kosztem. W wielu wypadkach darmowe, prostsze oprogramowanie jest lepszym rozwiązaniem niż duży kosztowny pakiet, którego większość możliwości pozostanie niewykorzystana.
Oprogramowanie EDA, używane przez elektroników, można podzielić na kilka elementów składowych. Większość omawianych poniżej programów ma wszystkie te funkcje, jednak warto omówić je niezależnie, gdyż są one w różnym stopniu rozbudowane. Składowe typowego pakietu EDA to:
- program do rysowania schematów,
- program do projektowania
- PCB,
- system do zarządzania bibliotekami elementów,
- eksporter do projektów PCB,
- interfejsy do innego rodzaju oprogramowania (CAD-y mechaniczne, programy do symulacji itp.).
Elementy te nie wymagają szerszego opisu – wiadomo, jaką funkcję pełni każdy z nich. Oprócz tego w oprogramowaniu EDA mogą być zintegrowane programy do obliczeń, symulacji, automatyczne generatory do rysunków elementów elektronicznych, interfejsy do systemów kontroli wersji, narzędzia do sprawdzania poprawności projektu itp.