CPLD Design Basics Note: We use the Altera CPLD design software in this course. Please see the Altera web site (www.altera.com) for more details on their.

Slides:



Advertisements
Similar presentations
Chapter 1: Introduction. Contents Whats New in Dreamweaver CS4? The Dreamweaver CS4 Interface Setting Up a Site Creating a Web Page Adding Text to Your.
Advertisements

Programmable Logic Devices
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
CS320n –Visual Programming LabVIEW Foundations. Visual ProgrammingLabVIEW Foundations2 What We Will Do Today Hand back and review the midterm Look at.
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
EET 1131 Unit 4 Programmable Logic Devices  Read Kleitz, Chapter 4.  Homework #4 and Lab #4 due next week.  Quiz next week.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
LSU 06/04/2007Electronics 81 CAD Tools for Circuit Design Electronics Unit – Lecture 8 Schematic Diagram Drawing Etched Circuit Board Layout Circuit Simulation.
Introduction to FPGA Design Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 –
TrendReader Standard 2 This generation of TrendReader Standard software utilizes the more familiar Windows format (“tree”) views of functions and file.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
Advanced Digital Circuits ECET 146 Week 3 Professor Iskandar Hack ET 221B,
Lab 3 page 1 ENT-DIGI-210 Lab 3 Notes ©Paul Godin Updated September 2007.
Global Timing Constraints FPGA Design Workshop. Objectives  Apply timing constraints to a simple synchronous design  Specify global timing constraints.
Last Mod: March 2014  Paul R. Godin Shift Registers Registers 1.1.
CPLD 1.1 ©Paul R. Godin Last Mod: Dec 2013 gmail.com.
EET 252 Unit 4 Programmable Logic: SPLDs & CPLDs  Read Floyd, Sections 11-1 to  Study Unit 4 e-Lesson.  Do Lab #4.  Homework #4 and Lab #4 due.
© 2003 Xilinx, Inc. All Rights Reserved Reading Reports Xilinx: This module was completely redone. Please translate entire module Some pages are the same.
Decode 1.1 Decoder, Encoders and Displays ©Paul Godin Updated Aug 2013.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Thank you for your decision to try vTreePro Practice Tree Software! Your satisfaction is very important to us. Please feel free to send us an if.
Website Development with Dreamweaver
TS 1.1 Basic Digital Troubleshooting 1 ©Paul Godin Updated August 2013 gmail.com.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Comments on Lab #4 Annotating Timing Diagrams Draw viewer’s attention to the points you are trying to show / verify –Important output states glitch or.
Advanced Digital Circuits ECET 146 Week 5 Professor Iskandar Hack ET 221G, Me as I typed this slides.
1 Introduction to Xilinx ISL8.1i Schematic Capture and VHDL 1.
Teacher’s Assessment Assistant Worksheet Builder Starting the Program
Advanced Digital Circuits ECET 146 Week 2 Professor Iskandar Hack ET 221B,
Create Forms Lesson 5. Objectives Software Orientation The Forms group (below) is located on the Create tab in the Ribbon and can be used to create a.
1 Introduction to Xilinx ISL8.1i & 11.1 Schematic Capture 1.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
FPGA_Editor Probes. . Probe Overview 2 Adding a Probe : GUI Probes tie an internal signal to an output pin To Launch the GUI: Click the “probes” button.
Basic Digital Logic 2 Combinational Logic
Copyright © 1997 Altera Corporation & 提供 What is VHDL Very high speed integrated Hardware Description Language (VHDL) –is.
Basic Sequential Components CT101 – Computing Systems Organization.
Creating your Home Directory During Labs you will need to save all your work in a folder called CP120 (or PC120) in your Home Directory (drive I:) To get.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
© 2003 Xilinx, Inc. All Rights Reserved Global Timing Constraints FPGA Design Flow Workshop.
Programmable Logic Training Course HDL Editor
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
VHDL 1 ©Paul Godin Modified February 2011 Quartus II Version February 2011.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Renesas Technology America Inc. 1 SKP8CMINI Tutorial 2 Creating A New Project Using HEW.
 Seattle Pacific University EE Logic System DesignAlteraBoard-2 Altera Cyclone II (484 Pin BGA) 22 Pins.
