See also: Full simulation of MOS 6502 [0] by the Visual6502 team. The same team also did works on the Z80 [1], and it's actually the basis of the Z80 simulator presented in this article.
Shameless plug: I did a WASM "visual6502 remix" a little while ago with an integrated assembler and "execution history" (mostly for fun, but also because I found the original UI a bit hard to use for my emulator experiments, so I guess it was the same motivation as the Z80 Explorer project):
Eventually I want to do a version using the Z80 netlist of the visual6502 project as well (the actual transistor simulation code should remain the same, I used a C port of the visual6502 Javascript code called 'perfect6502'):
...I heard though that not all 'trap transistors' which should protect the Z80 from reverse engineering had been found and 'neutralized' in that netlist, so even though the ZEX test is running I'm not entirely sure whether the simulation still contains hidden problems (neither ZEXDOC nor ZEXALL have complete "coverage" of the Z80).
[0] http://visual6502.org/JSSim/index.html
[1] http://visual6502.org/JSSim/expert-z80.html