Проблемы Методологии Проектирования Микропроцессорных Систем

Используемая в настоящее время методология проектирования СБИС с использованием языков описания аппаратуры имеет общепризнанные недостатки, а именно:

  • Проектирование сложных СБИС требует сотен квалифицированных инженеров, нескольких лет работы и стоит миллиарды долларов.

  • До половины времени разработки уходит на поиск и устранение ошибок в программной модели проектируемого микропроцессора.

  • Для достижения высоких характеристик по площади, производительности и энергоэффективности требуются значительные трудозатраты.

Отечественные и зарубежные идеи решения задач проектирования СБИС лежат в рамках общепринятой парадигмы использования языков программирования для описания проектируемой аппаратуры.

Все эти решения используются в реализуемых в настоящее время программах.

ДАРПА .



Программы DARPA

В рамках программы Инициатива возрождения электроники Программа, объявленная DARPA, направлена на преодоление проблем применяемой методологии проектирования микропроцессорных систем.

Для этого реализуются следующие подпрограммы:

  • РЕМЕСЛО – предполагает создание средств синтеза СБИС высокого уровня;
  • ИДЕЯ – направлен на создание автоматического генератора макетов SoC, многокристальных микросхем, печатных плат;
  • ШИКАРНЫЙ – направлен на создание жизнеспособной экосистемы проектирования и проверки аппаратного обеспечения с открытым исходным кодом, которая позволяет экономически эффективно проектировать сверхсложные SoC.
В случае успешного завершения этих программ полученные результаты должны быть объединены в перспективные САПР.

Ожидается, что скорость разработки будет увеличена в 10 раз по сравнению с созданием кода RTL вручную.

Кроме того, цель — кардинально изменить практику разработки микропроцессорных устройств.

Конечная цель преобразования инженерной практики описывается следующим образом: :

  • Проектирование СБИС становится частью инструментария разработчика программного обеспечения.

  • Каждая компания-разработчик программного обеспечения получает возможность разрабатывать СБИС.

Описывая ситуацию в отрасли разработки микропроцессорных систем, DARPA говорит о следующих проблемах (на основе Инициатива по возрождению электроники Страница 3 Инвестиции Проектная направленность ).

Интеллектуальные системы следующего поколения в области искусственного интеллекта, автономных транспортных средств, связи, радиоэлектронной борьбы и радаров потребуют на несколько порядков большей эффективности обработки, чем та, которую предлагает сегодняшняя коммерческая электроника.

Достижение требуемого уровня производительности потребует разработки весьма сложных платформ SoC с использованием самых передовых технологий интегральных схем.

В последние годы сложность микросхем быстро росла, что привело к резкому увеличению затрат и времени, необходимых для разработки современных SoC, печатных плат и многокристальных сборок (SiP).

Предлагаемая инициатива создаст новые парадигмы интеллектуального физического проектирования и уменьшит препятствия на пути разработки высокопроизводительных и высокоэффективных интегральных схем для конкретных приложений.

Исследовательский подход в программе CRAFT (из итогового отчета Хайлани Брюсек CRAFT на саммите ERI 2019):

  1. Повысьте уровень абстракции при разработке оборудования: а.

    Используйте языки более высокого уровня, например C++ вместо Verilog; б.

    Используйте инструменты синтеза высокого уровня; в.

    Используйте библиотеки и генераторы, например MatchLib.

  2. Применение методологии AGILE при разработке СБИС: а.

    Небольшие команды, работающие вместе над архитектурой, реализацией, СБИС (очень крупномасштабная интеграция); б.

    Инструменты непрерывной интеграции и автоматической проверки; в.

    методы управления проектами AGILE; д. Круглосуточная генерация от C++ к схеме.

«Предложен высокопродуктивный подход к разработке цифровых СБИС для создания сложных SoC. Маршрут проектирования включает в себя высокоуровневые инструменты синтеза, объектно-ориентированные библиотеки синтезируемых компонентов на языках SystemC и C++.

И модульный подход к физическому проектированию СБИС, основанный на детальной глобально асинхронной и локально синхронной синхронизации (GALS).

Методология проектирования была продемонстрирована на тестовом чипе FinFET, изготовленном по техпроцессу 16 нм и предназначенном для машинного обучения и компьютерного зрения».

