CADD Unit 2
CADD Unit 2
FPGA
CONT..
Architecture
Cont..
Configurable Logic Block
Logic blocks implement the logical functions required by the design and consist of
various components such as transistor pairs, look-up tables (LUTs), flip flops, and
multiplexers.
You can think of logic blocks as separate modules like lego blocks which can operate in
parallel. Unlike a lego block, a logic block is configurable i.e. its internal state can be
controlled and you can hook these together by programming the interconnects in
order to build something meaningful.
Programmable Interconnects
This hierarchy of programmable interconnection is used for allocating resources
among configurable logic blocks (CLBs); where routing paths contain wire segments of
varying lengths that can be connected via anti-fuse or memory-based techniques.
Each CLB is tied to a switch matrix to access the general routing structure. The switch
matrix provides programmable multiplexers, which are used to select the signals in a
given routing channel and thereby connect vertical and horizontal lines.
Programmable IO Block
Lastly, the I/O blocks (IOBs) are used to interface the CLBs and routing architecture to
the external components.
In earlier FPGAs, there was no processor to run any software; hence implementing an
application implied designing the circuit from scratch. So, we could have configured an
FPGA to be as simple as an OR gate or as complex as the multi-core processor.
But we have come a long way since XC2064 and the basic FPGA architecture has
developed through the addition of more specialized programmable function blocks like
ALUs, block RAM, multiplexers, DSP-48, and microprocessors.
Application
Different Types of FPGA
Different Types of FPGA
Logic Synthesis
2 LEVEL LOGIC OPTIMIZATION
Multi level Optimization Technique
Library optimization
Logic Implementation By Macros
Compiler Directives