Jak polski inżynier trafił do Doliny Krzemowej

Ile w projektowaniu procesorów jest jeszcze czynnika ludzkiego? Czy dokonuje się optymalizacji projektu w skali tranzystorów lub bramek czy tylko jeden program przekształca opis np. VHDL do struktury tudzież korzysta z „klocków”, a drugi program zajmuje się planowaniem przestrzennym.

Wszystko zależy od typu i klasy układu scalonego z jednej strony oraz od preferencji i doświadczenia danego producenta z drugiej. Dzisiejsza technologia jest niezwykle zaawansowana i skomplikowana. Przejście od kodu źródłowego do opisu masek może wykorzystywać nawet kilkanaście i więcej rozmaitych narzędzi, często pochodzących od różnych producentów, zarówno od tych największych jak Cadence czy Synopsys jak i mniejszych,  specjalizujących się np. w tylko jednym aspekcie całego procesu.

Oczywiście możliwe jest dokonywanie ręcznych optymalizacji tych części układu, które są krytyczne z punktu widzenia szybkości (częstotliwości zegara) lub poboru mocy. Taka optymalizacja może odbywać się zarówno na poziomie bramek, jak i tranzystorów.

Na przykład w przypadku mikroprocesorów krytycznym elementem z punktu widzenia częstotliwości zegara są najczęściej obwody pamięci podręcznych. Często więc zdarza się, że bloki pamięci podręcznych optymalizowane są ręcznie, natomiast cała pozostała część procesora jest wyłącznie syntetyzowana przez narzędzia.

Nie należy też zapominać, że często najbardziej genialne sposoby optymalizacji to te, które wykorzystują nowe pomysły na poziomie architektury. A jak na razie takie obmyślać potrafią jedynie ludzie.

Chciałbym tu wspomnieć o pewnej ciekawostce. Praca tzw. layout designera tak naprawdę nie wymaga znajomości elektroniki. Bardziej przypomina układanie ogromnych puzzli. Oczywiście dziś jest to zautomatyzowane i projektanci najczęściej posługują się specjalnymi niezwykle zaawansowanymi narzędziami, ale jeszcze w latach 80. była to głównie praca ręczna. Projektant musiał jedynie nauczyć się poszczególnych elementów układu – tranzystorów, rezystorów itd. a następnie na podstawie schematu połączeń musiał ułożyć układankę „jak najzgrabniej” - tak, aby całość zajmowała jak najmniej miejsca.

Kiedy po wprowadzeniu stanu wojennego do Doliny dotarła fala imigrantów z Polski, dzięki życzliwości Amerykanów części z nich zapewniono pracę właśnie w tym charakterze i mogli ją podjąć po krótkim przeszkoleniu mimo, że najczęściej nie mieli wcześniej nic wspólnego z elektroniką. Jest to niewątpliwie jeden z miłych akcentów historii Doliny i żyjących tu Polaków.

Ile czasu trwa cykl od pomysłu, poprzez projekt, prototyp aż po rozpoczęcie produkcji?

Tak naprawdę cały proces jest dość skomplikowany i, zwłaszcza w większych firmach, bardzo sformalizowany. Sama faza planowania nowego produktu może potrwać np. kilka miesięcy, w oparciu o ściśle określone procedury i wszystko musi być niezwykle dokładnie udokumentowane.

Faza projektowania może potrwać od kilku miesięcy do nawet kilku lat. Wszystko zależy od rodzaju produktu oraz cyklu życia jego aplikacji, który może być bardzo różny. Cykl życia telefonu komórkowego to typowo kilka miesięcy, a np. urządzenia telekomunikacyjnego czy komputera pokładowego samolotu to nawet wiele lat.

Do tego dochodzi etap weryfikacji produktu zarówno w fazie projektu (na drodze symulacji oraz emulacji sprzętowej na specjalistycznych emulatorach lub specjalnie zaprojektowanych płytkach z wykorzystaniem układów FPGA) jak i gotowych fizycznych układów scalonych, co do których przeprowadzana jest też tzw. charakteryzacja – bada się faktyczny rozkład statystyczny takich parametrów jak maksymalna częstotliwość zegara, pobór mocy czy tolerancja wobec wartości napięcia zasilającego i porównuje się z wcześniej opracowanymi modelami teoretycznymi w oparciu o dany proces produkcyjny. Jest to niezwykle istotne zwłaszcza gdy korzysta się z najnowszych, nie do końca jeszcze dopracowanych procesów technologicznych.

Cały proces zależy też od tego, czy chodzi o produkt standardowy (jak np. typowy mikroprocesor), który następnie będą mogli zakupić i wykorzystać liczni twórcy rozmaitych aplikacji, czy też jest to układ specjalizowany (jak np. ASIC), który często przeznaczony może być tylko dla jednego konkretnego klienta. Możliwe jest także, że układ początkowo realizowany jest jako specjalizowany dla jednego klienta, natomiast później po odpowiednich modyfikacjach przekształcany jest w ogólnodostępny produkt standardowy.

Dlatego też „mapa drogowa” producenta układów scalonych musi być ściśle zgrana z „mapami drogowymi” producentów ich aplikacji. Tzw. time to market jest parametrem krytycznym z punktu widzenia biznesowego. Wyobraźmy sobie, że tworzymy procesor nowej generacji i z powodu naszego „poślizgu” klient spóźnia się o kilka tygodni z wprowadzeniem na rynek swoich nowych produktów, które planowo miały pojawić się na sklepowych półkach na początku grudnia, by trafić na szczyt świątecznych zakupów...

Adam Kiepul inżynier Dolina Krzemowa wywiad procesor projekt