Scheduling information, Figure 4–6 – Altera Nios II C2H Compiler User Manual
Page 108

4–14
9.1
Altera Corporation
Nios II C2H Compiler User Guide
November 2009
Performance
soon as the previous execution is complete. Not surprisingly, the critical
path statement is what limits the speed of the loop, and hence what
determines CPLI.
Figure 4–6. CRC Critical Path Scheduling by Assignment
Notice, also, that line 13 (
lut_addr = (crc & 0xFF) ^ *data++
)
appears to take more clock cycles than line 14 (
crc = (crc >> 8) ^
table[lut_addr]
). The C2H Compiler “stretches out” the calculation
of
lut_addr
so that it is available exactly when it is needed. The memory
access in line 14 is nonetheless the limiting operation.
Scheduling Information
There are two ways of presenting the loop scheduling information: per
assignment, and per state.
0
2
4
6
8
10
12
14
16
18
20
0
22
24
Time
1
2
Loop
Iteration
13:lut_addr=((crc&0xFF)^
*data++;
State(0 6)
14:crc=((crc>>8)^
table[lut_addr];
State(6 11)
13:lut_addr=((crc&0xFF)^
*data++;
State(0 6)
14:crc=((crc>>8)^
table[lut_addr];
State(6 11)
13:lut_addr=((crc&0xFF)^
*data++;
State(0 6)
14:crc=((crc>>8)^
table[lut_addr];
State(6 11)
13:lut_addr=((crc&0xFF)^
*data++;
State(0 6)