Digital Logic Circuits (Part 1) Computer Architecture (Fall 2006)
Creating A Survey Using Office of Student Affairs Assessment The University of Georgia A-Team Training-Skills Session 1 October 30, 2007.
11 EENG 1920 Introduction to VHDL. 22 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Creating and Editing a Web Page
1 EE121 John Wakerly Lecture #5 Documentation Standards Programmable Logic Devices Decoders.
Introduction to Labs Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
Teaching Digital Logic courses with Altera Technology
Electrical Characteristics of Logic Gates Gate Characteristics Last Mod: January 2008  Paul R. Godin.
Copyright © 2007 by Pearson Education 1 UNIT 6A COMBINATIONAL CIRCUIT DESIGN WITH VHDL by Gregory L. Moss Click hyperlink below to select: Tutorial for.
QUARTUS II Version 9.1 service pack 2 Gregg Chapman Spring 2016.
Programming and Debugging with the Dragon and JTAG Many thanks to Dr. James Hawthorne for evaluating the Dragon system and providing the core content for.
EET 1131 Unit 4 Programmable Logic Devices
Sequential Logic Design
CPLD Software Setup Note: Some of the images contained in this presentation are captured from Altera’s Quartus II software. Please see the Altera web.
Lab 1: Using NIOS II processor for code execution on FPGA
The first change to your project files that is needed is to change the device to the correct FPGA. This is done by going to the Assignments tab on the.
Figure 1.1 The Altera UP 1 CPLD development board.
Basic Digital Logic.
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Digital Fundamentals Tenth Edition Floyd Chapter 11.
EET 1131 Unit 4 Programmable Logic Devices
EET 1131 Unit 4 Programmable Logic Devices
Presentation transcript:

CPLD Design Basics Note: We use the Altera CPLD design software in this course. Please see the Altera web site (www.altera.com) for more details on their product and design solutions. Last Mod: November 2013 ©Paul R. Godin

Introduction Due to their numerous advantages, programmable logic devices are becoming predominant in the digital logic industry. CPLD logic design is as basic or complex as you want it to be. This presentation addresses the setup and basic design processes. This course makes use of the Altera devices and software. See www.altera.com for more information.

Designing Logic Circuits CPLDs have 2 basic methods for designing logic circuits: Graphical Text (VHDL)

Graphical Design

Graphical Graphical design is used when a visual design process is desired (similar to Electronics WorkBench / Multisim). Examples of visual design components: Logic Gates Latches and Flip-Flops Counters and Registers Multiplexers and De-multiplexers Etc…

Templates Templates, called SYMBOLS, are available for more complex devices. See the Altera software for a list of the available devices. Many are listed using easy-to-read notation or industry-standard model/part numbers. Custom design templates may also be created.

A few of the device symbols available in the CPLD software.

Creating a Logic Design using Digital Design Tools

Creating a Logic Design with Quartus II: 1-Launch the Quartus II software 2-Create a New Project: File New Project Wizard On “Page 1 of 5” Select the working directory for the project (create a new folder if needed) Name the project Skip Page 2 On “Page 3 of 5” select the device: Family: MAX7000S Device: EPM7064SLC44-10 Skip Page 4, select “Finish” on Page 5

Quartus II Rev 13.0.1: Main Screen

Using the Quartus II Software To open a Graphic Editor workspace: Select “File”, “New” Select “Block Diagram/Schematic File” This opens a workspace with a grid To add a logic symbol double-click anywhere on the blank window. This opens a “Symbol” window. Navigate: click on the “+” symbol to the left of the folder to expand it Logic Elements: located under “primitives”, “logic” Hint: Right-click in the work area will also open the Symbol Window.

Symbol Window The symbol window contains many of the basic logic symbols needed for a basic logic design. The short-hand used to describe the symbols should be clear enough. To see what a symbol looks like before using it in a design, single-click on it. To select, click “OK”

Using the Quartus II Software Interconnection of devices Click and drag the elements to where you want to place them. To interconnect inputs and outputs, click from one input/output and drag the line to the connection point. Hint: if the devices are out of alignment, add mid-points (route at 90 degree angles) so that the devices can connect to the point “head-on”. If not, there is a risk of having an open without realizing it. No Yes

Using the Quartus II Software Inputs and Outputs Inputs and outputs are graphic elements that must be added. They must be re-labeled. Just highlight the “PIN_NAME” and add the new label. Do not use spaces. Do not exceed 8 characters. Do not use reserved words (example: “IN” and “OUT” are reserved) Hint: If there are several elements to add, such as multiple inputs and outputs, a copy-paste can be done. Use right-click on the device to open a menu. Use SHIFT key to select multiple elements.

An example of a graphic design

Compiling Before proceeding, you should save and compile the file. Select the “purple triangle” symbol The project cannot have critical errors (warnings are expected).

