Формальная проверка применяется все чаще и в большем количестве мест в конструкциях микросхем по мере роста числа возможных взаимодействий и по мере того, как эти микросхемы используются в более важных приложениях.
В прошлом большая часть формальная проверка был сосредоточен на том, будет ли чип функционировать должным образом. Но по мере того, как конструкции становятся более сложными и разнородными, а варианты использования меняются, формальная проверка используется во всем: от оценки влияния секционирования до отслеживания источника скрытого повреждения данных. Его даже используют для определения возможных векторов кибератак и для отслеживания того, как энергия передается и используется внутри устройства.
«Проектирование с низким энергопотреблением существует уже очень давно, но этот подход в основном использовался для мобильных чипов», — говорит Шон Сафарпур, директор группы исследований и разработок в США. Synopsys ' Группа компаний ЭДА. «Теперь это повсеместно. Точно так же мы видим, что в ускорителях используется все больше технологий искусственного интеллекта и машинного обучения, и основной движущей силой является объем работы, которую вы можете выполнить на одну мощность. Итак, теперь для всех, чем бы они ни занимались, дизайн с низким энергопотреблением является большой проблемой. Что касается формальной проверки, так это то, что существуют конкретные способы использования формальной проверки для решения некоторых из этих проблем».
Речь идет уже не только о стробирование часов оптимизация, которая включает в себя повторный запуск регрессионного моделирования, чтобы убедиться, что все правильно. Сегодня мощность необходимо рассматривать в контексте других компонентов системы, а иногда и между системами. Без официального оформления это заняло бы значительно больше времени, если бы это вообще можно было сделать. Его также необходимо изучить в контексте различных вариантов использования и рабочих нагрузок, где мощность необходимо отслеживать от доставки до использования.
«Если вы используете синхронизацию, мы можем провести анализ с тактовой синхронизацией и без нее и точно сказать вам, одинакова ли функциональность или у вас может быть ошибка и что-то сломалось в процессе», — сказал Сафарпур. «На основе запросов пользователей теперь также можно учитывать намерение мощности через файл UPF. Пять-шесть лет назад таких запросов у нас не было. Теперь они настолько заметны, что люди говорят: «Я провожу проверку собственности». У меня есть свои утверждения. Но теперь я хочу проверить эти утверждения в присутствии моего УПФ. Я проверяю подключение на уровне SoC», что является еще одним конкретным приложением. Но это будет неполным, если не принять во внимание полный UPF конструкции. Formal может вникать в эти очень специфические области, чтобы пользователи могли сказать: «Подождите секунду, нам не нужно переделывать весь наш набор регрессий». Мы можем взять эти конкретные проблемы и решить их исчерпывающе». В этом и есть реальная ценность формальности. Он носит исчерпывающий характер, поэтому, когда вы просматриваете весь свой план тестирования и рассматриваете некоторые из этих аспектов, будь то низкое энергопотребление или безопасность, мы можем рассмотреть все это. В вашем плане тестирования будут предусмотрены специальные позиции для этих целей. Некоторые из них вы можете тщательно решить с помощью формальной проверки, что является одной из причин, почему в наши дни эта проблема становится все более популярной, поскольку пространство проблем становится все больше».
Проще говоря, пробелы в покрытии, которые были приемлемы в прошлом, когда было меньше функций и жизненный цикл был короче, сегодня неприемлемы для многих приложений.
«Все всегда говорят о постоянно растущей сложности, и многие люди справедливо используют это как повод действовать по-другому», — сказал Крис Джайлс, руководитель отдела управления продуктами статических и формальных решений в компании. Сименс ЭДА. «Когда мы смотрим на рыночный успех и общий процесс разработки, мы видим, что, несмотря на многолетний рост инвестиций в проверку, она не поспевает за ростом сложности. Итак, хотя мы все признаем, что сложность постоянно возрастает, наша реакция на это как отрасль не так эффективна, как хотелось бы. Изменения, наблюдаемые в последние несколько лет, касаются требований мира к кремнию, и именно здесь формальная проверка становится абсолютным требованием. Сегодня мир требует от кремния иного подхода к проверке. Мы больше не требуем сложности. Речь идет о безопасности. Речь идет о безопасности. Речь идет о доверии. Речь идет о гарантиях. И все эти вещи очень сложно доказать с помощью методологии линейного моделирования».
Это, в свою очередь, привело к взрывному спросу на формальную проверку. «В этом формальность превосходна», — сказал Джайлз. «Благодаря своему исчерпывающему характеру формальная проверка может убедительно доказать, что конструкция безопасна, безопасна или заслуживает доверия. В отрасли проводится большая работа по сертификации этих объектов недвижимости, поэтому наличие процесса, который генерирует эту сертификацию, имеет решающее значение. Здесь формальность абсолютно необходима. Если вы посмотрите на индустрию интеллектуальной собственности, то увидите, что компании, занимающиеся интеллектуальной собственностью, не обязательно знают, в каком конечном продукте будет их интеллектуальная собственность, поэтому им приходится планировать ответы на такие вопросы. Как я узнаю, что это безопасная конструкция? Как я узнаю, что это надежная конструкция? Откуда мне знать, что можно безопасно отдавать человеческие жизни под свой контроль? Сегодня об этих вещах приходится беспокоиться даже командам IP».
Пит Харди, директор по управлению продуктами группы System & Verification в Каденция, сказал, что за последнее десятилетие он стал свидетелем феноменального роста использования формальных проверок. «Без сомнения, он «преодолел пропасть» и стал широко распространенным. Это незаменимый инструмент в арсенале проверок для подавляющего большинства ведущих полупроводниковых компаний».
Возрастающая сложность, как для SoC с расширенным узлом, так и для гетерогенной сборки в корпусе, требует дополнительной проверки. «Потребность в проверке имеет тенденцию расти экспоненциально по мере увеличения сложности конструкции», — сказал Харди. «Ключевые последствия были двоякими. Во-первых, при иерархической проверке на основе IP принцип «разделяй и властвуй» стал основным фактором успеха проверки: тщательно проверьте блок или подсистему IP, затем проверьте правильность интеграции, и на следующем уровне ничего не сломается. Для проверки на основе IP формальная проверка масштабируется для достижения формального подтверждения для многих, но не для всех видов IP. Пространство состояний все еще может быть проблемой, несмотря на значительные успехи в формальной масштабируемости. Например, сложные последовательные протоколы по-прежнему сложны для формальной проверки — глубина последовательностей часто слишком высока. Некоторые формальные методы можно масштабировать до уровня чипа, но лишь в некоторых ограниченных случаях — полное формальное одобрение крупных цифровых SoC остается слишком сложной задачей».
Проекты на базе процессоров всегда были сложной задачей, но их особенно сложно проверить, когда они используют специфичную для предметной области архитектуру. «Происходит огромный рост масштабно программируемых проектов — многопроцессорных архитектур, использующих множество однородных или гетерогенных массивов процессорных ядер в зависимости от вертикального приложения», — отметил он. «Для процессоров приложений битва Arm против x86 ISA теперь развернулась благодаря RISC-V. Графические процессоры существуют уже давно, но многие другие типы математических сопроцессоров и ускорителей стали обычным явлением, особенно сейчас, благодаря революции искусственного интеллекта и машинного обучения. Каждый разрабатывает свой собственный вариант приложений и математических ядер, оптимизированных в соответствии с потребностями в мощности, производительности и площади». Каденс называет это явление доменно-ориентированной архитектурой (DSA).
Опасения по поводу надежности распространяются даже на некритические устройства. «Каждый проект может иметь формальное решение для проверки, включая проекты, в которых преобладает арифметика», — сказал Ашиш Дарбари, генеральный директор компании аксиома. «Проектирование, в котором преобладает арифметика, извлекает выгоду из передовых решений от крупнейших поставщиков инструментов формальной проверки, у каждого из которых есть решения, предназначенные для арифметической проверки, особенно в отношении операций с плавающей запятой. По большому счету, это не обязательно большой объем работы, но он достаточно значителен и важен, чтобы мы не смотрели в другую сторону».
Это открыло возможность для использования формального подхода на гораздо более ранних стадиях процесса, где его можно использовать для предотвращения задержек, связанных с проектированием, и для более широкого круга инженерного сообщества. Но это также привело к нехватке талантов, поскольку не все хорошо умеют писать. утверждения в различных приложениях.
«Каждый, кто имеет достойное имя в бизнесе по производству кремния, будь то компания по производству графических процессоров, процессоров или производитель фабрик, использует формальный подход», — сказал Дарбари. «Все гиганты, производящие оборудование, используют формальный подход. А некоторые из них хотят, чтобы было сделано так много формальностей, но у них просто не хватает таланта».
Уровень усыновления также варьируется. «Некоторые хорошо знакомы с формальной проверкой и чувствуют себя комфортно, понимают, на что она способна, и оспаривают ее», — отметил Джайлс из Siemens. «Другие немного более колеблются, потому что иногда это может показаться научным проектом или необходимостью образовательных усилий. Когда кто-то, кто не знаком с формальными вопросами, впервые слышит о том, что рекомендуется формальная проверка, его первая мысль такова: «Теперь в моем штате должен быть доктор философии». Нам нужно запустить наш проект. Как я смогу это сделать?» И это приводит к разной степени усыновления».
В некоторых компаниях формальность стала лишь одним из многих необходимых навыков. Это значительный сдвиг. На заре формальной проверки предполагалось, что небольшая группа инженеров приобретет навыки использования этих инструментов.
«Мы поняли, что дизайнеры, инженеры по проверке, инженеры всех слоев общества могут использовать эту технологию», — сказал Сафарпур из Synopsys. «И разработчикам инструмента EDA предстоит сделать его более интуитивно понятным для этого пользователя. У нас разные личности, разные шляпы. Теперь, если вы дизайнер, вам может понадобиться немного другой интерфейс. Вы подходите к этому под другим углом, чем ваш формальный черный пояс, и навороты, которые вы ищете, совершенно другие. Как разработчики инструментов, мы также учились у наших пользователей, которые могут максимально эффективно использовать эти инструменты. С этой точки зрения планка также была снижена. Сегодня, когда я получаю вопросы или разговариваю с клиентами, с запросами на улучшения или отзывами об инструменте обращается столько же неспециалистов, сколько и традиционных формальных экспертов».
Эмуляция против формального против моделирования
Другие стойкие приверженцы процесса проверки включают моделирование и эмуляцию. Но для некоторых проектов каждый инструмент проверки может не потребоваться.
«Есть вещи, которые хорошо подходят для формальной проверки, но не очень подходят для моделирования, и наоборот», — сказал Джайлс из Siemens. «Хорошим примером этого является проверка подключения. Поэтапное моделирование правильности всех взаимосвязей представляет собой довольно длительный последовательный процесс. Если вы можете сделать это полностью за один прогон, то вы можете взять эти циклы моделирования и использовать их для того, что моделирование дает наилучшие результаты. Так что это игра на продуктивность. Еще одна вещь, которая становится очевидной по мере того, как отрасль переходит от модели глобализации к модели регионализации или национализации (и нам приходится многократно воспроизводить экосистему проектирования, разработки и производства кремния по всему миру) — это то, что существует нехватка рабочей силы. предсказано практически повсюду в мире. И это не имеет ничего общего со сложностью конструкции. Это связано с геополитическими и макроэкономическими реалиями мира. Это создает возможности повсюду. И реальность такова, что для того, чтобы добиться успеха в этой среде, нам нужно повысить производительность наших сотрудников. Использование формальной или эффективной проверки, высвобождение циклов моделирования для выполнения того, что моделирование делает лучше всего, является важной частью разработки сейчас и в будущем. Таким образом, эти две вещи — производительность, а также удовлетворение требований того, что мир предъявляет сегодня к кремнию, а также с точки зрения безопасности и уверенности, доверия и безопасности — являются причинами, по которым я считаю формальную проверку абсолютно необходимой для любого разработка."
В некоторых случаях требуется более одного типа инструмента. Дарбари указывает на совпадение, основанное на требованиях к покрытию, а также на возможностях разных инструментов от разных поставщиков. «Разногласия все еще есть», — сказал он. «Отладка — самая интересная. Отладка — это то место, где я могу найти основную причину сбоя в кратчайшие сроки, а также это область, где мы потратили много времени на поиск причин неисправности».
Также существует взаимодействие между формальной проверкой и моделированием, позволяющее сократить циклы моделирования, при этом формальная проверка обходится более дорого инженерной команде.
«Вы никогда не сможете провести достаточно моделирования, поэтому спрос безграничен», — сказал Сафарпур. «Все хотят заниматься симуляцией, но у них недостаточно вычислительных ресурсов для этого. Однако технологии моделирования и формальной верификации по своей природе вполне дополняют друг друга, и мы видим это во многих областях. Что касается покрытия, с помощью моделирования вы можете очень легко достичь покрытия 80%, 85%, может быть, 90%, а затем происходит то, что вы быстро выходите на плато на кривой. А есть еще 5%. В зависимости от того, какие критерии должны быть одобрены, есть еще 5% или около того, и вы можете сделать так много рандомизации, что мы все еще не можем их достичь. Эти 5% являются оптимальной точкой для формального подхода, потому что есть вероятность, что 5% — это либо вещи, которые трудно достичь, например крайние случаи, в которых формальный подход хорош, либо это мертвый код, а это означает, что независимо от того, сколько симуляцию, которую ты делаешь, ты не можешь попасть в нее. Это оставляет у вас вопросительный знак, и тогда какому-нибудь инженеру придется вмешаться, просмотреть этот код и сказать: «Я думаю, что это недостижимо». Итак, это ручное вмешательство. Мы делаем это так: наше моделирование и формальные инструменты работают с одной и той же базой данных и помогают друг другу».
Тот же сценарий разыгрывается и для приложений функциональной безопасности. «Вы можете охватить как можно больше функциональной безопасности и отказоустойчивости, а затем приступить к формальным шагам. Та же история с безопасностью, и этот подход продолжает повторяться в разных областях. Выполните простые задачи с помощью моделирования, доберитесь до этого плато, а затем официально проделайте последнюю милю», — объяснил Сафарпур.
Архитектура, специфичная для предметной области, добавляет свои уникальные проблемы. «В отличие от непрограммируемых ASIC, DSA отличаются тем, что невозможно предсказать множество способов, которыми программист будет использовать процессор», — сказал Харди из Cadence. «Нужно предусмотреть все возможные варианты, включая совершенно непредвиденные. Формальный – единственный путь. Лидеры процессорных технологий, такие как Arm и Intel, знают это и уже давно инвестируют в формальную проверку. Каждая компания, реализующая собственную реализацию RISC-V, должна сделать то же самое. А рост числа математических сопроцессоров и механизмов AI/ML стимулирует появление новых формальных методов, таких как последовательная проверка эквивалентности C/C++ и RTL».
Формальные пределы
Однако, как и все инструменты EDA, формальные имеют некоторые ограничения. «Formal имеет репутацию продукта, который лучше работает на модуле или блоке, чем на полноценной SoC», — отметил Джайлс из Siemens. «У формального бизнеса возникают проблемы, когда речь идет о длительных, последовательных задачах. Хорошим примером этого может служить то, что сложно использовать формальные функции для проверки функций умножения или деления в единицах с плавающей запятой. Лучший вариант действий — позволить формальному делать то, что формальный делает лучше всего, и позволить моделированию делать то, что симуляция делает лучше всего. Если вы возьмете проект с плавающей запятой, вы сможете проверить все, но функции умножения и деления лучше всего выполнять с помощью моделирования, поэтому вы гораздо более эффективно используете функции моделирования и проверяете то, что должно быть выполнено. сделано там. Тогда вам не придется создавать полный модуль с плавающей запятой посредством моделирования».
Как и в случае со всеми инструментами, в этой области ведется большая работа по преодолению этих ограничений, как посредством абстракций, так и с помощью новых исследований. «На данный момент это подкрепляет идею о том, что есть вещи, с которыми хорошо справляется формальный подход, а есть и симуляция», — сказал Джайлз. «Я бы никогда не увидел сценария, в котором формальность полностью исключает симуляцию. Как и в течение многих лет, я всегда хотел прекратить симуляцию на уровне ворот, но это так и не сработало. Мы увидим это и на формальном примере, и на моделировании».
Формальные методы проверки могут быть исчерпывающими и тщательными, но должны ли они быть обязательным требованием для всех?
Еще до приобретения Cadence в 2014 году Джаспер стал пионером более широкого распространения за счет внедрения формальных приложений – использования проверки моделей, часто с автоматически генерируемыми утверждениями, для решения общих проблем проверки более доступным способом, требующим гораздо более низкого уровня формальных знаний. — сказал Харди.
Далее: «Связность — отличный пример, и один из самых простых для внедрения: генерируйте утверждения на основе карты связности в электронной таблице или IP-XACT форма. То же самое можно сделать и с помощью моделирования, но это утомительно. Этот формальный метод легко масштабируется до уровня чипа, поскольку большая часть базовой функциональности блока может быть абстрагирована. В некоторых случаях эти приложения могут разгрузить рабочие нагрузки моделирования, и их ценность заключается в поиске критических ошибок, поскольку случайный входной стимул, сгенерированный инструментом, является более исчерпывающим, чем обычно используются тестовые стенды моделирования. Хотя эти приложения полезны для того, чтобы инженеры по проверке могли начать формальную работу, возможно, выступая в качестве «шлюза», с точки зрения использования они представляют собой верхушку айсберга. В настоящее время мы обнаруживаем, что основная часть айсберга, включая большую часть использования регрессии формальной проверки, заключается в проверке проектов DSA на базе процессора с формальной проверкой свойств и последовательной проверкой эквивалентности, как RTL-RTL, так и C/. C++ для RTL», — добавил он. «Как бы мне ни хотелось сделать формальную проверку обязательным требованием для всех, все же есть примеры, когда она необходима, и другие примеры, где моделирование все же работает лучше. Но мы видим, что типы проектов, где необходима формальная проверка, растут гораздо быстрее».
Что касается того, как все это будет развиваться, экосистема EDA, похоже, находится на пороге определения того, как формальную проверку можно использовать за пределами традиционных приложений.
«Существует набор приложений, которые довольно распространены у любого поставщика, продающего комплекты формальных приложений для конкретных конечных целей», — заключил Джайлз. «Проблемы и возможности как с технической, так и с деловой точки зрения включают использование формальных способов проверки, которые раньше были невозможны, например, обнаружение троянских коней на оборудовании. Особенно в этом мире аппаратного обеспечения с открытым исходным кодом очень приятно иметь возможность доказать, что в этом проекте нет ничего такого, чего не должно быть в этом проекте. Обычно это не проблема проверки, которая решается с помощью моделирования, поскольку моделирование обычно предполагает, что вы знаете, что ищете, и вы просто пытаетесь убедиться, что оно это делает. Благодаря обнаружению троянских коней вы теперь ищете вещи, которые фактически находятся за пределами известного пространства состояний. Это то, что имеет огромные перспективы».
Связанные Чтение
Верификация микроархитектуры RISC-V
Проверка процессора — это гораздо больше, чем просто проверка работоспособности инструкций, но отрасль строится на основе ограниченной базы знаний и небольшого количества специализированных инструментов.
Новые концепции, необходимые для проверки безопасности
Почему так сложно убедиться, что оборудование работает правильно и способно обнаруживать уязвимости, которые могут проявиться в полевых условиях.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://semiengineering.com/formal-verifications-usefulness-widens/
- :имеет
- :является
- :нет
- :куда
- $UP
- 2014
- a
- в состоянии
- О нас
- Absolute
- абсолютно
- рассеянный
- ускорители
- приемлемый
- доступной
- По
- Учетная запись
- Достигать
- приобретение
- через
- действующий
- Действие
- Добавить
- добавленный
- принять
- Принятие
- продвинутый
- тому назад
- AI / ML
- Все
- вдоль
- причислены
- всегда
- am
- количество
- an
- анализ
- и
- Другой
- ответ
- любой
- больше не
- все
- появляется
- Применение
- Приложения
- подхода
- Программы
- архитектуры
- МЫ
- ПЛОЩАДЬ
- области
- ARM
- около
- AS
- Asics
- внешний вид
- аспекты
- сборка
- Оценка
- предполагается,
- гарантия
- At
- бар
- Использование темпера с изогнутым основанием
- основанный
- Боевой
- BE
- , так как:
- становиться
- становление
- было
- до
- не являетесь
- Колокола
- пользу
- ЛУЧШЕЕ
- Лучшая
- между
- Beyond
- большой
- Немного
- Черный
- черный пояс
- Заблокировать
- доска
- изоферменты печени
- Безграничный
- шире
- Сломался
- Сломанный
- Ошибка
- ошибки
- Строительство
- в комплекте
- бизнес
- но
- by
- Каденция
- CAN
- Может получить
- возможности
- способный
- случаев
- общественное питание
- Вызывать
- Генеральный директор
- определенный
- Сертификация
- удостоверять
- вызов
- проблемы
- сложные
- шансы
- изменение
- проверка
- контроль
- чип
- чипсы
- Крис
- Очистить
- Часы
- код
- выходит
- удобный
- приход
- Общий
- сообщество
- Компании
- Компания
- дополнительный
- полностью
- комплекс
- сложность
- компоненты
- Вычисление
- понятия
- Беспокойство
- в заключении исследования, финансируемого Центрами по контролю и профилактике заболеваний (CDC) и написанного бывшим начальником полиции Вермонта
- связь
- Рассматривать
- считается
- постоянная
- контекст
- контраст
- контроль
- Corner
- исправить
- правильно
- коррупция
- дорогостоящий
- может
- курс
- чехол для варгана
- охват
- покрытый
- создали
- Создающий
- Критерии
- критической
- В настоящее время
- кривая
- острый выступ
- Клиенты
- кибератаки
- циклы
- данным
- База данных
- Дней
- мертвый
- десятилетие
- преданный
- задержки
- поставляется
- поставка
- Спрос
- требующий
- запросы
- в зависимости
- развернуть
- глубина
- Проект
- дизайнер
- дизайнеры
- проектирование
- конструкций
- Несмотря на
- обнаружение
- застройщиков
- Развитие
- устройство
- Устройства
- различный
- по-разному
- трудный
- Интернет
- директор
- делить
- do
- приносит
- не
- дело
- доменов
- сделанный
- Dont
- Двери
- сомневаюсь
- управляемый
- водитель
- вождение
- каждый
- Ранее
- Рано
- Простейший
- легко
- легко
- экосистема
- образовательных
- Эффективный
- фактически
- эффекты
- эффективный
- усилие
- или
- ликвидирует
- обнялись
- эмуляция
- конец
- инженер
- Проект и
- Инженеры
- Двигатели
- улучшения
- достаточно
- обеспечивать
- Весь
- Окружающая среда
- эквивалентность
- особенно
- существенный
- Эфир (ETH)
- Даже
- НИКОГДА
- постоянно растет
- Каждая
- все
- все члены
- все это
- многое
- везде
- эволюционирует
- пример
- Примеры
- комплексный
- Расширьте
- опыта
- эксперты
- объяснены
- взрыв
- экспоненциально
- ткань
- фактор
- Ошибка
- достаточно
- знакомый
- быстрее
- Особенности
- Обратная связь
- чувствовать
- несколько
- меньше
- поле
- Файл
- обнаружение
- Во-первых,
- 5
- плавающий
- поток
- внимание
- Что касается
- форма
- формальный
- от
- полный
- функция
- функциональная
- функциональность
- Функции
- будущее
- Gain
- пробелы
- Общие
- в общем
- порождать
- генерирует
- геополитический
- получить
- получает
- гигантов
- Отдаете
- глобализация
- Go
- будет
- хорошо
- есть
- GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР
- Графические процессоры
- большой
- группы
- Рост
- Растет
- Рост
- происходит
- Жесткий
- Аппаратные средства
- Есть
- имеющий
- he
- помощь
- Колеблющийся
- иерархическая
- High
- Удар
- Лошадь
- Как
- Однако
- HTTPS
- огромный
- человек
- i
- определения
- идентифицирующий
- if
- Влияние
- реализация
- важную
- in
- включают
- В том числе
- Увеличение
- промышленность
- вход
- инструкции
- интеграции.
- Intel
- намерение
- взаимодействие
- интересный
- Интерфейс
- вмешательство
- в
- Введение
- интуитивный
- инвестиций
- инвестиций
- включает в себя
- IP
- вопрос
- вопросы
- IT
- пункты
- ЕГО
- работа
- JPG
- всего
- только один
- хранение
- Основные
- виды
- Знать
- знания
- известный
- труд
- большой
- больше
- крупнейших
- Фамилия
- Последняя миля
- Лидеры
- Лиды
- узнали
- позволять
- уровень
- ЖИЗНЬЮ
- жизненные циклы
- такое как
- недостатки
- Ограниченный
- линия
- линейный
- мало
- Живет
- Длинное
- много времени
- дольше
- посмотреть
- искать
- серия
- Низкий
- ниже
- снижена
- Mainstream
- основной
- Большинство
- сделать
- Создание
- управление
- руководство
- многих
- карта
- отметка
- рынок
- математике
- Вопрос
- Май..
- может быть
- смысл
- сообщение
- метод
- Методология
- методы
- мили
- Мобильный телефон
- модель
- модуль
- БОЛЕЕ
- более эффективным
- самых
- в основном
- движется
- много
- с разными
- должен
- my
- мириады
- имя
- природа
- обязательно
- необходимо
- Необходимость
- потребности
- никогда
- Новые
- более новый
- следующий
- хороший
- нет
- неспециалисты
- отметил,
- ничего
- сейчас
- номер
- of
- от
- .
- on
- ONE
- только
- открытый
- с открытым исходным кодом
- открытый
- Возможности
- оптимизация
- оптимизированный
- or
- заказ
- Другое
- наши
- внешний
- за
- Преодолеть
- собственный
- пакет
- часть
- особенно
- мимо
- Люди
- для
- выполнять
- производительность
- перспективы
- кандидат наук
- феноменальный
- явление
- кусок
- впервые
- Мест
- план
- планирование
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- Играть
- играет
- Точка
- пунктов
- возможное
- мощностью
- предсказывать
- предсказанный
- присутствие
- довольно
- Проблема
- проблемам
- процесс
- процессор
- процессоры
- Продукт
- Управление продуктом
- Производство
- производительность
- Программист
- Проект
- протуберанец
- видный
- обещание
- должным образом
- свойства
- собственность
- протоколы
- Доказывать
- поставщики
- Полагая
- Запросы
- вопрос
- Вопросы
- быстро
- вполне
- R & D
- случайный
- Обменный курс
- Стоимость
- реальные
- реальная стоимость
- реалии
- Реальность
- реализованный
- причина
- разумный
- причины
- признавать
- Управление по борьбе с наркотиками (DEA)
- уменьшить
- понимается
- регресс
- надежность
- оставаться
- остатки
- репутация
- Запросы
- обязательный
- требование
- Требования
- требуется
- исследованиям
- обзоре
- Революция
- корень
- Run
- s
- безопасный
- Сохранность
- Сказал
- то же
- сообщили
- поговорка
- Масштабируемость
- Шкала
- масштабируется
- Весы
- сценарий
- схема
- Наука
- Шон
- Во-вторых
- безопасный
- безопасность
- посмотреть
- видя
- видел
- продажа
- полупроводник
- последовательный
- набор
- сдвиг
- нехватка
- дефицит
- самый короткий
- должен
- показывать
- сторона
- значительный
- существенно
- кремний
- Аналогичным образом
- просто
- моделирование
- с
- ШЕСТЬ
- навыки
- немного отличается
- небольшой
- So
- Решение
- Решения
- РЕШАТЬ
- решить
- некоторые
- Кто-то
- удалось
- иногда
- Источник
- Space
- конкретный
- потраченный
- Спотовая торговля
- Распространение
- Таблица
- Персонал
- стойкие приверженцы
- и политические лидеры
- Область
- Шаг
- Шаги
- По-прежнему
- раздражитель
- Stop
- История
- успехи
- быть успешными
- успех
- такие
- suite
- предполагаемый
- Убедитесь
- сладкий
- система
- системы
- взять
- Талант
- Говорить
- говорить
- команда
- команды
- Технический
- снижения вреда
- технологии
- Технологии
- утомительный
- сказать
- как правило,
- terms
- тестXNUMX
- чем
- который
- Ассоциация
- Будущее
- Источник
- мир
- их
- Их
- тогда
- Там.
- Эти
- они
- задача
- вещи
- think
- этой
- тщательно
- те
- мысль
- Через
- по всему
- время
- раз
- тип
- в
- сегодня
- терпимость
- слишком
- инструментом
- инструменты
- топ
- к
- прослеживать
- трассировка
- традиционный
- огромный
- троянец
- троянский конь
- Доверие
- заслуживающий доверия
- пытается
- ОЧЕРЕДЬ
- два
- напишите
- Типы
- типично
- под
- лежащий в основе
- понимать
- На ходу
- непредвиденный
- созданного
- Ед. изм
- если не
- us
- Применение
- использование
- используемый
- полезный
- Информация о пользователе
- пользователей
- использования
- через
- обычно
- использовать
- использовать
- ценностное
- Вариант
- разнообразие
- меняться
- Различная
- Огромная
- продавец
- поставщики
- проверка
- проверить
- проверка
- сведущий
- Против
- вертикальный
- очень
- вице
- объем
- vs
- Уязвимости
- прогулки
- хотеть
- стремятся
- хочет
- законопроект
- Путь..
- способы
- we
- ЧТО Ж
- были
- Что
- любой
- когда
- будь то
- который
- в то время как
- КТО
- зачем
- Шире
- широко распространена
- будете
- в
- без
- Работа
- работает
- Мир
- беспокоиться
- бы
- письмо
- лет
- являетесь
- ВАШЕ
- зефирнет