Transcript Chapter 4
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. PLD Design Flow • • • • Thousands of basic logic gates Advanced sequential functions Single package Not yet configured to perform a function William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. PLD Design Flow • CAD to draw the schematic • Schematic Capture to convert to binary file • Program to alter PLD internal connections • VHDL - Very High Speed Integrated Circuit Hardware Description Language – architecture body William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. PLD Design Flow • • • • • • • See Figure 4-2 Define the problem Develop the equations Enter the design Simulate the input/output conditions Program the PLD Test the final programmed PLD William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Figure 4-2 William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. PLD Design Flow • Implementing X=AB + B + C – Using 7400 series ICs – Using a PLD • Altera Corporation tools – MAX+PLUS II (entry-intermediate level) – Quartus II (more advanced) – UP-1 or UP-2 William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. PLD Architecture • SPLDs – – – – – – – most basic least expensive configurable logic gates programmable interconnection points may have memory flip-flops typically 16 inputs and 8 outputs product terms from AND gates William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. PLD Architecture • PALs – programmable array logic – gives Sum-of-Products form – uses OR gate • PLAs – programmable logic array – uses programmable OR gates • Flip-flop memory section • Data steering circuitry William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. PLD Architecture • PAL16L8 is a typical PAL device – 16 indicates 16 inputs – 8 indicates 8 outputs – L means outputs are active LOW • Refer to the data sheet for a logic diagram William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. PLD Architecture • CPLDs – complex programmable logic devices – combine several PAL-type SPLDs into single package – non-volatile – repeatedly programmed William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. PLD Architecture • FPGAs – – – – – field-programmable gate arrays uses a look-up-table more dense than CPLD memory is volatile see figure 4-11 William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Figure 4-11 William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Using PLDs to Solve Basic Logic Designs • Block editor – connect pre-defined logic symbols • VHDL editor – define the logic • Compiler – language and symbol translation program • Waveform Simulator – to check the logic operation William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Using PLDs to Solve Basic Logic Designs • Using Quartus II CPLD software to implement a 2 input AND gate – See figure 4-13(a) for a screenshot of a block editor version – See figure 4-13(b) for a screenshot of a VHDL text version • • • • library declaration entity declaration architecture body William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Using PLDs to Solve Basic Logic Designs • Using Quartus II CPLD software to implement a 2 input AND gate – Figure 4-13(c) is a screenshot of the waveform editor after simulation William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Figure 4-13(a) Figure 4-13(b) Figure 4-13(c) William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Tutorial for Using Altera’s Quartus II Design Software • Build a solution to X=AB + CD – – – – – – – – create a block design file assign the file a name specify a project name draw logic circuits add input and output pins connect the symbols assign a device to implement the design save and compile to check for errors William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Tutorial for Using Altera’s Quartus II Design Software • Test and simulate the solution to X=AB + CD – – – – – create a new vector waveform file assign the same name as the design file create node names for inputs and outputs develop 4 input waveforms to cover all 16 possible inputs compile and simulate to verify that output satisfies equation William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Tutorial for Using Altera’s Quartus II Design Software • Programming the PLD using the Altera UP-2 or the RSR PLDT-2 programmer board – – – – downloads logic design to actual PLD the EPM7128S CPLD configuring and connecting UP-2 programmer board see figure 4-39 William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Figure 4-39 William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Tutorial for Using Altera’s Quartus II Design Software • Programming the PLD using the Altera UP-2 or the RSR PLDT-2 programmer board – – configuring and connecting PLDT-2 programmer board see figure 4-40 William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Figure 4-40 William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Tutorial for Using Altera’s Quartus II Design Software • Programming the PLD using the Altera UP-1 or the RSR PLDT-2 programmer board – – – – – connect switches and LED to CPLD pins assign pin numbers in the boolean1.bdf file connect wires to the input stimulus switches and output LED download (program) the CPLD test the downloaded design William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. CPLD Applications • Follow the step by step process from section 4-4 to implement the following: – X=AB + AB – X=ABC – X=ABC + ABC William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Summary • Programmable Logic Devices can be used to replace 7400-series and 4000-series ICs. They contain the equivalent of thousands of logic gates. Computer-Aided Design (CAD) tools are used to configure them to implement the desired logic. William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Summary • The two most common methods of PLD design entry are graphic entry and VHDL entry. To use graphic entry the designer uses CAD tools to draw the logic that needs to be implemented. To use VHDL entry the designer uses a text editor to write program descriptions defining the logic to be implemented William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Summary • PLD design software usually includes a logic simulator. This feature allows the user to simulate levels to be input to the PLD and shows the output simulation to those input conditions. • Most PLDs are erasable and re-programmable. This allows the user to test many versions of their logic design without ever changing ICs. William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved. Summary • Basically there are three types of PLDs: SPLDs, CPLDs and FPGAs. SPLDs consist of several multi-input AND gates feeding the inputs to OR gates and memory flipflops. The CPLD consists of several interconnected SPLDs. The FPGA is the most dense form of PLD. It solves its logic using a look-up table to determine the desired output. William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved.