Jump to content

Прототипирование ПЛИС

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

Методы проверки конструкции аппаратного обеспечения , а также совместная разработка программного обеспечения и встроенного ПО стали обычным явлением. прототипирование проектов SoC и ASIC с использованием одной или нескольких FPGA и программного обеспечения для автоматизации электронного проектирования (EDA). Хорошим методом для этого стало [1]

Важность [ править ]

  1. Запуск проекта SoC на прототипе FPGA — это надежный способ убедиться в его функциональной корректности. Это можно сравнить с ситуацией, когда проектировщики полагаются только на программное моделирование для проверки правильности конструкции своего оборудования. Около трети всех современных конструкций SoC безошибочны при первом проходе кремния, при этом почти половина всех повторных вращений вызвана ошибками функциональной логики. [2] Единая платформа прототипирования может обеспечить проверку функциональности аппаратного обеспечения, встроенного ПО и прикладного программного обеспечения перед первым проходом кремния. [3]
  2. Время выхода на рынок (TTM) сокращается благодаря прототипированию FPGA: в современном технологическом обществе новые продукты выводятся на рынок быстро, и неспособность подготовить продукт на данном рыночном окне может стоить компании значительной суммы дохода . [4] Если продукт будет выпущен на рынке слишком поздно, он может стать бесполезным , что будет стоить компании инвестиций в продукт. После процесса проектирования FPGA готовы к производству, в то время как ASIC стандартных ячеек занимает более шести месяцев. производство [4]
  3. Стоимость разработки: Стоимость разработки 90-нм конструкции ASIC/SoC составляет около 20 миллионов долларов, а один только набор масок стоит более 1 миллиона долларов. [2] Ожидается, что затраты на разработку 45-нм конструкции превысят 40 миллионов долларов. С ростом стоимости наборов масок и постоянным уменьшением размера микросхем минимизация количества повторных вращений имеет жизненно важное значение для процесса разработки.

Дизайн для прототипирования [ править ]

Дизайн для прототипирования [5] ( DFP ) относится к проектированию систем, поддающихся прототипированию . Многие из препятствий, с которыми сталкиваются команды разработчиков, внедряющие прототипы FPGA, можно свести к трем «законам»:

  • SoC больше, чем FPGA
  • SoC быстрее, чем FPGA
  • Проекты SoC враждебны FPGA

Включение конструкции SoC в прототип FPGA требует тщательного планирования, чтобы достичь целей прототипирования с минимальными усилиями. Чтобы облегчить разработку прототипа, лучшие практики, называемые «Проектирование для прототипирования», влияют как на стиль проектирования SoC , так и на проектные процедуры, применяемые группами дизайнеров. Процедурные рекомендации включают добавление соглашений DFP к стандартам кодирования RTL, использование среды моделирования, совместимой с прототипами, и разработку стратегии отладки системы совместно с командой разработчиков программного обеспечения.

Проблемы с разделением [ править ]

Из-за увеличения сложности схем и сокращения времени выхода на рынок растет потребность в проверке конструкций специализированных интегральных схем (ASIC) и систем на кристалле (SoC). Аппаратные платформы становятся все более популярными среди инженеров по верификации благодаря возможности быстро тестировать конструкции систем с помощью встроенных тактовых импульсов шины по сравнению с тактовыми генераторами моделирования, которые могут не обеспечить точное считывание поведения системы. [6] Эти многомиллионные конструкции вентилей обычно размещаются на платформе прототипирования с несколькими FPGA с шестью или более FPGA, поскольку они не могут полностью поместиться в одну FPGA. Чем меньшее количество FPGA необходимо разделить на части, чтобы уменьшить усилия инженера-проектировщика. [7] Справа показано изображение платформы прототипирования на основе FPGA, использующей конфигурацию с двумя FPGA.

Платформа прототипирования на базе Aldec FPGA с двойной конфигурацией FPGA.
Решение для прототипирования ASIC HES-7 от Aldec

Системные проекты RTL или списки соединений должны быть разделены на каждую FPGA, чтобы иметь возможность разместить проект на платформе прототипирования. [8] Это создает новые проблемы для инженера, поскольку ручное разделение требует огромных усилий и часто приводит к низкой скорости (тестируемого проекта). [7] Если количество разделов можно уменьшить или весь проект можно поместить на одну ПЛИС, реализация проекта на платформе прототипирования становится проще.

Балансируйте ресурсы FPGA при создании разделов проекта [ править ]

При создании разделов схемы инженеры должны сначала изучить доступные ресурсы, которые предлагает FPGA, поскольку проект будет помещен в структуру FPGA. [7] Архитектура каждой FPGA зависит от производителя, но основная цель разделения проекта — обеспечить равномерный баланс использования ресурсов FPGA. Различные ресурсы FPGA включают в себя таблицы поиска (LUT), D-триггеры , блочные ОЗУ , процессоры цифровых сигналов (DSP), тактовые буферы и т. д. Перед балансировкой разделов проекта пользователю также полезно выполнить глобальную логическую оптимизацию , чтобы удалите любую избыточную или неиспользуемую логику. Типичная проблема, возникающая при создании сбалансированных разделов, заключается в том, что это может привести к конфликту времени или ресурсов, если обрезание происходит на многих сигнальных линиях. Чтобы иметь полностью оптимизированную стратегию разделения, инженер должен учитывать такие вопросы, как ограничения по времени/мощности, а также размещение и маршрутизация, сохраняя при этом сбалансированное разделение между FPGA. Строгое сосредоточение внимания на одной проблеме в одном разделе может создать несколько проблем в другом.

Размещение и маршрутизация разделов [ править ]

