A method for implementing a convolutional neural network (CNN) accelerator on a target includes utilizing one or more processing elements to implement a standard convolution layer. A configuration of the CNN accelerator is modified to change a data flow between components on the CNN accelerator. The one or more processing elements is utilized to implement a fully connected layer in response to the change in the data flow.
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 implement a standard convolution layer; modifying a configuration of the CNN accelerator to change a data flow between components on the CNN accelerator; and utilizing the one or more processing elements to implement a fully connected layer in response to the change in the data flow. 2. The method of claim 1, wherein modifying the configuration of the CNN accelerator comprises: storing input feature maps in caches in the one or more processing elements; storing coefficient data in a buffer on the target; and streaming the coefficient data into the one or more processing elements. 3. The method of claim 2 further comprising: storing an output feature map in at least one of the caches if another fully-connected layer is to be implemented; and storing the output feature map in a memory external to the target if no additional fully-connected layer is to be implemented. 4. The method of claim 1 further comprising setting an initial configuration of the CNN accelerator to implement the standard convolution layer comprising: storing an input feature map in a buffer on the target; streaming the input feature map into the one or more processing elements; and storing coefficient data in a cache in the one or more processing elements. 5. The method of claim 4 further comprising: storing an output feature map in the buffer on the target if another standard convolution layer is to be implemented; and storing the output feature map in a memory external to the target if no additional standard convolution layer is to be implemented. 6. The method of claim 1, wherein the modifying is performed by a sequencer unit residing on the CNN accelerator during runtime of the CNN accelerator. 7. The method of claim 1, wherein the one or more processing elements implements either the standard convolution layer or the fully connected layer at an instance of time. 8. The method of claim 1, wherein each of the one or more processing elements comprises: a cache; a computation unit that performs dot product operations; and an accumulator unit. 9. The method of claim 1, wherein the standard convolution layer generates an output feature map that includes outputs which are the sum of multiplications of different sets of data from an input feature map and a set of fixed coefficient data. 10. The method of claim 1, wherein the fully-connected layer generates an output feature map that includes outputs which are the sum of multiplications of a fixed set of data from an input feature map and different sets of coefficient data. 11. 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 components on the target during a second configuration; and a plurality of processing elements that implement a standard convolutional layer during the first configuration, and that implement a fully connected layer during the second configuration. 12. The CNN accelerator of claim 11, wherein each of the plurality of processing elements comprises: a cache; a computation unit that performs dot product operations; and an accumulator unit. 13. The CNN accelerator of claim 11, wherein the plurality of processing elements implement either the standard convolution layer or the fully connected layer at an instance of time. 14. The CNN accelerator of claim 11, wherein the first data flow comprises: storing an input feature map in a buffer on the target; streaming the input feature map into the plurality of processing elements; and storing coefficient data in a cache in the plurality processing elements. 15. The CNN accelerator of claim 14 further comprising: storing an output feature map in the buffer on the target if another standard convolution layer is to be implemented; and storing the output feature map in a memory external to the target if no additional standard convolution layer is to be implemented. 16. The CNN accelerator of claim 11, wherein the second data flow comprises: storing input feature maps of different images in caches in the plurality of processing elements; storing coefficient data in a buffer on the target; and streaming the coefficient data into the plurality of processing elements. 17. The CNN accelerator of claim 16 further comprising: storing an output feature map in at least one of the caches if another fully-connected layer is to be implemented; and storing the output feature map in a memory external to the target if no additional fully-connected layer is to be implemented. 18. 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 implement a standard convolution layer; modifying a configuration of the CNN accelerator to change a data flow between components on the CNN accelerator; and utilizing the one or more processing elements to implement a fully connected layer in response to the change in the data flow. 19. The non-transitory computer readable medium of claim 18, wherein modifying the configuration of the CNN accelerator comprises: storing an input feature map in a cache in the one or more processing elements; storing coefficient data in a buffer on the target; and streaming the coefficient data into the one or more processing elements. 20. The non-transitory computer readable medium of claim 11, wherein the one or more processing elements implements either the standard convolution layer or the fully connected layer at an instance of time.