FPGAs and Microcontrollers
Logic in Electronics
Field-Programmable Gate Arrays (FPGAs) and Microcontroller Units (MCUs) are two of the most powerful tools available to an electrical engineer today. It is essential for anyone working in digital electronics, as it as for a professional in any industry, or even a hobbyist, to pursue a complete understanding of the tools available to assist in their work. This is especially true in a fast-paced industry, where tools and technologies are subject to sudden and frequent change. The industry of digital electronics has come a long way since the advent of the bipolar junction transistor, a mere 60 years ago. The FPGAs and MCUs employed by electrical engineers today incorporate many hundreds of thousands, even hundreds of millions or into the billions, of simple BJTs.
Comparison of FPGAs and MCUs – The Similarities
It is sometimes tempting to dwell on the differences between FPGAs and MCUs, and in so doing ignore their many similarities. These devices are generally used in very similar scenarios; to put it very broadly: they are used to monitor input values and effect according output values. In fact, nearly any application that employs a microcontroller could employ a FPGA to the same effect, and vice-versa. This is not to say that the two are interchangeable; it is sometimes very difficult to achieve using one device what would be a simple matter for the other, as explained in the following section.
Contrast of FPGAs and MCUs – The Differences
The most important difference between FPGAs and MCUs is the manner in which they process instructions. MCUs process commands sequentially, meaning that the MCU reads each line of the program one at a time, in sequence. Conversely, FPGAs process commands concurrently, meaning that multiple lines of code are executed simultaneously.
The concurrent processing of FPGAs lends itself very well to the reading of parallel data on multiple lines, and allows for tighter control over interrupts through the use of Finite State Machines (FSMs). While a MCU-user would need to take into account the length of time required for their ISR to service an interrupt, a FPGA-user could rest easy in the knowledge that concurrent FSMs are constantly monitoring for changes in their respective domains.
Though concurrent processing is a very powerful tool, the sequential processing of a MCU is not without its advantages. It can be quite challenging to program FPGAs for high-speed serial data transfer, compared to the relatively simple procedure for such applications on MCUs. Furthermore, the concurrent operation of FPGAs can result in utter failure if the timing of any control logic is skewed by so much as a single clock cycle. High-accuracy simulation software is effectively required for successful FPGA prototyping, while MCU prototypes can often employ a trial and error method of test.
Factors Relating to PCB Design & Production
FPGAs and Microcontrollers can differ quite strikingly in terms of implementation on a PCB, perhaps even more so than they differ in operation or application. The most notable difference being that FPGAs will more often be sold in BGA-style packages, which can be challenging to work with for smaller businesses or hobbyists. BGAs also add to the cost of PCB assembly, and they require advanced X-Ray Inspection techniques for verification. There are, of course, exceptions to this rule; some FPGAs can be found in QFP or QFN packages, but BGA is generally the standard for these devices.
FPGAs often also require more peripheral hardware than MCUs due to three key factors.
All this being said, FPGAs do have an impressive advantage over MCUs in terms of PCB design, and that advantage is their potential for customization. FPGAs offer pin swapping capability, allowing for PCB designers to assign functions to the device’s pins according to their preferred layouts. It is even possible to configure the pin positions first in PCB layout, and then backward-annotate the design to assign pin functions accordingly.
Volatile Memory: FPGAs use SRAM, which requires periodic refresh and a separate FLASH memory module to store configuration information
No Internal Oscillator: FPGAs must be supplied with an external clock
Supply Voltage: Many FPGAs run on uncommon supply voltages (not 5V)
Cases for Use
FPGAs are generally applied in scenarios requiring high-speed parallel data processing, or a high degree of customizability, but may be neglected for their relative complexity of configuration and prototype operation. Meanwhile, MCUs are much easier to configure and use from the outset, and they handle high-speed serial data very well, but they lack some of the impressive features of FPGAs.
There is no specific set of rules to dictate when one should use an FPGA and when one should use an MCU, and certainly neither technology is altogether “better” than the other, which explains why both technologies enjoy widespread use today. It is useful nonetheless to draw out some guidelines, as this discussion has done, to highlight the inherent strengths of each device.
Flason Electronic Co.,ltd provide a full smt assembly line solutions, including SMT reflow oven, wave soldering machine, pick and place machine, solder paste printer, PCB loader, PCB unloader, chip mounter, SMT AOI machine, SMT SPI machine, SMT X-Ray machine, SMT assembly line equipment, PCB production Equipment smt spare parts etc any kind SMT machines you may need, please contact us for more information: wechat whatsapp:008613691605420, Skype: flasonsmt, Email: email@example.com
1) This is the first time I use this kind of machine, is it easy to operate?
There is English manual or guide video that show you how to use machine.
If you still have any question, please contact us by e-mail / skype/ phone /trademanager online service.
2) If machine have any problem after I receive it, how can I do ?
Free parts send to you in machine warranty period.
If the part is less than 0.5KG, we pay the postage.
If it exceeds 0.5KG, you need to pay the postage.
3) MOQ ?
1 set machine, mixed order is also welcomed.
4) How can I buy this machine from you? ( Very easy and flexible !)
A. Consult us about this product on line or by e-mail.
B. Negotiate and confirm the final price , shipping , payment methods and other terms.
C. Send you the proforma invoice and confirm your order.
D. Make the payment according to the method put on proforma invoice.
E. We prepare for your order in terms of the proforma invoice after confirming your full payment.
And 100% quality check before shipping.
F.Send your order by air or by sea.
5)Why choose us ?
A. Gold supplier on Alibaba !
B. Trade assurance to US$54,000 !
C. Best price & Best shipping & Best service !