A computer implemented method, comprising: determining a first function of a high level programming language description and a second function contained within a control flow construct of the high level programming description; determining that the second function is a data consuming function of the first function; determining that a port type for exchanging data between the first function and the second function is a non-self-synchronized port type; generating, in response to the determining that the port type is a non-self-synchronized port type, within a circuit design (310, 410, 510, 610), a port comprising a local memory (330, 430, 530); wherein the port couples a first circuit block implementation of the first function to a second circuit block implementation of the second function within the circuit design (310, 410, 510, 610); and generating, in response to the determining that the port type is the non-self-synchronized port type and in response to the determining that the second function is contained within the control flow construct, within the circuit design (310, 410, 510, 610), control circuitry (315, 415, 515, 615) controlling operation of the second circuit block by performing handshake signaling between the first circuit block and the control circuitry and between the second circuit block and the control circuitry to effectuate a flow of data between the first circuit block and the second circuit block via the local memory of the port in accordance with the non-self-synchronized port type, wherein the control circuitry (315, 415, 515, 615) implements the control flow construct controlling the second circuit block implementation. determining a first function of a high level programming language description and a second function contained within a control flow construct of the high level programming description; determining that the second function is a data consuming function of the first function; determining that a port type for exchanging data between the first function and the second function is a non-self-synchronized port type; generating, in response to the determining that the port type is a non-self-synchronized port type, within a circuit design (310, 410, 510, 610), a port comprising a local memory (330, 430, 530); wherein the port couples a first circuit block implementation of the first function to a second circuit block implementation of the second function within the circuit design (310, 410, 510, 610); and generating, in response to the determining that the port type is the non-self-synchronized port type and in response to the determining that the second function is contained within the control flow construct, within the circuit design (310, 410, 510, 610), control circuitry (315, 415, 515, 615) controlling operation of the second circuit block by performing handshake signaling between the first circuit block and the control circuitry and between the second circuit block and the control circuitry to effectuate a flow of data between the first circuit block and the second circuit block via the local memory of the port in accordance with the non-self-synchronized port type, wherein the control circuitry (315, 415, 515, 615) implements the control flow construct controlling the second circuit block implementation.