Friday, September 16, 2011

Update: Understanding FPGAs

FPGAs allow firmware which is stored in non-volatile memory, such as ROM to be modified without disassembling the device or returning it to its manufacturer. This aids in the development and rapid deployment of digital electronic devices. FPGAS are the modern-day technology for building a breadboard or prototype from standard parts.
Firmwares are fixed, usually rather small, programs and/or data structures that internally control various electronic devices. Firmwares are typically involved with very basic low-level operations without which a device would be completely non-functional. High-level firmware is typically stored as a configuration of charges, while low-level firmware may instead be regarded as actual hardware in itself. Hardwares just like softwares can be designed modularly, by creating subcomponents and then higher-level components to instantiate them. Moreover, unlike most modern operating systems, firmwares rarely have well-evolved automatic form of updating itself to fix any functionality issues detected after shipping the unit from the manufacturer.
FPGAs contain programmable logic components (logic blocks) and reconfigurable interconnects that would allow the blocks to be wired together. It is like a lot of logic gates that can be interconnected in a lot of configurations. Logic blocks are often configured to perform complex combinational functions or just simple logic gate functions like AND and XOR. Some FPGAs have logic blocks with memory elements which could be simple flip-flops or more complete blocks of memory.

No comments:

Post a Comment