( Модульная схема цифровой СБИС для проектирования высокопроизводительных однокристальных систем», Khailany et al., DAC, 2018 г.

) Спойлер

Проблемы методологии проектирования микропроцессорных систем

Рис.

1. Вариант расчета маршрута, предложенный для программы КРАФТ [1].

Программа IDEA состоит из двух этапов.

На первом этапе будет создан генератор макетов для создания автоматизированной платформы проектирования печатных плат, SoC и SiP. Вторым шагом является создание программной системы, которая на основе высокоуровневого функционального описания и заданных ограничений позволит создавать печатные платы и микросхемы правильной конструкции на основе обширной библиотеки коммерческих компонентов (COTS).

Примеры компонентов COTS включают коммерчески доступные микросхемы для печатных плат, кристаллы для SiP и IP-модули для SoC. Созданный список схем будет введен в генератор топологии, разработанный в первой части программы.

Это создаст комплексную платформу автоматизированного проектирования печатных плат, SoC и SiP. Спойлер

Проблемы методологии проектирования микропроцессорных систем

Рис.

2. Схема использования искусственного интеллекта для решения задачи проектирования СБИС по программе IDEA [5].

Признано, что достижение целей, поставленных программой IDEA, потребует прорывов в алгоритмах машинного обучения и оптимизации.

Ожидаемый маршрут разработки программы IDEA показан на рисунке 3. Спойлер

Проблемы методологии проектирования микропроцессорных систем

Рисунок 3. Концепция маршрута проектирования программы IDEA [5].

Программа POSH поощряет использование практик разработки программного обеспечения с открытым исходным кодом в области разработки микропроцессорных систем.

В документах DARPA говорится следующее.

Появление экосистемы программного обеспечения с открытым исходным кодом позволило создать глубокую иерархию программного обеспечения со многими уровнями абстракции, что значительно повысило производительность в проектах разработки сложных программных систем.

Модель абстракции программного обеспечения позволяет программисту сосредоточить свои усилия на одной конкретной области, игнорируя при этом большое количество деталей, которые в противном случае было бы слишком сложно обработать.

Чтобы создать устойчивую экосистему разработки аппаратного обеспечения с открытым исходным кодом, программа POSH создаст технологии, методы и стандарты для эффективной разработки SoC с открытым исходным кодом.

Ожидается, что важнейшим компонентом этих усилий станет разработка технологий проверки, обеспечивающих доверие к строительным блокам (IP-блокам) аппаратного обеспечения с открытым исходным кодом.

Одной из причин провала открытой и совместной экосистемы SoC является высокая стоимость аппаратных сбоев.

Аппаратная ошибка, обнаруженная в изготовленном оборудовании, может стоить коммерческим компаниям миллионы или миллиарды долларов из-за отзывов и потери доходов.

В этом отличие от индустрии программного обеспечения, где ошибку часто можно исправить на месте с помощью недорогого обновления программного обеспечения.

Для создания открытой аппаратной экосистемы необходима экономичная технология проверки, подходящая для совместной разработки с открытым исходным кодом.

В обширной экосистеме компонентов с открытым исходным кодом неизвестного качества существует потребность в технологии, которая может объективно оценивать и эффективно различать высококачественные и низкокачественные IP-блоки перед включением в конструкции SoC. Для широкого внедрения также важно, чтобы технология обеспечения доверия на этом уровне требовала от пользователя минимальных (или вообще не требовала) инженерных усилий.

Технология формального контроля, которая позволяет проводить прямой анализ самого исходного кода, может обеспечить точную оценку качества и способствовать внедрению более рискованных компонентов с открытым исходным кодом.

Спойлер

Проблемы методологии проектирования микропроцессорных систем

Рисунок 4. Косистема с открытым исходным кодом для разработки SoC, задуманная программой POSH [4].

Программа POSH предполагает создание необходимых компонентов экосистемы для широкого использования при разработке SoC, блоков с открытым исходным кодом.

Основными компонентами экосистемы являются программные средства, обеспечивающие моделирование, верификацию, валидацию и отладку отдельных IP-блоков и собранных на их основе SoC. Однако полного устранения ошибок не ожидается: «Качество симуляционной платформы по своей сути ограничено качеством используемых системных моделей и тестовых векторов, и вполне вероятно, что ряд критических ошибок будет пропущен».

Промежуточные результаты программы представлены на Саммит ЭРИ 2019 , подтвердить возможность достижения заявленной цели.

В частности, программа КРАФТ показывает следующие результаты :

  • Снижение трудоемкости в 8-11 раз для аналоговых и цифровых интегральных схем.

  • Снижение трудоемкости в 4,3–5,3 раза при переносе на 16-нм технологию GF, продемонстрированное на цифровых и цифроаналоговых ASIC.
Однако существует ряд проблем:
  • При обсуждении программы POSH признается, что полностью безошибочное проектирование невозможно: «Качество симуляционной платформы по своей сути ограничено качеством используемых системных моделей и тестовых векторов, и вполне вероятно, что ряд критических ошибок будет пропущен.

    "

  • Также отмечается, что для достижения целей, поставленных программой IDEA, потребуется прорыв в области машинного обучения и алгоритмов оптимизации.

    Для этого создаваемая платформа должна использовать прикладные методы машинного обучения для постоянного развития по мере появления новых наборов данных (примеров проектирования).

  • Сама постановка задач для этих программ нацеливает создаваемые средства проектирования на разработку специализированных интегральных схем (ASIC), то есть не универсальных СБИС, эффективно выполняющих ограниченный набор алгоритмов.

    Промежуточные результаты продемонстрированы также при пилотной разработке специализированных схем СБИС.

    То есть в настоящее время не доказано, что полученные показатели роста производительности проектирования будут подтверждены в реальной инженерной практике при разработке перспективных сверхсложных схем СБИС широкого спектра применений.

  • Кроме того, повышение уровня абстракции, на котором человек описывает проектные решения, создает предпосылки для снижения качества проекта с точки зрения транзисторного бюджета, энергопотребления и производительности.

    И в настоящее время нет оснований утверждать, что предложенные решения обеспечат незначительное снижение качества по сравнению с ручным проектированием.

Обратим внимание на методы повышения производительности проектирования, используемые в программах DARPA:
  • При разработке аппаратного обеспечения повышайте уровень абстракции, на котором человек описывает проектируемую систему.

    Переведите все нижние уровни абстракции на автоматические средства.

  • Минимизируйте участие человека в решении проектной задачи за счет использования инструментов искусственного интеллекта.

  • Обеспечьте повторное использование качественных строительных блоков оборудования.

Парадигма проектирования остается прежней – использование языков программирования для описания проектируемого оборудования.

Описываемые программы созданы на базе существующих решений, готовых к использованию COTS-компонентов, IP-блоков и программного обеспечения с открытым исходным кодом.

Однако, полагаясь только на готовые компоненты, невозможно достичь высочайшей производительности или минимального энергопотребления.

Разработка новых архитектур, сложнейших SoC и SiP с использованием новых технологий производства, для этих задач остается та же методология проектирования, которую критикуют в программах DARPA. Достижение максимальных параметров проектируемых микропроцессорных систем еще долго будет оставаться важнейшей задачей отрасли компьютерных технологий.

В качестве наглядного примера можно рассмотреть развивающуюся индустрию робототехники.

В декабре 2019 года NVIDIA представила перспективная платформа для беспилотных автомобилей и роботов [6].

Анонсированный процессор NVIDIA Orin появится не ранее 2022 года.

Чтобы обеспечить пятый уровень автономности беспилотного автомобиля, потребуется комбинация пары процессоров Orin и двух неназванных будущих дискретных графических процессоров NVIDIA. [32].

Уровень производительности в этом случае составит до 2000 триллионов операций в секунду при энергопотреблении до 750 Вт. Очевидно, что для перспективных роботов, которые должны не только перемещаться в пространстве, но и выполнять полезную работу, требуется еще большая производительность при значительно меньшем энергопотреблении.

Другой пример — современные программы создания суперкомпьютеров максимальной производительности, которые реализуют Евросоюз, США, Китай, Япония и другие страны.

Эти программы, в частности реализуемые DARPA и DOE, направлены на решение следующих задач [25]:

  • Значительное увеличение производительности при умеренном энергопотреблении;
  • Повышение надежности оборудования и программ;
  • Повышенная производительность программирования.

