Jump to content

Аппаратная эмуляция

(Перенаправлено с аппаратного эмулятора )

Ikos NSIM-64 Аппаратный ускоритель моделирования.

В интегральных схем проектировании эмуляция аппаратного обеспечения — это процесс имитации поведения одного или нескольких аппаратных средств (обычно проектируемой системы) с помощью другого аппаратного обеспечения, обычно системы эмуляции специального назначения. Модель эмуляции обычно основана на исходном коде языка описания оборудования (например, Verilog ), который компилируется в формат, используемый системой эмуляции. Целью обычно является отладка и функциональная проверка проектируемой системы. Часто эмулятор достаточно быстр, чтобы его можно было подключить к работающей целевой системе вместо еще не созданного чипа, поэтому всю систему можно отладить с использованием живых данных. Это частный случай внутрисхемной эмуляции .

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

Введение

[ редактировать ]

Большая часть кремниевых интегральных схем респинов и степпингов вызвана, по крайней мере частично, функциональными ошибками и ошибками, случайно возникшими на этапе RTL процесса проектирования. Таким образом, комплексная функциональная проверка является ключом к снижению затрат на разработку и своевременной доставке продукта. Функциональная проверка конструкции чаще всего выполняется с использованием логического моделирования и/или прототипирования на программируемых пользователем вентильных матрицах (FPGA). У каждого из них есть свои преимущества и недостатки, и часто используются оба. Логическое моделирование является простым, точным, гибким и недорогим процессом. Однако моделирование часто бывает недостаточно быстрым для больших проектов и почти всегда слишком медленным для запуска прикладного программного обеспечения на аппаратном уровне. Прототипы на основе FPGA выполняются быстро и недорого, но время, необходимое для реализации крупного проекта в нескольких FPGA, может быть очень длительным и подвержено ошибкам. Внесение изменений, направленных на устранение конструктивных недостатков, также занимает много времени и может потребовать изменения проводки платы. При использовании традиционных инструментов поставщиков прототипы FPGA имеют ограниченные возможности отладки, зондирование сигналов внутри FPGA в реальном времени очень сложно, а перекомпиляция FPGA для перемещения датчиков занимает слишком много времени. Ситуация меняется с появлением более совершенных инструментов отладки прототипов FPGA. [1] которые снимают ограничения на видимость сигнала. Обычным компромиссом является использование моделирования на ранних этапах процесса проверки, когда ошибки и исправления встречаются часто, и создание прототипа в конце цикла разработки, когда проект в основном завершен и необходима скорость, чтобы провести достаточное тестирование для выявления любых оставшихся ошибок на уровне системы. . Прототипирование FPGA также популярно для тестирования программного обеспечения.

Ускорение моделирования может в некоторой степени устранить недостатки производительности моделирования. Здесь проект передается в аппаратный ускоритель, чтобы работать намного быстрее, а тестовый стенд (и любой код поведенческого проектирования) продолжает работать на симуляторе на рабочей станции. Канал с высокой пропускной способностью и низкой задержкой соединяет рабочую станцию ​​с ускорителем для обмена данными сигнала между испытательным стендом и проектом. По закону Амдала достижимая скорость будет определяться самым медленным устройством в цепи. Обычно это тестовый стенд в симуляторе. При использовании очень эффективного тестового стенда (написанного на C или основанного на транзакциях) канал может стать узким местом. В некоторых случаях испытательный стенд на уровне транзакций может передать в эмулируемый проект столько же данных, сколько «живой» стимул.

Внутрисхемная эмуляция несколько сокращает время реализации прототипирования FPGA и обеспечивает комплексные и эффективные возможности отладки. Эмуляция делает это за счет скорости работы и высокой стоимости (более 1 миллиона долларов) по сравнению с прототипами FPGA (75 тысяч долларов). [ по мнению кого? ] Глядя на эмуляцию с другой стороны, можно заметить, что производительность ускорения улучшается за счет замены моделируемого испытательного стенда «живым» стимулом. Этот стимул может исходить от целевой системы (разрабатываемого продукта) или от испытательного оборудования. Эмуляция, в 10 000–100 000 раз превышающая скорость моделирования, позволяет тестировать прикладное программное обеспечение, сохраняя при этом комплексную среду отладки оборудования.

