A quick search on internet would have given you 100s of possible links.
If you are interested in a hardware/SW co-verification, to see how HW changes with the code, you can take a look at SEAMLESS from Mentor Graphics. It is an interesting program to simulate both HW and SW.
Also, it all depends what you mean by simulate, do you just want to run your code to see how it works or what?