Повышение реальной производительности на различных типах задач требует создания принципиально новых SoC и SiP с использованием передовых архитектур и технологий производства, не основанных на ранее используемых решениях.

Например, суперкомпьютер Неокортекс , создан для задач классов DCIGN и RNN — более точного прогноза погоды, анализа геномов, поиска новых материалов и разработки новых лекарств.

Предположительно, он будет введен в эксплуатацию до конца 2020 года [37].

Он объединяет серверы Cerebras CS-1 и HPE SuperDome Flex в единую систему с общей памятью.

Сервер Cerebras CS-1 основан на уникальной процессор Церебрас .

Для производства одного процессора требуется целая пластина диаметром 300 мм [2].

Основой роста сложности микропроцессорных систем в ближайшем будущем станет развитие технологии 3D TSV. Например, концепция, предложенная IBM [16], до сих пор имела успех.

Изготовление микроканалов продемонстрировано в кремнии [22].

Спойлер

Проблемы методологии проектирования микропроцессорных систем

Рис.

5. Концепция построения перспективных микропроцессорных систем, предложенная IBM [16].



Краткое описание современной методологии, ключевые проблемы

На сегодняшний день при проектировании сложных микропроцессорных систем получила развитие практика, представленная на рисунке 6, представленная Брюсеком Хайлани (директором по исследованиям ASIC & VLSI NVIDIA Corporation).

Спойлер

Проблемы методологии проектирования микропроцессорных систем

Рисунок 6. Использование языков программирования при проектировании СБИС [1].

В процессе проектирования используются различные языки программирования, как специализированные, в частности языки описания аппаратных средств (HDL), так и языки высокого уровня общего назначения.

Создаваемый продукт описывается как программа на языке описания аппаратного обеспечения (HDL).

Сгенерированная программа обычно представляет собой модель уровня передачи регистров (RTL), которую необходимо преобразовать в логическую схему посредством автоматического синтеза (логический синтез).

Далее созданную схему необходимо превратить в описание физического продукта.

Для чего осуществляется последовательность этапов проектирования, которую обычно называют физическим проектированием? Упрощенная схема маршрута проектирования СБИС с выделением этапов физического проектирования представлена на рис.

7. Спойлер

Проблемы методологии проектирования микропроцессорных систем

Рисунок 7. Типичный маршрут проектирования с указанием этапов физического проектирования СБИС [23].

Здесь важно отметить, что инженерная задача разработки вычислительной системы (ВСВ) разделяется на две задачи с различным понятийным аппаратом.

Для логического проектирования – математический понятийный аппарат, а для физического проектирования – понятийный аппарат, описывающий физические процессы.

Логическое проектирование оперирует абстрактными понятиями и может выполняться без учета физических особенностей технологии производства.

В частности, архитектура может определяться свойствами целевых алгоритмов и языков программирования, а компьютер может быть представлен только в виде математической абстракции, т.е.

вычислительной модели.

Однако практика проектирования показывает, что такой подход приводит к снижению производительности реальных изделий.

То есть учет технологических ограничений необходим уже на этапе разработки архитектуры вычислительной системы.

На этапе физического проектирования для решения проблемы не требуются понятия выше нижележащих уровней абстракции, т.е.

понятия, используемые на этапе логического проектирования.

Требования к входной схеме и физической спецификации определяют задачу на этапе физического проектирования.

В то же время результаты физического проектирования могут быть основанием для внесения изменений в конструкцию или архитектуру, если заданные параметры изделия не могут быть достигнуты.

Взаимосвязь отраслевых концепций в виде распространения заданных ограничений на возможные варианты технических решений представлена на рис.

8. Спойлер

Проблемы методологии проектирования микропроцессорных систем

Рисунок 8. Распространение ограничений реализации между концептуальными компонентами компьютерной индустрии.

Практика разработки сложных микропроцессорных систем, в том числе с передовыми для своего времени характеристиками, показывает, что используемая методология имеет существенные недостатки.

Сложность проектирования, например, для NVIDIA Xavier оценивается в 8000 человеко-лет [1].

По словам Дженсена Хуанга, создание NVIDIA V100 потребовало нескольких тысяч инженеров, заняло несколько лет и обошлось примерно в 3 миллиарда долларов [7].

