A method for providing input data for a layer of a convolutional neural network “CNN”, the method comprising: receiving input data comprising input data values to be processed in a layer of the CNN; determining addresses in banked memory of a buffer in which the received data values are to be stored based upon format data indicating a format parameter of the input data in the layer and indicating a format parameter of a filter which is to be used to process the input data in the layer; and storing the received input data values at the determined addresses in the buffer for retrieval for processing in the layer.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for receiving input data for a layer of a convolutional neural network (CNN) for processing, the method comprising: receiving input data comprising input data values to be processed in a layer of the CNN; determining addresses in banked memory of a buffer in which the received data values are to be stored based upon format data indicating a format parameter of the input data in the layer and indicating a format parameter of a filter which is to be used to process the input data in the layer; and storing the received input data values at the determined addresses in the buffer for retrieval for processing in the layer. 2. The method according to claim 1, wherein an address at which an input data value is to be stored is defined by a bank number indicating the bank of the buffer in which the input data value is to be stored and an address number indicating the position within the bank at which the input data value is to be stored. 3. The method according to claim 1, wherein the buffer comprises NB banks and wherein determining an address in the banked memory of the buffer in which the received data values are to be stored is further based on the number NB banks. 4. The method according to claim 1, wherein the input data is formatted into multiple two-dimensional planes forming an input data space and wherein determining an address in the banked memory of the buffer in which the received data values are to be stored is further based on the coordinates of the input data within the input data space. 5. The method according to claim 4, wherein the format parameter of the input data comprises data indicating the total number of planes P in the input data for the layer and wherein determined an address in the buffer for an input data value is based upon the number of planes P. 6. The method according to claim 4, wherein an address of an input data value in the buffer is determined based upon a plane index p for that input data value. 7. The method according to claim 1, wherein the input data has a plane width X, wherein the format parameter of the input data comprises the plane width X, and wherein an address of the input data value in the buffer is determined based upon the plane width X. 8. The method according to claim 1, wherein a filter to be applied to the input data in the layer of the CNN has a filter width m, wherein the format parameter of the filter comprises the filter width m, and wherein an address of the input data value in the buffer is determined based upon the filter width m. 9. The method according to claim 1, further comprising, receiving second input data for a subsequent layer of the CNN, comprising: receiving second input data comprising second input data values to be processed in the subsequent layer of the CNN, wherein the second input data is different to the first input data; determining addresses in banked memory of a buffer in which the received data values are to be stored based upon second format data indicating a format parameter of the second input data in the layer and indicating a format parameter of a second filter which is to be used to process the input data in the subsequent layer; and storing the second received input data values at the determined addresses in the buffer for retrieval for processing in the subsequent layer. 10. The method according to claim 9, wherein the format of the second input data is different to the format of the first input data and wherein the format of the second filter is different to the format of the first filter. 11. The method according to claim 1, further comprising receiving the input data from external memory and further comprising receiving the format data from external memory. 12. The method according to claim 1, further comprising reading input data values from the buffer in a plurality of read cycles and passing the read input data values to convolution engines for processing. 13. The method according to claim 12, further comprising, in a read cycle, reading an input data value from each of the NB banks of the buffer and, in a subsequent read cycle, reading a further input value from each of the NB banks of the buffer. 14. The method according to claim 1, wherein the input data values are is received in a rasterised order in which the coordinates of the input data values are sequentially incremented first by plane index p, then by horizontal coordinate x, then by vertical coordinate y. 15. Hardware logic for implementing a convolutional neural network (CNN) configured to receive input data for a layer of the CNN, the hardware logic configured to: receive input data comprising input data values to be processed in a layer of the CNN; determine addresses in banked memory of a buffer in which the received data values are to be stored based upon format data indicating a format parameter of the input data in the layer and indicating a format parameter of a filter which is to be used to process the input data in the layer; and store the received input data values at the determined addresses in the buffer for retrieval for processing in the layer. 16. The hardware logic according to claim 15, wherein an address at which an input data value is to be stored is defined by a bank number indicating the bank of the buffer in which the input data value is to be stored and an address number indicating the position within the bank at which the input data value is to be stored. 17. The hardware logic according to claim 15, wherein the buffer comprises NB banks and wherein determining an address in the banked memory of the buffer in which the received data values are to be stored is further based on the number NB banks. 18. The hardware logic according to claim 15, wherein the input data is formatted into multiple two-dimensional planes forming an input data space and wherein determining an address in the banked memory of the buffer in which the received data values are to be stored is further based on the coordinates of the is input data within the input data space. 19. The hardware logic according to claim 18, wherein the format parameter of the input data comprises data indicating the total number of planes P in the input data for the layer and wherein determining an address in the buffer for an input data value is based upon the number of planes P. 20. An integrated circuit definition dataset that, when processed in an integrated circuit manufacturing system, configures the integrated circuit manufacturing system to manufacture hardware logic for implementing a convolutional neural network (CNN) configured to receive input data for a layer of the CNN, the hardware logic configured to: receive input data comprising input data values to be processed in a layer of the CNN; determine addresses in banked memory of a buffer in which the received data values are to be stored based upon format data indicating a format parameter of the input data in the layer and indicating a format parameter of a filter which is to be used to process the input data in the layer; and store the received input data values at the determined addresses in the buffer for retrieval for processing in the layer.