1. A computer-implemented method for automatically generating a plurality of shared datapaths, comprising: receiving a behavior description for each of a set of operations; automatically generating the plurality of shared datapaths from a plurality of seed datapaths to implement behavior of the set of operations; and identifying common hardware resources of the plurality of shared datapaths, wherein certain datapaths of the plurality of shared datapaths are automatically merged based on the received behavior description to share the identified common hardware resources.