При этом качество автоматического синтеза остается низким, а количество ошибок растет, опережая рост сложности проектируемых систем.

На рис.

9 показана одна из оценок сложности проверки в стоимостном выражении.

Таким образом, сложность и количество ошибок в программной модели продукта создают порог сложности, который станет непреодолимым препятствием для роста сложности разрабатываемых систем.

Спойлер

Проблемы методологии проектирования микропроцессорных систем

Рисунок 9. Стоимость разработки СБИС в зависимости от их сложности [7].

Следует отметить, что современная методология проектирования формировалась и развивалась на основе инструментов и их возможностей, а человеку приходилось приспосабливаться к предлагаемым ему условиям труда.

И на современном этапе ситуация не изменилась.

Решения, предлагаемые в программах DARPA, основаны на достижениях в области инструментов, то есть методологии программирования, прикладной математики и развития систем искусственного интеллекта.

И человек будет вынужден адаптироваться к новым условиям труда, которые потребуют новых инструментов проектирования.



Человеческое мышление в инженерной практике

Вышеописанный подход к созданию методологии проектирования принято называть инструментальным.

То есть методика основана на возможностях инструментов, к которым человек должен адаптироваться для работы.

Возможен и противоположный инструментальный подход к созданию методологии проектирования [30].

Если предположить, что человек будет решать задачу проектирования, то возможно создание методологии на основе современных знаний, накопленных гуманитарными науками.

То есть сама методология и ее инструменты создаются на основе знаний о том, как человек решает конкретную задачу.

Следует отметить, что в настоящее время не создана общепринятая теория личности, а значит и человеческого мышления.

Однако накоплен большой научный и практический материал, позволяющий выделить психологические требования к методологии проектирования.

Опираясь на современные знания о психологии мышления, можно построить следующую картину того, как человек решает инженерные задачи.

Любая проектная задача предполагает поиск решения (достижение требуемых характеристик) с использованием имеющейся на данный момент технологии производства.

Процесс решения проектной задачи представляет собой определенную последовательность этапов со все более точным описанием создаваемого продукта.

В каждой отрасли технологии (технической системы) исторически сложилась своя последовательность этапов проектирования, т.е.

уровней абстракции, на каждом из которых рассматривается какая-то часть задачи проектирования.

На каждом уровне абстракции (этапе разработки) используется определенный набор понятий, описывающий решаемую на данном этапе проблему и ее решение.

Понятийный аппарат технической отрасли, а также декомпозиция проблемы, т. е.

количество уровней абстракции и содержание решаемой задачи на каждом уровне, определяются физической природой создаваемых продуктов.

Обучение инженерному делу (решению инженерных задач) в рамках конкретной отрасли техники требует овладения понятийным аппаратом и физическими основами этой отрасли.

То есть человек учится создавать конкретные технические продукты в контексте конкретных физических явлений и понятийного аппарата, описывающего процессы и связи данной технической отрасли.

Методология проектирования и инструменты, ее реализующие, определяют порядок проектирования (последовательность этапов) и набор концепций, в которых описывается проблема и ее решение.

Таким образом, методология навязывает инженеру метод решения проектной задачи, набор понятий, форму их изложения и, в конечном итоге, определенный стиль мышления.

Однако чрезмерное отделение от иерархии абстракций и понятийного аппарата отрасли (замена или исключение понятий и уровней абстракции) может привести к потере качества решения и провоцирует человека на ошибки.

Это происходит из-за особенностей психики человека в процессе решения инженерных задач.

Мозг (память и мышление) оперирует комплексами, объединяющими все известные субъекту знания об определенном объекте и его ассоциативные связи с другими объектами [20].

То есть визуальное и вербальное представление понятий взаимосвязаны.

Но восприятие речевых и зрительных объектов имеют разные физиологические механизмы и сочетаются лишь на уровне высших психических процессов.

Установлено, что в силу личностных особенностей мышления одни люди легче оперируют вербальными понятиями, другие — наглядными [33].

Изучение человека в процессе труда привело к выделению в психологии разделов инженерной психологии и психологии труда.

Также с развитием компьютерных технологий сформировалась область психологии программирования [34].

