To PLDS: System Design Using HDL (19ece43)
To PLDS: System Design Using HDL (19ece43)
To PLDS: System Design Using HDL (19ece43)
INTRODUCTION
TO PLDs
HDL Programming (VHDL Digital System design Using Verilog,
# and Verilog), Nazeih M. Charles H. Roth Jr., Lizy Kurian John,
Botros, 2015, John-Wiley Byeong Kil Lee,
India Pvt. Ltd. 2015, CL Engineering.
1 1.1 – 1.7, 6.1 – 6.3 -
2 - 2.1 – 2.5, 2.11
3 1.8 2.6 – 2.8, 2.13 – 2.15
- 2.9, 2.10, 2.12, 2.16 – 2.19,
4
8.1, 8.2, 4.1 – 4.3, 4.9
5 - 3.1 – 3.4, 6.1, 6.2, 6.11, 6.12
Brief overview of
Programmable Logic
Devices
Need of programmable logic devices:
• Types of ROM:
❖ Mask programmable ROM
❖ PROM (user programmable)
❖ EPROM (UV erasure)
❖ EEPROM (Electrically erasable)
❖ Flash memory
• Mask programmable ROM: Data array is permanently stored
during manufacture, by selectively including or omitting the
switching elements, in the cross-point switch matrix. Special
masks are used for this purpose, which is an expensive process.
• PROM: One time, user programmable (fuse / antifuse).
• EPROM: Programmer uses voltage pulses to store electronic
charges in the memory array location. UV light is used for the
erasure of complete data that is stored.
• EEPROM: Uses electronic pulses for erasure of data. It can be
reprogrammed only 100 to 1000 times.
• Flash memories: They have built-in programming and erasure
capabilities, and data can be written while in-circuit, without
needing any separate programmer.
• ROM can implement any combinational circuit, by
storing the outputs for all of the input combinations.
Hence, this method is also called as LUT method.
0 0 D Flip-flop output
1 0 OR output
1 1 OR output inverted
EEPROM is similar to EPROM, but removal of the gate charge can be done
electrically. Hence, for erasure, the chip need not be removed from PCB.
The memory cells can be selectively erased and can be rewritten, and this does
not require any additional equipment.
Flash is a form of EEPROM, in which a block of cells can be erased at once, by
applying a large voltage at the control gate, causing the electrons to pull off.
By sensing the amount of current flow, each cell in Flash can store multiple bits
of information, which in turn depends on the number of trapped electrons.
While writing bits into, Flash is faster than EEPROM, but slower than SRAM.
Antifuse Programming Technology
• Antifuse programming element changes from high resistance (open - OFF) to low
resistance (closed - ON), when a high voltage is applied.
• Antifuses are built by dielectric layers between N+ diffusion and polysilicon
layers, or by amorphous silicon in between metal layers.
Advantages:
• When compared to MOSFETs, the area
consumed by the antifuse is smaller.
• Antifuse based connections are faster than
SRAM / EPROM technologies.
Disadvantages:
• The antifuse connection is OTP.
• Because of this, design change is not possible.
Comparison of FPGA Programming
Technologies
Programming
Storage Programmability Area overhead Resistance Capacitance
technology
In-Circuit Medium to
SRAM Volatile Large High
reprogrammable high
Non-vol Out-of-Circuit
EPROM Small High High
atile reprogrammable
Non-vol Not
Antifuse Small Low Low
atile reprogrammable
I. Programmable logic block architectures
• Manufacturers use different names to denote their logic blocks:
• Xilinx calls them as Configurable Logic Blocks (CLB).
• Microsemi calls them as VersaTiles.
• Altera calls them as Logic Elements (LE), and a group
of LEs is called as Logic Array Blocks(LABs).
• Similarly, the rate-of-change of output (slew rate), and the pull-up option (open drain,
built-in resistor), can be configured using the memory cells (SRAM, EEPROM / Flash,
antifuse).
Dedicated Specialized 1. Dedicated memory: The embedded RAM, can be
Components in FPGA used to implement the memory needs of the
circuit, that is being designed.
2. Dedicated Arithmetic Units: The custom
implementation of adders and multipliers inside
FPGA, is smaller and faster, than its counterpart
that is implemented using FPGA.
3. DSP Blocks: To support DSP applications, the
vendors provide the hardware inside the FPGA for
encryption/decryption, FFTs, FIR filters, IIR
filters, compression/decompression, and so forth.
4. Embedded Processors: This is a hybrid solution
where part of the design is in a programmable
processor (high flexibility), and the remaining part
is implemented in hardware (better performance).
5. Content Addressable Memory: This is a special
kind of memory in which the content, and not the
address, is used to search the memory.
1. Rapid Prototyping Applications of FPGA
• As FPGAs contain 5 million or more gates, many large real-world systems can prototyped very
quickly using a single FPGA.
• If a single FPGA will not suffice, multiple FPGAs can be interconnected to realize larger systems,
by plugging the boards into a backplane.
2. Final Products in Medium Speed Systems
• Circuits realized using FPGAs typically operate in the range of 150-200 MHz. If this speed is
sufficient, FPGAs can be used for the final product, instead of the prototype.
• In the final product, if enhancements to the system are required, they can be done as software
updates, rather than hardware changes.
3. Glue Logic
• This is a digital circuitry that works as an interface between two different logic modules.
• Using SRAM FPGAs, the new interface logic can be implemented on the same FPGA.
4. Hardware Accelerators / Coprocessors
• For a software application, an FPGA can be used as a coprocessor, so that it is used to implement a
key kernel, and thus the application can be accelerated.
• Examples of such applications are - pattern matching, computer architecture simulator, emulator
boards, hardware testing boards, and so on.
Create a behavioral, RTL or structural model of the
1 design using HDL
Design Flow for FPGA