218 Software Networks
logical function. However, this solution is costly in terms of
performance, and is not able to deliver all the desired orders of
magnitude of performance, for certain computational components in
networks. In addition, the reconfiguration time is too long to
handle several real-time processes on the same reconfigurable
processor.
In the case of coarse grains, it is no longer possible to perform all
functions directly. The elements form operators, which can directly be
used for the necessary operations in signal processing or multimedia
protocols. These operators can be reconfigured much more quickly,
because they are limited in terms of the number of functions that the
component itself can perform.
More specifically, the granularity of the reconfigurable element is
defined as the size of the smallest basic block – the CLB
(Configurable Logic Block) – which can be included in the string of
functions to be performed. A high degree of granularity – i.e. fine
granularity – means great flexibility to implement the algorithms
using hardware. We can implement almost any type of function. We
use fine grains to carry out particular functions or test new algorithms,
before moving on to coarser grains. The difficulties facing
fine-grained circuits include the higher power requirement and the
slower execution speed, due to the path to be followed, which is
generally quite long. Reconfiguration may also require a lot of time in
comparison with the time-periods necessary to maintain a real-time
process. On the other hand, coarse grains have much shorter chain
paths and lend themselves more easily to real-time applications.
Of course, it is important that the computation of a function
correspond as closely as possible to the path followed. If the
granularity is too coarse, there is a risk that the component will take
more time than is necessary – in other words, poor use coupled with
higher consumption. For example, an addition on four bits performed
on a component with a granularity of sixteen bits degrades
performance, as significantly more resources are consumed.
The idea to find the best compromise is to make matrices of
coarse-grained elements mixed with fine-grained elements. We can
www.it-ebooks.info
logical function. However, this solution is costly in terms of
performance, and is not able to deliver all the desired orders of
magnitude of performance, for certain computational components in
networks. In addition, the reconfiguration time is too long to
handle several real-time processes on the same reconfigurable
processor.
In the case of coarse grains, it is no longer possible to perform all
functions directly. The elements form operators, which can directly be
used for the necessary operations in signal processing or multimedia
protocols. These operators can be reconfigured much more quickly,
because they are limited in terms of the number of functions that the
component itself can perform.
More specifically, the granularity of the reconfigurable element is
defined as the size of the smallest basic block – the CLB
(Configurable Logic Block) – which can be included in the string of
functions to be performed. A high degree of granularity – i.e. fine
granularity – means great flexibility to implement the algorithms
using hardware. We can implement almost any type of function. We
use fine grains to carry out particular functions or test new algorithms,
before moving on to coarser grains. The difficulties facing
fine-grained circuits include the higher power requirement and the
slower execution speed, due to the path to be followed, which is
generally quite long. Reconfiguration may also require a lot of time in
comparison with the time-periods necessary to maintain a real-time
process. On the other hand, coarse grains have much shorter chain
paths and lend themselves more easily to real-time applications.
Of course, it is important that the computation of a function
correspond as closely as possible to the path followed. If the
granularity is too coarse, there is a risk that the component will take
more time than is necessary – in other words, poor use coupled with
higher consumption. For example, an addition on four bits performed
on a component with a granularity of sixteen bits degrades
performance, as significantly more resources are consumed.
The idea to find the best compromise is to make matrices of
coarse-grained elements mixed with fine-grained elements. We can
www.it-ebooks.info
