1. A method for designing a configurable pipelined processor, the method comprising: obtaining a configuration specification, the configuration specification including a base processor description, a base instruction set with a plurality of instructions, and a plurality of configurable features, wherein at least one of the plurality of configurable features is an additional instruction different from the plurality of instructions in the base instruction set; generating a hardware implementation based on the configuration specification, wherein a plurality of pipeline stages in the hardware implementation are different from pipeline stages in a base processor hardware impletnentation corresponding to the base processor description as a result of including the additional instruction in the configuration specification; and generating, based on the configuration specification, a plurality of software development tools including an application program compiler, wherein the application program compiler is adapted for use separate from the configuration specification