A method for implementing a convolutional neural network (CNN) accelerator on a target includes utilizing one or more processing elements to perform convolution. A configuration of the CNN accelerator is modified to change filters implemented by the CNN accelerator and to change formatting of output data. The one or more processing elements are utilized to perform one of deconvolution and backpropagation convolution in response to the change in the filters and formatting of the output data.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for implementing a convolutional neural network (CNN) accelerator on a target, comprising: utilizing one or more processing elements to perform convolution; modifying a configuration of the CNN accelerator to change filters implemented by the CNN accelerator and to change formatting of output data; and utilizing the one or more processing elements to perform one of deconvolution and backpropagation convolution in response to the change in the filters and formatting of the output data. 2. The method of claim 1, wherein modifying the configuration of the CNN accelerator comprises: generating a plurality of convolution filters from a deconvolution filter; and interlacing convolution results, generated from performing convolution on deconvolution input data using the plurality of convolution filters, to produce deconvolution output data. 3. The method of claim 2, wherein generating a plurality of convolution filters from the deconvolution filter comprises: extracting smaller convolution filters from the deconvolution filter based on stride; and reflecting each of the smaller convolution filters along an x and y axes. 4. The method of claim 1, wherein modifying the configuration of the CNN accelerator comprising: reformatting a convolution filter to a backpropagation convolution filter; generating a plurality of convolution filters from the backpropagation convolution filter; and interlacing convolution results, generated from performing convolution on backpropagation convolution input data using the plurality of convolution filters, to produce backpropagation convolution output data. 5. The method of claim 4, wherein reformatting the convolution filter comprises repacking the convolution filter by transforming a convolution layer having k filters of depth c to c filters of depth k. 6. The method of claim 1, wherein the modifying is performed during runtime of the CNN accelerator by transformation elements residing on the CNN accelerator. 7. The method of claim 2, wherein generating the plurality of convolution filters from the deconvolution filter is performed prior to runtime of the CNN accelerator. 8. The method of claim 1, wherein the one or more processing elements performs convolution, deconvolution, and backward propagation convolution at different instances of time. 9. The method of claim 1, wherein each of the processing elements comprises: a cache; a computation unit that performs dot product operations; and an accumulation unit. 10. A convolutional neural network (CNN) accelerator implemented on a target, comprising: a sequencer unit that coordinates a first data flow between components on the target during a first configuration and that coordinates a second data flow between the components on the target during a second configuration; a plurality of processing elements that performs convolution during the first configuration, and that performs one of deconvolution and backpropagation convolution during the second configuration. 11. The CNN accelerator of claim 10 further comprising transformation elements that include: a convolution filter extraction unit that generates a plurality of convolution filters from a deconvolution filter; and an interlacing unit that interlaces convolution results, generated from performing convolution on deconvolution input data using the plurality of convolution filters, to produce deconvolution output data. 12. The CNN accelerator of claim 10 further comprising transformation elements that include: a filter repacking unit that reformats a convolution filter to a backpropagation convolution filter; a convolution filter extraction unit that generates a plurality of convolution filters from the backpropagation convolution filter; and an interlacing unit that interlaces convolution results, generated from performing convolution on backpropagation convolution input data using the plurality of convolution filters, to produce backpropagation convolution output data. 13. The CNN accelerator of claim 11, wherein the convolution filter extraction unit generates the plurality of convolution filters from the deconvolution filter during runtime of the CNN accelerator. 14. The CNN accelerator of claim 12, wherein the convolution filter extraction unit generates the plurality of convolution filters from the backpropagation convolution filter during runtime of the CNN accelerator. 15. The CNN accelerator of claim 10, wherein the one or more processing elements performs convolution, deconvolution, and backward propagation convolution at different instances of time. 16. The CNN accelerator of claim 10, wherein each of the processing elements comprises: a cache; a computation unit that performs dot product operations; and an accumulation unit. 17. A non-transitory computer readable medium including a sequence of instructions stored thereon for causing a computer to execute a method for implementing a convolutional neural network (CNN) accelerator on a target, comprising: utilizing one or more processing elements to perform convolution; modifying a configuration of the CNN accelerator to change filters implemented by the CNN accelerator and to change formatting of output data; and utilizing the one or more processing elements to perform one of deconvolution and backpropagation convolution in response to the change in the filters and formatting of the output data. 18. The non-transitory computer readable medium of claim 17, wherein the modifying is performed during runtime of the CNN accelerator by transformation elements residing on the CNN accelerator. 19. The non-transitory computer readable medium of claim 17, wherein the one or more processing elements performs convolution, deconvolution, and backward propagation convolution at different instances of time. 20. The non-transitory computer readable medium of claim 17, wherein the modifying comprises: generating a plurality of convolution filters from a deconvolution filter; and interlacing convolution results, generated from performing convolution on deconvolution input data using the plurality of convolution filters, to produce deconvolution output data.