https://zipcpu.com/blog/2017/06/21/looking-at-verilator.html
Например, вот тут есть симлуятор UART, который связывает этот "UART" с IP сокетом
https://github.com/ZipCPU/wbuart32/blob/master/bench/cpp/uartsim.cpp
Вообще шедевр! Cpp'шная симуляция FPGAшной платформы. Есть и Verilog, но есть и Cpp, которая, видимо, дает большую скорость симуляции.
https://github.com/ZipCPU/s6soc/tree/master/sim/verilator