An Verilog RTL to C++ Redhat SID model generator using verilog perl and verilator