01-19-2009 03:39 AM
can u suggest me any c compiler which can be used with XILINX's XC3S700AN kit or with any other FPGA?
I want to program FPGA on c platform.
01-19-2009 06:20 AM
i'm not sure if i understand your request.
do you want to program the FPGA on the board with a 3rd party microprocessor?
if so, you can take a look at xapp058 which can be downloaded from the website.
01-19-2009 01:08 PM
C is a language designed to program microprocessors.
Most FPGA designs are captured in a Hardware Description Language, e.g. VHDL or Verilog.
Xilinx also supports MATLAB/Simulink (via System Generator) and properly written MATLAB m code (via AccelDSP).
You can program an FPGA-based microprocessor (such as our MicroBlaze) with C:
But the hardware design portion is still done behind the scenes in an HDL.
There are 3rd party companies supporting alternate development flows:
http://www.xilinx.com/esl (Electronic System Level Design)
If you simply want to program an existing bitstream into an FPGA (e.g. configuration - not development), XAPP058 is a good starting point
XAPP424 and XAPP502 can also be useful:
http://www.xilinx.com/support/documentation/application_notes/xapp058.pdf (Xilinx In-System Programming Using an Embedded Microcontroller)
http://www.xilinx.com/support/documentation/application_notes/xapp424.pdf (Embedded JTAG ACE Player)
http://www.xilinx.com/support/documentation/application_notes/xapp502.pdf (Using a Microprocessor to Configure Xilinx FPGAs via Slave Serial or SelectMAP Mode)
07-09-2014 01:13 PM
Writing C to design hardware is actually not very useful if you want to have interesting results in terms of performance. There is a technique called High-Level Synthesis (Xilinx now supports it in Vivado HLS thanks to its acquisition of AutoESL a few years back), although it's generally difficult to get anything useful from plain C code.
Another alternative is to use the right language, something like Bluespec SystemVerilog can be interesting (but it's not C-like), or Synflow's solution which has created a C-like language for hardware design (bit-accurate, cycle-accurate, with first-class support for task-level parallelism and so on). Let us know what you think on our forum!