A HW/SW co-simulation framework for the verification of multi-CPU systems