Patent ID: 7111274

Claim:
A method of processing a general-purpose, high level language program to determine a hardware representation of the program, said method comprising: compiling the general-purpose, high level language program to generate a language independent model; examining execution characteristics of each component specified in the language independent model to determine an execution latency for each component; annotating the language independent model for generation of control signals such that each component is activated when both control and valid data arrive at the component; annotating each component with an output latency calculated from a latency of a control signal for the component and the execution latency of the component; identifying multiple copies of a structure comprising at least one component within the language independent model which can be re-used over multiple clock cycles as a shared resource; eliminating at least one copy of the shared resource; and annotating remaining copies of the shared resource for generating control signals and data signals to other components which interact with the copies of the shared resource.