Is FPGA a processor or controller?

Status
Not open for further replies.

velu.plg

Member level 5
Joined
Jul 30, 2013
Messages
93
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Location
chennai
Activity points
1,974
FPGA is processor or controller ? and why ?
 
Last edited by a moderator:

Re: fpga .........................

It is neither, but it can be both. It depends what logic you put in it.
 

Re: fpga .........................

thanks sir...
how they depends on our logic ? give simple example ?
 

Re: FPGA is processor or controller?

An fpga does nothing without user logic. Its that simple. The simplest design in an fpga would be

output <= input;
 

Re: FPGA is processor or controller?

thanks for your interest...
i not mean it....

already you replay to me as ..

"It is neither, but it can be both. It depends what logic you put in it."

here in which logic it act as controller and in which logic it act as a processor or in which logic it act as both
 

Re: FPGA is processor or controller?

Your question still does make sense. It can be a processor if you program the fpga with a processor or you can make it a controller. Or you can make it both, or neither.
 

Re: FPGA is processor or controller?


FPGA Consist of CLB ( configurable logic Block) in with it store some logic

For ex:
if a > b then c = 0
else c=1


You can ask how it will implement? It will construct lookup table for the logic and store the data in SRAM cell. Then your FPGA act as above logic.

Another ex:
ALU implementation
Adder,subtractor, multiplier and logic gates
if inp = 1
output = a + b;
else if inp = 2
output = a - b;
else if inp = 3
output = a * b;
and so on..


It will construct lookup table for the ALU logic and store the data in SRAM cell. Then your FPGA act as ALU

So if you are implementing 8-bit processor in FPGA, you need to construct ALU, Memory unit, control unit and all other remaining blocks inside the FPGA CLB. Then your FPGA act as 8-bit Processor.
 
Re: FPGA is processor or controller?

in generally a system with memory unit means it can be a processor(ex:microprocessor)
and system without memory means it is a controller(ex:microcontroller)

in the FPGA architecture it have the separate ram block inside a chip .so,we can say FPGA is processor ?
or this is wrong thought ?
why we create a memory unit inside a slice ?
within a slice only LUT and register is available...
 

Re: FPGA is processor or controller?

A memory is just a memory. Just because you have a memory it is not a processor. What about a buffer( like a fifi) inside a like an ethernet core?
 

Re: FPGA is processor or controller?

If you put a memory into a banana, you will not turn it into a microprocessor. And a banana without access to external memory is not a microcontroller.

This said, a FPGA can be programmed to act like a controller or a processor, or a DSP, or to make specific tasks that does not have anything to do with processors/controller. If fact, FPGA can behave as nearly any digital logic you want, including then processors and controllers.
 

Re: FPGA is processor or controller?

in generally a system with memory unit means it can be a processor(ex:microprocessor)
and system without memory means it is a controller(ex:microcontroller)

sorry , here i post wrongly .
cpu with memory and control unit means its act like micro controller and our system only have cpu means it act like processor.
pls, study the difference between controller and processor using net source and then make joke with anyone.
 

Re: FPGA is processor or controller?


FPGA’s contain Block RAM (BRAM) & Distributed RAMs (DRAM). BRAM’s are dedicated memory blocks. Each FPGA has them. FPGA datasheets typically specify the Total BRAM in Kbits.

DRAM’s are RAM’s that can be constructed using Look-Up-Tables (LUT).

SRAM based FPGA’s have LUTs. These LUTs can be used as a small block of RAM by combining cells; called DRAMs.

This kind of RAM is called DISTRIBUTED as LUTs are or spread out across the FPGA fabric.
 

    V

    Points: 2
    Helpful Answer Positive Rating
I think the OP is somewhat confused because he is viewing this from the wrong angle. He's using controller vs (or) processor as some basic level of complexity distinction. Eg, an application processor would be an ASIC that has some CPU, external memory, MMU with VM, page table, DMA, etc... A microcontroller on the other hand would have more simple peripherals and lack things like an MMU or DMA controller. (simplification). Basically, that a controller has features suited to IO, while a processor has features suited to computational performance.

FPGA's, being reconfigurable, can fill a lot of these. Some FPGAs have hard-ip ARM cores, with FPU, MMU, and DMA features as well as a lot of simple IO functions (i2c, spi, rs232, ethernet, etc...) These are intended to be used as processing systems with the FPGA as custom HW accelerators. They might not always be used that way, but that is the intent. FPGAs can also implement a variety of processor/controllers.

However, the third option is "neither". FPGAs can fill this as well. In this case, the FPGA would only be HW accelerators engines with basic (logic gates, not cpu based) control between modules. This is very high performance for simple or specific applications.
 

    V

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…