Создание пользовательских Fpga Ip-ядер для специализированных промышленных применений

Понять пользовательские FPGA IP-ядра

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

Эти ядра написаны с использованием языков описания аппаратного обеспечения, таких как VHDL или Verilog, или с помощью высокоуровневого синтеза из кода C / C++. После проектирования они синтезируются в ткань FPGA, часто вместе со сторонними IP-блоками, создавая систему на чипе, которая точно соответствует потребностям производительности, безопасности и подключения завода.

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

Промышленные приложения отличаются от бытовой электроники фундаментальными способами. Диапазоны температур могут варьироваться от -40 °C до +85 °C или выше. Вибрация и электромагнитные помехи распространены, а срок службы системы часто превышает десятилетие. Блок управления на сталелитейном заводе, например, должен не только выдерживать суровые условия, но и обеспечивать детерминированное время. Стандартные архитектуры на основе микроконтроллеров, даже с операционными системами реального времени, могут вводить дрожь, которая дестабилизирует управление замкнутым контуром. Пользовательские IP-ядра в FPGA устраняют такое дрожание, выполняя алгоритмы непосредственно в аппаратном обеспечении, обходя накладные расходы на обработку прерываний и планирование задач.

Другие драйверы для пользовательского IP включают в себя проприетарные протоколы связи, не имеющие коммерческой поддержки, высокоскоростной синтез датчиков, требующий выравнивания нескольких потоков данных на наносекундном уровне, и приложения функциональной безопасности, требующие избыточной и проверяемой логики. Пользовательский процессор с мягким ядром с минимальным набором инструкций может исключить ненужные схемы, уменьшая поверхность атаки и упрощая соответствие стандартам, таким как IEC 61508 или ISO 13849.

Создание твердой базы требований

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

Архитектурные решения и микроархитектурный дизайн

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

Необходимо взвесить несколько архитектурных компромиссов:

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

Чистый, готовый к синтезу HDL

Качество пользовательского ядра IP прямо пропорционально дисциплине его авторов HDL. Шаблоны и стандарты кодирования не являются академическими упражнениями; они предотвращают ошибки только синтетического характера, защелки и аномалии времени. Команды часто принимают руководства по стилю, аналогичные руководящим принципам VHDL STARC или руководству Verilog-AMS. Ключевые практики включают:

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

Проверка, основанная на моделировании, и формальные методы

Моделирование является первой линией защиты от функциональных ошибок. Проверка промышленной IP выходит за рамки переворачивания нескольких векторов тестирования; она требует среды, основанной на покрытии, которая подчеркивает угловые случаи. Инженеры строят многоуровневые испытательные стенды с использованием ограниченных случайных возможностей SystemVerilog или UVM-фреймворков, или для небольших ядер, направленных испытательных стендов самопроверки, которые сравнивают выход HDL с золотой моделью C. Метрики покрытия, такие как покрытие кода, покрытие переключателя и функциональное покрытие, полученные из утверждений, гарантируют, что выполняются редкие последовательности.

Для критически важного для безопасности IP формальная проверка свойств дополняет динамическое моделирование. Утверждения, написанные в PSL или SystemVerilog, проверяют, что машины критического состояния никогда не заходят в тупик, что переполнения FIFO не могут происходить при действительных шаблонах трафика, и что сигналы рукопожатия никогда не бывают одновременно высокими. Проверка формальной эквивалентности также может проверить, что синтезированный нет-лист соответствует RTL, обязательному шагу для сертификации. Эта математическая строгость незаменима для ядер, нацеленных на SIL 3 или выше, где документация проверки должна быть представлена в нотифицированные органы.

Полный план проверки включает:

Установление прослеживаемости от требований к тестовым случаям является отличительной чертой зрелого рабочего процесса разработки. Многие промышленные команды хранят требования в таких инструментах, как IBM DOORS или тщательно структурированная таблица, с гиперссылками на соответствующее имя класса Testbench или файл утверждения. Такие поставщики формальной проверки, как OneSpin, предоставляют специализированные решения для ядер RISC-V, используемых в приложениях безопасности (]OneSpin решения.

Синтез, планирование этажей и закрытие времени

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

Сроки захвата сети часов - период, фазовые отношения и неопределенность - а также задержки ввода/вывода относительно следов платы. Пользовательский IP, взаимодействующий с внешним ADC через параллельную шину DDR, должен указывать требования к установке и удержанию с точностью пикосекунды, полученной из таблицы данных ADC. Многоугловой анализ по медленным и быстрым углам процесса, а также минимальные/максимальные напряжения и температурные условия, обеспечивает опубликованные сроки удержания в течение срока службы продукта. Такие инструменты, как отчет Vivado datasheet или Quartus TimeQuest, позволяют инженерам по проверке экспортировать таблицу данных зарегистрированной производительности IP после места и маршрута, которая становится частью интеграционной документации для проектировщиков системного уровня.

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

