Introduction to FPGA Design Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 –

Slides:



Advertisements
Similar presentations
Advanced Digital Circuits ECET 146 Week 4 Professor Iskandar Hack ET 221B,
Advertisements

EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
PIC Programming with Logicator
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
DE1 FPGA board and Quartus
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
Downloading to Altera Nios Development Kit CSCE 488 Witawas Srisa-an.
LAUNCHXL2-RM57L – Project 0
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.
Altera DE2 Board and Quartus II Software ECE 3450 M. A. Jupina, VU, 2014.
CSCE 430/830 A Tutorial of Project Tools By Dongyuan Zhan Feb. 4, 2010.
Figure 1.1 The Altera UP 3 FPGA Development board
ALTERA UP2 Tutorial 1: The 15 Minute Design. Figure 1.1 The Altera UP 1 CPLD development board. ALTERA UP2 Tutorial 1: The 15 Minute Design.
Introduction to Digital Design Lab Project
Read Only Memory (ROM) Number of words Size of word A block diagram of a ROM consisting of k inputs and n outputs is shown below. The inputs provide the.
Part 1 Using the ARM board And start working with C Tutorial 5 and 6
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,
Experiment #3A: Introduction to Function Reduction, Function Forms, and VHDL Implementation CPE 169 Digital Design Laboratory.
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.
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.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
ECE Department: University of Massachusetts, Amherst Using Altera CAD tools for NIOS Development.
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
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.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Advanced Digital Circuits ECET 146 Week 4 Professor Iskandar Hack ET 221G,
1 Introduction to Xilinx ISL8.1i Schematic Capture and VHDL 1.
Advanced Digital Circuits ECET 146 Week 5 Professor Iskandar Hack ET 221B,
Advanced Digital Circuits ECET 146 Week 2 Professor Iskandar Hack ET 221B,
1 Introduction to Xilinx ISL8.1i & 11.1 Schematic Capture 1.
ASIC 121: Practical VHDL Digital Design for FPGAs Tutorial 1 September 27, 2006.
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.
CPLD Design Basics Note: We use the Altera CPLD design software in this course. Please see the Altera web site ( for more details on their.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
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.
Lecture #2 Page 1 ECE 4110– Sequential Logic Design Lecture #2 Agenda 1.Logic Design Tools Announcements 1.n/a.
Programmable Logic Training Course HDL Editor
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Quartus II Schematic Design Tutorial Xiangrong Ma
 Seattle Pacific University EE Logic System DesignAlteraBoard-2 Altera Cyclone II (484 Pin BGA) 22 Pins.
COE4OI5 Engineering Design Chapter 1: The 15 minutes design.
11 EENG 1920 Introduction to VHDL. 22 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Digital Logic Design Lecture # 15 University of Tehran.
LAB 0 : OVERVIEW. Max+Plus II Fill in particulars License will be provided within 12 hrs.
Teaching Digital Logic courses with Altera Technology
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
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.
How to use ISE Dept. of Info & Comm. Eng. Prof. Jongbok Lee.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Introduction to the FPGA and Labs
EET 1131 Unit 4 Programmable Logic Devices
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.
Dept. of Electrical and Computer Engineering
Dept. of Electronics & Info. Eng. Prof. Jongbok Lee
ECE 4110–5110 Digital System Design
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
QUARTUS II Version 9.1 service pack 2
Week 5, Verilog & Full Adder
Digital Fundamentals Tenth Edition Floyd Chapter 11.
EET 1131 Unit 4 Programmable Logic Devices
"Computer Design" by Sunggu Lee
EET 1131 Unit 4 Programmable Logic Devices
Presentation transcript:

Introduction to FPGA Design Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 – Spring 2009

Why FPGA’s? Digital logic: –Equivalent to a large number of discrete logic elements –NOT a microprocessor (although microprocessors can be implemented in an FPGA design) High density: –All the logic is inside a single chip –No need for interconnecting traces on PCB between logic circuits Reprogrammable: –Designs can be changed after the hardware has been manufactured –High-level design software optimizes the usage of limited resources

FPGA Resources Both companies produce competitive products – neither is endorsed. Other companies exist... We use Altera tools to demonstrate the design process. Xilinx has a similar set of tools. Conceptually, the design process is the same.

Cyclone II FPGA Starter Board Altera EP2C20F484C7N $56.30 from Digi-Key Configuration device – stores the design that is automatically downloaded when power is applied.

Example Design Problem Implement a 4-input XOR function: –Output will be high only when exactly one input is high. –Use KEY[0..3] as inputs. –Show output on green LED. Boolean algebra: We could simplify this, but choose not to.

Design Flow Design entry: –Schematic entry –High level language Synthesis: –Translating design into logic elements Simulation: –Validate design logic Fitting: –Implementing logic using FPGA resources

Altera FPGA Design Software Double click here Altera software is installed under C:\Altera\... Please be patient...

This might happen...

Altera Licensing Information This should be correct...

Ready to begin:

Starting a New Project File  New Project Wizard... “What is the working directory for this project?” –H:\Physics536 “What is the name of this project?” –FirstExample “What is the name of the top-level entity...?” –FirstExample (default) Then click “Next >”... Click “Yes” to create the directory. No need to add design files, so click “Next >”.

Starting a New Project Select the device: –Family: Cyclone II –Device: EP2C20F484C7 Then click “Finish”.

A Really, Really Simple Design If you can’t get something simple to work, don’t expect to be able to do anything complicated... A much simpler design: –Input KEY0 –Output to green LEDG0 KEY[0] LEDG[0] Input pin Output pin Buffer

Entering the Simple Design File  New  “Block Diagram/Schematic File” Add components Add wires

Adding the Inputs/Outputs Click on –navigate to.../primitives/pin/input –Click OK, click to place the pin. Do the same for the output pin.

Adding a Buffer Buffers can be used to drive special signals in the FPGA. In this case we don’t need anything special so we can select.../primitives/buffer/wire Click the “Wire” tool ( ) and connect the pins to the buffer.

Labeling the Pins Double-click on the text associated with the pins Change input pin name to “KEY[0]” and output pin name to “LEDG[0]”.

Compiling the Design File  Save Project Processing  Start Compilation Success? If not, fix the problem; try again. Look at resource usage: But wait... how does it know which pins are physically wired to KEY[0] and LEDG[0]? Total logic elements: 0/18,752 (0%) Total pins: 2/315 (<1%) Not too surprising...

Assigning Pins Pins can be assigned individually: –Assignments  Pins Or imported from a file: –Assignments  Import Assignments Don’t forget to re-compile the design. C:\Altera\Kits\CycloneII_Starter_Kit-v1.0.0/....../Examples/CII_Starter_demonstrations/design_files/CII_Starter_pin_assignments.csv

Downloading the Design Plug in and turn on the DC power Plug in the USB cable. Tools  Programmer  Start This file contains the configuration data to be downloaded into the FPGA.

Did It Work? Sort of... Pins are pulled high via 10k resistors. Low-pass filter to prevent the switches from “bouncing”.

4-Input XOR Invert the KEY[0..3] inputs before assigning them to D 0, D 1, D 2, D 3. Use.../primitives/logic/not for inverter Implement the logic: Use 4-input AND and 4-input OR gates: –.../primitives/logic/and4 –.../primitives/logic/or4

More complicated schematic Can you spot the mistake? The compiler certainly can!

Simulate the Design We need to specify all possible inputs. File  New...  Other Files  Waveform Vector File Right-click here.

Specifying Input Values Right-click under “Name”  Insert  Insert Node or Bus...

Specifying Input Values Left-click on the “KEY” signal. Left-click on the, then OK File  Save... H:\Physics536\FirstExample\Waveform1.wvf c

Configure the Simulator Processing  Simulator Tool Simulation input: H:\Physics536\FirstExample\Waveform1.wvf Click “Start”, then “Open” to examine the output.

Examine the Output Does this look right? We should expect only 1110, 1101, 1011 and 0111 to give and output of 1... Check the timing report...

Results of Timing Analysis Longest tpd (propagation delay) from source pin “KEY[1]” to destination pin “LEDG[0]” is ns. Increase period of each input vector from 10ns to 50 ns...

Simulation Analysis Now this looks like what one would expect. Try downloading the FPGA with this configuration and try it out.