Configuring the framework
To configure the framework for employing a specific transformation round block:
- Choose an implementation for the transformation round block
This is done by specifying an architecture
for the Compressor_pipeline_stage component.
-
If the Naive architecture is chosen, it is necessary to specify also an
architecture
for the Transf_round_comb component within the Naive architecture.
-
If an architecture requiring system-level data prefetching is chosen (requiring PREFETCH_ROUNDS > 1), it is necessary to specify also an
architecture
for the Initialisation_block component.
- Configure the generic parameters of the top level entity
The following parameters needs to be adjusted according to the requirements of the selected transformation round block:
-
PIPELINE_WORDS: Number of words in the pipeline register
-
PREFETCH_ROUNDS: Number of prefetch steps
-
FIX_TIME: Whether is required to delay the Compressor pipeline
-
UNROLLING_FACTORS: Unrolling factor (unless the transformation round block is itself generic on the unrolling factor)
The following parameters are instead independent on the selected transformation round block:
Add a different transformation round block
A new transformation round block is added by defining an architecture
for the Transf_round or the Transf_round_comb entity. The latter can be used if the design focuses only on the combinatorial part. However, if the transformation round block needs to move the pipeline registers, as is the case when optimisations like spatial reordering or variables precomputation, an architecture for the Transf_round entity must be defined.
Architecture Details
For more details on the implementation, see the architecture of the top level entity.