Source level optimisation of VHDL for behavioural synthesis

Optimisation in high level behavioural synthesis is usually performed by applying transforms to the datapath and control graphs. An alternative approach, however, is to apply transforms at a higher level in the process, specifically directly to the behavioural source description. This technique is analogous to the way in which the source code of a conventional sequential programming language may be processed by an optimising compiler. The application of this kind of preprocessing to a number of example behavioural VHDL source descriptions (which are then fed into a 'conventional' synthesis system) produces structural description which is up to 32% smaller and 52% faster.

[1]  Andrew D. Brown,et al.  Optimisation efficiency in behavioural synthesis , 1994 .

[2]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[3]  Nikil D. Dutt,et al.  1995 high level synthesis design repository , 1995 .

[4]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[5]  Jeanne Ferrante,et al.  On linearizing parallel code , 1985, POPL.

[6]  K. G. Nichols,et al.  Multiple objective optimisation in a behavioural synthesis system , 1993 .

[7]  Dennis Shasha,et al.  Efficient and correct execution of parallel programs that share memory , 1988, TOPL.

[8]  Scott Kirkpatrick,et al.  Optimization by simulated annealing: Quantitative studies , 1984 .

[9]  Jeanne Ferrante,et al.  Generating sequential code from parallel code , 1988, ICS '88.

[10]  Keith Richard Baker Multiple objective optimisation of data and control paths in a behavioural silicon compiler , 1992 .

[11]  Giovanni De Micheli,et al.  The Olympus synthesis system , 1990, IEEE Design & Test of Computers.

[12]  Jayaram Bhasker Implementation of an optimizing compiler for VHDL , 1988, SIGP.

[13]  Edward S. Lowry,et al.  Object code optimization , 1969, CACM.

[14]  Donald E. Thomas,et al.  Behavioral Level Transformation in the CMU-DA System , 1983, 20th Design Automation Conference Proceedings.

[15]  Andrew Rushton VHDL for Logic Synthesis , 1998 .

[16]  Andrew S. Tanenbaum,et al.  Using Peephole Optimization on Intermediate Code , 1982, TOPL.