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