Формальна перевірка розгортається все частіше і в більшій кількості місць у конструкціях мікросхем, оскільки кількість можливих взаємодій зростає, і оскільки ці мікросхеми використовуються в більш критичних програмах.
У минулому багато з формальна перевірка було зосереджено на тому, чи буде чіп працювати належним чином. Але оскільки проекти стають більш складними та неоднорідними, а варіанти використання змінюються, формальна перевірка використовується в усьому: від оцінки впливу розділення до відстеження джерела тихого пошкодження даних. Він навіть використовується для виявлення можливих векторів кібератак і для відстеження того, як енергія передається та використовується в пристрої.
«Проектування з низьким енергоспоживанням існує вже дуже давно, але це був підхід, який здебільшого використовувався для мобільних чіпів», — сказав Шон Сафарпур, директор групи досліджень і розробок у Синопсис EDA Group. «Тепер це повсюдно. Подібним чином ми бачимо, що в прискорювачах використовується все більше штучного інтелекту та ML, і основним фактором є обсяг роботи, який ви можете виконати на одну потужність. Тож тепер для всіх, що б вони не робили, конструкція з низьким енергоспоживанням викликає серйозне занепокоєння. Те, що це пов’язано з формальною перевіркою, полягає в тому, що існують конкретні способи, за допомогою яких формальну перевірку можна використовувати для вирішення деяких із цих проблем».
Це вже не просто про стробування годинника оптимізація, яка передбачає повторний запуск регресії симуляції, щоб переконатися, що все правильно. Сьогодні потужність потрібно розглядати в контексті інших компонентів системи, а іноді й між системами. Без формальної форми це займе значно більше часу, якщо це взагалі можливо. Його також необхідно розглядати в контексті різних варіантів використання та робочих навантажень, де потужність потрібно відстежувати від доставки до використання.
«Якщо ви робите стробування годинника, ми можемо провести аналіз із стробуванням годинника та без нього та точно сказати вам, чи функціональність така сама, чи у вас може виникнути помилка та щось зламалося під час», — сказав Сафарпур. «На основі запитів користувачів тепер також можна врахувати потужність через файл UPF. П’ять-шість років тому таких звернень у нас не було. Зараз вони настільки відомі, що люди кажуть: «Я перевіряю власність». У мене є свої твердження. Але тепер я хочу перевірити ці твердження в присутності свого UPF. Я виконую перевірку підключення на рівні SoC, що є ще одним специфічним додатком. Але це неповно, якщо ви не врахуєте повну UPF конструкції. Formal може зайти в ці дуже специфічні області, щоб користувачі могли сказати: «Зачекайте секундочку, нам не потрібно переробляти весь наш набір регресій. Ми можемо взяти ці конкретні проблеми та вирішити їх вичерпно». Це справжня цінність формального. Він є вичерпним за своєю природою, тому, коли ви розглядаєте весь свій план тестування, і ви дивитеся на деякі з цих аспектів, будь то низьке енергоспоживання чи безпека, ми можемо розглянути все це. У вашому плані тестування для них будуть спеціальні позиції. Деякі з них ви можете вичерпно вирішити за допомогою формальної перевірки, що є однією з причин, чому вони стають все більш популярними в наші дні, коли простір проблем стає все більшим».
Простіше кажучи, прогалини в охопленні, які були прийнятними в минулому, коли було менше функцій і життєві цикли були коротшими, сьогодні неприйнятні для багатьох програм.
«Усі завжди говорять про постійно зростаючу складність, і багато людей справедливо використають це як причину робити речі по-іншому», — сказав Кріс Джайлз, керівник відділу управління продуктами для статичних і формальних рішень компанії Siemens EDA. «Коли ми дивимося на ринковий успіх і загальний процес розвитку, ми бачимо, що, незважаючи на збільшення інвестицій у верифікацію протягом кількох десятиліть, вона не встигає за зростанням складності. Отже, хоча ми всі визнаємо, що складність постійно зростає, те, як ми реагуємо на це як галузь, не настільки ефективне, як повинно бути. Зміни, які спостерігаються за останні кілька років, стосуються того, що світ вимагає від кремнію, і саме тут формальна перевірка стає абсолютною вимогою. Сьогодні світ вимагає від кремнію іншого підходу до перевірки. Те, що ми вимагаємо, більше не стосується складності. Йдеться про безпеку. Йдеться про безпеку. Це про довіру. Йдеться про впевненість. І все це дуже важко довести за допомогою методології лінійного моделювання».
Це, у свою чергу, викликало вибуховий попит на формальну перевірку. «Ось де формальність перевершує», — сказав Джайлз. «Завдяки своїй вичерпній природі формальна перевірка може переконливо довести, що проект безпечний, безпечний або надійний. У галузі проводиться багато роботи для сертифікації цих властивостей, тому мати потік, який генерує цю сертифікацію, є критично важливим. Тут формальність абсолютно необхідна. Якщо ви подивитеся на індустрію інтелектуальної власності, компанії з інтелектуальної власності не обов’язково знають, у якому кінцевому продукті буде їхня інтелектуальна власність, тому вони повинні планувати відповіді на такі запитання. Як я знаю, що це безпечний дизайн? Як я знаю, що це надійний дизайн? Звідки я знаю, що безпечно віддавати людські життя під його контроль? Це речі, про які сьогодні мають турбуватися навіть команди з питань інтелектуальної власності».
Піт Харді, директор з управління продуктами в Групі систем і верифікації в Каденція, сказав, що за останнє десятиліття він спостерігав феноменальне зростання використання формальної перевірки. «Без сумніву, він «перетнув прірву» і став широко поширеним. Це незамінний інструмент у арсеналі перевірки для переважної більшості провідних напівпровідникових компаній».
Зростаюча складність, як для розширених вузлів SoC, так і для неоднорідного складання в пакеті, вимагає більшої перевірки. «Потреба в перевірці, як правило, експоненціально зростає разом зі складністю конструкції», — сказав Харді. «Ключові наслідки були подвійними. По-перше, з ієрархічною перевіркою на основі IP принцип «розділяй і володарюй» був головним фактором успіху перевірки – ретельно перевірте IP-блок або підсистему, потім перевірте правильність інтеграції, і нічого не було зламано на наступному рівні. Для перевірки на основі IP формальна перевірка масштабується для досягнення офіційного підпису для багатьох, але не всіх типів IP. Простір станів все ще може бути проблемою, незважаючи на значні успіхи у формальній масштабованості. Наприклад, складні послідовні протоколи залишаються складними для формальної перевірки – глибина послідовності часто надто висока. Деякі формальні методи можуть масштабуватися до рівня чіпа, але лише деякими обмеженими способами – повний офіційний підпис для великих цифрових SoC залишається надто складним».
Проекти на основі процесорів завжди були складними, але їх особливо важко перевірити, коли вони використовують доменно-спеціальну архітектуру. «Існує величезне зростання масштабно програмованих конструкцій — багатопроцесорних архітектур, які використовують багато однорідних або різнорідних масивів процесорних ядер залежно від вертикального застосування», — зазначив він. «Що стосується процесорів додатків, битва Arm проти x86 ISA тепер розірвана RISC-V. Графічні процесори існують уже давно, але багато інших типів математичних співпроцесорів і прискорювачів є звичним явищем, особливо зараз, завдяки революції AI/ML. Кожен розробляє власний варіант додатків і математичних ядер, оптимізованих відповідно до потреб потужності, продуктивності та площі». Cadence називає це явище доменно-орієнтованими архітектурами (DSA).
Занепокоєння щодо надійності також поширюється навіть на некритичні пристрої. «Кожна конструкція може мати формальне рішення для перевірки, включно з моделями, де домінує арифметика», — сказав Ашіш Дарбарі, генеральний директор компанії Аксіомізувати. «Дизайн, у якому домінує арифметика, отримує переваги від передових рішень від найбільших постачальників формальних інструментів перевірки, усі з яких мають рішення, які обслуговують арифметичну перевірку, особливо на стороні з плаваючою комою. У загальному плані це не обов’язково великий обсяг роботи, але він досить значний і важливий, щоб ми не дивилися в інший бік».
Це відкрило двері для формального використання набагато раніше в потоці, де його можна використовувати для запобігання затримок, пов’язаних з проектуванням, і для ширшого кола інженерної спільноти. Але це також породило дефіцит талантів, тому що не всі добре знаються на письмі твердження у різних програмах.
«Кожен, хто має розумне ім’я в кремнієвому бізнесі, будь то компанія з виробництва графічних процесорів, чи процесорів, чи компанія, що виготовляє тканини, використовує офіційні дані», — сказав Дарбарі. «Усі гіганти, які створюють апаратне забезпечення, використовують формальну систему. І деякі з них хочуть зробити стільки формального, але у них просто не вистачає таланту».
Показники усиновлення також відрізняються. «Деякі дуже добре знайомі з формальною перевіркою, розуміють, що вона може зробити, і кидають їй виклик», — зазначив Джайлз із Siemens. «Інші трохи вагаються, тому що іноді це може здаватися науковим проектом або необхідними освітніми зусиллями. Коли хтось, хто не знайомий з формальністю, вперше чує про рекомендацію формальної перевірки, його перша думка: «Тепер я повинен мати в своєму штаті ступінь доктора філософії». Ми повинні запустити наш проект. Як я колись це зроблю?» І це призводить до різного ступеня усиновлення».
У деяких компаніях офіційні навички стали лише однією з багатьох необхідних навичок. Це суттєвий зсув. На початку офіційної перевірки передбачалося, що невелика група інженерів навчиться користуватися інструментами.
«Ми зрозуміли, що дизайнери, інженери з верифікації, інженери всіх верств суспільства можуть використовувати цю технологію», — сказав Сафарпур із Synopsys. «І саме розробники інструменту EDA вирішували зробити його більш інтуїтивно зрозумілим для цього користувача. У нас різні персонажі, різні капелюхи. Тепер, якщо ви дизайнер, вам може знадобитися трохи інший інтерфейс. Ви підходите до цього під іншим кутом зору, ніж ваш формальний чорний пояс, і навороти, які ви шукаєте, зовсім інші. Як розробники інструментів, ми також вчилися у наших користувачів, які можуть отримати максимальну віддачу від інструментів. З цього погляду планка також була знижена. Сьогодні, коли я отримую запити або розмовляю з клієнтами, є стільки ж неспеціалістів, які надсилають запити на вдосконалення або надають відгуки про інструмент, ніж традиційні офіційні експерти».
Емуляція проти формальної проти симуляції
Інші надійні сторони потоку перевірки включають симуляцію та емуляцію. Але для певних проектів кожен інструмент перевірки може не знадобитися.
«Є деякі речі, які добре підходять для формальної перевірки, але не так добре підходять для моделювання, і навпаки», — сказав Джайлз із Siemens. «Хорошим прикладом цього є перевірка підключення. Проходження процесу моделювання того, що всі взаємозв’язки, поетапно правильні, є досить тривалим послідовним процесом. Якщо ви можете зробити це вичерпно за один прогін, тоді ви можете взяти ці цикли моделювання та використовувати їх для того, що моделювання робить найкраще. Отже, це продуктивність. Інша річ, яка зрозуміла, коли галузь переходить від моделі глобалізації до моделі регіоналізації чи націоналізації — і нам доводиться повторювати екосистему дизайну, розробки та виробництва кремнію кілька разів у всьому світі — це брак робочої сили. передбачувано майже всюди по всьому світу. І це не має нічого спільного зі складністю конструкції. Це пов’язано з геополітичними та макроекономічними реаліями світу. Це створює можливості всюди. І реальність така, що для того, щоб досягти успіху в цьому середовищі, нам потрібна більша продуктивність наших людей. Використання формальної чи ефективної верифікації, звільнення циклів моделювання для виконання того, що моделювання робить найкраще, є критичною частиною розробки зараз і в майбутньому. Отже, ці дві речі — продуктивність, а також відповідність вимогам, які світ висуває сьогодні до кремнію, а також з точки зору безпеки та впевненості, довіри та безпеки — це причини, чому я вважаю, що офіційна перевірка абсолютно необхідна для будь-якого розвитку».
У деяких випадках потрібне більше ніж один тип інструменту. Дарбарі вказує на перекриття на основі вимог до покриття, а також можливостей різних інструментів від різних постачальників. "Є ще варіації", - сказав він. «Налагодження — це найцікавіше. Налагодження – це те, де я можу в найкоротші терміни знайти першопричину збою, а також це сфера, де ми витратили багато часу на виявлення першопричини».
Існує також взаємодія між формальною перевіркою та моделюванням, щоб скоротити цикли моделювання, причому формальна перевірка є дорожчою для команди інженерів.
«Ви ніколи не можете зробити достатньо моделювання, тому попит безмежний», — сказав Сафарпур. «Усі хочуть займатися моделюванням, але у них не вистачає для цього обчислювальних ресурсів. Однак технології моделювання та формальної верифікації є досить доповнюючими за своєю природою, і ми бачимо це в багатьох сферах. У охопленні за допомогою моделювання ви можете дуже легко досягти 80%, 85%, можливо, 90% охоплення, а потім ви швидко досягаєте плато на кривій. Потім є ще 5%. Залежно від критеріїв для підписання, є ще 5% або близько того, і ви можете зробити стільки рандомізації, що ми все ще не можемо досягти цього. Ці 5% стають найкращим місцем для формального, тому що ймовірно, що 5% - це або речі, які важко вразити, як-от кутові випадки, в яких формальний формат добре підходить, або це мертвий код, тобто незалежно від того, наскільки моделювання ви робите ви не можете вдарити це. Це залишає перед вами знак питання, а потім якомусь інженеру доведеться втрутитися, щоб переглянути цей код і сказати: «Я думаю, що це недоступно». Отже, це ручне втручання. Те, як ми це робимо, полягає в тому, що наші симуляційні та формальні інструменти працюють на одній базі даних і допомагають один одному».
Той самий сценарій має місце для програм функціональної безпеки. «Ви можете охопити якомога більше функціональної безпеки та відмовостійкості, а потім офіційні кроки. Це та сама історія з безпекою, і цей підхід постійно повторюється в різних сферах. Зробіть легкі речі за допомогою симуляції, досягніть цього плато, а потім формально пройдіть останню милю», – пояснив Сафарпур.
Доменно-орієнтовані архітектури додають свої унікальні проблеми. «На відміну від непрограмованих ASIC, DSA відрізняються тим, що ви не можете передбачити незліченні способи, якими програміст використовуватиме процесор», — сказав Харді з Cadence. «Потрібно охоплювати будь-які випадки, включно з абсолютно непередбаченими. Формальний це єдиний шлях. Лідери процесорних технологій, такі як Arm і Intel, знають це і вже давно інвестують у формальну перевірку. Кожна компанія, яка виконує власну реалізацію RISC-V, повинна робити те саме. А зростання кількості математичних співпроцесорів і механізмів штучного інтелекту/ML стимулює нові формальні методи, як-от C/C++, до послідовної перевірки еквівалентності RTL».
Формальні межі
Проте, як і всі інструменти EDA, формальні мають деякі обмеження. «Formal має репутацію того, що краще працювати на модулі чи блоці, ніж на повноцінній системі процесора», — зауважив Джайлз із Siemens. «Офіційний має проблеми, коли йдеться про довгі послідовні проблеми. Хорошим прикладом цього може бути те, що важко використовувати формальну функцію для перевірки функцій множення або ділення в одиниці з плаваючою комою. Найкращий спосіб дій — це дозволити формальним формам робити те, що вдається найкраще, а моделюванню робити те, що робить симуляція найкраще. Якщо ви візьмете дизайн з плаваючою комою, ви можете перевірити все, але функції множення та ділення найкраще виконувати за допомогою моделювання, щоб ви набагато ефективніше використовували функції моделювання та перевіряли те, що має бути зроблено там. Тоді вам не доведеться створювати повний блок з плаваючою комою за допомогою моделювання».
Як і з усіма інструментами, це також сфера, де ведеться велика робота, щоб подолати ці обмеження, як за допомогою абстракцій, так і нових досліджень. «На даний момент це підкріплює повідомлення про те, що є деякі речі, з якими добре справляється форма, а деякі — з симуляцією», — сказав Джайлз. «Я б ніколи не побачив сценарію, коли формальне повністю виключає симуляцію. Як і багато років, я завжди хотів припинити симуляцію на рівні воріт, але це ніколи не виходило. Ми також побачимо це з формальністю та моделюванням».
Формальні методи перевірки можуть бути вичерпними та ретельними, але чи мають вони бути загальною вимогою?
Ще до придбання компанією Cadence у 2014 році Jasper став піонером у більш широкому розповсюдженні через впровадження формальних додатків – використовуючи перевірку моделі, часто з автоматично створеними твердженнями, для вирішення типових проблем перевірки більш доступним способом, що вимагає набагато нижчого рівня формальної експертизи, - сказав Харді.
Крім того, «Підключення є чудовим прикладом і одним із найпростіших для освоєння — генеруйте твердження з карти підключення в електронній таблиці або IP-XACT форму. Те саме можна зробити за допомогою симуляції, але це втомливо. Цей формальний метод легко масштабується до рівня мікросхеми, оскільки більшість основних функцій блоку можна абстрагувати. У деяких випадках ці додатки можуть розвантажити робоче навантаження симуляції, і цінність полягає у пошуку помилок у кутових випадках, оскільки випадковий вхідний сигнал, створений інструментом, є більш вичерпним, ніж зазвичай тестові стенди моделювання. Хоча ці програми корисні для того, щоб інженери верифікації починали формально, можливо, діючи як «шлюз», вони є вершиною айсберга з точки зору використання. Наразі ми виявили, що основна частина айсберга, включно з більшістю використання регресії формальної перевірки, полягає у перевірці проектів DSA на основі процесора з формальною перевіркою властивостей і послідовною перевіркою еквівалентності, як RTL-to-RTL, так і C/ C++ до RTL», – додав він. «Як би я не хотів встановити формальну перевірку як вимогу для всіх, все ще є приклади, де вона необхідна, і інші приклади, коли симуляція все ще виконує свою роботу краще. Але ми бачимо, як типи проектів, де потрібна формальна перевірка, зростають набагато швидше».
Щодо того, як усе це розвивається, екосистема EDA, схоже, знаходиться на порозі визначення того, як формальну перевірку можна використовувати поза традиційними програмами.
«Існує набір додатків, які є досить поширеними для будь-якого постачальника, який продає пакети офіційних додатків для певного кінцевого використання», — підсумував Джайлз. «Проблеми та можливості як з технічної, так і з бізнес-точок зору включають використання формальних способів перевірки, які раніше були неможливими, наприклад, виявлення троянського коня в апаратному забезпеченні. Особливо в цьому світі апаратного забезпечення з відкритим вихідним кодом дуже приємно мати можливість довести, що в цьому дизайні немає нічого, чого б не мало бути в цьому дизайні. Зазвичай це не проблема верифікації, яка вирішується моделюванням, оскільки моделювання зазвичай припускає, що ви знаєте, що шукаєте, і ви просто намагаєтеся переконатися, що воно це робить. З виявленням троянського коня тепер ви шукаєте речі, які фактично знаходяться за межами відомого простору станів. Це те, що має величезні перспективи».
Пов'язане читання
Перевірка мікроархітектури RISC-V
Перевірка процесора — це набагато більше, ніж переконання, що інструкції працюють, але галузь будується на основі обмеженої бази знань і кількох спеціальних інструментів.
Нові концепції, необхідні для перевірки безпеки
Чому так важко переконатися, що апаратне забезпечення працює належним чином і здатне виявляти вразливості, які можуть виявитися в полі.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://semiengineering.com/formal-verifications-usefulness-widens/
- : має
- :є
- : ні
- :де
- $UP
- 2014
- a
- Здатний
- МЕНЮ
- абсолют
- абсолютно
- абстрагований
- прискорювачі
- прийнятний
- доступною
- За
- рахунки
- Achieve
- придбання
- через
- діючий
- дію
- додавати
- доданий
- прийняти
- Прийняття
- просунутий
- назад
- AI / ML
- ВСІ
- по
- Також
- завжди
- am
- кількість
- an
- аналіз
- та
- Інший
- відповідь
- будь-який
- більше
- все
- з'являється
- додаток
- застосування
- підхід
- додатка
- архітектури
- ЕСТЬ
- ПЛОЩА
- області
- ARM
- навколо
- AS
- Asics
- зовнішній вигляд
- аспекти
- збірка
- Оцінювання
- передбачається
- гарантія
- At
- бар
- база
- заснований
- Бій
- BE
- оскільки
- ставати
- становлення
- було
- перед тим
- буття
- Дзвони
- вигода
- КРАЩЕ
- Краще
- між
- За
- Великий
- Біт
- Black
- чорний пояс
- Блокувати
- рада
- обидва
- Boundless
- ширше
- Зламав
- Зламаний
- Помилка
- помилки
- Створюємо
- в комплекті
- бізнес
- але
- by
- Каденція
- CAN
- Може отримати
- можливості
- здатний
- випадків
- громадське харчування
- Викликати
- Генеральний директор
- певний
- сертифікація
- засвідчувати
- виклик
- проблеми
- складні
- шанси
- зміна
- перевірка
- контроль
- чіп
- Чіпси
- Кріс
- ясно
- годинник
- код
- приходить
- зручний
- майбутній
- загальний
- співтовариство
- Компанії
- компанія
- взаємодоповнюючі
- повністю
- комплекс
- складність
- Компоненти
- обчислення
- поняття
- Занепокоєння
- уклали
- зв'язок
- Вважати
- вважається
- постійна
- контекст
- контрастність
- контроль
- Кут
- виправити
- правильно
- Корупція
- дорого
- може
- курс
- обкладинка
- охоплення
- покритий
- створений
- створення
- Критерії
- критичний
- В даний час
- крива
- Касп
- Клієнти
- кібератаки
- циклів
- дані
- Database
- Днів
- мертвий
- десятиліття
- присвячених
- затримки
- поставляється
- доставка
- Попит
- вимогливий
- запити
- Залежно
- розгорнути
- глибина
- дизайн
- Дизайнерка
- Дизайнери
- проектування
- конструкцій
- Незважаючи на
- Виявлення
- розробників
- розробка
- пристрій
- прилади
- різний
- інакше
- важкий
- цифровий
- Директор
- ділити
- do
- робить
- Ні
- справи
- домени
- зроблений
- Не знаю
- Двері
- сумніваюся
- керований
- водій
- водіння
- кожен
- Раніше
- Рано
- Найпростіший
- легко
- легко
- екосистема
- освітній
- Ефективний
- фактично
- ефекти
- ефективний
- зусилля
- або
- Усуває
- охопила
- емуляція
- кінець
- інженер
- Машинобудування
- Інженери
- Двигуни
- Удосконалення
- досить
- забезпечувати
- Весь
- Навколишнє середовище
- еквівалентність
- особливо
- істотний
- Ефір (ETH)
- Навіть
- НІКОЛИ
- постійно збільшується
- Кожен
- всі
- все
- все це
- все
- скрізь
- еволюціонує
- приклад
- Приклади
- комплексний
- Розширювати
- експертиза
- experts
- пояснені
- вибух
- експоненціально
- тканину
- фактор
- Провал
- достатньо
- знайомий
- швидше
- риси
- зворотний зв'язок
- почувати
- кілька
- менше
- поле
- філе
- виявлення
- Перший
- п'ять
- плаваючий
- потік
- увагу
- для
- форма
- формальний
- від
- Повний
- функція
- функціональний
- функціональність
- Функції
- майбутнє
- Отримувати
- прогалини
- Загальне
- в цілому
- породжувати
- генерує
- геополітичний
- отримати
- отримує
- гіганти
- дає
- глобалізація
- Go
- буде
- добре
- є
- GPU
- Графічні процесори
- великий
- Group
- Зростання
- Зростає
- Зростання
- відбувається
- Жорсткий
- апаратні засоби
- Мати
- має
- he
- голова
- допомога
- Гесидант
- ієрархічна
- Високий
- хіт
- Кінь
- Як
- Однак
- HTTPS
- величезний
- людина
- i
- ідентифікувати
- ідентифікує
- if
- Impact
- реалізація
- важливо
- in
- включати
- У тому числі
- Augmenter
- промисловість
- вхід
- інструкції
- інтеграція
- Intel
- намір
- Взаємодії
- цікавий
- інтерфейс
- втручання
- в
- Вступ
- інтуїтивний
- інвестицій
- інвестиції
- включає в себе
- IP
- питання
- питання
- IT
- пунктів
- ЙОГО
- робота
- JPG
- просто
- тільки один
- зберігання
- ключ
- види
- Знати
- знання
- відомий
- праця
- великий
- більше
- найбільших
- останній
- остання миля
- Лідери
- Веде за собою
- вчений
- дозволяти
- рівень
- життя
- життєві цикли
- як
- недоліки
- обмеженою
- Лінія
- лінійний
- трохи
- Місце проживання
- Довго
- багато часу
- довше
- подивитися
- шукати
- серія
- низький
- знизити
- знижена
- Mainstream
- основний
- Більшість
- зробити
- Робить
- управління
- керівництво
- багато
- карта
- позначити
- ринок
- математики
- Матерія
- Може..
- може бути
- сенс
- повідомлення
- метод
- Методологія
- методика
- миля
- Mobile
- модель
- Модулі
- більше
- більш ефективний
- найбільш
- в основному
- рухається
- багато
- множинний
- повинен
- my
- безліч
- ім'я
- природа
- обов'язково
- необхідно
- Необхідність
- потреби
- ніколи
- Нові
- новіший
- наступний
- приємно
- немає
- неексперти
- зазначив,
- нічого
- зараз
- номер
- of
- від
- часто
- on
- ONE
- тільки
- відкрити
- з відкритим вихідним кодом
- відкритий
- Можливості
- оптимізація
- оптимізований
- or
- порядок
- Інше
- наші
- з
- над
- Подолати
- власний
- пакет
- частина
- особливо
- Минуле
- Люди
- для
- виконувати
- продуктивність
- перспективи
- Вчений ступінь
- феноменальний
- явище
- частина
- вперше
- місця
- план
- планування
- plato
- Інформація про дані Платона
- PlatoData
- Play
- відіграє
- точка
- точок
- це можливо
- влада
- передбачати
- передвіщений
- наявність
- досить
- Проблема
- проблеми
- процес
- процесор
- процесори
- Product
- Управління продуктом
- Production
- продуктивність
- Програміст
- проект
- видатність
- видатний
- обіцянку
- правильно
- властивості
- власність
- протоколи
- Доведіть
- провайдери
- Поклавши
- запити
- питання
- питань
- швидко
- досить
- R & D
- випадковий
- ставка
- ставки
- реальний
- реальна цінність
- реалії
- Реальність
- зрозумів,
- причина
- розумний
- Причини
- визнавати
- рекомендований
- зменшити
- відноситься
- регресія
- надійність
- залишатися
- залишається
- репутація
- запитів
- вимагається
- вимога
- Вимога
- Вимагається
- дослідження
- огляд
- Революція
- корінь
- прогін
- s
- сейф
- Безпека
- Зазначений
- то ж
- say
- приказка
- масштабованість
- шкала
- масштабний
- ваги
- сценарій
- схема
- наука
- Шон
- другий
- безпечний
- безпеку
- побачити
- бачачи
- бачив
- Продаж
- напівпровідник
- послідовний
- комплект
- зсув
- нестача
- дефіцит
- найкоротший
- Повинен
- Показувати
- сторона
- значний
- істотно
- Кремній
- Аналогічно
- просто
- моделювання
- з
- SIX
- навички
- трохи відрізняється
- невеликий
- So
- рішення
- Рішення
- ВИРІШИТИ
- вирішити
- деякі
- Хтось
- що в сім'ї щось
- іноді
- Source
- Простір
- конкретний
- відпрацьований
- Spot
- Поширення
- Електронна таблиця
- Персонал
- непохитні люди
- почалася
- стан
- Крок
- заходи
- Як і раніше
- стимул
- Стоп
- Історія
- успіхів
- процвітати
- успіх
- такі
- набір
- передбачуваний
- Переконайтеся
- солодкий
- система
- Systems
- Приймати
- талант
- балаканина
- говорити
- команда
- команди
- технічний
- методи
- Технології
- Технологія
- нудний
- сказати
- має тенденцію
- terms
- тест
- ніж
- Що
- Команда
- Майбутнє
- Джерело
- світ
- їх
- Їх
- потім
- Там.
- Ці
- вони
- річ
- речі
- думати
- це
- ретельно
- ті
- думка
- через
- по всьому
- час
- times
- чайові
- до
- сьогодні
- терпимість
- занадто
- інструмент
- інструменти
- топ
- до
- простежувати
- Простеження
- традиційний
- величезний
- троянець
- троянський кінь
- Довіряйте
- заслуговуючий довіри
- намагається
- ПЕРЕГЛЯД
- два
- тип
- Типи
- типово
- при
- що лежить в основі
- розуміти
- В процесі роботи
- непередбачений
- створеного
- блок
- якщо не
- us
- Використання
- використання
- використовуваний
- корисний
- користувач
- користувачі
- використовує
- використання
- зазвичай
- використовувати
- використовувати
- значення
- варіант
- різноманітність
- змінюватися
- різний
- величезний
- продавець
- постачальники
- перевірка
- перевірити
- перевірка
- розбирається
- Проти
- вертикальний
- дуже
- віце
- обсяг
- vs
- Уразливості
- прогулянки
- хотіти
- хотів
- хоче
- було
- шлях..
- способи
- we
- ДОБРЕ
- були
- Що
- будь
- коли
- Чи
- який
- в той час як
- ВООЗ
- чому
- ширше
- широко поширений
- волі
- з
- в
- без
- Work
- працює
- світ
- турбуватися
- б
- лист
- років
- ви
- вашу
- зефірнет