Embedded software modeling at different abstraction levels for validation and synthesis of system-on-chips