address register 402 and the ccfg command is provided to command register 403 and an instruction specifying the number of words in the transfer is provided to configuration state machine note that the data transfer bandwidth for lut ram transfers may be less than the bandwidth for block ram transfers when there are fewer lut ram data values than block ram data values in a column of the configuration memory in general any portion of the configuration memory of an fpga can be transferred to any other portion of the configuration memory in accordance with the present invention in accordance with another embodiment a process or operating system service internal or external to the fpga is responsible for transferring large blocks of data between communicating tasks more specifically the communicating tasks indicate the source and destination block ram columns to the transfer process or operating system service the transfer process or operating system service can then implement the data transfer between block ram columns in the manner described above the transfer process or operating system service would then provide a completion signal or message to the communicating tasks the applicability of the present invention is quite broad for example the invention can be applied in any situation where it is desirable to transfer the contents of one block ram column to one or more other block ram columns without the need for explicit user routing this transfer can be deployed for testing the fpga or during operation of the user design on the fpga moreover although a full data transfer between block ram columns 120 and 121 is described it is understood that a partial data transfer between these block ram columns can also.