[Из песочницы] Тренды в проектировании FPGA. Перевод

Уже не первый год 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:

Раз
Два
Три

© Habrahabr.ru