1. A method of designing configurable processors comprising the steps of: selecting, through a graphical user interface of a computer system, processor functionality for a first processor, including selecting at least one extended processor instruction that provides additional processor functionality, wherein the processor functionality, including the at least one extended processor instruction, is selected from configuration options; inputting the selected processor functionality into the computer system, including the at least one of selected extended processor instruction that provides the additional processor functionality; and automatically building, using the computer system, based upon the selected processor functionality including the at least one extended processor instruction that provides the additional processor functionality, a first processor design, the first processor design including (1) a description of a hardware implementation of the first processor, and (2) software development tools specific to the hardware implementation.