Handouts. 1. Project Guidelines and DSP Function Generator Design Specifications. (We ll discuss the project at the beginning of lab on Wednesday)

Similar documents
Handouts. FPGA-related documents

An Introduction to Programmable Logic

DE2 Board & Quartus II Software

Introduction to VHDL Design on Quartus II and DE2 Board

EE 231 Fall Lab 1: Introduction to Verilog HDL and Altera IDE

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools

Digital Integrated Circuits

NIOS CPU Based Embedded Computer System on Programmable Chip

Terasic DE0 Field Programmable Gate Array (FPGA) Development Board

EE 231 Fall EE 231 Lab 2

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic

The QR code here provides a shortcut to go to the course webpage.

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

Field Programmable Gate Array (FPGA)

Digital Systems Laboratory

NIOS CPU Based Embedded Computer System on Programmable Chip

Lab 2: Introduction to Verilog HDL and Quartus

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier

CS310 Embedded Computer Systems. Maeng

FPGA How do they work?

Field Program mable Gate Arrays

Chapter 2 Getting Hands on Altera Quartus II Software

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

Typical applications where a CPLD may be the best design approach:

Laboratory Exercise 3

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA

PRELAB! Read the entire lab, and complete the prelab questions (Q1- Q3) on the answer sheet before coming to the laboratory.

Advanced Digital Design Using FPGA. Dr. Shahrokh Abadi

Introduction to reconfigurable systems

CMPE 415 Programmable Logic Devices Introduction

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

PART 1. Simplification Using Boolean Algebra

MAX 10 FPGA Device Overview

Experiment 3. Digital Circuit Prototyping Using FPGAs

ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

Intel MAX 10 FPGA Device Overview

EN2911X: Reconfigurable Computing Lecture 01: Introduction

Field Programmable Gate Array (FPGA) Devices

ALTERA FPGAs Architecture & Design

Low Power Design Techniques

FABRICATION TECHNOLOGIES

Programmable Logic Devices

LSN 6 Programmable Logic Devices

Verilog for High Performance

2 nd Year Laboratory. Experiment: FPGA Design with Verilog. Department of Electrical & Electronic Engineering. Imperial College London.

Hardware Design with VHDL PLDs IV ECE 443

Design Guidelines for Optimal Results in High-Density FPGAs

CPE 200L LABORATORY 4: INTRODUCTION TO DE2 BOARD UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND:

ECE 448 Lecture 5. FPGA Devices

DSP Research Project

Field Programmable Gate Array

Lecture 41: Introduction to Reconfigurable Computing

Quick Tutorial for Quartus II & ModelSim Altera

PINE TRAINING ACADEMY

System-on-a-Programmable-Chip (SOPC) Development Board

Tutorial on Quartus II Introduction Using Verilog Code

Advanced course on Embedded Systems design using FPGA

Design Methodologies and Tools. Full-Custom Design

Design and Application of a Reconfigurable Embedded system

Logic Optimization Techniques for Multiplexers

Addition of Unsigned Binary Numbers Using FPGA

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

Design Methodologies. Full-Custom Design

Simulating the ASMI Block in Your Design

Physics 536 Spring Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board.

structure syntax different levels of abstraction

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

MAX 10 FPGA Device Overview

Introduction to the Altera SOPC Builder Using Verilog Design

Microtronix Firefly II Module

Programmable Logic Devices FPGA Architectures II CMPE 415. Overview This set of notes introduces many of the features available in the FPGAs of today.

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

discrete logic do not

Section I. Cyclone II Device Family Data Sheet

Section I. Cyclone II Device Family Data Sheet

ECE 353 Lab 3. MIDI Note Number Display. Lab Info. Electrical and Computer Engineering

VLSI Design Automation

DSP Research Project

My First FPGA for Altera DE2-115 Board

Usable gates 600 1,250 2,500 5,000 10,000 Macrocells Logic array blocks Maximum user I/O

CHAPTER 2 LITERATURE REVIEW

FPGA architecture and design technology

EET 1131 Lab #7 Arithmetic Circuits

9. Building Memory Subsystems Using SOPC Builder

System-on Solution from Altera and Xilinx

PCI to SH-3 AN Hitachi SH3 to PCI bus

VHDL for Synthesis. Course Description. Course Duration. Goals

Group 10 Programmable Sensor Output Simulator Progress Report #2

ECE 437 Computer Architecture and Organization Lab 6: Programming RAM and ROM Due: Thursday, November 3

RTL Coding General Concepts

Feature EPF10K30E EPF10K50E EPF10K50S

Implementing the Top Five Control-Path Applications with Low-Cost, Low-Power CPLDs

CS/EE Computer Design Lab Fall 2010 CS/EE T Th 3:40pm-5:00pm Lectures in WEB 110, Labs in MEB 3133 (DSL) Instructor: Erik Brunvand

Laboratory Exercise 8

QUARTUS II Altera Corporation

Tutorial for Altera DE1 and Quartus II

Transcription:

Handouts Project-related documents 1. Project Guidelines and DSP Function Generator Design Specifications. (We ll discuss the project at the beginning of lab on Wednesday) FPGA-related documents 2. Introduction to Verilog, P. M. Nyasulu and J. Knight, Carleton University, 2003 (Ottawa, Canada). 3. Quick Reference for Verilog HDL, R. Madhavan, AMBIT Design Systems, Inc, Automata Publishing Company, 1995 (San Jose, CA).

Introduction to FPGAs Outline: 1. What s s an FPGA? logic element fabric, i.e. logic gates + memory + clock trigger handling. 2. What s s so good about FPGAs? FPGA applications and capabilities FPGAs for physicists 3. How do you program an FPGA? Intro to Quartus II Schematic design Verilog HDL design

