Methods and apparatus are provided for implementing a programmable device
including a processor core and a hardware accelerator. A portion of a
program written in a high-level language is automatically selected for
hardware acceleration. Dedicated ports are generated to allow the
hardware accelerator to handle pointer referencing and dereferencing.
Profiling information is used to optimize selection of code for hardware
acceleration.