a-z80 is NOT a replica. It was build with help of some reverse engineering, but it's not 1:1. It has many problems with different commands not properly implemented like INIR, OTIR and some other problems. Author of A-Z80 has mo much willing to improve the core.
I've started to develop my ZX core around A-Z80 and after numerous problems i've switched to T80. Although T80 is not a replica but functional analog, today it's a closest to real Z80 implementation with all undocumented instructions correctly implemented.
T80 can be swapped to A-Z80 and vice versa. Splitting bi-directional bus in FPGA module is a common thing - it doesn't brake compatibility and simplify the code. HALT is present on T80. Timings on T80 and A-Z80 a little different. My ZX core compensates small timing deviation of T80 so the result will match real ZX Spectrum.
Good luck with experiments