What is an FPGA?
A Field-Programmable Gate Array (FPGA) is a semiconductor device that can be configured by the customer or designer after manufacturing-hence the name "field-programmable". FPGAs are programmed using a logic circuit diagram or a source code in a hardware description language (HDL) to specify how the chip will work. They can be used to implement any logical function that an application-specific integrated circuit (ASIC) could perform, but the ability to update the functionality after shipping offers advantages for many applications.
FPGAs contain programmable logic components called "logic blocks", and a hierarchy of reconfigurable interconnects that allow the blocks to be "wired together" - somewhat like a one-chip programmable breadboard. Logic blocks can be configured to perform complex combinational functions, or merely simple logic gates like AND and XOR. In most FPGAs, the logic blocks also include memory elements, which may be simple flip-flops or more complete blocks of memory." (From Wikipedia)
When should I use an FPGA or a CPLD?
You can use small FPGA to replace simple logic circuit such as glue logic, address decoder, protocol converter, serial bus expander, etc. In other situations you would need to use an FPGA to handle high-frequency signals and process them with complex algorithm; there are some situations in which signal frequency and algorithm complexity just make impossible to use a microcontroller. In these case an FPGA is you better choice. You can pack most of your circuit including a microcontroller in an FPGA just to save space onto your board.
What can I find in FPGA?
- Logic blocks, look-up table and wiring
- Block of RAM, FIFO, dual port RAM
- Serial Interface such as LVDS, SERDES, I2C, SPI, MAC, PHY
- Phase lock loop (PLL) and Delay lock loop (DLL)
- Digital signal processing (DSP) block such as multiplier and wide accumulator
- Memory interface such as DDR
- Bus interface such as PCI
- CPU core, either soft or hard
- Some have analog functions such as voltage supervisor
- Oscillators, Timers, counters
- Many IO types such as CMOS, TTL, differential
- One or more MCU hard core such as ARM
FPGA Architecture and System Design
Cysca-Sysacom performs product design including FPGA. Starting from your requirements we will participate in system design and develop FPGA architecture and VHDL code. With our extensive knowledge of the underlying electronic we will nicely perform the integration and we will perform testing and validation.
We are well positioned to work on your project and add our expertise to yours. Please call to discuss your project with us.
Check our other services: