Nitish Srivastava, Steve Dai, Rajit Manohar, Zhiru Zhang
High-level synthesis (HLS) enables designing at a higher level of
abstraction to effectively cope with design complexity of emerging
applications on modern programmable system-on-chip (SoC).
While HLS continues to evolve with a growing set of algorithms,
methodologies, and tools to efficiently map software designs onto
optimized hardware architectures, there continues to lack realistic
benchmark applications with sufficient complexity and enforceable
constraints. In this paper we present a case study of accelerating
face detection based on the Viola Jones algorithm on a programmable
SoC using a C-based HLS flow. We also share our insights
in porting a software-based design into a synthesizable implementation
with HLS-specific data structures and optimizations.
Our design is able to achieve a frame rate of 30 frames per second
which is suitable for realtime applications. Our performance and
quality of results are comparable to those of many traditional RTL