What's your opinion on PSHDL and Chisel? They try to solve these problems in very different ways. PSHDL can interact with standard VHDL code. Chisel can generate Verilog and C++-based cycle-accurate software simulators.
I haven't looked a chisel yet (scala is my favorite software programming language though).