Интеграция пользовательских ядер в экосистемы промышленной коммуникации

Промышленное оборудование редко стоит в одиночестве. Он взаимодействует через EtherCAT, PROFINET, Ethernet/IP или CANopen, часто с жесткими требованиями в реальном времени. Могут быть доступны готовые стеки протоколов, но иногда они требуют определенной архитектуры процессора или обеспечивают недостаточную пропускную способность. Пользовательское ядро FPGA IP может реализовать весь контроллер протокола в аппаратном обеспечении, достигая обработки пакетов с линейной скоростью без вмешательства процессора.

Проектирование пользовательского контроллера Ethernet MAC или CAN, который обрабатывает избыточность (например, протокол резервирования мультимедиа) или субмикросекундную временную метку, обеспечивает жесткую синхронизацию осей движения по всему заводскому этажу. Протокол IEEE 1588 Precision Time требует аппаратной метки времени на уровне MAC. Пользовательский IP может захватывать точное время входа и выхода сообщений PTP и компенсировать внутреннюю задержку трубопровода, достигая точности синхронизации ниже 100 нс. Повторное использование установленных отраслевых IP-библиотеки от поставщика FPGA, таких как подсистема Xilinx Ethernet или Intel Triple-Speed Ethernet, может ускорить разработку, позволяя при этом настраивать логику метки времени и фильтрации вокруг нее.

Для устаревшего оборудования, работающего по проприетарным последовательным протоколам, пользовательский IP на основе UART с настраиваемой скоростью бод, паритетом и обнаружением разрывов может быть единственным путем к модернизации. IP может выступать в качестве моста, переводя старые команды в современные кадры TCP Modbus, позволяя поэтапно модернизировать завод, не нарушая производство.

Оптимизация мощности для суровых полевых условий

Узел мониторинга FPGA в удаленном состоянии может работать на литий-тионилхлоридной батарее, рассчитанной на десять лет. Каждый микроватт имеет значение. Дизайнеры используют несколько методов для уменьшения профиля мощности при сохранении функциональности:

  • Часовое вещание: Инструмент синтеза может автоматически вставлять ячейки шеринга часов при включении в настройках инструмента, но более мощным является архитектурное шеринговое вещание часов, где целые стадии обработки отключены сигналом рукопожатия, когда данные не текут. IP-адрес потокового датчика, который просыпается на периодическом триггере, может закрывать свое внутреннее дерево часов до открытия окна предтриггера.
  • Частичная реконфигурация:] Для FPGA, поддерживающих динамическую реконфигурацию, устройство может заменять измерения IP для IP связи только тогда, когда данные должны быть загружены. Этот метод требует тщательной изоляции статической области и часто проверки подлинности битового потока для удовлетворения требований безопасности.Частичная реконфигурация также позволяет отключить остров электропитания, где неиспользуемые блоки IP полностью отключаются через управляемые рельсы электропитания.
  • Работа со смешанным напряжением: Некоторые семейства FPGA позволяют снизить напряжение ядра при работе на более низких тактовых частотах, используя квадратичную зависимость между напряжением и динамической мощностью. IP должен быть спроектирован так, чтобы соответствовать времени при пониженном напряжении, что может потребовать дополнительного замедления времени или более медленных, но более надежных логических структур.
  • Использование блоков DSP: Многократная операция, реализованная в закаленном срезе DSP, потребляет меньше энергии, чем эквивалентная логика в LUT. Поэтому IP-дизайнер отображает арифметические операции на примитивы DSP, где это возможно, даже если это означает обертывание их в слой совместимости для переносимости.

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

Соблюдение, сертификация и долгосрочная поддержка

Промышленные продукты сталкиваются с зарослями нормативных и отраслевых стандартов. Специальное ядро IP, предназначенное для привода двигателя, будет тщательно изучено в соответствии с МЭК 61800-5-1 для соответствующих безопасности электрических систем. IP должен пройти функциональную оценку безопасности, которая часто требует аргумента «доказанного использования» или процесса жизненного цикла, согласованного с МЭК 61508-3 для аспектов программного обеспечения. Документация дизайна IP, результатов проверки и оценки эффекта режима отказа и диагностического анализа становятся частью случая безопасности.

