1. A computer implemented method of generating an instruction set for an architecture, comprising: accessing a hierarchical description of an architecture of node groups, wherein each node in a node group is associated with at least one operation; selecting a leaf node group within the architecture of node groups; resolving path-split ambiguities each associated with a path split from a path within the architecture to the selected leaf node group into a plurality of paths by encoding operations above the path split within the architecture, each encoded operation associated with an encoding width; propagating the encoding widths associated with the encoded operations to the selected leaf node group; and generating an instruction set associated with the leaf node group based on the propagated encoding widths.