You are on page 1of 11

Introduction

• The requirements of many of the industrial applications, such us power


electronic control systems, sensorless encoders, video processors,
communications systems and others, soon discover that solutions based
purely on microprocessors can’t achieve the required specifications or
require extremely complex programs with their associated long
development times. Almost always the only solution involves the
migration to a more powerful (and therefore more expensive)
microprocessor or DSP.

• When developing a functional embedded system, designers use a variety


of electronic components. These include processors, memories, and
peripheral devices. The complexity of the system depends on its
intended objective application. The choice of the processor is one of the
most intricate and involving, as it will affect the computational power of
the system and the effective management of peripherals and other
components within the system. The most common option for the
designer is to use either a microcontroller or an FPGA, a field
programmable gate array.

• Embedded systems are essentially computers intended to control or


perform specific functions either on its own or within a larger system.
With a processor at its core, an embedded system carries out
computational and operations in real-time. Common embedded systems
may employ various processors or processing systems such as:
✓ Microcontrollers — containing the CPU, memory, and peripherals
✓ Microprocessors — containing only the CPU
✓ Digital Signal Processors — for processing digital signals
✓ Field Programmable Gate Arrays — Integrated Circuit that customers
can configure

• Depending on the application complexity, one or more of the above may


be necessary for the embedded system. Most common are
microcontrollers and FPGAs.
Microprocessor is an integrated circuit that
comes with an electrical device such as a CPU and is built for
processing. These chips do not have peripherals such as RAM
or ROM included on the chip but instead, are provided outside
the chip which tends to make it bulkier. On the other hand, the
microcontroller is itself a computer with peripherals embedded
and is comparatively smaller. Microcontrollers are designed to
perform specific tasks and the need of peripherals is, therefore,
lesser as the task is specified. Microprocessors can be considered as the heart of the system while
microcontrollers are what drive embedded systems.

WHAT ARE MICROCONTROLLERS?


A microcontroller is an integrated
circuit behaving like a small
computer. Typically, it consists of
a CPU or central processing unit,
some memory, and a few
peripheral devices for input and
output of signals. Users can insert
machine level programs, called
embedded software, in the
memory of a microcontroller so
that it performs specific tasks while managing its peripherals and other components in the system.
It is possible to connect various sensors, switches, and other electronic components to the inputs of a
microcontroller to allow it to collect their signals, process them and output them to control other
devices. The other devices may be LED displays, relays, speakers, and others for controlling bigger
electronic gadgets. The embedded software provides the microcontroller the necessary instructions for
controlling the entire system. System designers typically use a higher-level language like C, C++,
Python, JavaScript, or other to write their programs, and translate them to the machine level language
for storing in the microcontroller memory.
What is FPGA?
FPGA is the abbreviation of Field
Programming Gate Array – a specially
designed integrated circuit that
necessitates the operation of a
specific application. Experts suggest
that an FPGA is not fixed in its design
and functionality. Instead, it can be
changed or modified to perform the same function for another application. FGPA
consists of several rudimentary units called configurable logic blocks (CLBs).
The aforementioned logic blocks, or CLBs, are further supplemented by a circuit
of programmable interconnects. This system of interconnects is termed fabric.
FPGA has a lot of implicational benefits, ranging from their extended availability
in the market to develop a powerful system to the rapid functioning of different
software. Their functionality is crucial in making applications work correctly

Difference between a Microprocessor and Microcontroller:


What is Microcontroller?
To understand a microcontroller, it is better to think of it as a small computer designed to
perform a single operation efficiently and efficiently. The microcontroller is, in fact, a
specialized circuit that regulates a peculiar process in a system. They play an extraordinary
role in contemporary technology, with equal usage by professional experts, amateur
researchers, and students. Their applications range from ordinary electronics to massive
military systems.
The scope of functionality of a microprocessor is quite limited to a specific operation, but its
capacity to perform and handle it makes the microprocessor valuable. In terms of size, the
word “micro” itself implies smallness, whereas the word “controller” implies its powerful
capacity to perform its assigned function. There are three major components of a
microcontroller: the central processing unit, memory, peripherals, and support circuitry.

What is Microprocessor?
The microprocessor refers to the central unit of a system that controls all its other parts. The
primary function of a microprocessor is to perform arithmetic and logical operations –
commonly known as processing. The microprocessor is like the brain of a computer system
without which a computer fails to perform any computational task. The working mechanism
of a microprocessor is taking data in binary form, processing it, and supplying it as output.
ALU, CU, and a register array play their part during the processing.

