1. A computer-implemented method of implementing a system-on-chip design specified as a high level programming language application, comprising: querying, using the computer, a platform description to determine an available interface of a platform for a target integrated circuit, wherein the platform is a circuit design adapted for implementation in the target integrated circuit, and the platform description specifies existing interfaces of the platform not in use; generating, using the computer, hardware for a function of the high level programming language application and hardware coupling the function with the available interface of the platform, wherein the generated hardware is for hardware accelerating the function; modifying, using the computer, the high level programming language application with program code configured to access the generated hardware for the function; and building, using the computer, the hardware and the software of the system-on-chip design.