Electronics System Design Using FPGA
Electronics System Design Using FPGA
Spartan-7
FPGA
Unprogrammed Programmed
➢ The functionality inside the device can be changed by changing what FPGA device
electrical inputs and outputs are being received, what logical gates
and flipflops are implemented, and how those gates are being
connected.
IOB (Input Output Block) is a programmable input and output unit, which is the interface points between the FPGA and external devices or other
components on the board. IOBs are configurable to support various signaling standards and protocols, enabling the FPGA to communicate with a
wide range of peripherals
➢ The I/O in the FPGA is classified, and each group can independently
support different I/O standards. Through the flexible configuration of
the software, it can adapt to different electrical standards and I/O
physical characteristics, can adjust the size of the drive current, and
can change the up and down resistance
By Praveen Sah copyright 6
What’s behind a FPGA?
Architecture
Design Entry
No
VHDL/Verilog /
Behavioral Simulation OK?
Schematics
Yes
Synthesis
No
Vendor Netlist Functional Simulation OK?
Libraries
Yes
Translate, Map, Place & Route
No
Static Timing Analysis OK?
Netlist, Timing, Back
annotation Timing Simulation Yes
Bitstream Generation
Synthesis tools verify the design for syntax errors and do block-level floor
planning. Always follow vendor-specific coding guidelines and library modules
Bitstream for better optimization of the design.
Translate process combines all the input netlists and constraints to a logic
Configure FPGA design file. Constraints assign the signal with its corresponding FPGA pin
number, I/O voltage levels, current-driving strength, clock frequency of the
copyright 8
By Praveen Sah target device.
FPGA strength
Parallel Task Performance
1) FPGAs Work in Parallel – . CPUs/GPUs work sequentially, processing
one piece at a time, but with a well-configured FPGA you’ll be able
Reconfigurable to simultaneously intake and process the next batch of information before
the first batch is done, giving a low latency.
Low Latency 4) FPGAs Have Optimal Performance per Watt – When compared with
a CPU or GPU, you will be getting higher performance per watt (though it
is closer when using floating point arithmetic) with an FPGA. This low
power consumption can be nearly 3 to 4 times less than that of a GPU.
➢ Hard IP blocks
➢ Resources
copyright 11
By Praveen Sah
FPGA Vs Microcontroller
FPGA MCU
Customizability. high degree of customizability. Execute a program and carry out general tasks
because the ISA and their circuitry are fixed. A
programmer must abide by the restrictions while
developing code of Microcontroller
Reprogramming Fully reprogrammable at the hardware level Varies: relies on embedded operating system,
dynamic
Parallelization Can be configured during programming Limited by hardware architecture
Programming time Longer: requires recoding and recompiling Shorter: aided by manufacturer SDKs and libraries
everything to machine code
Ease of programming Seen as having a steeper learning curve Easy: anyone familiar with common languages can
code
Power consumption Higher Lower
Fixed vs. floating point Configured for fixed point, but floating point can Both are accessible
be implemented during programming
Languages Hardware description language (HDL) C/Assembly language, others if supported by RTOS
(e.g. Python)
Winner – FPGA
Oculus Rift VR Headset
copyright 14
By Praveen Sah
◦ By Praveen Sah
“Creativity is thinking up new things. Innovation is doing new things.” ~ Theodore Levitt