Microprocessor entails a number of benefits that makes befitting for a computer system.
They are smaller in size and can be easily embedded in a system without worrying about
weight and space. They are average in terms of pricing and are not unbearably expensive.
Experts prefer them because of their exceptional processing speed. Their power
consumption is also very low, and they are durable for longer periods of work.
Difference between FPGA and Microcontrollers:

Microcontrollers and FPGA both are used to monitor the output values
and control the processing of a system. But they have very stark
differences. A microcontroller is like a computer with its own memory, I/O
ports, and timers. It can carry out simple tasks on behalf of other
hardware. An FPGA is a type of IC with millions of logic gates and can
carry out tasks through programmed logic gates, they also need external
peripherals to function. A microcontroller can be programmed using C,
C++ whereas the logic gates on the FPGA are programmed using VHDL
or Verilog. The microprocessor has limited processing power whereas
the FPGA has limited space.

FPGAs show flexibility as they can perform any task they are
programmed to do in the logic gates, and can even be rewired to perform
a different task. Microcontrollers, on the other hand, are limited to the
task they are wired with. Microprocessors will also consume a program
line by line in a sequence whereas FPGAs can process various
commands at the same time.
It is also comparatively easier to write codes for a microcontroller than
an FPGA. You can easily control interruptions in FPGA by using FSMs
(Finite State Machines), whereas in microcontrollers time is taken to
overcome the interruptions. You can easily reprogram the FPGA without
making changes to the hardware whereas the microcontroller layout
needs to be modified in the silicon integrated circuit.

FPGA configuration is more complex as you will have to compile all the
codes from scratch and then convert them into machine language. On
the other hand microcontrollers are ready-made built to perform tasks
and are easier to use and configure. If we talk in the terms of
programming then microcontrollers are comparatively more flexible but
cannot be customized accurately through the hardware.

Power Consumption in FPGA and Microcontrollers:

FPGA comparatively used more power as compared to microcontrollers


and are therefore are not suitable for all systems. FPGAs are also not as
efficient as components such as ASICs (Application Specific Integrated
Circuits). Reprogramming an FPGA also means inefficiency as logic
utilization becomes low. Similarly unused transistors lead to more power
consumption.
But the speed of FPGAs is higher than microcontrollers. Microcontrollers
have lower processing speeds but consume lesser power too and even
offer power saving modes. Some allow for sleep currents less than 1 µA
and can function at a few µA during slow clock rates. In some cases, an
FPGA system might use a microcontroller on the board to increase power
efficiency.

Sumarry :.

1. FPGA is a specially designed circuit to facilitate software operation;


the microcontroller performs a single task; the microprocessor
performs arithmetic and logical operations.
2. FPGA’s processing speed is 00 MHz to 200 MHz; a microcontroller
has a relatively lower processing speed; a microprocessor has a
higher processing speed.
3. FPGA’s memory capacity is 256K x 16; a microcontroller has limited
memory capacity; a microprocessor has flexible memory capacity.
4. FPGA has a small size; a microcontroller is also smaller in size; a
microprocessor is relatively larger.
5. FPGAs are now more affordable; a microcontroller costs less; a
microprocessor bears a relatively higher price.
6.
Comparison Between FPGA and Microcontroller and Microprocessor
Parameters of
FPGA Microcontroller Microprocessor
Comparison

Special Circuit for A Small Computer to A Computational Unit


Definition Software Perform a Single Task Performing Arithmetic,
Operation Efficiently Logical Operations

Processing 00 MHz to 200


Lower Higher
Speed MHz

Memory
256K x 16 Limited Flexible
Capacity

Size & Design Smaller Small Relatively Larger

Costs Affordable Cheaper Expensive


Conclusion:
Any project can use both a microcontroller and an FPGA. But if you
want a more affordable choice then you should choose
microcontrollers. Similarly, if you wish for a more flexible and
reprogrammable option then you should opt for an FPGA

1. https://www.nowpublishers.com/article/Details/EDA-005
2. https://books.google.com/books?hl=en&lr=&id=Eu1JHU-
2Jo8C&oi=fnd&pg=PP1&dq=microcontroller+and+microprocessor&
ots=ClWvrUHyO6&sig=Wp9e-0ZRPanLfChOjSra9SjPUG0
3. https://ieeexplore.ieee.org/abstract/document/707616/
4. https://www.wevolver.com/article/fpga-design-a-comprehensive-
guide-to-mastering-field-programmable-gate-arrays

Student: Supervision:

Ebrahim Aldholey Dr. Ameen AL-Qustuban

You might also like