SMS dit: Multicore hardware-software design and verification techniques