MCAPI abstraction on FPGA based SoC design

  • Authors:
  • Lauri Matilainen;Erno Salminen;Timo D. Hämäläinen

  • Affiliations:
  • Tampere University of Technology, Tampere, Finland;Tampere University of Technology, Tampere, Finland;Tampere University of Technology, Tampere, Finland

  • Venue:
  • Proceedings of the Annual FPGA Conference
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.