1. A computer implemented method comprising: receiving a request to generate a processor extension from a high level description, the processor extension for extending an instruction set of a processor, the processor extension for executing an extension instruction; generating a first window on a graphical user interface comprising a plurality of instruction formats representing available instruction types, wherein the instruction formats specify a number of operands and type of operands of the extension instruction, the first window operable to allow user selection of a selected instruction format, wherein the selected instruction format specifies characteristics of the extension instruction to be implemented by a hardware of the processor extension; generating a second window on a graphical user interface comprising editable instruction fields for defining the extension instruction, the extension instruction extending the instruction set of the processor based on the selected instruction format; generating a third window on a graphical user interface operable to display an editable description of the extension instruction, the editable description of the extension instruction describing the execution of the extension instruction to be implemented by the hardware of the processor extension, the editable description written in a programming language other than a hardware description language (HDL); and generating, by a computer, a representation of a hardware design of the processor extension based on the extension instruction and the description of the extension instruction, the hardware design of the processor extension implementing the editable description of the extension instruction written in the programming language, the processor extension comprising the instruction format and a computational element that implements the extension instruction.