Отладка симуляций и эмуляций/прототипирования

[ редактировать ]

Стоит отметить, что моделирование и прототипирование подразумевают два разных стиля исполнения. При моделировании код RTL выполняется последовательно, а прототип выполняется полностью параллельно. Это приводит к различиям в отладке. В симуляции:

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

С прототипом:

  • Пользователь использует логический анализатор для наглядности и поэтому может видеть только ограниченное количество сигналов, которые он определил заранее (путем обрезки датчиков). Ситуация меняется с появлением инструментов прототипов FPGA, которые обеспечивают полную видимость 10 000 внутренних сигналов, таких как Certus. [2]
  • Цель не останавливается при срабатывании логического анализатора, поэтому каждый раз, когда пользователь меняет датчики или условия запуска, ему приходится сбрасывать среду и начинать заново с самого начала.
  • Зонды добавляются непосредственно в конструкцию RTL, чтобы сделать определенные сигналы доступными для наблюдения. Когда система работает, датчик на основе RTL, подключенный к каждому из измерительных сигналов, собирает значение сигнала в каждом тактовом цикле. Данные сохраняются в буфере трассировки в оперативной памяти блока FPGA. Анализатор, подключенный к прототипу, загружает информацию, предоставляя пользователю возможность автономного просмотра системы для эффективной отладки. [3]

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

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

  • Пользователь может установить точку останова и остановить эмуляцию, чтобы проверить состояние проекта, взаимодействовать с проектом и возобновить эмуляцию. Эмулятор всегда останавливается на границах цикла.
  • Пользователь может видеть любой сигнал или содержимое памяти в проекте без необходимости настраивать датчики перед запуском. Хотя видимость обеспечивается и для прошлого времени, количество времени, которое она может показать в прошлом, в некоторых случаях может быть ограничено глубиной трассировочной памяти эмулятора.
  • Пользователь может даже создать резервную копию времени (если он сохранил контрольные точки ) и повторно запустить.
  • Из-за своей высокой стоимости эмуляторы недоступны для многих разработчиков, что приводит к появлению передовых платформ прототипирования FPGA и инструментов отладки.

Эмуляция и двухуровневая логика

[ редактировать ]

Еще одно различие между симуляцией, ускорением и эмуляцией является следствием того, что ускорители используют аппаратное обеспечение для реализации — у них есть только два логических состояния — и они действуют так, как будет работать кремний при изготовлении. Это подразумевает:

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

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

Эмуляция против прототипирования

[ редактировать ]

Ключевое традиционное различие между эмулятором и системой прототипирования FPGA заключалось в том, что эмулятор предоставляет богатую среду отладки, в то время как система прототипирования практически не имеет возможностей отладки и в основном используется после отладки проекта для создания нескольких копий для системного анализа и разработка программного обеспечения. Появляются новые инструменты, которые обеспечивают полную видимость сигнала RTL с небольшим влиянием LUT FPGA, обеспечивают большую глубину захвата и обеспечивают многокристальный анализ и анализ тактовой области, чтобы обеспечить эффективную отладку, сравнимую с эмулятором. [2]

См. также

[ редактировать ]
  1. ^ «Tektronix меняет процесс прототипирования, встроенные приборы повышают статус плат до статуса эмулятора» . Электронный инженерный журнал. 30 октября 2012 года . Проверено 30 октября 2012 г.
  2. ^ Перейти обратно: а б «Tektronix надеется перевернуть процесс создания прототипов ASIC» . ЭЭ Таймс. 30 октября 2012. Архивировано из оригинала 22 января 2013 года . Проверено 30 октября 2012 г.
  3. ^ «Устраните узкие места прототипирования ASIC» . 23 октября 2012 года . Проверено 30 октября 2012 г.
  • Справочник по автоматизации проектирования электронных систем для интегральных схем , автор: Лаваньо, Мартин и Шеффер, ISBN   0-8493-3096-3 Исследование области, на основе которой было получено приведенное выше резюме, с разрешения.

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f05aa4967cff22dacfdd0b4a7cf5cf9e__1698004260
URL1:https://arc.ask3.ru/arc/aa/f0/9e/f05aa4967cff22dacfdd0b4a7cf5cf9e.html
Заголовок, (Title) документа по адресу, URL1:
Hardware emulation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)