Simics is a system-level instruction set simulator. This means that:
In practice, what this means is that there is no code that is too "low-level"—Simics can run, and debug, any kind of software: firmware, hardware drivers, operating systems, user-level applications, whatever. There are some caveats, though:
You can read more about Simics and time in the Understanding Simics Timing application note.
You can read more about hardware modeling in the Simics Model Builder User's Guide.