Dyskusja: projekt OpenROAD ma na celu rozwiązanie problemu automatyzacji projektowania procesorów

Dyskusja: projekt OpenROAD ma na celu rozwiązanie problemu automatyzacji projektowania procesorów
Zdjęcie — Pexels — CC BY

Według danych 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 spadło. 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 pisaliśmy, że podczas tworzenia wysokowydajnego mikroprocesora konieczne jest używanie 100–150 różnych narzędzi programowych (EDA). 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 „Advanced Logic Synthesis” twierdzą, że często projektanci trzeba muszą pisać skrypty w Skill lub Python z dwóch milionów linii, aby tworzyć biblioteki z komórkami.

. 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ż uważają, że istniejące metody tworzenia chipów są przestarzałe. Organizacja uruchomiło realizuje pięcioletni program OpenROAD, 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 opracowywane są (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 na GitHubie.

RePlAce — rozwiązanie chmurowe oparte na uczeniu maszynowym, które odpowiada za rozmieszczenie komponentów na chipie i automatyzację trasowania. Po niektórych danych, 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 w repozytorium.

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 drzewach H.Takie podejście zwiększa 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 na GitHubie.

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 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 zauważają, ż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 zapoczątkować 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.

Dyskusja: projekt OpenROAD ma na celu rozwiązanie problemu automatyzacji projektowania procesorów
Zdjęcie — Pexels — CC BY

Już są uczestnicy — laboratoria zajmujące się rozwojem chipów z Uniwersytetu Michigan, staną się pierwszymi, 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 gEDA — 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źć w dokumentacji na stronie projektu.

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

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster