top of page

 

 

 

EET130

Digital Systems I

Instructor: Dr. Alireza Hassanzadeh

Programmable Logic Devices

Gary Sharp

ECPI University

 

 

 

 

 

            The digital world is all around us yet hidden right in front of our eyes. This is an opportunity to peel back a layer of that world and gain an understanding that many in the general population may not be are aware of.  Digital ciruits operate in the language of zero and one. The hardware that controls the input and output of these signals is varied. In this essay the Programmable Logic Device or PLD is discussed. The PLD has many interesting subtopics such as their design and history, programming languages, and finally their applications.  Similar to the development of the semiconductor and the transistor, the PLD has a story all its own. There a many types of PLD’s where certain types are better suited to certain application. Lastly, PLD’s are not ready to do their job right off the assembly line. They must be programmed by development hardware and software to be made to function.

 

PLD Design and History

 

            The Programmable Logic Device or PLD is an integrated circuit that can be programmed to perform a specific task. PLD’s are made of semi-conductor materials with a number of electrical pins typically placed on the parameter of the device. One such device is illustrated below in Figure 1.

 

Figure 1

 

 

 

 

 

 

 

Simple Programmable Logic Device (image source: ATF22LV10C-10JU Atmel - Mouser)

 

The pins serve as inputs and outputs to the logic gates contained inside the device. Along the pins ride high’s and low’s, or logic levels ranging from approximately 0 to 5.5 V. It does not need to be programmed by the manufacturer, but rather can be programmed much later by the circuit designer. This key element is what makes it differ from fixed function logic devices. With PLD technology, the designer can quickly make changes to circuit designs that would otherwise be costly with fixed logic devices and once the design is finalized, they can go immediately into production instead of waiting for fixed logic devices to be made specifically for their circuit.

 

            It’s also important to point out that the term PLD covers a broad range of device types from simple to complex designs. The illustration in Figure 2 shows the various PLD types:

 

Figure 2

 

 

 

 

 

 

 

 

 

 

PLD subcategories types (image source eetimes.com)

 

            Programmable Logic Devices have arguably been around since the early 1970’s but it was in 1978 that the first easy to use programmable logic devices, known as programmable array logic (PAL), a type of Simple Programmable Logic Device (SPLD), was invented by John Birkner and H.T. Chua of Monolithic Memories. The SPLD to include the early PAL consists of a either a programmable or reprogrammable AND array and a fixed OR array (Floyd, 2006). The key advantage to the new design was their faster speed and lower cost over the earlier programmable read-only memory designs. Additionally, the software design tools made the devices extremely easy to use (Computer History Museum, n.d.).

 

Figure 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The first PAL applications Handbook by Monolithic Memories (image source computerhistory.org)

 

            As technology grew to require more logic circuits, a new solution and subsequently a new category of PLD’s emerged. Known as the CPLD which is Complex Programmable Logic Devices, CPLD’s were introduced in 1984 by Altera. The CPLD is essentially a device containing multiple SPLD’s (Floyd, 2006). The CPLD offers greater chip density and power efficiency compared to multiple SPLD’s (Maxfield, 2011).

 

           The last PLD type I will discuss is the Field Programmable Gate Array or FPGA. The FPGA was invented by Ross Freeman in 1985 who was also cofounder of the semiconductor manufacturing company Xilinx (National Instruments, n.d.).  An FPGA design is much different that the SPLD and CPLD chips as it is made up of three major parts.  The logic block, programmable interconnects, and the input/output block. With this architecture, the complexity and chip density is further increased over CPLD’s.

 

Programming

 

            The next topic to explore is the programming part of PLD’s. When programming PLD’s you will use a Hardware Description Language or HDL software that will interface to a development board. HDL’s come in many different programming languages to include Verilog, VHDL, AHDL, or ABEL (Floyd, 2006). As engineer Al Williams from digitalcomputer.com summarizes:

The general idea is simple. You describe the circuit you want to build using schematics or a programming-like language. In many cases, you'll use both methods in a single project. Tools provided by the PLD maker allows you to simulate the design on your workstation. When it works in simulation, you can have a high degree of confidence that the design will work in real life.  The tools then compile your design to a bit stream that you can program into the chip and you have a customized chip. Modern PLDs can be programmed many times. It is important to realize that these bit streams are not programs in the sense of a sequential list of instructions. PLDs contain hundreds or thousands of logic gates and flip flops. They also provide a huge programmable interconnecting switch. The workstation software figures out how to connect the internal gates to match the logical description of your circuit. The program sets the "wires" between the internal gates (Williams, n.d.).

 

PLD Applications

 

            Over the last few years programmable logic suppliers have made such phenomenal technical advances that PLDs are now seen as the logic solution of choice for many designers. Logic devices provide specific functions, including device-to-device interfacing, data communication, signal processing, data display, timing and control operations, and almost every other function a system must perform (Xilinx, n.d.).  Some examples in which you can find PLD’s are in telecommunications, modems and routers, motherboards, DVD players, GPS systems, and various other commercial and consumer electronics.

 

 

            In closing, I approached the subject of PLD not really knowing where they came from or why they were created. Out of the research I now know that PLD’s play an integral part in electronics and that they are easier to program and implement in circuit designs than ever before. During this research I also discussed some of the key people and companies that made that all possible and the evolution of the concept from simple to complex PLD’s to popular FPGA designs. Perhaps one of the most interesting things that I learned was how logic devices are sometimes simpler than using a processor and software code even though software can sometimes take the place of logic.  I also discussed how PLD are programmed not by the manufacturer but by the end user thereby offering huge economic advantage to their employment. Lastly I gave a few examples of where PLD’s can be used to include modern and everyday devices.

 

References

 

ATF22LV10C-10JU Atmel | Mouser. (n.d.). Retrieved June 7, 2015, from http://www.mouser.com/ProductDetail/Atmel           /ATF22LV10C-10JU/?qs=sGAEpiMZZMtTxtqe87n4UNOPV%2FuCP8DMS%2FCMTPPVRMM%3D

 

ComputerHistory.org. (n.d.). 1978 - PAL User-Programmable Logic Devices Introduced - The Silicon Engine | Computer History Museum. Retrieved June 7, 2015, from http://www.computerhistory.org/semiconductor/timeline/1978-PAL.html

 

Maxfield, C. (2011, September 20). Who made the first PLD? | EE Times. Retrieved June 7, 2015, from http://www.eetimes.com/author.asp?section_id=14&doc_id=1285398

 

National Instruments. (n.d.). NI FPGA. Retrieved June 7, 2015, from http://www.ni.com/fpga/

Williams, A. (n.d.). Getting Started Using Programmable Logic Devices. Retrieved June 7, 2015, from http://www.simpledigitalcomputer.com/PLDGettingStarted.aspx

 

Xilinx. (n.d.). What is Programmable Logic? Retrieved June 7, 2015, from http://www.xilinx.com/company/about/programmable.html

 

bottom of page