Assigning Pins Once all of the logic elements have been added and interconnected, logical connections to the physical pins need to be established. Some of the pins are reserved for the parallel cable, JTAG connections (in more advanced devices), Vcc, and Ground connections. Do not use these pins for I/O! NOTE: The Pin-Out is available in the device specification sheet from Altera. In the software, go to the Floorplan and double-click on any of the LABs that pop up. Alternately, the pinout for the devices used in lab is on the following slide…

Pin-Out From Altera’s M7000.pdf specification sheet

Assigning Pins The pins marked I/O are available to use as either input or output. Decide which pins will be used for the design. Assign the pins using the pin planning tool. The tool provides graphic guidance on the pins that have been used. Once completed, the project must be recompiled.

Writing to the device Once satisfied with the design it needs to be re-saved and re-compiled. The compiler translates from a higher-level language to binary values that the hardware device can understand. Once compiled without error, connect the device to via the adapter to the USB port of your system. The CPLD board should have Vcc and Ground connection ONLY, and power applied. Select Programmer from the menu and click on Program. A few seconds later and the device should be programmed. Do not connect input devices such as switches until the programming is complete. Damage will occur.

Overview Setting up the software and hardware defaults should be a one-time process. When designing a circuit using the graphics editor, the following basic steps should be followed: Open a new “gdf” file and save it Design the circuit, including input and output elements Rename the inputs and outputs Assign the device and Compile Assign each of the input and output pins Compile and save Program the device

Advantages to Graphical Design Easier to visualize and understand a circuit and its logic flow. Easier for some specific, moderately complex logic such as shift registers and counters. Easy to re-create an existing or previously designed logic diagram directly as a logic diagram in the CPLD software. User can create new graphical models to use. Easier for users with a basic to intermediate digital electronics background.

Disadvantages to Graphical Design Takes much longer to design more complex circuits that may require extensive design time (especially Boolean-based circuits such as decoders). More complex circuits means difficulty routing wires and troubleshooting. Limited logic operations to the device models available. Files created are proprietary, so will only work with that manufacturer’s software and devices.

Floorplan Compile the project Go to the Floorplan tool The Floorplan is the physical layout of the compiled design, and provides another means of viewing the reduced design. Compile the project Go to the Floorplan tool Check the lines indicated in the Layout menu NOTE: OLDER SOFTWARE VERSION

Floorplan The diagram indicates the LABs (Logic Array Blocks) and the connections indicated in your design. NOTE: OLDER SOFTWARE VERSION

Floorplan NOTE: OLDER SOFTWARE VERSION Double-click on a LAB provides the physical device pinout. Note the color coding used to identify the various inputs and outputs. Clicking on an output will provide the simplified equation at bottom. NOTE: OLDER SOFTWARE VERSION

Exercise Design the following circuit using the graphical design tool in Altera’s Quartus II software, and simulate the output:

Quartus II and the CPLD Other “Issues”

Quirks and Tips #1 The Quartus II software tools and the MAX series of hardware sometimes responds in an unusual fashion in some situations. Here is a list of those identified “challenges”: Be aware that most CPLDs require an external source of edges, and these edges must follow certain parameters (the steeper the edge the better). The oscillator on the experimenter’s boards may not be appropriate. Use a 74LS14 to clean up the edges. The edge-sensitive input on the 7032 and 7064 are pins 43 and 2. The Entity name and the file name must be the same on a VHDL design. If you get a “WORK” error when compiling a file, try saving it to a different directory. The software saves several files with each design file. There are timing problems with truncated asynchronous counters when using the graphics design tool. Use synchronous counters.

Quirks and Tips #2 Saving files to the desktop is not recommended. Many files are created with the designs, and the path name to the desktop may be too long. There may be timing problems in some circuit designs. The actual internal functionality of a logic design is different from an equivalent standard TTL/CMOS gate circuit. Propagation delay is not accurately represented. If gates are added to create extra delay, the program will eliminate what it considers redundant gates. Output high current for the device (IOH) is relatively low and loading the output will likely cause the voltage (VOH) to drop, causing faults with logic operation. Configure the loading devices to operate with active low logic.

CAUTIONS A list of cautions when using the CPLD NEVER connect inputs and outputs of a chip before programming it. There is likely a previous program already loaded on the chip and you may inadvertently create a short circuit on an output. These devices are much more sensitive to short circuits and voltage problems. When using a device, first connect the Vcc and Ground, then connect the programming cable and program it, then carefully connect the inputs and outputs. There are maximum current carrying capabilities for outputs. Refer to the specification sheet to make sure that IOH and IOL are not exceeded.

CAUTIONS There may be a mix of devices in the device boards. Some may be 7032’s and others may be 7064’s. Please check before attempting to program the device.

End ©Paul R. Godin prgodin @ gmail.com