2.3 LOOP BOUND AND ITERATION BOUND
A loop is a directed path that begins and ends at the same node, such as the path A → B → A in Fig. 2.1(b). The terms “loop” and “cycle” are used interchangeably to describe a directed cycle in a directed graph. The amount of time required to execute a loop can be determined from the precedence relations described by the edges of the DFG. For the DFG in Fig. 2.1(b), the
edges describe the precedence constraints
A0 → B0 ⇒ A1 → B1 ⇒ A2 → B2 ⇒ A3 → ···
where single arrows (→) represent intra-iteration precedence constraints and double arrows (⇒) represent inter-iteration precedence constraints. According to these precedence constraints, iteration k of the loop consists of the sequential execution of Ak and Bk. Given that the execution times of nodes A and B are 2 and 4 u.t., respectively, one iteration of the loop requires 6 u.t. This is the loop bound, which represents the lower bound on the loop computation time. Formally, the loop bound of the l-th loop is defined as tl/wl, where tl is the loop computation time and wl is the number of delays in the loop. We can verify that the loop bound for the loop in Fig. 2.1(b) is 6/1 = 6 u.t.
The loop in Fig. 2.3(a) has two delays, ...
Get VLSI Digital Signal Processing Systems: Design and Implementation now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.