HOME       UP       PREV       NEXT (Simulation And Synthesis.)  

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) foo = y;
        bar = !foo;
can be compiled down to the following, unordered 'pure RTL'.
        foo <= (k) ? y: foo;
        bar <= !((k) ? y: foo);

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

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