1. A computer-implemented method of simulating a hardware design that includes a third party IP component, the method comprising: creating, with a processor, a software stack to manage register accesses during simulation, wherein at least one register access is defined in a specification implemented in the third party IP component and at least one register access that is specific to the third party IP component; creating, with the processor, a representation of the third party IP component, wherein the representation is configured to have substantially similar functionality and timing with respect to the third party IP component, wherein the representation is created based on the specification implemented in the third party IP component; and simulating, with the processor, the design, wherein the representation simulates the register accesses using the created software stack.