1. A non-transitory computer-readable storage medium having stored thereon computer executable program code which, when executed on a computer system, causes the computer system to perform steps comprising: receive by a synthesis tool module, a portion of a source code including a first program model defining an element of an integrated circuit; generate a first register-transfer level (RTL) description based on the portion of the source code; define a library component based on the first RTL description, the library component including: an input interface associated with the element of the integrated circuit, the input interface being configured to map at least one input variable to a first memory location, and an output interface associated with the element of the integrated circuit, the output interface being configured to map at least one output variable to a second memory location; receive the source code including a second program model defining the integrated circuit; replace the portion of the source code corresponding to the first program model with the library component; and generate a second RTL description based on the source code.
1. A non-transitory computer-readable storage medium having stored thereon computer executable program code which, when executed on a computer system, causes the computer system to perform steps comprising: receive by a synthesis tool module, a portion of a source code including a first program model defining an element of an integrated circuit; generate a first register-transfer level (RTL) description based on the portion of the source code; define a library component based on the first RTL description, the library component including: an input interface associated with the element of the integrated circuit, the input interface being configured to map at least one input variable to a first memory location, and an output interface associated with the element of the integrated circuit, the output interface being configured to map at least one output variable to a second memory location; receive the source code including a second program model defining the integrated circuit; replace the portion of the source code corresponding to the first program model with the library component; and generate a second RTL description based on the source code. 8. The non-transitory computer-readable storage medium of claim 1 , wherein during the generating of the second RTL description, the library component writes an output to a first memory location in a same clock cycle as reading an input from a second memory location.