Re: HLL for dsp compiler?

Jan Guffens <>
31 Aug 1998 12:16:44 -0400

          From comp.compilers

Related articles
HLL for dsp compiler? (Kent Stenman) (1998-08-30)
Re: HLL for dsp compiler? (1998-08-31)
Re: HLL for dsp compiler? (Jan Guffens) (1998-08-31)
Re: HLL for dsp compiler? (Grant Griffin) (1998-08-31)
Re: HLL for dsp compiler? (1998-08-31)
Re: HLL for dsp compiler? (Brent Kimberley) (1998-09-01)
Re: HLL for dsp compiler? (Jerry Avins) (1998-09-01)
| List of all articles for this month |

From: Jan Guffens <>
Newsgroups: comp.compilers
Date: 31 Aug 1998 12:16:44 -0400
Organization: Frontier Design
References: 98-08-199
Keywords: DSP, design

Kent Stenman wrote:
> My question is which language is the best front-end language for dsp
> compilers?

I do not know papers with an objective comparison between languages,
but you can check out the following languages

Silage as developed by P. Hilfinger in Berkely. It was used in
different research institutes and commericaliased in DSP Station (see

AR|T Library uses C++ constructs to extend the C language with fixed
point values and overflow and quantization characteristics. If you
combine that with some extensions from NCEG like circular pointers and
use pramas for memory allocation purposes you can have a powerfull

I did write some compilers for DSP and I found out that the input
language is not important for high quality result. (except that you
need to get some user hints through. Most languages provide such
functions f.i. attributes in vhdl or pragmas in C and DFL ).

For interprocedural optimization purposes it is necessary that the
compiler sees the complete program and not just the current file. The
classical compile link procedure will not make it.

If you need an high quality compiler a lot of time needs to be
invested in the optimization steps. For instance all our compiler
perform a intra and interprocedural data flow analysis an all arrays
in the program giving such information such as the minimal looping
degree between two array accesses in a loop (even if they are global
declared). This is used to perform folding (or software pipelining) on
the loop.
Jan Guffens : Senior Design Consultant :
Frontier Design : phone +32 16 391431 : fax +32 16
Abdijstraat 34 : :
3001 Leuven Belgium : email

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.