90 likes | 204 Views
Synthesis for Test. Virendra Singh Indian Institute of Science Bangalore virendra@computer.org. IEP on Digital System Synthesis @ IIT Kanpur. Testability. Objective Improve Controllability Observability Reduction in sequential depth. Controllability. Primary input. a.
E N D
Synthesisfor Test Virendra Singh Indian Institute of Science Bangalore virendra@computer.org IEP on Digital System Synthesis @ IIT Kanpur
Testability • Objective • Improve • Controllability • Observability • Reduction in sequential depth SfT@iitk
Controllability Primary input a Primary input 0 R(a) 0 + + * R(b) 1 1 R(b) - * - 2 R(c) 2 R(c) R = (b,c, …) Not directly controllable R = (a,b,c, …) Directly controllable SfT@iitk
t R1(w) t R1(w) + * + t+1 t+1 * R1(x) - R1(x) R1(y) R2(y) - t+2 t+2 * t+3 * R1(z) t+3 Observability R2(z) R1 = (….,w,x, …) Not directly observable SfT@iitk
t R1(w) *1 t+1 R2(v) R3(s) R1(x) *2 - t+2 R3(u) R2(y) + t+3 R2(z) Sequential Depth Reduction t R1(w) R2(v) *2 *1 t+1 R3(s) R1(x) R2(y) - t+2 R3(u) + t+3 R2(z) SfT@iitk
Mobility Path 1 2 * 6 * * 8 + 10 * TIME 1 * 7 * + 9 < 3 11 TIME 2 - 4 TIME 3 - 5 TIME 4 SfT@iitk
Mobility Path + * * TIME 1 - * TIME 2 - TIME 3 TIME 4 SfT@iitk
Mobility Path Scheduling • Mobility_path_scheduling(G){ • ASAP_scheduling(G); • ALAP_scheduling(G); • Update_op_slack_and_mobility(G); • While (unscheduled_op(G) ≠ 0){ • Pk = next_min_mobility_path(G); • partial scheduling(Pk, G); • testMP(Pk, G); /analyze testability on Pk • } • } SfT@iitk
Mobility Path Scheduling • partial_scheduling(Pk,G){ • For each (operation o on Pk) • if (o.earliest = o.latest) // mobility becomes 0 • o.active = o.earliest // assign schedule • Update_op_slack_and)mobility(G); • While (unscheduled_op (Pk) ≠ 0){ • (o, o.ll_cycles) = next_op_with _least_no_light_load_cycles(Pk, G); • o.active = most_preferred_cycle(o.ll_cycles, G); SfT@iitk