Совсем нет!
В FPGA нет pthreads или функций.
Вы должны думать, что FPGA больше похожа на схему. Есть физические соединения, такие как провода. Внутренне, особенно в семействе Zynq, вы можете общаться через RAM, контроллеры DMA или через регистры.
Есть документация от Xilinx, вам нужен AXI / AXI Stream.
Но то, что вы хотите сделать, это написать любой код C и запустить его в области FPGA, как в процессоре. И такой подход не перспективен.
В Vivado HLS вы можете писать «функции» на C / C ++ / OpenCL / SystemC, но это только блок с входами и выходами, переведенными на язык описания оборудования (VHDL / Verilog).
Вы должны экспортировать его и добавить в свой проект Vivado, чтобы использовать его.
На данный момент, возможно, ваш IP, созданный в HLS, будет делать то, что вы ожидаете, но еще предстоит много работы, чтобы правильно подключить порты.
Мой совет - познакомьтесь с семейством Zynq и особенно с протоколом AXI. Если вы знакомы с DMA / AXI4 / AXI4S и как получить к ним доступ из ARM и Logic, тогда начните использовать HLS. В противном случае у вас не возникнет чувства, как писать код, понятный HLS.