What s s an FPGA An FPGA is: - a Field Programmable Gate Array. - a programmable breadboard for digital circuits on chip. The FPGA consists of: - programmable Logic Elements (LEs). - programmable interconnects. - custom circuitry (i.e. multipliers, phaselock loops (PLL), memory, etc ). Programmable Interconnects Programmable Logic [Figure adapted from Low Energy FPGAs Architecture and Design, by V. George and J. M. Rabaey, Kluwer Academic Publishers, Boston (2001).]

Logic Element (LE) An FPGA consists of a giant array of interconnected logic elements (LEs( LEs). The LEs are identical and consist of inputs, a Look-Up Table (LUT), a little bit of memory, some clock trigger handling circuitry, and output wires. inputs clock signals LUT CLOCK triggers Memory (a few bits) global local outputs feedback Figure: Architecture of a single Logic Element

Interconnect Architectures Island Style Architecture Row-Column Architecture Sea-of-Gates Architecture Hierarchical Architecture

FPGA devices (I) 2 primary manufacturers: 1. Xilinx (founded by Ross Freeman, original inventor of FPGAs in 1984). 2. Altera: we will use an Altera Cyclone II FPGA and associated design software, Quartus II, in the course. Other specialty FPGA manufacturers: Achronix, Actel, Atmel, Cypress, Lattice Semiconductor, MathStar, QuickLogic, etc 100-pin TQFP package [www.digikey.com] 240-pin PQFP package [www.21control.com] 1508-pin BGA package [www.digikey.com]

FPGA devices (II) 4k 300k LEs. Clock speeds: 100-500 MHz (1 GHz in the works). Most FPGA circuit implementations will run a little slower than the maximum clockspeed. Memory: 10 Kbytes 10 Mbytes. i/o pins: up to 1200. Price range: $10 - $7k [figure from www.fys.uio.no]

Applications Low-cost customizable digital circuitry Can be used to make any type of digital circuit. Rapid with product development with design software. Upgradable. Sort of like soft-hardware [R. G. Shoup]. High-performance computing Complex algorithms are off-loaded to an FPGA co-processor. Application-specific hardware. FPGAs are inherently parallel and can have very efficient hardware algorithms: typical speed increase is x10 - x100. Evolvable hardware Hardware can change its own circuitry. Neural Networks. Digital Signal Processing Reconfigurable DSP hardware. In principle, DSP can simulate any analog circuit in combination with DACs and ADCs (still requires amplifiers, though).

FPGAs for physicists Physicists use FPGAs in the following applications: Coincidence triggering (particle physics & quantum optics). DSP circuits. Specialty filters. Customizable feedback loops (Atomic Physics). Lock-in amplifiers (Atomic and Solid State Physics). Multi-channel analyzers (Particle, Nuclear, & Atomic Physics). etc Digital Advantage: Once Once a signal signal is is digital, digital, processing does does not not add add any any noise noise (the (the ADCs ADCs and and DACs DACsdo do add add noise). noise).

The DE2 development board We will use the DE2 development board from Altera for all of the FPGA labs

DE2: important stuff 5 V power DE2-Computer USB-blaster FPGA program flash memory On/Off USB-blaster chips Run & program LEDs Expansion Header i/o ports FPGA chip ext. clock input switches

DE2: important specs FPGA chip: - Cyclone II: EP2C35F672C6N - 33,216 LEs. - 60 Kbytes of on-chip memory. - 35 18-bit x 18-bit multipliers. - 4 Phase Lock Loops (PLLs). - ~260 MHz DSP speed. - 90 nm technology. - 475 i/o lines. - 672 BGA package. FPGA configuration chip: - EPCS16 configuration device. - 2.1 Mbytes of Flash memory. - Stores the FPGA circuitry program when DE2 is off. - Used for Active Serial (AS) programming.

FPGA programming 1. Start project in Quartus II. 2. Enter design via Schematic file or Verilog HDL program. 3. Compile. 4. Check compilation in Technology Viewer. 5. Assign input and output variables to actual i/o pins. 6. Compile. 7. Simulate the circuit. 8. Load circuit into FPGA. 9. Test circuit.

Verilog HDL We will use Verilog HDL (Hardware Description Language) to program the FPGA. (not to be confused with VHDL, another FPGA language) A Verilog program describes how the LEs are configured and connected. This is different from a regular program which is a series of sequential instructions to the CPU and some memory handling. Advantages: - Sort of like C programming. - You don t have to figure out the exact circuitry. (the compiler does it for you) - Easier and faster to make more complex circuit designs. - You can use a vast programming libraries (IP cores). IMPORTANT: Always Always comment your your Verilog Verilog code. code.

2 input 1-bit adder: Verilog program

Verilog program 2 input 1-bit adder: comments little-endian binary bit array (i.e. binary number) assign: hardwires the input to the output.

Verilog program 2 input 1-bit adder: comments little-endian binary bit array (i.e. binary number) assign: hardwires the input to the output. Same thing, but easier:

Some Verilog tid-bits Input [2:0] input1; Input [0:2] input2; // 3-bit input array in little-endian format. // 3-bit input array in big-endian format. Set input1 equal to 6 in binary. Assign input1[0] = 0; Assign input1[1] = 1; Assign input1[2] = 1; or Assign input1 = 3 b110; Set input2 equal to 6 in binary. Assign input1[0] = 1; Assign input1[1] = 1; Assign input1[2] = 0; or Assign input1 = 3 b011; Set number width Actual number Set number type b=binary d=decimal O=octal h=hexadecimal