Zdjęcie — — CC BY
Według PWC, rynek technologii półprzewodnikowej rośnie — w zeszłym roku osiągnął wartość 481 miliardów dolarów. Jednak tempo jego wzrostu w ostatnim czasie . Wśród przyczyn tego spadku znajduje się złożoność procesów projektowania urządzeń oraz brak automatyzacji.
Jeszcze kilka lat temu inżynierowie z Intela , że podczas tworzenia wysokowydajnego mikroprocesora konieczne jest używanie 100–150 różnych narzędzi programowych (). Sytuacja może się pogarszać w przypadku heterogenicznych urządzeń, których architektura obejmuje kilka różnych typów układów scalonych — ASIC, FPGA, CPU lub GPU. W rezultacie pojawiają się błędy w projektowaniu, które opóźniają wydanie produktów.
Mimo dużej liczby narzędzi pomocniczych, część pracy inżynierowie wciąż muszą wykonywać ręcznie. Autorzy książki „” twierdzą, że często projektanci muszą pisać skrypty w Skill lub Python z dwóch milionów linii, aby tworzyć biblioteki z .
. Pisane są również skrypty do parsowania raportów generowanych przez systemy EDA. Podczas projektowania chipu w technologii 22 nm te raporty mogą zajmować do 30 terabajtów.
Sytuację postanowiono poprawić i spróbować ustandaryzować procesy projektowania w DARPA. W agencji również , że istniejące metody tworzenia chipów są przestarzałe. Organizacja realizuje pięcioletni program , którego celem jest opracowanie nowych narzędzi do automatyzacji procesów projektowania układów scalonych.
Czym jest ten program
W programie uczestniczy kilka projektów, które wykorzystują uczenie maszynowe i technologie chmurowe do automatyzacji poszczególnych etapów tworzenia chipów. W ramach inicjatywy (schemat 1) ponad dziesięć narzędzi. Poniżej opowiemy bliżej o niektórych z nich: Flow Runner, RePlAce, TritonCTS, OpenSTA.
Flow Runner — to narzędzie do zarządzania bibliotekami RTL i GDSII. Te ostatnie stanowią pliki baz danych, które są standardem w branży do wymiany informacji o układach scalonych i ich topologiach. W podstawie rozwiązania leży technologia kontenerowa Docker. Flow Runner można uruchamiać zarówno w środowisku chmurowym, jak i lokalnie. Instrukcja instalacji znajduje się w oficjalnym repozytorium .
RePlAce — rozwiązanie chmurowe oparte na uczeniu maszynowym, które odpowiada za rozmieszczenie komponentów na chipie i automatyzację trasowania. Po , inteligentne algorytmy zwiększają efektywność narzędzia o 2–10% w porównaniu do klasycznych systemów. Dodatkowo, realizacja w chmurze ułatwia skalowanie. Przewodnik po instalacji i konfiguracji również leży .
TritonCTS — narzędzie do optymalizacji sygnałów taktowania dostarczanych do chipu. Pomaga trasować sygnały synchronizacyjne na wszystkie części urządzenia z jednakowymi opóźnieniami. Zasada działania opiera się na Takie podejście efektywność rozdzielania sygnałów o 30% w porównaniu do tradycyjnych metod. Programiści mówią, że w przyszłości ten wskaźnik można zwiększyć do 56%. Kod źródłowy i skrypty TritonCTS są dostępne na .
OpenSTA — silnik do statycznej analizy czasowej. Daje programiście możliwość sprawdzenia funkcjonalności chipu jeszcze przed jego faktycznym złożeniem. Przykład kodu w OpenSTA wygląda tak.
@@ -6,7 +6,7 @@ read_liberty -corner ff example1_fast.lib
read_verilog example1.v
link_design top
set_timing_derate -early 0.9
set_timing_derate -early 1.1
set_timing_derate -late 1.1
create_clock -name clk -period 10 {clk1 clk2 clk3}
set_input_delay -clock clk 0 {in1 in2}
# report all corners
Narzędzie obsługuje opisy netlistowe kodu w Verilog, biblioteki w formacie Liberty, pliki SDC itd.
Zalety i wady
Eksperci z IBM i IEEE , że technologie chmurowe i uczenie maszynowe od dawna powinny być wykorzystywane w produkcji chipów. Ich zdaniem, projekt DARPA może być udanym przykładem realizacji tej idei i zmiany w przemyśle.
Oczekuje się również, że otwarta natura OpenROAD pozwoli na stworzenie wokół narzędzi potężnej społeczności i przyciągnie nowe startupy.

Zdjęcie — — CC BY
Już są uczestnicy — laboratoria zajmujące się rozwojem chipów z Uniwersytetu Michigan, , którzy przetestują otwarte narzędzia OpenROAD. Ale na razie nie wiadomo, czy nowe rozwiązania będą miały zauważalny wpływ na koszty końcowych produktów.
Ogólnie oczekuje się, że narzędzia opracowywane pod kierunkiem DARPA wpłyną pozytywnie na przemysł procesorów, a w tej dziedzinie pojawi się coraz więcej nowych projektów. Przykładem może być narzędzie — umożliwia projektowanie chipów z nieograniczoną liczbą komponentów. gEDA zawiera narzędzia do edycji i modelowania układów scalonych oraz śledzenia płyt. Rozwiązanie było opracowywane dla platform UNIX, ale część jego komponentów działa także pod Windows. Instrukcje dotyczące ich użycia można znaleźć .
Darmowe narzędzia dają niezależnym organizacjom i startupom więcej możliwości. Istnieje prawdopodobieństwo, że z czasem nowe podejścia OpenROAD do opracowywania narzędzi EDA i tworzenia chipów mogą stać się standardem w branży.
O czym piszemy w naszym korporacyjnym blogu:
Źródło: habr.com
