1. A method for automated datapath generation comprising: receiving a description of behaviors of a set of operations of an instruction set architecture (ISA); and automatically generating one or more datapaths used to describe hardware that implements the behaviors of the operations based on the received behavior description, wherein the one or more datapaths are generated so that common hardware resources are shared, thereby creating shared datapaths.