Patent ID: 7376544

Claim:
A method for transferring data between blocks in a design during simulation, comprising: determining a first buffer size in response to specification of a vector input port of a first high-level block of the design; determining a second buffer size in response to specification of a scalar input port of a second high-level block of the design; co-simulating a first hardware-implemented block on a hardware co-simulation platform, wherein the first hardware-implemented block implements the first high-level block in the design simulated in a high-level modeling system (HLMS); transferring a first vector of data values received by the first high-level block at the vector input port to the first hardware-implemented block via a single call to a first function provided by an interface that couples the HLMS to the first hardware-implemented block; wherein the first vector of data values fills the first buffer size; co-simulating a second hardware-implemented block on a hardware co-simulation platform, wherein the second hardware-implemented block implements the second high-level block in the design simulated in the HLMS; accumulating a plurality of scalar data values received at the scalar input port in a second vector of data values that fills the second buffer size, by the second high-level block; and transferring the second vector of data values from the second high-level block to the hardware-implemented block via a single call to the first function of the interface that couples the HLMS to the second hardware-implemented block.