A framework for early system-on-chip co-validation