This looks fine for designing from scratch. My focus is on SOC, and want to connect IP blocks by function rather than RTL which is almost the reverse flow. It involves taking the verified HDL, say from the above flow, and parse it to extract the control and data flow logic then personalize a class that is instantiated along with the system application code(not a SystemC class). The application code then uses the object methods to interface with the hardware functions. In figure 1 there would be a path into the virtual prototype from a collection of verified HDL without all the overhead of RTL simulation.