Чтобы добиться оптимального размещения и маршрутизации для разделенных конструкций, инженер должен сосредоточиться на количестве выводов FPGA и сигналах между FPGA. После разделения проекта на отдельные FPGA количество сигналов между FPGA не должно превышать количество контактов FPGA. [9] Этого очень трудно избежать, когда конструкции схем огромны, поэтому в сигналах должны использоваться такие стратегии, как мультиплексирование с временным разделением (TDM), при котором несколько сигналов могут передаваться по одной линии. [10] Эти многочисленные сигналы, называемые подканалами, по очереди передаются по линии в течение определенного временного интервала. Когда коэффициент TDM высок, тактовую частоту шины необходимо уменьшить, чтобы разместить временные интервалы для каждого подканала. При уменьшении тактовой частоты снижается пропускная способность системы. [7]

Требования к срокам [ править ]

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

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

Отладка [ править ]

Одной из самых сложных и трудоемких задач при прототипировании FPGA является отладка конструкции системы. Для этого был придуман термин «ад FPGA». [11] [12] Отладка стала более сложной и трудоемкой с появлением больших и сложных конструкций ASIC и SoC. Для отладки прототипа FPGA датчики добавляются непосредственно в конструкцию RTL, чтобы сделать определенные сигналы доступными для наблюдения, синтезируются и загружаются на платформу прототипа FPGA.

Поставщики FPGA, включая ChipScope и SignalTAP, предлагают ряд стандартных инструментов отладки. Эти инструменты могут проверять максимум 1024 сигнала и требуют обширных ресурсов LUT и памяти. Для SoC и других проектов эффективная отладка часто требует одновременного доступа к 10 000 или более сигналам. Если ошибка не может быть обнаружена исходным набором зондов, получение доступа к дополнительным сигналам приводит к ситуации «иди домой на день». Это связано с длинными и сложными процессами САПР для синтеза, размещения и маршрутизации, выполнение которых может занять от 8 до 18 часов.

Улучшенные подходы включают такие инструменты, как Certus от Tektronix. [13] или EXOSTIV от Exostiv Labs. [14]

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

EXOSTIV использует большие внешние хранилища и гигабитные трансиверы для извлечения глубоких следов из FPGA, работающих на высокой скорости. Улучшение заключается в его способности видеть большие следы во времени в виде непрерывного потока или пакетами. Это позволяет исследовать расширенные сценарии отладки, которые невозможно реализовать с помощью традиционных встроенных инструментов . В решении утверждается экономия как ресурсов ввода-вывода FPGA, так и памяти FPGA за счет гигабитных трансиверов, для улучшения видимости в 100 000 и более раз. [16] [17]

См. также [ править ]

Ссылки [ править ]

  1. ^ «FPGA и ASIC: различия между ними и какой из них использовать? – Справочный центр Numato Lab» . numato.com . 17 июля 2018 г. Проверено 17 октября 2018 г.
  2. Перейти обратно: Перейти обратно: а б «SOCcentral: получение максимальной отдачи от прототипирования ASIC с помощью FPGA (EE Times Programmable Logic Designline 30794)» . Архивировано из оригинала 2 февраля 2013 года . Проверено 9 октября 2012 г.
  3. ^ Риттман, Дэнни (5 января 2006 г.). «Нанометровое прототипирование» (PDF) . Тайден Дизайн . Проверено 7 октября 2018 г.
  4. Перейти обратно: Перейти обратно: а б «Прототипирование FPGA для структурированного производства ASIC для снижения затрат, рисков и TTM» . Проектирование и повторное использование . Проверено 7 октября 2018 г.
  5. ^ «Прототипирование системных проектов на FPGA» . Новая электроника. 22 марта 2011. Архивировано из оригинала 6 марта 2012 года . Проверено 22 марта 2011 г.
  6. ^ «Лучшие практики для прототипирования FPGA алгоритмов MATLAB и Simulink» . Электронный журнал . 25 августа 2011 года . Проверено 8 октября 2018 г.
  7. Перейти обратно: Перейти обратно: а б с д и «Белая книга Aldec и Xilinx «Прототипирование ASIC HES-7» , необходима регистрация.
  8. ^ «Прототипирование ПЛИС: Речь о программном обеспечении — 02.11.2007 — Electronics Weekly» . Архивировано из оригинала 22 января 2013 года . Проверено 9 октября 2012 г.
  9. ^ http://www.fpga-faq.com/FAQ_Pages/prototyping.pdf [ пустой URL PDF ]
  10. ^ «Мультиплексирование с временным разделением» . www.inetdaemon.com . Проверено 8 октября 2018 г.
  11. ^ «Ад FPGA» . zipcpu.com . Проверено 5 ноября 2019 г.
  12. ^ «Начало работы с FPGA» (PDF) .
  13. ^ «Tektronix меняет процесс прототипирования, встроенное оборудование повышает статус плат до статуса эмулятора» . Электронный инженерный журнал. 30 октября 2012 года . Проверено 30 октября 2012 г.
  14. ^ «Exostiv Labs объявляет о доступности своего решения EXOSTIV для отладки FPGA» . Проектирование и повторное использование. 14 октября 2015 года . Проверено 25 ноября 2015 г.
  15. ^ «Устраните узкие места прототипирования ASIC» . 23 октября 2012 года . Проверено 30 октября 2012 г.
  16. ^ «Почему EXOSTIV?» . 14 октября 2015 года . Проверено 25 ноября 2015 г.
  17. ^ «Прототипирование ASIC/SoC» . Проверено 12 апреля 2020 г.

Внешние ссылки [ править ]

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