Соответствие требованиям EMC, охватываемое серией IEC 61000-4, также влияет на дизайн IP. Высокоскоростное переключение ввода/вывода может излучать выбросы, которые превышают пределы, если только управление скоростью потока и синхронизация с расширенным спектром не используются в выходных регистрах IP. IP может потребоваться включить регистр конфигурации, который позволяет системному интегратору настраивать прочность диска и наклон, регулируя конкретную компоновку печатной платы и длину кабеля. Такая возможность настройки встроена в карту регистра IP, доступ к которой осуществляется либо через простой раб SPI, либо через шину с картой памяти.

Управление жизненным циклом выходит за рамки первоначального выпуска. Промышленное оборудование часто остается в поле в течение 15-20 лет, в течение которых оригинальное семейство FPGA может устареть. Хорошо спроектированное пользовательское IP-ядро использует общий HDL и избегает жестких макросов, специфичных для поставщика, если не обернуто в слой абстракции. Миграция в новое семейство FPGA затем включает только повторный синтез и повторное закрытие времени, сохраняя функциональное поведение. Некоторые команды сохраняют набор тестов регрессии, который работает автоматически на сервере непрерывной интеграции, гарантируя, что любой инструмент или обновление IP не вводят немые ошибки.

Пример: пользовательское многоосное ядро управления движением

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

Команда разработала модульный IP: общий блок интерфейса кодера, который декодирует квадратурные и последовательные абсолютные кодеры, конвейер трансформации Clarke-Park, шесть параллельных PID-контроллеров с анти-windup и генератор SVPWM с вставкой в мертвое время. Вся арифметика была выполнена в 24-битной фиксированной точке с использованием срезов DSP. Остров безопасности, физически изолированный в отдельной области FPGA, контролировал вычислительный крутящий момент и сравнивал его с избыточной предельной проверкой, уменьшая вдвое выходы PWM в течение детерминированного времени реакции на неисправность 2 мкс. Проверка использовала среду UVM с моделью механической динамики SystemVerilog робота, выполняя профили траектории и проверяя, что текущие следы соответствовали модели обратного электромагнитного поля двигателя. После размещения команда использовала анализ мощности Vivado для подтверждения того, что температура перехода оставалась ниже предела ATEX T4, а окончательное ядро было упаковано в зашифрованную библиотеку IP-XACT для

Проблемы и стратегии смягчения

Несмотря на тщательное планирование, разработка пользовательских FPGA IP сталкивается с постоянными проблемами:

Будущие тенденции в области промышленной ИС

Пейзаж продолжает меняться. Гетерогенные SoC, сочетающие FPGA-ткань с закаленными процессорами ARM, позволяют плотно связывать пользовательский IP с процессорами, поддерживающими Linux, обмениваться данными через порты когерентности AXI. Инженеры начинают описывать не только логику пути передачи данных, но и пользовательские ускорители для вывода машинного обучения на заводском этаже, используя такие фреймворки, как Vitis AI или Intel OpenVINO. Эти движки вывода, хотя и построены из библиотек поставщиков, часто требуют пользовательского предварительного обработки IP для нормализации данных датчиков на лету.

Мягкие процессоры RISC-V представляют интересную альтернативу для части пути управления IP-ядра. Вместо фиксированной машины с конечным состоянием крошечное ядро RISC-V, работающее на сертифицированном по безопасности RTOS, может организовывать подблоки, делая IP гибким и проверяемым. Открытость RISC-V ISA способствует долгосрочной доступности цепочки инструментов, важному фактору для промышленных жизненных циклов. Кроме того, чиплеты и 2,5D-кремниевая технология интерпозитора могут вскоре позволить упаковать FPGA с пользовательским аналоговым интерфейсом и закаленным детерминированным сетевым коммутатором, позволяя пользовательскому IP-ядру быть действительно совместно разработанным с физическим интерфейсом. RISC-V International предоставляет ресурсы для принятия этой архитектуры во встроенных системах.

Документация и результаты

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

  • Руководство пользователя: Описывает инстанциацию, дженерики/параметры, сигналы интерфейса со синхронизирующими диаграммами и картой регистра.
  • Интеграция руководства: Шаги для добавления ядра в Vivado или Quartus проект, в том числе файлы ограничений и требования к часовому механизму.
  • Отчет о проверке: Резюме показателей покрытия, подсчет утверждений, формы волн моделирования для ключевых сценариев и результаты выключения уровня затвора.
  • Руководство по безопасности: Если применимо, FMEDA, ставки FIT, диагностический охват и предположения об использовании.
  • Драйверы программного обеспечения: Файл заголовка C, определяющий смещение регистра и битовые маски, и библиотека драйверов низкого уровня, если к IP обращается встроенный процессор.

Заключительные замечания

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