At this point, you might think that we can also pipeline the outer loop, so let’s just add the pipeline pragma: there is a placeholder in the source code that you can uncomment. By the comments in the source code, you understand this is not possible, but why? Let’s see what messages Code Analyzer gives.
After the code change and running C SIMULATION
let’s see the output from Code Analyzer:
The process table shows a guidance message relating to process
loop3
: Some variables are accessed by more instructions than their hardware implementation can sustain in a single cycle, preventing some loops from being accelerated. Partition these variables to accelerate your design.We can expand the code of process
loop3
, to see what it relates to, along with other details.The overlay for the TI computations shows the word
Details
which is a clickable button, let’s click,A side information panel opens which shows the details about the II issue: too many accesses for the arrays.
Comment out the pipeline pragma and keep only the pragma in the innermost-loop.