HOME       UP       PREV       NEXT (SystemC Components)  

3/3: Behavioural RTL

Behavioural RTL resembles software.

A behavioural thread assigns to variables, makes reference to variables already updated and can re-assign new values.

Unlike 'pure RTL', the order of the statements has an effect.

The following behavioural code

        if (k) x = y;
        z = !x;
can be compiled down to the following, unordered 'pure RTL'.
        x <= (k) ? y: x;
        z <= !((k) ? y: x);

Not all behavioural RTL is defined to `synthesisable' (see later, and also synthesis algorithm in additional material).

10: (C) 2008-11, DJ Greaves, University of Cambridge, Computer Laboratory.