14. A machine readable storage having stored thereon a computer program having a plurality of code sections comprising: code for translating a hardware description language representation of a circuit design into an intermediate form, wherein the intermediate form is an encrypted, general-purpose, high level programming language representation of the circuit design; code for obfuscating the general-purpose, high level programming language of the intermediate form using at least one obfuscation technique operable on the general-purpose high level programming language creating the encrypted, general-purpose, high level programming language representation of the circuit design; code for compiling the intermediate form of the circuit design to produce encrypted object code; and code for linking the encrypted object code with a simulation kernel library thereby creating the secure software object representation of the circuit design comprising an encrypted simulation model and a simulation kernel configured to execute the encrypted simulation model in cooperation with the software-based simulation system, wherein the simulation system comprises a hardware description language simulation system.
19. The machine readable storage of claim 14 , further comprising code for deleting the encrypted intermediate form of the circuit design.