FPGA-BASED EDUCATIONAL LAB PLATFORM

Similar documents
IMPLEMENTATION OF A BINARY SELECTION SYSTEM CREATED IN XILINX USING FPGA

Programmable Logic Design I

ENGG2410: Digital Design Lab 5: Modular Designs and Hierarchy Using VHDL

Electrical and Telecommunications Engineering Technology_TCET3122/TC520. NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

COE328 Course Outline. Fall 2007

EEM Digital Systems II

Review : 2 Release Date : 2019 Last Amendment : 2013 Course Code : SKEE 2742 Procedure Number : PK-UTM-FKE-(0)-10

Spartan-II Development System

Microprocessor Design

VHDL Upgrading of a TNT2 card

LAB #4 SEQUENTIAL LOGIC CIRCUIT

Why FPGAs? FPGA Overview. Why FPGAs?

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA

Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and Signoff due Week 6 (October 4)

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design. Laboratory 3: Finite State Machine (FSM)

CHAPTER 3 EXPERIMENTAL SETUP

Memec Spartan-II LC User s Guide

Authentic Time Hardware Co-simulation of Edge Discovery for Video Processing System

Main Design Project. The Counter. Introduction. Macros. Procedure

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

Figure 1 Block diagram of a 4-bit binary counter

Main Design Project. The Counter. Introduction. Macros. Procedure

1. Synopsis: 2. Description of the Circuit:

Spartan-II Development System

COMPUTER ENGINEERING PROGRAM

MUHAMMAD NAEEM LATIF MCS 3 RD SEMESTER KHANEWAL

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:

Design and analysis of microcontroller system using AMBA- Lite bus

MODULAR DIGITAL ELECTRONICS TRAINING SYSTEM

Embedded System Training Module ABLab Solutions

AC : DIGITAL DESIGN MEETS DSP

Examples of FPLD Families: Actel ACT, Xilinx LCA, Altera MAX 5000 & 7000

Using the XSV Board Xchecker Interface

Digital Systems Laboratory 1 IE5 / WS 2001

Digital Systems Design

Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift Register. Fall 2017

Experiment # 12. Traffic Light Controller

North Shore Community College

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 2200

Alice EduPad Board. User s Guide Version /11/2017

Field Programmable Gate Arrays (FPGAs)

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

Topics of Discussion

EXOSTIV TM. Frédéric Leens, CEO

ECE 270 Lab Verification / Evaluation Form. Experiment 9

University of Pennsylvania Department of Electrical and Systems Engineering. Digital Design Laboratory. Lab8 Calculator

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique

VeriLab. An introductory lab for using Verilog in digital design (first draft) VeriLab

Laboratory 4. Figure 1: Serdes Transceiver

Ryerson University Department of Electrical and Computer Engineering EES508 Digital Systems

Lab 13: FPGA Circuit Realization Ian Callahan

PHYSICS 5620 LAB 9 Basic Digital Circuits and Flip-Flops

Using the XC9500/XL/XV JTAG Boundary Scan Interface

Inside Digital Design Accompany Lab Manual

APPLICATION NOTE 4312 Getting Started with DeepCover Secure Microcontroller (MAXQ1850) EV KIT and the CrossWorks Compiler for the MAXQ30

March 13, :36 vra80334_appe Sheet number 1 Page number 893 black. appendix. Commercial Devices

Register Transfer Level in Verilog: Part II

A Matlab-Based Teaching Tool for Digital Logic

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

AN ADVERTICING MODUL, DEVELOPED ON THE BASE OF A CPLD PROGRAMABLE DEVICE

FPGA Design. Part I - Hardware Components. Thomas Lenzi

DE2-115/FGPA README. 1. Running the DE2-115 for basic operation. 2. The code/project files. Project Files

Switching Circuits & Logic Design, Fall Final Examination (1/13/2012, 3:30pm~5:20pm)

FPGA Design with VHDL

CPE 329: Programmable Logic and Microprocessor-Based System Design

ECE 372 Microcontroller Design

Lab 4: Hex Calculator

DIGITAL SYSTEM DESIGN UNIT I (2 MARKS)

Combo Board.

ASTRIX ASIC Microelectronics Presentation Days

L12: Reconfigurable Logic Architectures

Rensselaer Polytechnic Institute Computer Hardware Design ECSE Report. Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Computer Systems Architecture

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

CHAPTER1: Digital Logic Circuits

LMH0340/LMH0341 SerDes EVK User Guide

Figure 1: segment of an unprogrammed and programmed PAL.

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

ET398 LAB 4. Concurrent Statements, Selection and Process

CPE 200L LABORATORY 3: SEQUENTIAL LOGIC CIRCUITS UNIVERSITY OF NEVADA, LAS VEGAS GOALS: BACKGROUND: SR FLIP-FLOP/LATCH

Chapter 5 Flip-Flops and Related Devices

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

RELATED WORK Integrated circuits and programmable devices

EE 210. LOGIC DESIGN LAB.

Field Programmable Gate Array (FPGA) Based Trigger System for the Klystron Department. Darius Gray

AbhijeetKhandale. H R Bhagyalakshmi

