Professional Documents
Culture Documents
Digital Circuit Design 2 10636321: Dr. Ashraf Armoush
Digital Circuit Design 2 10636321: Dr. Ashraf Armoush
10636321
Dr. Ashraf Armoush
Highly configurable.
Fast design and modification times.
Couldn’t support large or complex functions.
• In order to overcome this gap between PLDs and ASICs, Xilinx developed
a new class of IC called a field-programmable gate array (FPGA). [1985]
FPGA can be customized in the field like PLDs.
FPGA can contain millions of logic gates and implement extremely
complex functions that previously could be realized only using ASICs.
The cost of an FPGA design is much lower than that of an ASIC.
Implementation design changes is much easier in FPGAs, and the time to
market for such designs is much faster.
FPGA
• FPGA: is a digital integrated circuit (IC) that contains configurable
blocks of logic along with configurable interconnects between these
blocks.
– “Field Programmable” refers to the fact that its programming takes
place “in the field” (an opposed to devices whose internal functionality is
hardwired by the manufacturer.
FPGA Structure
• The most common architecture consists of:
1. Configurable Logic Block (CLB) or Logic Array Block (LAB)
2. Configurable I/O Block (IOB)
3. Programmable Interconnect
Simplified LUT
SRAM-Based Devices
• The majority of FPGAs are based on the use of SRAM configuration cells which
can be configured over and over again:
• Advantages:
The new design can be quickly implemented and tested.
The FPGA can be initially be programmed to perform some test before
reprogrammed during start up.
The SRAM cells are created using exactly the same CMOS technology as
the rest of the device (no special processing steps)
• Disadvantages
SRAM-based devices have to be reconfigured every time the system is
powered up. (requires the use of a special external memory device)
Security: It can be difficult to protect your intellectual property (IP). This is
because the configuration file is stored in some form of external memory.
• Disadvantages
The main disadvantage associated with antifuse-based devices is that
they are OTP (One Time Programmable). This makes these
components a poor choice for use in a development or prototyping
environment.
Volatile Yes No No
The LUT size affects the area (more input means more wires), and
the speed which affects the performance of FPGAs.
• One of the main partitioning criteria is how fast you wish the functions to
perform their task:
– Picosecond and nanosecond logic: [has to run insanely fast]Hardware
– Microsecond logic: [reasonably fast]either in hardware or in software
– Millisecond logic: [it is a pain slowing the hardware down to implement such
slow function (e.g. using huge counters to generate delays)] (Software).
• You only need to implement a core if you need it and also you
can instantiate as many cores as you require until you run out
of resources (programmable logic blocks)
Clock Managers
• The input clock pin can be used to derive a special hard-wire function
(block) called a clock manager that generates a number of daughter clocks.
• The daughter clocks may be used to derive internal clock trees or external
output pins that can be used to provide clocking service to other devices.
• Each family of FPGAs has its own type of clock manager.
• FPGA has a number of pins that are used as a JTAG port. One of
these pins is used to input JTAG data, and another is used to output
that data.