В частности, в рамках психологии программирования установлено, что профессиональные программисты обладают особенностями мышления, отличными от представителей других профессий.

В том числе развитые речевые способности.

То есть они осваивают новые языки, в том числе искусственные, быстрее и с меньшей умственной нагрузкой работают с текстами [17, 27].

Длительная профессиональная деятельность может привести к психологической профессиональной деформации личности, которая выражается, в частности, в формировании стереотипного мышления о проблемах отрасли и методах работы, используемых для решения проблем отрасли [15].

Ошибка – неизбежный результат человеческой деятельности.

Вероятность совершения ошибки определяется многими факторами, в том числе самим человеком, его физическим и психоэмоциональным состоянием, уровнем знаний и умений, а также факторами условий, в которых осуществляется деятельность [30].

Любая работа ума создает умственное напряжение, которое постепенно утомляет нервную систему, что снижает концентрацию внимания и увеличивает вероятность ошибок.

Умственная нагрузка при решении одной и той же задачи может различаться в зависимости от условий, в которых человек должен решить эту задачу.

Например, игра в шахматы вслепую (не глядя на доску) или решение ханойской головоломки в голове (без физического перемещения дисков) создает большую умственную нагрузку, чем аналогичные задачи в поле зрения [10, 12].

Мышление в процессе решения проектной задачи представляет собой последовательность интеллектуальных действий.

Анализ условий задачи, поиск и описание решений, их качественное сравнение и выбор лучшего, анализ решения с целью повышения его качества и устранения ошибок, внесение изменений.

Все эти действия представляют собой работу с информацией – восприятие и создание информации в условиях, предложенных методикой.

Методика устанавливает формы представления информации, а именно понятийный аппарат, и формы описания решения проектной задачи.

А условия восприятия и создания информации определяются инструментами, предлагаемыми человеку для работы.

Восприятие информации предполагает установление соответствия между формами представления информации (установленными методикой) и понятийным аппаратом известной человеку отрасли.

Тогда возникает понимание условий задачи и осуществляется поиск решения.

Поиск решения будет осуществляться с использованием инструментов, предлагаемых методологией, в виде последовательного описания конкретного решения (решения проблемы на заданном уровне абстракции).

Решение формируется как последовательное описание взаимодействия компонентов, свойственное данной отрасли техники.

То есть решение проблемы — это длительный процесс, в ходе которого создается описание решения.

Именно в этом процессе происходит создание информации, когда понятия отрасли, в которой человек думает о проблеме, трансформируются в описание решения, в форме, установленной методологией.

Таким образом, в процессе решения проектной задачи восприятие и создание информации повторяется многократно.

Что требует от человека трансформации понятий отрасли, в которой он думает о задаче, в установленные методологией формы представления информации и наоборот. Все эти интеллектуальные действия создают умственную нагрузку, уровень которой зависит от особенностей личности и условий, в которых выполняется интеллектуальная работа.

Основной уровень умственной нагрузки в процессе решения инженерной задачи определяется легкостью восприятия и создания информации, поскольку эти интеллектуальные действия чаще всего выполняются в процессе решения инженерной задачи.

Дополнительная умственная нагрузка определяется особенностями методики и инструментов, ее реализующих (например, САПР и т. д.).

Например, необходимость учитывать в процессе проектирования отраслевые концепции, не включенные в методологию, создает дополнительную умственную нагрузку и увеличивает вероятность ошибок.

Экспериментально установлена связь между формой представления понятий и скоростью восприятия понятий (условиями задачи).

Следствием этого стало появление терминов «образный интерфейс», «когнитивная графика», «экологический интерфейс».

Создание подобных интерфейсов внедрено в инженерную практику, прежде всего в операторскую работу по управлению сложными промышленными объектами [29].

В некоторых отраслях исторически сложилось и было реализовано в САПР, чтобы сделать процесс принятия решений видимым, что упрощает восприятие проблемы.

Теги: #Производство и разработка электроники #Процессоры #Высокая производительность #искусственный интеллект #Пищевая промышленность #ASIC #импортозамещение #схемотехника #Суперкомпьютеры #микроэлектроника #микропроцессоры #verilog #DARPA #конференция по автоматизации проектирования #sistem_verilog

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.