Вы здесь

5 мифов об HLS в FPGA-дизайне

До сих пор программирование печатных плат инженерами ведется с помощью языков описания аппаратуры, или HDL (от англ. hardware description language). Повсеместно используемые языки, такие как Verilog или VHDL появились еще в далеких восьмидесятых и оба изначально использовались лишь для описания и моделирования поведения схемы, а не для его реализации. Тем не менее, большинство разработчиков прибегали к этим или же другим языкам для проектирования ПЛИС, пока не появились новые методы и инструменты. HLS является одним из них, и представляет собой процесс автоматического программирования, направленный на интерпретацию желаемого поведения платы и создание аппаратного обеспечения. Сегодня мы хотим развеять несколько мифов, сформировавшихся вокруг этой концепции и показать, как HLS делает процесс разработки ПЛИС эффективнее.

 

 

Миф №1. HLS – незрелая технология, требующая длительного изучения

Причина, по которой такое мнение является заблуждением, заключается в том, что сама концепция появилась в начале 90-х годов, когда Synopsys представила свой поведенческий компилятор, который все же и не получил должного внимания со стороны большинства игроков отрасли. Тем не менее, спустя десять лет появилось несколько коммерчески успешных решений HLS, которые были приняты в основном в Европе и Японии, а позже и в США. Одновременно удовлетворяя критериям бюджетности и высокого качества, такие инструменты прекрасно справлялись с синтезом схемы, заданной на уровне C, в спецификацию уровня передачи регистров (RTL). Если вы знакомы с RTL, вам не понадобится много времени для изучения подхода HLS. Сегодня существует огромное количество онлайн-курсов, разработанных поставщиками FPGA и ведущими университетами мира.

Миф №2. Другие методы настройки FPGA приводят к более качественным результатам, в отличие от HLS

Допустим вы планируете разработать микроконтроллер с помощью ручного кодирования, и вероятнее всего, вы в этом преуспеете. Но вопрос в том, почему бы не использовать инструмент HLS и быть в пределах 15% от того, чего вы могли бы достичь с помощью любого языка ассемблера в большинстве случаев? Большинство инструментов, распространяемых поставщиками, значительно оптимизированы под разработанный продукт. Разработчик может сосредоточиться больше на реализации алгоритма, а не на ресурсах и времени. Таким образом, вы можете достичь значительного прироста производительности RTL в кратчайшие сроки

Миф №3. При работе с HLS его необходимо использовать на всех этапах разработки

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

Миф №4. HLS не является инструментом разработки железа. Нужно обладать навыками разработки софта

Это совсем не так. Напротив, software разработчику наверняка будет трудно применять этот подход, поскольку он требует глубокого опыта проектирования аппаратного обеспечения. Причина, по которой существует это конкретное заблуждение, заключается в том, что метод подразумевает знание языков C/C++ или же опыт в продуктах SystemC или MATLAB. А это вовсе не сложная задача для разработчиков электроники.

Миф №5. Все HLS инструменты стоят огромных денег

И снова заблуждение. Конечно, на рынке представлены и дорогие решения, такие как CatapultC от Mentor Graphics и Mathworks Matlab HDL. Большинство стандартных пакетов программного обеспечения для проектирования оборудования включают в себя инструменты HLS, делая их доступными. Недавно Xilinx интегрировал поддержку HLS в свой набор инструментов Vivado, стоит он относительно немного.

Таким образом подход HLS может обеспечить значительное увеличение производительности. Центры обработки данных, беспроводная связь, обработка зрения, радиолокационные системы и другие встроенные системы могут быть спроектированы более эффективным образом.