HOME       UP       PREV       NEXT (Classical High-Level Synthesis)  

Higher-level: Behavioural or Declarative ?

There are two primary, high-level entry styles we can consider (in practice use a blend of them ?):

There are also purely generative approaches, like Lava, that just 'print out' a circuit diagram. These cannot handle data-dependent IF statements. »Lava Compiler (Singh)

Using a parallel set of guarded atomic actions is pure RTL: which is declarative (since no threads).

(The core of Bluespec RTL is declarative, but much nicer to use than pure RTL and it has a scheduler and a behavioural-sub language and an advanced generative elaborator that is a functional language.)

All higher-level styles are amenabale to automatic datapath and schedule generation, including re-encoding and re-pipelining to meet timing closure and power budgets.


6: (C) 2008-13, DJ Greaves, University of Cambridge, Computer Laboratory.