Prototypical implementation of discrete-event-based co-simulation of hardware and software