Edit: not sure why I got drive by downvotes.
https://www.autodesk.com/products/eagle/blog/spice-simulatio...
Edit2: for KiCAD http://mithatkonar.com/wiki/doku.php/kicad/kicad_spice_quick...
Practically speaking, your interface ought to be separate enough that you can define the range of states the micro's inputs should see, and the range of outputs it should drive, and separate the two. There are times when I've wished for a combined simulation but it wasn't worth the hassle to set it up. Honestly for the accuracy I expect I usually prefer to just build the thing rather than simulate it.
LEDs are really boring to model anyway.
You can set up testbench code that feeds in data and stuff, and link different stuff together digitally. I don't know if there's much in the way of analogue simulators like SPICE hooked up to logic simulators though.
The next level down is to run it up on an FPGA, which is only a few orders of magnitude slower than you can clock an IC.
There is also a lot of merit in a simulation even if it can't go very deep, say, considering quantum mechanical effects inside the IC's. That may be practically impossible due to unknown data, or just give impractical performance. But there are a lot of use-cases that don't need that level of detail.
What level of detail is realistically possible? If we know that a certain level of detail is too slow to simulate, then writing a simulator for a higher level is easier and we need less data for the models.
Simulation is usually more useful when you have very specific questions about small parts of your circuit. Questions like will the oscillator start up under the full temperature range, or what's the phase margin of my analog front end.
Big exception to this is FPGAs and other programmable logic where a major portion of one's time is spent specifying, simulating, and verifying a design in software. This can also include software/hardware co-simulation. But the toolchain for doing this is usually furnished by the silicon vendor.
Another place simulation pops up more often is in power supply design and RF parts. TI, LT and other vendors have specialty software and wizards to simulate common designs. This is basically an extension of reference designs and demo boards.
For simulation one needs the exact behaviour of all parts. That excludes board with parts that have a closed design, or insufficient documentation. But for many parts, and hopefully soon with CPU-ICs thanks to RISC-V, we can do simulation.
I don't expect real-time simulation, but at least a solution for letting the machine compute over night to see if the board successfully does X.
Any suggestions? Is this a problem waiting for a solution?