SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
EVE vector operation is controlled by a four-level nested for loop. Inside the loop, the behavior can be represented in sequential stages: load, arithmetic operation, store, and pointer update.
In each stage, a number of load, operation, stores, or pointer updates are carried out, with respect to the 16 × N × 40-bit vector register file. There is no dependency among loads, stores, or pointer updates; multiple loads unto the same register file is not allowed. Dependency among operations assumes 2 operations are carried out in parallel, with no delay slot for most operations, and 1 cycle of delay slot for some specific operations.
The vector register file, loop variables, address generators are replicated as needed in the hardware to support pipelining among the various stages.
Example8-8 shows a skeleton of the nested loop model. There are four loop variables, i1, i2, i3, and i4. A snapshots of the loop variables are contained in the follwoing registers: