ImpulseC is a ANSI C compiler. It is a real C99 compiler, that is also a cross compiler. The issue is that we need to treat this compiler as a black box. Let it do the difficult work. Is there a way to extend ECL to consider the possibility of supporting the ImpulseC environment??
ImpulseC does indeed generate executable files to simulate a program operating within a FPGA. It does generate an executable file, like a standard C compiler !!!
ImpulseC is an environment that allows for a program to be partitioned between a hardware creation and a software entity. You can partition the most computational extensive parts into C source files hat will be generate into VHDL or Verilog for multiple different types of FPGA devices. The limitations on the C hardware source file is close to the full featured ANSI C on a standard processor.
Please take look at http://www.impulsec.com
Is anyone interested ??
--- On Mon, 1/24/11, Juan Jose Garcia-Ripoll <juanjose.garciaripoll@...> wrote:
From: Juan Jose Garcia-Ripoll <juanjose.garciaripoll@...>
Subject: Re: [Ecls-list] CRITICAL NEED FOR HELP
To: "David Blubaugh" <davidblubaugh2000@...>
Date: Monday, January 24, 2011, 5:08 AM
On Mon, Jan 24, 2011 at 6:40 AM, David Blubaugh <davidblubaugh2000@...> wrote:
> To All,
> I was wondering if it was possible to extend support for the ImpulseC C compiler codeveloper environment ???
> > What would be the first steps necessary to make this a reality ??
At first I thought it is an ordinary C compiler, but it seems it is not, being rather speciallized for FPGA hardware. This means that it has to work in cross-compilation mode, as the executables it produces can not be run on the platform where compilation happens. Problems I foresee:
* Limited library support. Probably not all of POSIX
* Porting the garbage collector
* Ensuring that the GMP library builds in C mode.
* Integrating this with the Autoconf build process
* Bootstrapping. This would normally work in cross-compilation by using another copy of ECL to build the C sources. Since the C sources depend on platform details, it is a quite delicate process.
I must say I have faced this request at least five times this year. People are demanding a build process for ECL that
* Only uses makefiles, no Autoconf
* Has no bootstrapping (prebuilt C sources that work for all platforms)
* No configuration via run-time / compilation tests
* GMP is built without Autoconf and using only C or is not part of ECL at all
* The garbage collector magically works in the destination platform without porting.
Anybody feels fit to take over the challenge? :-)
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)