Laboratory Exercise 7

Copyright 2011 by Enoch Hwang, Ph.D. and Global Specialties. All rights reserved. Printed in Taiwan.

Digital. Digital. Revision: v0.19 Date: : / 76

L11/12: Reconfigurable Logic Architectures

Design of VGA Controller using VHDL for LCD Display using FPGA

Lab # 9 VGA Controller

Chapter 2. Digital Circuits

of Boundary Scan techniques.

Transcription:

FPGA-BASED EDUCATIONAL LAB PLATFORM Mircea Alexandru DABÂCAN, Clint COLE Mircea Dabâcan is with Technical University of Cluj-Napoca, Electronics and Telecommunications Faculty, Applied Electronics Department, 24-26, Baritiu, Cluj-Napoca, ROMANIA, E-mail: Mircea.Dabacan@ael.utcluj.ro Clint Cole is with Washington State University, Electrical Engineering and Computer Science Department, Spokane Street, Pullman, Washington 99164-2752, USA, E-mail: ccole@eecs.wsu.edu Abstract: The paper describes a lab platform to study digital design, HDL usage and FPGA implementation. A demo board, the appropriate software tools and an example project are briefly presented. Key words: FPGA, VHDL, Digital Design, Education. 1 INTRODUCTION Developing a medium or large digital design is a laborious work. CAD software tools can help in the project description and simulation, while prototype boards are useful to test the design before implementing it in the target technology. On the other hand, learning digital design itself, the CAD tools usage and FPGA basics needs both experimental platforms and educational programs to gradually increase the complexity of projects. The paper describes a lab platform, composed of a prototype board, the set of lab themes and the design software. Altogether, they can be used either by undergraduate students learning digital design classes and HDL software, or by engineers upgrading their knowledge in the field. 2 THE PROTOTYPE BOARD DIGILENT SA, a small company in Pullman, Washington State, USA, in close cooperation with the Washington State University department of Electrical Engineering and Computer Science, developed a family of prototype boards, all of them around Xilinx FPGA circuits. Two generations are currently available: - DIGILAB board, centered on Spartan family of FPGA circuits (XCS05 or XCS10); - DIGILAB II board, using the Spartan II family representative circuit XC2S200. Both boards provide, beside the core FPGA device, interface circuits to connect to a PC parallel port (to download the configuring file to the target device), several common input/output circuits/connectors assigned to FPGA pins, and a prototype area. A summary of the provided features follows: 1 of 6

DIGILAB board: - FPGA supported:- XCS05 (238 logic cells, 5000 logic gates equivalent), or - XCS10 (466 logic cells, 10000 logic gates equivalent); - FPGA socket: - PQ84; - Supporting (recommended) software: - Xilinx Foundation Series V1.5, Student Version; - Configuring file load sources: - PC parallel port (either direct or trough JTAG interface), - on board serial ROM socket (stand alone board); - Digital input circuits (on board): - 8 sliding switches, - 4 push buttons; - Digital output circuits (on board): - 8 LEDs, - 4 digit time-multiplexed seven-segment LED display; - Standard input/output connectors (on board): - RS232 serial port, - parallel port (for programming or general purpose), - PS2 keyboard connector, - VGA connector (1 bit/color only, resistor weighted), - stereo audio jack (not connected, to be used in conjunction with prototype area developed circuit), - two BNC connectors (not connected, to be used in conjunction with prototype area developed circuit); DIGILAB II board: - FPGA: - XC2S200 (5292 logic cells, 200.000 logic gates equivalent); - Supporting (recommended) software: - Xilinx CPLD WebPack ISE; - Configuring file load sources: - PC parallel port (either direct or trough JTAG interface), - on board serial ROM socket (stand alone board); DIGILAB II DIGITAL I/O board (daughter board for DIGILAB II): - Digital input circuits: - 8 sliding switches, - 15 push buttons keyboard (2 of 6 encoded); - Digital output circuits: - 16 LEDs, - 4 digit time-multiplexed seven-segment LED display; - 16 character alphanumeric LCD display; - Standard input/output connectors: - PS2 keyboard connector, - VGA connector (2R+3G+3B bit, resistor weighted), DIGILAB II ANALOG board (daughter board for DIGILAB II soon available); 2 of 6

