A methodology for mapping functional blocks into earliest deadline scheduled threads