RTL Implementation of an Optical Flow Algorithm (Lucas) Using the Catapult C High-Level Synthesis tool

More Info
expand_more

Abstract

With the development of the technology, today's digital systems' growing design complexity has outpaced the traditional RTL design flow. The manual steps of micro-architecture definition, hand written RTL, simulation, debug and area/speed optimization through RTL synthesis are becoming more and more time consuming that gives the call of higher level abstraction in digital design. Catapult C synthesis tool, a C/C++ based hardware synthesizer, was released by Mentor Graphics as a solution of high complex digital system design. With this tool, designers are able to describe a complex system in a more productive abstraction level and Catapult C will generate an accurate RTL description turned to the target technology. This thesis presents a practical introduction to C/C++ based high-level synthesis with Catapult C synthesis tool including tips of writing efficient synthesizable C/C++ code presented. In the design work of this thesis, the optical flow algorithm "Lucas" is implemented into hardware by Catapult C. The simulation results shows that with the clock frequency of 100MHz, the generated hardware has a minimum latency of 133.46ms for processing three images, which means it can reach a processing speed of 22.47 frames per second.