Research Article
A Coarse-Grained Reconfigurable Architecture with Compilation for High Performance
Algorithm 2
ripup_reroute.
| Input: &routingPathLst // routingPathLst stores routing requirements | | Output: a new less congested routing solution stored in routingPathLst | | 1 for (; Max; ++) { | | 2 regDuplicatorLst.clear(); // clear regDuplicatorLst before new iteration | | 3 newRoutingPathLst.clear(); | | 4 for each path in routingPathLst { | | 5 src = p.origin; // get start_point of p | | 6 dest = p.destination; // get end_point of p | | 7 //step 1: ripup | | 8 ripup_path(p); // ripup by release all resources used by p | | 9 end_step = getReadyStep(dest); | | 10 //step 2: reroute | | 11 cost_grid = route_path(src, end_step, ®DuplicatorLst); | | 12 //step 3: backtrace | | 13 new_ = backtrace(dest, &src, cost_grid); | | 14 add(new_, newRoutingPathLst); | | 15 update(regDuplicatorLst, new_); | | 16 } | | 17 routingPathLst = newRoutingPathLst; | | 18 } |
|