FPGAs are traditionally designed with RTL-level IP-block descriptions. Many FPGA designs include several synthesizable processors and SW executables are mapped to them after a separate software development process. The tools help connecting physical blocks together and typically provide a board support package for SW development to access HW from the application code. The designer is still responsible of carefully planning how the applications on multiple cores communicate, which is getting the more difficult the more cores and other IP blocks are introduced. We apply Multicore Association Communications API (MCAPI) to implement hardware independent communication mechanism between the applications. The benefit is a unified programming API to different processor and operating system types, but also for hardware IP-blocks that the cores can access. We introduce MCAPI and show a case study of a simple video encoder with and without MCAPI abstraction. Porting an application function takes 3 hours with MCAPI and 5 without, i.e. 40 % reduction. However, the overhead from MCAPI is increase memory footprint by 25 KB and effect on the video encoder performance -22 % compared to non-MCAPI case.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.