Modulo Scheduling of Multicycle Loops
6-66
Table 6–13. Modulo Iteration Interval Table for Weighted Vector Sum With SHR
Instructions
ÁÁÁÁÁ
ÁÁÁÁÁ
Unit / Cycle
ÁÁÁÁÁ
ÁÁÁÁÁ
0
ÁÁÁÁÁ
ÁÁÁÁÁ
2
ÁÁÁÁÁ
ÁÁÁÁÁ
4
ÁÁÁÁÁ
ÁÁÁÁÁ
6
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
8
ÁÁÁÁÁ
ÁÁÁÁÁ
10, 12, 14, ...
.D1
LDW ai_i+1
*
LDW ai_i+1
**
LDW ai_i+1
***
LDW ai_i+1
****
LDW ai_i+1
*****
LDW ai_i+1
.D2
LDW bi_i+1
*
LDW bi_i+1
**
LDW bi_i+1
***
LDW bi_i+1
****
LDW bi_i+1
*****
LDW bi_i+1
.M1
.M2
.L1
.L2
.S1
.S2
SHR bi+1
*
SHR bi+1
**
SHR bi+1
1X
2X
Unit / Cycle
1
3
5
7
9
11, 13, 15, ...
.D1
.D2
.M1
MPY pi
*
MPY pi
**
MPY pi
***
MPY pi
.M2
MPYHL pi+1
*
MPYHL pi+1
**
MPYHL pi+1
***
MPYHL pi+1
.L1
AND bi
*
AND bi
**
AND bi
***
AND bi
.L2
.S1
SHR pi_s
*
SHR pi_s
**
SHR pi_s
.S2
SHR pi+1_s
*
SHR pi+1_s
**
SHR pi+1_s
1X
MPY pi
*
MPY pi
**
MPY pi
***
MPY pi
2X
MPYHL pi+1
*
MPYHL pi+1
**
MPYHL pi+1
***
MPYHL pi+1
Note:
The asterisks indicate the iteration of the loop; shading indicates changes in scheduling from Table 6–12.