FPGARelated.com
Forums

Newbie: xilinx vs arm

Started by Unknown January 24, 2006
Hello,

My knowledge on fpga field is almost zero. Ive got few questions.
I would like to enter into fpga world. Ive thought about buying starter
kit to start to play.
Ive found few spartans boards and arm's.

Whats the diffrence between them (development utils, hardware) ?

Ive seen that arm has gnuarm and arm-linux, does it mean that I can
program arm processor using C / C++ ?
If yes that seems  to be quite fast method rather then writing the same
in HDL ?

HDL describes hardware circuits, C / C++ is software programming
language - does it mean that arm is rather "hardware procesor"  and
spartans are rather fpga's ?
Is it possible to write in C/C++ into spartan and vice versa in HDL
with arm ?

Are there others processors which counts on this field ?

Ive would like to start feel whats going on fpga field .. soo if anyone
would point me in some directions would be great.

Thanks
-- 
un.

Spartan = FPGA
ARM = MicroProcessor

The difference between them is pretty extensive.

Yes, you can program an ARM uP using C/C++.  All you need is software
to compile that into assembly.

You can't write HDL for an ARM.  Why would you?  It would have to be
translated into assembly as well, which just doesn't make sense.  HDL's
are Hardware Definition Languages.  They are used to describe hardware,
not software.

The key feature of HDL's is that there is a subset of the language that
is synthesizable to hardware.  You don't have to spend time connecting
things at the gate level or macro level on a schematic.  You write code
that describes what you want your hardware to do.

It is possible to embed a microprocessor (even an ARM) into an FPGA and
have it control your hardware.  This gets complicated.  Quickly.

An FPGA allows you to design your own hardware logic.  A microprocessor
allows you to write code targeted to a specific device to perform some
function or functions.  You cannot create any more hardware than what
the ARM (or whatever you use) provides.  The Spartan, like all FPGA's,
are basically blank slates.  Save for some internal structures like
clock logic, RAM's, built-in DSP blocks, etc,  it is up to you to
create whatever you can realize in hardware, connect it all together
and see if it works.

It really depends on what you need to do.  Each device has its own
strengths and weaknesses.

Hope this helps.

Hi, an ARM is a processor with its hardware structure yet defined and
ready to be programmed (C/C++/assembly), while an FPGA is a chip with
no structure defined. What you need to do with the latter is to write
HDL code (VHDL or Verilog languages) that describes the hardware
structure of your FPGA (programmable logic). In this way you can
implement exactly what you're looking for, an optimized chip for your
task, and, if you may need, you could also put an ARM architecture
inside your logic.
Marco

unlogic@o2.pl wrote:
> Ive would like to start feel whats going on fpga field .. soo if anyone > would point me in some directions would be great.
Do both. Look at Altera parts which have both ARM processors and and FPGA on the same chip ;)
Thanks for all replies. 
It much more clear now.

-- 
un