Lambda the Ultimate

inactiveTopic Open-source C compiler targets FPGAs
started 2/27/2004; 11:57:22 AM - last post 2/27/2004; 1:15:46 PM
Patrick Logan - Open-source C compiler targets FPGAs  blueArrow
2/27/2004; 11:57:22 AM (reads: 7837, responses: 1)
Open-source C compiler targets FPGAs
Seeking to eliminate the need for detailed hardware expertise for FPGA design, a research group at the Los Alamos National Laboratory (LANL) here has developed an open-source C compiler for reconfigurable logic. Called Streams-C, the compiler doesn't generally yield the performance of RTL design but claims to boost productivity by 10 to 100 fold.

Streams-C accepts a subset of the C programming language, performs behavioral synthesis, and outputs synthesizable RTL VHDL code. It currently targets Xilinx Virtex-2000 devices on Annapolis Microsystems' Firebird board, but claims to be easily retargetable.

"After a few years of looking at the problem, I realized that most of the application space could be described well with a stream-oriented communicating sequential processes model," she said.

The result was Stream-C, which is freely available for research and government purposes, with a commercial licensing process underway. Gokhale said that in addition to LANL, several universities are using the compiler, and EDA companies have expressed interest in commercializing it.
Posted to general by Patrick Logan on 2/27/04; 12:16:57 PM

Mark Evans - Re: Open-source C compiler targets FPGAs  blueArrow
2/27/2004; 1:15:46 PM (reads: 200, responses: 0)

Thank you for posting the item, Patrick. In my editor's queue was a related item that I will now just post right here. EDN Magazine recently ran a cover story entitled, "The search for the perfect language." EDN is a popular magazine for electronics engineers.

It may amuse LtU folks to see how EEs struggle. The article provides a potted history of hardware description languages (HDLs). The field could use a few good PL theorists. Have a look at Table 1 (PDF) for a sampling of what matters to HDL users. It's a curious mixture of traditional PL features and HDL specifics. The Confluence HDL folks offer their own comparison table. Confluence is written in OCaml and shows how these languages could be improved. Leave it to the functional programmers to get it right. (Probably Lava has been discussed here before; it's Haskell code.)

The Drudge Report of the EDA world is ESNUG (that was a compliment, Mr. Cooley). Go there for independent opinions on all things HDL if you get really curious about this small industry.

EDN also ran a nice cover story on Eclipse recently. It's good to see the electronics world take a shine to the Eclipse IDE, not over Java (hardly my favorite language) but because a shared IDE infrastructure makes so much sense for this industry.