С ростом числа компаний, заинтересованных в устройствах на базе RISC-V ISA, и увеличением количества ядер, ускорителей и компонентов инфраструктуры, доступных либо на коммерческой основе, либо в форме с открытым исходным кодом, конечные пользователи сталкиваются со все более сложной проблемой: гарантируя, что они сделают лучший выбор.
У каждого пользователя, вероятно, будет набор потребностей и проблем, который почти соответствует гибкости предложений RISC-V, выходя далеко за рамки традиционных показателей PPA и затрагивая вопросы безопасности и защиты или соображения качества. Это может включать в себя адаптируемость обеспечения проверки, что позволяет расширить архитектуру и необходимую проверку.
Традиционно развертывались три уровня прототипирования — виртуальные прототипы, эмуляция и прототипы FPGA, включая гибриды между ними. Затем каждая платформа используется для различных целей, включая проверку программного обеспечения, проверку архитектуры, функциональную проверку оборудования, анализ производительности и многое другое.
В то время как экосистемы проектирования и программного обеспечения для RISC-V формируются, экосистемы конфигурации и проверки отстают и требуют создания новых технологий. Именно гибкость RISC-V создает огромные проблемы для проверки, превышающие все, что требуется для проверки фиксированных процессоров. Это также делает совместную разработку аппаратного и программного обеспечения не только возможной, но и необходимой.
Совместная разработка
В прошлом выбиралось аппаратное обеспечение, а затем разрабатывалось программное обеспечение для его работы. В RISC-V аппаратное обеспечение часто управляется программным обеспечением. «Первое, что вам нужно выбрать, — это какие стандартные опции RISC-V вам нужны, — говорит Саймон Дэвидманн, основатель и генеральный директор компании Программное обеспечение Imperas. «Набор функций RISC-V в настоящее время включает 200 или 300 опций. Откуда вы знаете, выиграет ли ваш алгоритм от модуля с плавающей запятой или SIMD, аппаратных множителей или даже векторного движка? Вы должны разработать аппаратные возможности, которые вам понадобятся и которые вы можете себе позволить, для типа приложения или работы, которую вы хотите, чтобы этот процессор выполнял. Это само по себе становится проблемой».
Для таких компромиссов требуются прототипы. «Если цель дизайнера — оценить производительность и соответствие назначению, то виртуальное прототипирование — единственный жизнеспособный выбор», — говорит Стив Родди, директор по маркетингу в Квадрик. «Создание прототипов оборудования требует от 10 до 50 раз больше времени, чем создание модели SystemC подсистемы или всего SoC. Виртуальный прототип SystemC обычно работает достаточно быстро, чтобы ответить на вопросы о производительности, например, сколько кадров в секунду пропускной способности я могу получить с этим ядром процессора или каковы пиковые и средние требования к пропускной способности функции X в пределах приемлемого диапазона точности».
Добиться нужной точности может быть сложно. «Все дело в точности и вашей способности очень быстро вращать модель», — говорит Фрэнк Ширрмайстер, вице-президент по решениям и развитию бизнеса в Артерис ИП. «Правильная точность определяется тем, чего требует ваш вопрос, и их создание не является тривиальной задачей. Если вы являетесь поставщиком ASIP, вы сможете создавать их из любого имеющегося у вас шаблона. В зависимости от вопроса вам может понадобиться конвейерная точность, вам может понадобиться точность памяти, она не должна быть полностью точной, но когда у вас есть вовлеченный отдел САПР, они слишком боятся ответить на неправильный вопрос».
Но точность — это компромисс со скоростью. «Несмотря на то, что некоторые виртуальные прототипы работают с точностью до цикла, они часто работают слишком медленно, чтобы обеспечить необходимую производительность программного обеспечения», — говорит Дэвидманн из Imperas. «Самые высокопроизводительные виртуальные прототипы не являются двигателями производительности, потому что они не моделируют конвейеры процессора. Они смотрят на это с точки зрения программного обеспечения, где вы можете скомпилировать его и запустить на оборудовании, и вы можете увидеть приблизительную производительность, посмотрев на количество инструкций или приблизительную оценку времени. Этого должно быть достаточно, чтобы принять такое архитектурное решение».
Часто требуется несколько прототипов. «Обычно мы создаем прототипы по двум причинам, — говорит Венки Нараянан, старший директор по разработке программного обеспечения и систем в подразделении FPGA компании Microchip Technology. «Один из них — проверка архитектуры, чтобы убедиться, что мы соблюдаем все показатели и требования производительности, а также функциональная проверка. Другая причина заключается в разработке встроенного программного обеспечения и микропрограмм. Мы используем различные уровни методов прототипирования, наиболее распространенным из которых является использование наших собственных ПЛИС для разработки платформы эмуляции как для архитектурной, так и для функциональной проверки. Мы также используем архитектурные модели, такие как QEMU, для создания виртуальных платформ как для проверки производительности, так и для разработки встроенного программного обеспечения».
Количество возможностей растет. «Сегодня компании используют множество способов создания прототипов с помощью RISC-V, — говорит Марк Химельштейн, технический директор RISC-V International. «Они варьируются от одноплатных компьютеров на уровне производителя до корпоративных плат с поддержкой LINUX. Среды эмуляции (такие как QEMU) позволяют разработчикам работать с программным обеспечением до того, как их аппаратное обеспечение будет готово, и повсюду есть готовые компоненты, от встроенных SoC (от таких компаний, как Espressif и Telink), до FPGA (от таких компаний, как Microsemi). будущая плата Horse Creek от Intel и SiFive».
Это возвращается к компромиссу между производительностью и точностью. «Физические прототипы требуют гораздо больше усилий при проектировании, потому что вы подключаете и синтезируете реальный RTL, но они обеспечивают гораздо большую точность и производительность», — говорит Родди из Quadric. «Физический прототип в системе FPGA, будь то отечественный или крупный EDA-компания, требует усилий для создания. Но она может работать на порядок быстрее, чем модель SystemC, и на несколько порядков быстрее, чем полное моделирование на уровне вентилей. Команды разработчиков обычно переключаются с моделей на основе C в процессе выбора IP на физические модели как для проверки фактического проекта после выбора IP, так и в качестве платформы для разработки системного программного обеспечения».
Как только вы узнаете, какой набор функций вам нужен в аппаратном обеспечении, вы можете посмотреть, не создал ли уже кто-то решение, удовлетворяющее большинству ваших потребностей. «Скорее всего, среди всех поставщиков найдется коммерческое решение, в котором будет то, что вы ищете», — говорит Дэвидманн. «Но с RISC-V вам не нужно принимать это решение как есть. Значительная часть ценности RISC-V — это свобода изменять его, модифицировать и добавлять различные вещи, которые вы хотите».
Выбор реализации
Существует много способов реализовать набор функций, таких как количество этапов конвейера или функции спекулятивного выполнения. У каждого будет свой компромисс между мощностью, производительностью и площадью. «Разновидность ISA, будь то RISC-V, Arm, Xtensa от Cadence, ARC от Synopsys, на самом деле не влияет на цели и компромиссы при моделировании и прототипировании, — говорит Родди. «Системный архитектор должен отвечать на вопросы о целях проектирования SoC независимо от марки процессора. На техническом уровне RISC-V действительно занимает стабильное положение на рынке в отношении поддержки инструментов моделирования и анализа производительности. Существует множество конкурирующих поставщиков ядер, каждый из которых имеет разные реализации и характеристики процессора. Как основной системный ЦП, он не обладает долговечностью, как у Arm, и поэтому меньшее количество игроков экосистемы в мире EDA имеют широко проверенную, готовую к использованию поддержку моделирования для готовых ядер RISC-V из множества поставщиков RISC-V. Будучи конфигурируемым, модифицируемым ядром, мир RISC-V отстает по уровню автоматизации набора инструкций, на создание которого Tensilica потратила 25 лет. Таким образом, RISC-V имеет меньшую поддержку моделирования в качестве готового строительного блока и меньше автоматизации для использования в качестве платформы для экспериментов с набором инструкций».
Но это только один аспект реализации, который необходимо оценить. Каково его качество? Если вы хотите изменить его, как вы его перепроверяете?
Производительность является самой простой из них для оценки. «Это ничем не отличается от обращения к любому традиционному поставщику процессоров, — говорит Дэвидманн. «Они скажут вам, что это ядро дает вам столько-то Dhrystones на ватт, они предоставят вам типичные аналитические данные процессора, которые говорят о том, насколько быстро работает эта микроархитектура. У них есть все эти данные, и любой, кто лицензирует процессорное ядро, будет знаком с этими данными, поговорит с ними и получит эту информацию. У них, вероятно, будет много выбираемых опций в их листе данных, и они скажут: «Если вы включите эту опцию, вы получите то или иное». Вы можете посмотреть это в техпаспорте, на сайтах поставщиков».
На этом уровне вам, вероятно, нужна точность цикла. «Я вижу, что большинство людей загружают его в эмулятор и пропускают через него достаточно данных, чтобы принять разумное решение», — говорит Ширрмайстер. «Я не думаю, что в ближайшее время мы перейдем к виртуальным прототипам. Некоторые компании говорят о прототипах FPGA, где у вас есть собственное решение с одной платой. В зависимости от вопроса, на который вам нужно ответить, вы можете решить настроить его, сгенерировать, а затем загрузить в FPGA, чтобы пропустить через него больше данных, с соответствующими программными процедурами поверх него. В отрасли достаточно быстрых способов входа в эмуляторы и прототипирование, чтобы сделать это возможным. Основная проблема заключается в том, что вы хотите принять это решение на основе как можно более точных данных, но у вас может не быть таких точных данных в то время, когда вы хотите принять это решение».
Многие из этих прототипов должны включать больше, чем просто процессор. «Виртуальные платформы обеспечивают возможность интеграции с другими внешними аппаратными функциями, такими как память и датчики, работающие в реальной среде», — говорит Нараянан из Microchip. «Гибридные системы могут объединять виртуальные платформы с физическими прототипами для других внешних функций. Эмуляция и прототипирование ПЛИС помогают находить ошибки, связанные с синхронизацией, такие как условия гонки, поскольку это обеспечивает более точную цикличность, а внешние функции работают со скоростью».
проверка
Поскольку дизайн процессора долгое время разрабатывался собственными силами, общедоступной экосистемы проверки для создания процессора не существует, а функции RISC-V требуют гораздо более гибкого решения для проверки, чем когда-либо существовавшее в прошлом. Создание этого только начинает происходить.
«Есть отраслевые показатели, такие как Dhrystones или CoreMark, чтобы люди могли сравнивать производительность», — говорит Дэвидманн. «Но как можно сравнивать качество проверки? Должны быть равные условия, чтобы каждый поставщик мог сказать: «Мы делаем это так». Нам нужны некоторые показатели качества, связанные с проверкой».
В этом может помочь движение за открытый исходный код. «Если вы посмотрите на экосистему RISC-V, вы увидите большое количество очень опытных разработчиков процессоров, — говорит Ширрмайстер. «Есть две крайности. Во-первых, я получаю ядро от поставщика, и если оно не работает, у вас проблемы с ним. С другой стороны, у меня полная свобода, и я все делаю сам. Где-то между этими двумя крайностями складывается равновесие. Вы получаете что-то, где ваш поставщик предоставляет определенную проверку, а затем вы несете ответственность за расширения ».
И здесь на помощь приходят метрики. «Совместимость с ISA — это лишь первая ступенька в лестнице, полной сложностей, на которую поднялись лишь несколько компаний, — говорит Дейв Келф, генеральный директор Breker Verification Systems. «Прототипирование может быть единственным способом полностью гарантировать надежную работу процессора, но использование реальных рабочих нагрузок для управления этими прототипами лишь поверхностное покрытие реальных процессоров. Это противоречит конкурентным усилиям открытой ISA, способствующей ускорению разработки и сокращению времени выхода на рынок».
Но что это за показатели? «В группе качества OpenHW мы пытаемся выяснить, какими должны быть эти показатели, — говорит Дэвидманн. «Это включает в себя такие вещи, как функциональное покрытие, потому что это не просто инструкции. Для высококачественного процессора вам нужно гораздо больше. Вам нужна методология для проверки, где есть уверенность, что ваши сравнения с эталоном охватывают все. Функциональное покрытие просто показывает, что у вас есть тест, но это должно быть связано с методологией, которая сравнивается с какой-либо формой известного эталона. Мы собираемся добавить технологию внедрения ошибок, чтобы стало возможным выяснить, действительно ли ваш испытательный стенд обнаруживает проблемы».
Рис. 1: Определение архитектуры решения для проверки RISC-V. Источник: Имперас
Потребуется набор инструментов. «По мере развития экосистемы RISC-V коммерческие реализации начинают поддерживать определенные сегменты рынка, — говорит Ашиш Дарбари, основатель и генеральный директор Axiomise. «Мы видим поддержку таких рынков, как автомобилестроение, которые требуют соблюдения требований функциональной безопасности. Мы видим поддержку IoT, требующего безопасности. Поставщики RISC-V вкладывают средства в передовые методы проверки, включая виртуальное прототипирование для архитектурного моделирования и повышения производительности. Теперь доступны инструменты для раннего внедрения формальных методов, позволяющих устранять ошибки на ранних этапах процесса проектирования и избегать внесения ошибок, поскольку разработчики изо всех сил пытаются отловить краеугольные ошибки с помощью моделирования на интерфейсе процессор-память».
Одним из необходимых инструментов является возможность генерировать тестовые примеры на основе списка функций или набора возможностей. «Автоматическое создание тестового контента для запуска прототипов, своевременно учитывающих сложности проверки, является ключевым фактором», — говорит Келф из Breker. «Эти механизмы генерации сейчас начинают появляться на рынке».
Заключение
Экосистема хороша настолько, насколько хорош ее самый слабый компонент, а для RISC-V это набор инструментов EDA. Причины этого двояки. Во-первых, до недавнего времени не существовало коммерческого рынка средств проверки процессоров. Хотя они существовали в прошлом, все они либо исчезли, либо были растворены в устаревших процессорных компаниях. Во-вторых, гибкость RISC-V ISA создает новый подход к оптимизации на уровне системы, требующий нового набора инструментов. Требуется время, чтобы эта возможность была понята и чтобы появились коммерческие инструменты, которые должным образом ее реализуют.
Похожие страницы:
Минимальный RISC-V
Есть ли место для еще более компактной версии процессора RISC-V, которая могла бы заменить 8-битные микроконтроллеры?
RISC-V продвигается в мейнстрим
Процессорные ядра с открытым исходным кодом начинают появляться в разнородных SoC и пакетах.
Эффективная трассировка в RISC-V
Как работать с новым стандартом отладки RISC-V.
Насколько безопасны чипы RISC-V?
Открытый исходный код сам по себе не гарантирует безопасность. Это по-прежнему сводится к основам дизайна.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://semiengineering.com/selecting-the-right-risc-v-core/
- 1
- 10
- a
- способность
- в состоянии
- О нас
- выше
- ускоренный
- ускорители
- Принять
- приемлемый
- Учетная запись
- точность
- точный
- на самом деле
- адрес
- Принятие
- продвинутый
- После
- против
- алгоритм
- Все
- уже
- количество
- анализ
- Аналитические фармацевтические услуги
- и
- и инфраструктура
- ответ
- появиться
- Применение
- подхода
- соответствующий
- Arc
- архитектурный
- архитектура
- ПЛОЩАДЬ
- ARM
- внешний вид
- оценивается
- Автоматизированный
- автоматизация
- автомобильный
- доступен
- в среднем
- назад
- Пропускная способность
- основанный
- основной
- , так как:
- становится
- становление
- до
- начало
- не являетесь
- польза
- ЛУЧШЕЕ
- между
- Beyond
- большой
- Немного
- Заблокировать
- доска
- марка
- приносить
- широко
- Ошибка
- ошибки
- строить
- Строительство
- построенный
- бизнес
- развитие бизнеса
- CAD
- возможности
- способный
- Привлекайте
- Генеральный директор
- определенный
- вызов
- проблемы
- шансы
- изменение
- чипсы
- выбор
- выбор
- Выберите
- Залез
- CMO
- Залог
- как
- коммерческая
- в промышленных масштабах
- Общий
- Компании
- сравнить
- совместимость
- конкурирующий
- конкурентоспособный
- полный
- сложности
- Соответствие закону
- компонент
- компоненты
- компьютеры
- Обеспокоенность
- Условия
- доверие
- Конфигурация
- Соединительный
- соображения
- содержание
- Основные
- может
- соединенный
- охват
- покрытие
- ЦП
- создали
- создает
- Создающий
- создание
- Ручей
- CTO
- В настоящее время
- данным
- Дейв
- решение
- определяющий
- доставить
- запросы
- Кафедра
- в зависимости
- развернуть
- Проект
- процесс проектирования
- дизайнеры
- развивать
- развитый
- застройщиков
- развивающийся
- Разработка
- Устройства
- различный
- трудный
- директор
- не
- Dont
- вниз
- управлять
- управляемый
- вождение
- в течение
- каждый
- Рано
- Простейший
- экосистема
- Экосистемы
- усилие
- усилия
- или
- встроенный
- позволяет
- Двигатель
- Проект и
- Двигатели
- достаточно
- обеспечивать
- обеспечение
- Предприятие
- Весь
- запись
- Окружающая среда
- средах
- Равно
- Равновесие
- установленный
- Оценки
- оценивать
- Даже
- НИКОГДА
- многое
- выполнение
- опытные
- простирающийся
- расширение
- расширения
- и, что лучший способ
- крайностей
- Лицо
- знакомый
- Мода
- БЫСТРО
- быстрее
- Особенность
- Особенности
- несколько
- поле
- Фига
- Найдите
- обнаружение
- First
- соответствовать
- фиксированной
- Трансформируемость
- гибкого
- форма
- формальный
- основатель
- Основатель и Главный Исполнительный Директор
- FPGA
- Freedom
- от
- полный
- полностью
- функция
- функциональная
- Функции
- Основы
- в общем
- порождать
- порождающий
- поколение
- получить
- получающий
- Дайте
- дает
- Go
- Цели
- будет
- хорошо
- большой
- группы
- Рост
- гарантия
- происходить
- Аппаратные средства
- помощь
- помогает
- высококачественный
- доморощенный
- Лошадь
- Как
- HTTPS
- огромный
- Влияние
- осуществлять
- реализация
- in
- включают
- включает в себя
- В том числе
- повышение
- все больше и больше
- промышленность
- информация
- Инфраструктура
- инструкции
- интегрировать
- Intel
- заинтересованный
- Интерфейс
- Мультиязычность
- инвестирование
- вовлеченный
- КАТО
- IP
- вопросы
- IT
- саму трезвость
- работа
- Основные
- Вид
- Знать
- известный
- лестница
- большой
- Наследие
- уровень
- уровни
- Используя
- Лицензирование
- Вероятно
- Linux
- Список
- Длинное
- много времени
- долговечность
- посмотреть
- искать
- сделанный
- Главная
- сделать
- производитель
- ДЕЛАЕТ
- многих
- отметка
- рынок
- Области применения:
- созревает
- макс-ширина
- Встречайте
- Память
- Методология
- методы
- Метрика
- минимальный
- модель
- моделирование
- Модели
- изменять
- БОЛЕЕ
- самых
- движение
- перемещение
- необходимо
- Необходимость
- потребности
- Новые
- номер
- многочисленный
- цель
- шансы
- Предложения
- ONE
- открытый
- с открытым исходным кодом
- операционный
- операция
- Возможность
- оптимизация
- Опция
- Опции
- заказ
- заказы
- Другие контрактные услуги
- собственный
- пакеты
- часть
- части
- мимо
- Вершина горы
- Люди
- производительность
- физический
- трубопровод
- Стержень
- Платформа
- Платформы
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- игроки
- игры
- Точка
- Точка зрения
- должность
- возможности,
- возможное
- мощностью
- президент
- вероятно
- Проблема
- проблемам
- процесс
- процессор
- процессоры
- Прогресс
- должным образом
- прототип
- Прототипы
- макетирования
- обеспечивать
- при условии
- Недвижимости
- что такое варган?
- насос
- накачка
- цель
- целей
- вопрос
- Вопросы
- Гонки
- ассортимент
- готовый
- реальные
- реальный мир
- причина
- разумный
- причины
- недавно
- Несмотря на
- складская
- замещать
- требовать
- обязательный
- требование
- Требования
- требуется
- ответственность
- Комната
- Run
- Бег
- Сохранность
- Безопасность и Защита
- Во-вторых
- безопасный
- безопасность
- сегментами
- выбранный
- выбор
- выбор
- старший
- датчик
- набор
- несколько
- должен
- показывать
- Шоу
- значительный
- Саймон
- просто
- моделирование
- одинарной
- Медленно
- меньше
- So
- Software
- разработка программного обеспечения
- Решение
- Решения
- некоторые
- Кто-то
- удалось
- где-то
- Скоро
- Источник
- скорость
- потраченный
- Вращение
- стабильный
- этапы
- стандарт
- Начало
- Стив
- По-прежнему
- Бороться
- такие
- suite
- поддержка
- Поверхность
- система
- системы
- взять
- принимает
- Говорить
- говорить
- команды
- Технический
- снижения вреда
- Технологии
- шаблон
- тестXNUMX
- Ассоциация
- их
- следовательно
- задача
- вещи
- три
- Через
- пропускная способность
- время
- кропотливый
- раз
- синхронизация
- в
- сегодня
- вместе
- слишком
- инструменты
- топ
- Всего
- прослеживать
- традиционный
- ОЧЕРЕДЬ
- типичный
- типично
- понимать
- Ед. изм
- Предстоящие
- использование
- Информация о пользователе
- пользователей
- подтверждено
- Проверка
- ценностное
- разнообразие
- продавец
- поставщики
- проверка
- версия
- жизнеспособный
- вице-президент
- Вид
- Виртуальный
- виртуальные платформы
- желая
- способы
- веб-сайты
- Что
- Что такое
- будь то
- который
- в то время как
- будете
- в
- Работа
- разрабатывать
- Мир
- бы
- Неправильно
- X
- лет
- ВАШЕ
- зефирнет