Memory centric thread synchronization on platform FPGAs

  • Authors:
  • Chidamber Kulkarni;Gordon Brebner

  • Affiliations:
  • Xilinx Inc, San Jose, Ca;Xilinx Inc, San Jose, Ca

  • Venue:
  • Proceedings of the conference on Design, automation and test in Europe: Proceedings
  • Year:
  • 2006

Quantified Score

Hi-index 0.02

Visualization

Abstract

Concurrent programs are difficult to write, reason about, re-use, and maintain. In particular, for system-level descriptions that use a shared memory abstraction for thread or process synchronization, the current practice involves manual scheduling of processes, introduction of guard conditions, and clocking tricks, to enforce memory dependencies. This process is tedious, time consuming, and error-prone. At the same time, the need for a concurrent programming model is becoming ever essential to bridge the productivity gap that is widening with every manufacturing process generation. In this paper, we present two novel techniques to automatically enforce memory dependencies in platform FPGAs using on-chip memories, starting from a system-level description. Both the techniques utilize static analysis to generate circuits for enforcing these dependencies. This paper will investigate these two techniques for their generality, overhead in implementation, and usefulness or otherwise for different application requirements.