eZ80 is almost Z80 compatible. It borrows nonsense instructions like ld l,l for prefixes. To all intents and purposes its Z80 compatible in that it runs CP/M etc fine. Z180 can be made to be compatible but you have to write a handler for the illegals (they trap to address 0 in a detectable way and your JMP 0 code splits CP/M warm start from a trap and fixes it up).
NEC btw are not quite Z80 compatible. It's really tricky but you can tell them apart in software. ZEXALL isn't good enough to pick it up (in fact ZEXALL is actually missing some standard corner case tests and doesn't even notice a 16bit SBC bug in libz80 or an obscure LD A,R/LD A,I bug in the T80 core).
Alan