3 THE SOFTWARE TOOLS Xilinx Foundation Series V1.5, Student Version is available on CD-ROM, attached to a series of Digital Design Books edited by Prentice Hall. Each book provides a serial number, which allows obtaining the license file, trough Internet. The license file depends on the Hard Disk serial number, that means is only appropriate to a single target computer. Three license files can be obtained for each software serial number. The Xilinx supported devices include Spartan FPGA family. Xilinx CPLD WebPack ISE is free downloadable at the site: http://www.xilinx.com/xlnx/xil_prodcat_landingpage.jsp?title=ise+webpack The user has to register itself at the same site (free also). The software is modular, each user has to choose the appropriate set of needed modules for the used hardware configuration. Only the simulation module needs a license file, which is free also. The Xilinx supported devices include Spartan II FPGA family. Both mentioned software tools provide similar features: - Design Input File format: - Schematic, using standard digital devices library (Xilinx Foundation Series only) or user defined modules (described in one of following formats and used in a hierarchical architecture); - State Machine Transition Diagram, for sequential designs; - High level Description Languages (VHDL or Verilog). - Simulation tool to verify the project behavior. The input signals can be simulated: - manually, step by step; - using a command file to generate the desired test sequence. - Implementation to the target device. Implementation reports allow analyzing the placing, resource usage degree, time requirements, etc. - Verification of timing behavior: - timing simulation; - timing analyzer. - Programming the device. The software can generate: - the file for direct programming the target device. The link can use: - parallel cable (direct or using a JTAG adapter); - serial cable; - the file to be written in the serial PROM. Using this feature, the board can work without a connection to a PC. 4 THE LAB THEMES A set of lab themes was developed to cover different levels of student knowledge. They start with simple themes, as building (using schematic tools), simulating and implementing simple combinatorial circuits, basic memory devices (NAND and NOR memory cells, D, JK flip-flops, etc.) and grow to complex digital or mixed signal projects (a PC keyboard controlled audio synthesizer, a VGA display controller to generate a game play field, etc). 3 of 6

Figure 2 presents a medium complexity project example: a controller for a twofloor elevator simulator. The student receives an incomplete project containing an input signal DEBOUNCER, a SIMULATOR that uses Digilab s seven-segment displays to simulate elevator behavior (see figure 1) and a DEF_SIM macro to simulate sensor failures. The student must fulfill the project, designing and implementing an elevator controller (ELEV_0M) to create an elevator with typical features. Simulates elevator car moving up and down Simulates inner door at upper level Simulates outer door at upper level Simulates walls Simulates door at lower level Simulates inner door at lower level Lower level doors closed Lower level doors open Elevator in motion Upper level doors open Seven-segment display elevator simulator Figure 1 Using the 7-segment display to represent the elevator. Four examples of elevator simulator states The elevator must respond to a call request at the upper or lower floor by: proceeding to the floor if not already there; opening the doors for a sufficient amount of time; closing the doors, and then waiting for an internal button press. A timer module is provided that to generate sufficient wait times (accessed via the Timer and Enable Timer signals). The timer function should be enabled only when it is required, and left inactive at all other times. The elevator controller requires 10 external inputs (see list below). Two of these inputs model user inputs (push buttons), and eight model sensor inputs. 9 output signals control main and door motors and a timer. Figure 2 The project block diagram (highest hierarchical level) 4 of 6

Figure 3 The state diagram edited using the Xilinx Foundation Series State Editor. The student uses the State Diagram input software feature to generate the ELEV_0M macro, as shown in figure 3. The macro is then used in the block diagram (as shown in figure 2) to replace U8, and the whole project is compiled and downloaded to the target FPGA. 5 of 6

Inputs: Buttons: - inner - Go Upper level = GU - Go Lower level = GL - outer - Appeal Upper level = AU - Appeal Lower level = AL Note: instead of signals above, use BU=Button Up and BD=Button Down: BU=GU+AU and BU=GU+AU Sensors: - doors - external Upper door Open = UO - external Lower door Open = LO - Inner door Open = IO - external Upper door Closed = UC - external Lower door Closed = LC - Inner door Closed = IC - level arrived - Level Up arrived = LU - Level Down arrived = LD - timer - Timer out = T States: Waiting at Upper level Closed doors = WUC Elevator Going Down = EGD Opening Doors at Lower level = ODL Waiting at Lower level Open doors =WLO Closing Doors at Lower level = CDL Waiting at Lower level Closed doors = WLC Elevator Going Up = EGU Opening Doors at Upper level = ODU Waiting at Upper level Open doors = WUO Closing Doors at Upper level = CDU Outputs: Main motor: - Go Up = MU - Go Down = MD Doors: - Close Upper door = CU - Close Lower door = CL - Close Inner door = CI - Open Upper door = OU - Open Lower door = OL - Open Inner door = OI Timer: - Enable Timer = ET (timer is continuously reset when ET=0) 5 CONCLUSIONS The lab platform is used since several years at Washington State University for Digital Design classes (EE214 and EE324) and in Introduction to Microprocessors class (EE314). At Technical University of Cluj-Napoca, the lab platform is used both for an Advanced Digital Design class and as support for graduation works. The co-operation of the two Universities began in 1999-2000 academic year, when Mircea Dabâcan was invited as Visiting Professor at WSU, and consists in developing new lab themes. The lab boards are sold worldwide by Digilent SA (www.digilent.cc). REFERENCES [1] Clint Cole & Mircea Dabâcan, (2000), EE324 Lab Manual, Washington State University, 57 pg. [2] -, (1998), The Programmable Logic Data Book, Xilinx Inc., 695 pg. [3] David Van den Bout, (1999), The Practical Xilinx Designer Lab Book, Version 1.5, Prentice Hall, 450 pg. ISBN 0-13-021617-8 Notes: Xilinx, Spartan, Spartan II, Foundation Series, CPLD WebPack ISE are registered trademarks of Xilinx, Inc. Digilent, Digilab, Ddigilab II are registered trademarks of Digilent SA. 6 of 6