Уже не первый год Wilson Research Group проводит исследование по тенденциям в сфере FPGA и ASIC. По данным исследованиям можно определить основные векторы развития и изменения, которые происходят в мире программируемой логики.

image

Затравка


На Хабре, да и где либо еще не так часто можно найти информацию об аналитике рынка разработки под FPGA. Не понятно что и как меняется, хотя казалось бы изменений и интереса к рынку довольно много. Люди, далекие от ПЛИС и те слышали о покупке Altera Intel'ом.

Так почему же нет никакой информации? Данный пост призван все исправить и внести порядок и ясность в ряды хардверщиков. А еще пытается закончить холивар между сторонниками Verilog/SystemVerilog и VHDL.Ура!

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

Начнем


Большинство участников проводимого опроса — это разработчики электроники(hardware designer), инженеры по верификации(verificarion engineer).

Исследование выявило тенденцию по увеличению количества встраиваемых процессоров в проектах ПЛИС с 2014 года(увеличилось с 56% до 59%).

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

Рынок программируемых SoC FPGA, таких как ZYNQ от Xilinx, Arria/Cydone от Altera(Intel) и SmartFusion от Microsemi растет. Реализация проектов со встроенным процессором на них заметно упростилась и теперь 36% FPGA проектов релизуются именно на этих чипах.

image

Вместе с этим растет и доля проектов, использующих стандартизированные интерфейсы на кристалле вместо проприетарных. Рост AMBA связан с тем, что в указанных выше чипах, как правило, встроенным процессором является ARM. Да и стандарт открыт.

image

Теперь о верификации


48% времени, потраченного на проект отводится на верификацию. Это значение растет. Так, например в 2014 году на верификацию уходило 46%, а в 2012 — 43% времени проекта.
Если посмотреть на среднее время, которое инженеры по верификации тратят, выполняя различные задачи, связанные с конкретным проектом — мы увидим, что большую часть времени они тратят на нахождение и устранение ошибок. Как правило, от проекта к проекту это время значительно отличается.

image

Следующие данные помогут объяснить менеджеру почему ты так долго не сдаешь проект в срок :)

Если вы выполните свой проект за срок в полтора раза превышающий запланированный — вы окажетесь далеко не исключением (примерно каждый десятый проект сдается именно так).
Во время или раньше срока сдаются лишь 35% проектов.

image

Как правило отставание от сроков связано с тем, что 78% проектов имеют «непростые» ошибки. Как минимум 30% проектов имеют одну ошибку и зависимость количества проектов от количество ошибок имеет вид распределения Рэлея.

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

Основными причинами появлениями ошибок в логике и функциональности работы проекта являются:

image

1. Ошибки в дизайне, 2. Изменения в спецификации, 3. Некорректная или неполная документация, 4. Ошибки в своих или сторонних IP-блоках/тестбенчах и прочих элементах проекта

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

image


47% проектов адаптированы под верификацию ассертами как стратегия верификации кода.

image

HDL языки и не только


Языки, которые используют для проектирования RTL.

Здесь наблюдается снижение количества VHDL кода в проектах. И это общемировой тренд. Но это снижение в меньшей степени касается европейских разработчиков, где FPGA проекты на 79% написаны на VHDL, когда в среднем по миру этот показатель 62%.

image

Языки, использующиеся в тестах

Здесь несомненным лидером является SystemVerilog. Но тут европейские разработчики очень сильно отличаются от остального мира. В Европе VHDL для верификации используется в 66% случаев, в то время как SystemVerilog в 41%.

image

Так что VHDL в некотором роде жив. Не понятно, конечно, почему именно в Европе статистика отличается от общемировой. Возможно, это связано с обучением в университетах. Хотя с другой стороны мне приходилось фрилансить и были заказы американских студентов, причем почти все они были на VHDL.

На этом все.

Надеюсь, статья была вам чем-то полезна.

Подробнее почитать можно здесь —

Источники по FPGA:

Раз
Два
Три

Источники по ASIC:

Раз
Два
Три

Комментарии (8)


  1. Fandir
    23.07.2018 23:19

    Верификация на VHDL, серезно? Европейцы знают толк в извращениях… Хотел бы я посмотреть как на VHDL написать тестовую среду для более-менее серьезного проекта.


    1. DmitriyDev
      24.07.2018 07:15

      Не халивара ради, просто интересно. Можно пример более-менее серьёзного проекта?


      1. YuriPanchul
        24.07.2018 10:55

        Ну например менеджер когерентности многоядерного кластера c директорией и MESI/MOESI состояниями кэшей первого и второго уровня. В нем требуется большое количество ограниченно-случайных транзакций и учет покрытия интересных сценариев. В SystemVerilog для этого есть constraints и coverage bins, в VHDL их нет.


      1. Fandir
        24.07.2018 13:29

        Например процессоры.


  1. VladSMR
    24.07.2018 12:06

    Не совсем понял, какая линейка устройств имеется в виду под Altera-Intel Cydone?
    ...Arria/Cydone от Altera(Intel)…


    1. Fandir
      24.07.2018 13:20

      Например, Cyclone V SE, Cyclone V SX, Cyclone V ST


      1. VladSMR
        24.07.2018 14:26

        Я всё больше про опечатки :-)
        d и cl выглядят очень похоже…


  1. xFFFF
    24.07.2018 17:10

    Мне больше нравится Verilog. Меньше текста, всё как-то удобнее.