1. A method of converting code to a hardware realization, the method comprising steps of: receiving user code including at least one algorithm specification, at least one data representation specification, and at least one data communication specification; and compiling the user code, wherein the user code is used to create a digital circuit.