Formalna weryfikacja jest wdrażana coraz częściej i w większej liczbie miejsc w projektach chipów, w miarę wzrostu liczby możliwych interakcji i używania tych chipów w bardziej krytycznych zastosowaniach.
W przeszłości wiele weryfikacja formalna skupiono się na tym, czy chip będzie działał prawidłowo. Jednak w miarę jak projekty stają się coraz bardziej złożone i niejednorodne oraz zmieniają się przypadki użycia, we wszystkim stosuje się weryfikację formalną, od oceny wpływu partycjonowania po śledzenie źródła cichego uszkodzenia danych. Używa się go nawet do identyfikowania możliwych wektorów cyberataków oraz do śledzenia sposobu dostarczania i wykorzystania energii w urządzeniu.
„Projekty o niskim poborze mocy istnieją już od bardzo dawna, ale było to podejście stosowane głównie w przypadku chipów mobilnych”, twierdzi Sean Safarpour, dyrektor grupy badawczo-rozwojowej w Synopsys Grupa EDDA. „Teraz jest to powszechne. Podobnie obserwujemy coraz częstsze wykorzystywanie sztucznej inteligencji/uczenie się w akceleratorach, a głównym czynnikiem wpływającym na tę sytuację jest ilość pracy, jaką można wykonać w zależności od mocy. Dlatego teraz dla każdego, niezależnie od tego, czym się zajmuje, projektowanie o niskim poborze mocy jest tak dużym problemem. Z weryfikacją formalną ma to związek polegający na tym, że istnieją specyficzne sposoby wykorzystania weryfikacji formalnej do rozwiązania niektórych z tych problemów.
To już nie tylko o to chodzi bramkowanie zegara optymalizacja, która polega na ponownym uruchomieniu regresji symulacji, aby upewnić się, że wszystko jest prawidłowe. Obecnie moc należy rozpatrywać w kontekście innych komponentów systemu, a czasami między systemami. Bez formalności zajęłoby to znacznie więcej czasu, jeśli w ogóle byłoby to możliwe. Należy to również zbadać w kontekście różnych przypadków użycia i obciążeń, w których należy prześledzić moc od dostawy do wykorzystania.
„Jeśli korzystasz z bramkowania zegara, możemy przeprowadzić analizę z bramkowaniem zegara i bez niego i ostatecznie stwierdzić, czy funkcjonalność jest taka sama, czy może wystąpił błąd i coś się po drodze zepsuło” – powiedział Safarpour. „Na podstawie żądań użytkowników możliwe jest teraz uwzględnienie zapotrzebowania na energię za pośrednictwem pliku UPF. Pięć, sześć lat temu nie mieliśmy takich próśb. Teraz są tak widoczne, że ludzie mówią: „Zajmuję się weryfikacją nieruchomości”. Mam swoje twierdzenia. Ale teraz chcę sprawdzić te twierdzenia w obecności mojego UPF. Sprawdzam łączność na poziomie SoC”, co jest kolejnym konkretnym zastosowaniem. Jest to jednak niekompletne, jeśli nie weźmie się pod uwagę pełnego współczynnika UPF projektu. Formal może przejść do tych bardzo specyficznych obszarów, dzięki czemu użytkownicy mogą powiedzieć: „Poczekaj chwilę, nie musimy powtarzać całego naszego zestawu regresji. Możemy zająć się tymi konkretnymi problemami i rozwiązać je wyczerpująco. To jest prawdziwa wartość formalna. Ma charakter wyczerpujący, więc jeśli spojrzysz na cały plan testów i uwzględnisz niektóre z tych aspektów, niezależnie od tego, czy chodzi o małą moc, czy bezpieczeństwo, możemy zająć się nimi wszystkimi. W planie testów będziesz mieć dla nich określone pozycje. Niektóre z nich można wyczerpująco rozwiązać poprzez formalną weryfikację, co jest jednym z powodów, dla których obecnie zyskuje to na znaczeniu w miarę powiększania się przestrzeni problemowej.
Mówiąc prościej, luki w zasięgu, które były akceptowalne w przeszłości, gdy było mniej funkcji i cykle życia były krótsze, są obecnie nie do przyjęcia w wielu zastosowaniach.
„Wszyscy zawsze mówią o stale rosnącej złożoności i wiele osób słusznie wykorzysta to jako powód, aby robić rzeczy inaczej” – powiedział Chris Giles, dyrektor ds. zarządzania produktami ds. rozwiązań statycznych i formalnych w firmie EDA firmy Siemens. „Kiedy patrzymy na sukces rynkowy i ogólny proces rozwoju, widzimy, że pomimo trwającego wiele dziesięcioleci wzrostu inwestycji w weryfikację, nie nadąża on za wzrostem złożoności. Chociaż wszyscy zdajemy sobie sprawę, że złożoność stale rośnie, nasza reakcja na ten problem jako branża nie jest tak skuteczna, jak powinna. Zmiana, jaką zaobserwowaliśmy w ciągu ostatnich kilku lat, dotyczy wymagań świata wobec krzemu i w tym przypadku formalna weryfikacja staje się absolutnym wymogiem. Dzisiejszy świat wymaga od krzemu innego podejścia do weryfikacji. To, czego żądamy, nie dotyczy już złożoności. Chodzi o bezpieczeństwo. Chodzi o bezpieczeństwo. Chodzi o zaufanie. Chodzi o pewność. Wszystkie te rzeczy są bardzo trudne do udowodnienia za pomocą metodologii symulacji liniowej”.
To z kolei spowodowało eksplozję zapotrzebowania na weryfikację formalną. „W tym miejscu formalność przoduje” – powiedział Giles. „Ze względu na swój wyczerpujący charakter formalna weryfikacja może jednoznacznie wykazać, że projekt jest bezpieczny, bezpieczny lub godny zaufania. W branży włożono wiele pracy w celu certyfikacji tych właściwości, dlatego posiadanie przepływu generującego tę certyfikację ma kluczowe znaczenie. Tutaj formalność jest absolutnie niezbędna. Jeśli spojrzeć na branżę własności intelektualnej, firmy zajmujące się własnością intelektualną niekoniecznie wiedzą, w jakim produkcie końcowym będzie ich własność intelektualna, dlatego muszą przygotować się na tego typu pytania. Skąd mam wiedzieć, że jest to bezpieczny projekt? Skąd mam wiedzieć, że jest to projekt godny zaufania? Skąd mam wiedzieć, że oddanie życia ludzkiego pod jego kontrolę jest bezpieczne? To są rzeczy, którymi muszą się dziś martwić nawet zespoły IP.”
Pete Hardee, dyrektor ds. zarządzania produktami w Grupie System & Verification w firmie Kadencja, stwierdził, że w ciągu ostatniej dekady zaobserwował fenomenalny wzrost wykorzystania weryfikacji formalnej. „Bez wątpienia „przekroczył przepaść” i wszedł do powszechnego użytku. Jest to niezastąpione narzędzie w arsenale weryfikacyjnym dla zdecydowanej większości czołowych firm produkujących półprzewodniki.”
Rosnąca złożoność, zarówno w przypadku układów SoC z zaawansowanymi węzłami, jak i heterogenicznego montażu w pakiecie, wymaga większej weryfikacji. „Potrzeba weryfikacji rośnie wykładniczo wraz ze złożonością projektu” – powiedział Hardee. „Kluczowe skutki były dwojakie. Po pierwsze, w przypadku weryfikacji hierarchicznej opartej na protokole IP, głównym czynnikiem powodzenia weryfikacji jest zasada „dziel i zwyciężaj” – dokładnie sprawdź blok IP lub podsystem, a następnie sprawdź, czy integracja jest prawidłowa i na następnym poziomie nic się nie uszkodziło. W przypadku weryfikacji opartej na adresie IP weryfikacja formalna została skalowana w celu uzyskania formalnego podpisu dla wielu, ale nie wszystkich rodzajów własności intelektualnej. Przestrzeń stanów nadal może stanowić problem, pomimo znacznych postępów w zakresie formalnej skalowalności. Na przykład złożone protokoły szeregowe nadal stanowią wyzwanie dla formalnej weryfikacji – głębokość sekwencyjna jest często zbyt duża. Niektóre formalne techniki można skalować do poziomu chipa, ale tylko w ograniczony sposób – pełne formalne zatwierdzenie dużych cyfrowych układów SoC pozostaje zbyt dużym wyzwaniem.
Projekty oparte na procesorach zawsze stanowiły wyzwanie, ale szczególnie trudno je zweryfikować, gdy wykorzystują architektury specyficzne dla domeny. „Następuje ogromny wzrost liczby projektów programowalnych masowo – architektur wieloprocesorowych wykorzystujących wiele jednorodnych lub heterogenicznych układów rdzeni procesorów, w zależności od zastosowania pionowego” – zauważył. „W przypadku procesorów aplikacyjnych bitwa ARM kontra x86 ISA została teraz rozstrzygnięta przez RISC-V. Procesory graficzne są dostępne na rynku już od dawna, ale wiele innych typów koprocesorów i akceleratorów matematycznych jest powszechnych, szczególnie teraz napędzanych rewolucją AI/ML. Każdy projektuje swój własny wariant rdzeni aplikacyjnych i matematycznych zoptymalizowanych pod kątem potrzeb w zakresie mocy, wydajności i obszaru”. Cadence nazywa to zjawisko architekturą specyficzną dla domeny (DSA).
Obawy dotyczące niezawodności dotyczą także urządzeń niekrytycznych. „Każdy projekt może mieć formalne rozwiązanie do weryfikacji, w tym projekty zdominowane przez arytmetykę” – powiedział Ashish Darbari, dyrektor generalny firmy Aksjomiza. „Projekty zdominowane przez arytmetykę korzystają z zaawansowanych rozwiązań największych dostawców narzędzi do weryfikacji formalnej, z których wszyscy mają rozwiązania obsługujące weryfikację arytmetyczną, zwłaszcza po stronie zmiennoprzecinkowej. W ogólnym ujęciu nie jest to koniecznie duża ilość pracy, ale jest ona na tyle znacząca i ważna, że nie możemy patrzeć w drugą stronę”.
Otworzyło to drzwi do formalnego wykorzystania znacznie wcześniej, gdzie można go wykorzystać do zapobiegnięcia opóźnieniom związanym z projektowaniem, i wśród szerszej społeczności inżynierów. Ale spowodowało to również niedobór talentów, ponieważ nie każdy jest dobrze zorientowany w pisaniu twierdzenia w wielu różnych zastosowaniach.
„Każdy, kto ma rozsądną markę w branży krzemowej, niezależnie od tego, czy jest to firma zajmująca się procesorami graficznymi, procesorami czy producentami tkanin, używa języka formalnego” – powiedział Darbari. „Wszyscy giganci budujący sprzęt korzystają z rozwiązań formalnych. Niektórzy z nich chcą dopełnić tak wielu formalności, ale po prostu nie mają wystarczającego talentu.
Wskaźniki adopcji również są różne. „Niektórzy są bardzo zaznajomieni z formalną weryfikacją i czują się komfortowo, rozumieją, co może ona zrobić, i rzucają jej wyzwanie” – zauważył Giles z firmy Siemens. „Inni są nieco bardziej niezdecydowani, ponieważ czasami może się to wydawać projektem naukowym lub wymaganym wysiłkiem edukacyjnym. Kiedy ktoś, kto nie jest zaznajomiony z formalnościami, po raz pierwszy słyszy, że zaleca się weryfikację formalną, jego pierwszą myślą jest: „Teraz muszę mieć doktorat w swoim zespole”. Musimy uruchomić nasz projekt. Jak mam to kiedykolwiek zrobić? A to prowadzi do różnego stopnia adopcji.”
W niektórych firmach formalność stała się tylko jedną z wielu wymaganych umiejętności. To znacząca zmiana. Na początku formalnej weryfikacji zakładano, że niewielka grupa inżynierów zdobędzie biegłość w posługiwaniu się narzędziami.
„Zdaliśmy sobie sprawę, że projektanci, inżynierowie weryfikujący i inżynierowie wszelkich zawodów mogą wykorzystać tę technologię” – powiedział Safarpour z Synopsys. „To do twórców narzędzi EDA należało uczynienie ich bardziej intuicyjnymi dla użytkownika. Mamy różne osobowości, różne kapelusze. Jeśli jesteś projektantem, możesz potrzebować nieco innego interfejsu. Podchodzisz do tego z innego punktu widzenia niż twój formalny czarny pas, a wodotryski, których szukasz, są zupełnie inne. Jako twórcy narzędzi nauczyliśmy się również od naszych użytkowników, którzy mogą w pełni wykorzystać narzędzia. Również pod tym względem poprzeczka została obniżona. Dzisiaj, gdy otrzymuję zapytania lub rozmawiam z klientami, tylu samo nie-ekspertów zgłasza prośby o ulepszenia lub przekazuje nam opinie na temat narzędzia, co tradycyjni formalni eksperci.
Emulacja a formalność a symulacja
Inne filary procesu weryfikacji obejmują symulację i emulację. Jednak w przypadku niektórych projektów każde narzędzie weryfikacyjne może nie być konieczne.
„Istnieją pewne rzeczy, które dobrze nadają się do formalnej weryfikacji, ale nie nadają się tak dobrze do symulacji i odwrotnie” – powiedział Giles z firmy Siemens. „Dobrym tego przykładem jest sprawdzanie łączności. Przechodzenie przez proces symulowania, krok po kroku, poprawności wszystkich połączeń wzajemnych, jest dość długim procesem seryjnym. Jeśli możesz to zrobić wyczerpująco w jednym przebiegu, możesz wykorzystać te cykle symulacji i wykorzystać je do tego, co symulacja daje najlepsze rezultaty. Jest to więc zabawa w produktywność. Kolejną rzeczą, która staje się jasna, gdy branża przechodzi od modelu globalizacji do modelu regionalizacji lub nacjonalizacji – a my musimy wielokrotnie odtwarzać ekosystem projektowania, rozwoju i produkcji krzemu na całym świecie – jest to, że brakuje siły roboczej przewidywane niemal wszędzie na całym świecie. I nie ma to nic wspólnego ze złożonością projektu. Ma to związek z realiami geopolitycznymi i makroekonomicznymi świata. Stwarza to możliwości wszędzie. Rzeczywistość jest taka, że aby odnieść sukces w takim środowisku, potrzebujemy większej produktywności naszych pracowników. Korzystanie z formalnej lub efektywnej weryfikacji, uwalniając cykle symulacji w celu zrobienia tego, co symulacja robi najlepiej, jest kluczową częścią rozwoju teraz i w przyszłości. Zatem te dwie rzeczy – element produktywności oraz odpowiedź na wymagania stawiane dziś przez świat krzemowi, a także bezpieczeństwo i pewność, zaufanie i ochrona – to powody, dla których uważam, że formalna weryfikacja jest absolutnie wymagana w przypadku każdego rozwój."
W niektórych przypadkach wymagany jest więcej niż jeden typ narzędzia. Darbari wskazuje na pokrywanie się w oparciu o wymagania dotyczące zasięgu, a także możliwości różnych narzędzi od różnych dostawców. „Nadal istnieją różnice” – stwierdził. „Debugowanie jest najbardziej interesujące. Debugowanie to miejsce, w którym mogę w najkrótszym czasie dotrzeć do pierwotnej przyczyny awarii, a także jest to obszar, w którym spędziliśmy dużo czasu, aby znaleźć przyczynę”.
Istnieje również wzajemne oddziaływanie pomiędzy weryfikacją formalną a symulacją, mające na celu ograniczenie cykli symulacji, przy czym weryfikacja formalna jest bardziej kosztowna dla zespołu inżynierów.
„Symulacji nigdy dość, więc popyt będzie nieograniczony” – stwierdził Safarpour. „Każdy chce przeprowadzać symulacje, ale nie ma do tego wystarczającej mocy obliczeniowej. Jednakże technologie symulacji i weryfikacji formalnej mają charakter uzupełniający i widzimy to w wielu obszarach. W przypadku pokrycia za pomocą symulacji można bardzo łatwo osiągnąć pokrycie 80%, 85%, może 90%, a potem szybko dochodzi do plateau na krzywej. Potem jest jeszcze te 5%. W zależności od kryteriów podpisania, jest jeszcze około 5%, a możliwości randomizacji jest tak dużo, że nadal nie jesteśmy w stanie ich osiągnąć. Tak się składa, że te 5% to najlepszy moment na formalność, ponieważ jest prawdopodobne, że 5% to albo rzeczy trudne do trafienia, jak na przykład skrzynki narożne, w których formalność jest dobra, albo stanowią martwy kod, co oznacza, że niezależnie od tego, jak bardzo symulację, którą wykonujesz, nie możesz w nią trafić. To pozostawia znak zapytania i wtedy jakiś inżynier musiałby wkroczyć, aby przejrzeć ten kod i powiedzieć: „Myślę, że to nieosiągalne”. Jest to więc interwencja ręczna. Robimy to w taki sposób, że nasze narzędzia symulacyjne i formalne korzystają z tej samej bazy danych i pomagają sobie nawzajem”.
Ten sam scenariusz ma miejsce w przypadku zastosowań związanych z bezpieczeństwem funkcjonalnym. „Możesz zająć się jak najwięcej kwestiami bezpieczeństwa funkcjonalnego i odporności na awarie, a następnie wkroczyć formalnie. To samo dotyczy bezpieczeństwa, a to podejście jest wciąż powtarzane w różnych dziedzinach. Wykonaj proste czynności za pomocą symulacji, dotrzyj do płaskowyżu, a następnie formalnie przejedź ostatnią milę” – wyjaśnił Safarpour.
Architektury specyficzne dla domeny dodają własne, unikalne problemy. „W przeciwieństwie do nieprogramowalnych układów ASIC, układy DSA różnią się tym, że nie można przewidzieć niezliczonych sposobów, w jakie programista będzie korzystał z procesora” – powiedział Hardee z Cadence. „Należy uwzględnić każdą ewentualność, także tę całkowicie nieprzewidzianą. Jedynym sposobem jest formalność. Liderzy technologii procesorowej, tacy jak Arm i Intel, wiedzą o tym i od dawna inwestują w formalną weryfikację. Każda firma przeprowadzająca własne wdrożenie RISC-V musi zrobić to samo. A rozwój koprocesorów matematycznych i silników AI/ML napędza nowsze techniki formalne, takie jak C/C++, do sekwencyjnego sprawdzania równoważności RTL”.
Granice formalne
Jednakże, podobnie jak wszystkie narzędzia EDA, narzędzie formalne ma pewne ograniczenia. „Formal ma reputację czegoś, co lepiej działa na module lub bloku niż na pełnym SoC” – zauważył Giles z Siemensa. „Formalne wyzwania wiążą się z długimi, sekwencyjnymi problemami. Dobrym przykładem może być to, że użycie formalności do sprawdzenia mnożenia lub dzielenia funkcji w jednostce zmiennoprzecinkowej jest trudne. Najlepszym sposobem działania jest pozwolenie formalnemu robić to, co formalne robi najlepiej, i pozwolić symulacji robić to, co symulacja robi najlepiej. Jeśli zastosujesz projekt zmiennoprzecinkowy, możesz wszystko zweryfikować, ale funkcję mnożenia i dzielenia najlepiej wykonywać za pomocą symulacji, dzięki czemu korzystanie z funkcji symulacji jest znacznie bardziej efektywne i weryfikacja rzeczy, które należy sprawdzić zrobione tam. Wtedy nie trzeba przeprowadzać symulacji w postaci pełnej jednostki zmiennoprzecinkowej.”
Podobnie jak w przypadku wszystkich narzędzi, jest to również obszar, w którym trwają intensywne prace nad przezwyciężeniem tych ograniczeń, zarówno poprzez abstrakcje, jak i nowe badania. „Na razie potwierdza to przesłanie, że w niektórych kwestiach formalne sprawdzają się dobrze, a w innych dobrze sprawdza się symulacja” – powiedział Giles. „Nigdy nie widziałbym scenariusza, w którym formalność całkowicie eliminuje symulację. Tak jak przez lata, zawsze chciałem przestać robić symulacje na poziomie bramki, ale to nigdy nie wyszło. Zobaczymy to również w kwestiach formalnych i symulacyjnych.”
Formalne metody weryfikacji mogą być wyczerpujące i dokładne, ale czy powinny stanowić powszechny wymóg?
Jeszcze przed przejęciem przez Cadence w 2014 r. Jasper był pionierem szerszego rozprzestrzeniania się poprzez wprowadzenie formalnych aplikacji – wykorzystując sprawdzanie modeli, często z automatycznie generowanymi asercjami, do rozwiązywania typowych problemów weryfikacyjnych w bardziej przystępny sposób, wymagający znacznie niższego poziomu formalnej wiedzy, – powiedział Hardee.
Co więcej, „Łączność jest doskonałym przykładem i jednym z najłatwiejszych do przyjęcia – wygeneruj potwierdzenia na podstawie mapy łączności w arkuszu kalkulacyjnym lub IP-XACT formularz. To samo można zrobić z symulacją, ale jest to żmudne. Tę formalną metodę można łatwo skalować do poziomu chipa, ponieważ większość podstawowych funkcji blokowych można wyabstrahować. W niektórych przypadkach te aplikacje mogą odciążyć symulację, a wartością jest znalezienie błędów narożnych, ponieważ losowy bodziec wejściowy generowany przez narzędzie jest bardziej wyczerpujący niż zwykle w przypadku stanowisk testowych symulacyjnych. Chociaż te aplikacje są przydatne, gdy inżynierowie zajmujący się weryfikacją rozpoczynają formalne działania, być może pełniąc funkcję „bramki”, stanowią wierzchołek góry lodowej pod względem użytkowania. Obecnie odkrywamy, że większość góry lodowej, w tym większość zastosowań regresji w weryfikacji formalnej, polega na weryfikacji projektów DSA opartych na procesorze z formalną weryfikacją właściwości i sekwencyjnym sprawdzaniem równoważności, zarówno RTL-to-RTL, jak i C/ C++ do RTL” – dodał. „Chociaż chciałbym, aby weryfikacja formalna była powszechnym wymogiem, nadal istnieją przykłady, w których jest to konieczne, oraz inne przykłady, w których symulacja nadal sprawdza się lepiej. Jednak obserwujemy, że typy projektów, w których konieczna jest weryfikacja formalna, rosną znacznie szybciej”.
Jeśli chodzi o ewolucję tego wszystkiego, wydaje się, że ekosystem EDA jest o krok od ustalenia, w jaki sposób można zastosować formalną weryfikację poza tradycyjnymi zastosowaniami.
„Istnieje zestaw aplikacji, które są dość powszechne u każdego dostawcy sprzedającego pakiety formalnych aplikacji do określonych zastosowań końcowych” – podsumował Giles. „Wyzwania i możliwości zarówno z perspektywy technicznej, jak i biznesowej obejmują wykorzystanie formalnych sposobów przeprowadzenia weryfikacji, która nie była wcześniej możliwa, np. wykrycie konia trojańskiego w sprzęcie. Szczególnie w świecie sprzętu typu open source bardzo miło jest móc udowodnić, że w tym projekcie nie ma nic, czego nie powinno w nim być. Zwykle nie jest to problem weryfikacji, który można rozwiązać za pomocą symulacji, ponieważ symulacja zazwyczaj zakłada, że wiesz, czego szukasz, a ty po prostu próbujesz się upewnić, że to zrobi. Dzięki wykrywaniu koni trojańskich szukasz teraz rzeczy, które faktycznie znajdują się poza znaną przestrzenią stanów. To coś, co niesie ze sobą ogromną obietnicę.”
Powiązane artykuły
Weryfikacja mikroarchitektury RISC-V
Weryfikacja procesora to znacznie więcej niż sprawdzenie, czy instrukcje działają, ale branża opiera się na ograniczonej bazie wiedzy i kilku dedykowanych narzędziach.
Nowe koncepcje wymagane do weryfikacji bezpieczeństwa
Dlaczego tak trudno jest zapewnić, że sprzęt działa poprawnie i jest w stanie wykryć luki, które mogą ujawnić się w terenie.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://semiengineering.com/formal-verifications-usefulness-widens/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 2014
- a
- Zdolny
- O nas
- bezwzględny
- absolutnie
- roztargniony
- akceleratory
- do przyjęcia
- dostępny
- Stosownie
- Konto
- Osiągać
- nabycie
- w poprzek
- gra aktorska
- Działania
- Dodaj
- w dodatku
- przyjąć
- Przyjęcie
- zaawansowany
- temu
- AI / ML
- Wszystkie kategorie
- wzdłuż
- również
- zawsze
- am
- ilość
- an
- analiza
- i
- Inne
- sekretarka
- każdy
- więcej
- wszystko
- pojawia się
- Zastosowanie
- aplikacje
- podejście
- mobilne i webowe
- architektur
- SĄ
- POWIERZCHNIA
- obszary
- ARM
- na około
- AS
- Asics
- aspekt
- aspekty
- Montaż
- oceniając
- przypuszczalny
- zapewnienie
- At
- bar
- baza
- na podstawie
- Bitwa
- BE
- bo
- stają się
- staje
- być
- zanim
- jest
- Dzwony
- korzystne
- BEST
- Ulepsz Swój
- pomiędzy
- Poza
- Duży
- Bit
- Czarny
- czarny pas
- Blokować
- deska
- obie
- Boundless
- szerszy
- Zepsuł się
- Złamany
- Bug
- błędy
- Budowanie
- w zestawie
- biznes
- ale
- by
- Kadencja
- CAN
- Może uzyskać
- możliwości
- zdolny
- Etui
- catering
- Spowodować
- ceo
- pewien
- Certyfikacja
- poświadczać
- wyzwanie
- wyzwania
- wyzwanie
- duża szansa,
- zmiana
- ZOBACZ
- kontrola
- żeton
- Frytki
- Chris
- jasny
- zegar
- kod
- byliśmy spójni, od początku
- wygodny
- przyjście
- wspólny
- społeczność
- Firmy
- sukcesy firma
- uzupełniający
- całkowicie
- kompleks
- kompleksowość
- składniki
- obliczać
- Koncepcje
- Troska
- zawarta
- Łączność
- Rozważać
- za
- stały
- kontekst
- kontrast
- kontrola
- Corner
- skorygowania
- prawidłowo
- Korupcja
- kosztowny
- mógłby
- kurs
- pokrywa
- pokrycie
- pokryty
- stworzony
- Tworzenie
- Kryteria
- krytyczny
- Obecnie
- krzywa
- Wierzchołek
- Klientów
- cyberataki
- Cykle
- dane
- Baza danych
- Dni
- martwy
- dekada
- dedykowane
- opóźnienia
- dostarczona
- dostawa
- Kreowanie
- wymagający
- wymagania
- W zależności
- wdrażane
- głębokość
- Wnętrze
- projektant
- projektanci
- projektowanie
- projekty
- Mimo
- Wykrywanie
- deweloperzy
- oprogramowania
- urządzenie
- urządzenia
- różne
- różnie
- trudny
- cyfrowy
- Dyrektor
- podzielić
- do
- robi
- Nie
- robi
- domeny
- zrobić
- nie
- Drzwi
- wątpić
- napędzany
- kierowca
- jazdy
- każdy
- Wcześniej
- Wcześnie
- Najprostszym
- z łatwością
- łatwo
- Ekosystem
- edukacyjny
- Efektywne
- faktycznie
- ruchomości
- wydajny
- wysiłek
- bądź
- eliminuje
- objęty
- współzawodnictwo
- zakończenia
- inżynier
- Inżynieria
- Inżynierowie
- silniki
- ulepszenia
- dość
- zapewnić
- Cały
- Środowisko
- równorzędność
- szczególnie
- niezbędny
- Eter (ETH)
- Parzyste
- EVER
- stale rosnący
- Każdy
- wszyscy
- wszyscy
- każdy jest
- wszystko
- wszędzie
- ewoluuje
- przykład
- przykłady
- wszechstronny
- Rozszerzać
- ekspertyza
- eksperci
- wyjaśnione
- eksplozja
- wykładniczo
- tkanina
- czynnik
- Brak
- dość
- znajomy
- szybciej
- Korzyści
- informacja zwrotna
- czuć
- kilka
- mniej
- pole
- filet
- znalezieniu
- i terminów, a
- pięć
- unoszący się
- pływ
- koncentruje
- W razie zamówieenia projektu
- Nasz formularz
- formalny
- od
- pełny
- funkcjonować
- funkcjonalny
- Funkcjonalność
- Funkcje
- przyszłość
- Wzrost
- luki
- Ogólne
- ogólnie
- Generować
- generuje
- geopolityczna
- otrzymać
- dostaje
- gigantów
- Dający
- globalizacja
- Go
- będzie
- dobry
- got
- GPU
- GPU
- wspaniały
- Zarządzanie
- Rozwój
- Rośnie
- Wzrost
- dzieje
- Ciężko
- sprzęt komputerowy
- Have
- mający
- he
- głowa
- pomoc
- Niezdecydowany
- hierarchiczny
- Wysoki
- Dobranie (Hit)
- Koń
- W jaki sposób
- Jednak
- HTTPS
- olbrzymi
- człowiek
- i
- zidentyfikować
- identyfikacja
- if
- Rezultat
- realizacja
- ważny
- in
- zawierać
- Włącznie z
- Zwiększać
- przemysł
- wkład
- instrukcje
- integracja
- Intel
- zamiar
- Interakcje
- ciekawy
- Interfejs
- interwencja
- najnowszych
- Wprowadzenie
- intuicyjny
- zainwestowany
- inwestycja
- dotyczy
- IP
- problem
- problemy
- IT
- szt
- JEGO
- Praca
- jpg
- właśnie
- tylko jeden
- konserwacja
- Klawisz
- rodzaje
- Wiedzieć
- wiedza
- znany
- praca
- duży
- większe
- największym
- Nazwisko
- Ostatnia mila
- Przywódcy
- Wyprowadzenia
- dowiedziałem
- niech
- poziom
- życie
- cykle życia
- lubić
- Ograniczenia
- Ograniczony
- Linia
- liniowy
- mało
- Zyje
- długo
- długi czas
- dłużej
- Popatrz
- poszukuje
- Partia
- niski
- niższy
- opuszczony
- Mainstream
- poważny
- Większość
- robić
- Dokonywanie
- i konserwacjami
- podręcznik
- wiele
- mapa
- znak
- rynek
- matematyka
- Materia
- Może..
- może
- znaczenie
- wiadomość
- metoda
- Metodologia
- metody
- mila
- Aplikacje mobilne
- model
- moduł
- jeszcze
- bardziej wydajny
- większość
- przeważnie
- porusza się
- dużo
- wielokrotność
- musi
- my
- miriada
- Nazwa
- Natura
- koniecznie
- niezbędny
- Potrzebować
- wymagania
- nigdy
- Nowości
- nowsza
- Następny
- miło
- Nie
- nie-eksperci
- zauważyć
- nic
- już dziś
- numer
- of
- poza
- często
- on
- ONE
- tylko
- koncepcja
- open source
- otwierany
- Szanse
- optymalizacja
- zoptymalizowane
- or
- zamówienie
- Inne
- ludzkiej,
- na zewnątrz
- koniec
- Przezwyciężać
- własny
- pakiet
- część
- szczególnie
- Przeszłość
- Ludzie
- dla
- wykonać
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- perspektywy
- PhD
- fenomenalny
- zjawisko
- kawałek
- pionierem
- Miejsca
- krok po kroku
- planowanie
- plato
- Analiza danych Platona
- PlatoDane
- Grać
- odgrywa
- punkt
- zwrotnica
- możliwy
- power
- przewidzieć
- Przewiduje
- obecność
- bardzo
- Problem
- problemy
- wygląda tak
- Procesor
- Procesory
- Produkt
- zarządzanie produktem
- Produkcja
- wydajność
- Programista
- projekt
- rozgłos
- wybitny
- obietnica
- prawidłowo
- niska zabudowa
- własność
- protokoły
- Udowodnij
- dostawców
- Putting
- zapytania
- pytanie
- pytania
- szybko
- całkiem
- R & D
- przypadkowy
- Kurs
- ceny
- real
- prawdziwa wartość
- rzeczywistości
- Rzeczywistość
- realizowany
- powód
- rozsądny
- Przyczyny
- rozpoznać
- Zalecana
- zmniejszyć
- odnosi
- regresja
- niezawodność
- pozostawać
- szczątki
- reputacja
- wywołań
- wymagany
- wymaganie
- wymagania
- Wymaga
- Badania naukowe
- przeglądu
- Rewolucja
- korzeń
- run
- s
- "bezpiecznym"
- Bezpieczeństwo
- Powiedział
- taki sam
- powiedzieć
- powiedzenie
- Skalowalność
- Skala
- łuskowaty
- waga
- scenariusz
- schemat
- nauka
- Sean
- druga
- bezpieczne
- bezpieczeństwo
- widzieć
- widzenie
- widziany
- Sprzedawanie
- Semiconductor
- seryjny
- zestaw
- przesunięcie
- niedobór
- braki
- najkrótsza
- powinien
- pokazać
- bok
- znaczący
- znacznie
- Krzem
- Podobnie
- po prostu
- symulacja
- ponieważ
- SIX
- umiejętności
- trochę inny
- mały
- So
- rozwiązanie
- Rozwiązania
- ROZWIĄZANIA
- rozwiązany
- kilka
- Ktoś
- coś
- czasami
- Źródło
- Typ przestrzeni
- specyficzny
- spędził
- Spot
- Rozpościerający się
- Arkusz kalkulacyjny
- Personel
- niezłomni
- rozpoczęty
- Stan
- Ewolucja krok po kroku
- Cel
- Nadal
- bodziec
- Stop
- Historia
- kroczy
- osiągnąć sukces
- sukces
- taki
- apartament
- domniemany
- pewnie
- słodki
- system
- systemy
- Brać
- Talent
- Mówić
- rozmawiać
- zespół
- Zespoły
- Techniczny
- Techniki
- Technologies
- Technologia
- nudny
- powiedzieć
- dąży
- REGULAMIN
- test
- niż
- że
- Połączenia
- Przyszłość
- Źródło
- świat
- ich
- Im
- następnie
- Tam.
- Te
- one
- rzecz
- rzeczy
- myśleć
- to
- całkowicie
- tych
- myśl
- Przez
- poprzez
- czas
- czasy
- typ
- do
- już dziś
- tolerancja
- także
- narzędzie
- narzędzia
- Top
- w kierunku
- wyśledzić
- Rysunek kalkowy
- tradycyjny
- ogromny
- trojański
- Koń trojański
- Zaufaj
- godny zaufania
- stara
- SKRĘCAĆ
- drugiej
- rodzaj
- typy
- zazwyczaj
- dla
- zasadniczy
- zrozumieć
- W toku
- nieprzewidziany
- wyjątkowy
- jednostka
- chyba że
- us
- Stosowanie
- posługiwać się
- używany
- użyteczny
- Użytkownik
- Użytkownicy
- zastosowania
- za pomocą
- zazwyczaj
- wykorzystać
- wykorzystany
- wartość
- Wariant
- różnorodność
- różnią się
- zmienne
- Naprawiono
- sprzedawca
- sprzedawców
- Weryfikacja
- zweryfikować
- weryfikacja
- biegły w czymś
- Przeciw
- pionowy
- początku.
- wice
- Tom
- vs
- Luki w zabezpieczeniach
- spacery
- chcieć
- poszukiwany
- chce
- była
- Droga..
- sposoby
- we
- DOBRZE
- były
- Co
- cokolwiek
- jeśli chodzi o komunikację i motywację
- czy
- który
- Podczas
- KIM
- dlaczego
- szerszy
- rozpowszechniony
- będzie
- w
- w ciągu
- bez
- Praca
- działa
- świat
- martwić się
- by
- pisanie
- lat
- ty
- Twój
- zefirnet