Hardware Resources in Digital Systems Teaching

Similar documents
Digital Logic Design Lab

PINE TRAINING ACADEMY

Microprocessors/Microcontrollers

The University of Reduced Instruction Set Computer (MARC)

VHX - Xilinx - FPGA Programming in VHDL

High School PLTW Digital Electronics Curriculum

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

ECE 331 Digital System Design

INTRODUCTION OF MICROPROCESSOR& INTERFACING DEVICES Introduction to Microprocessor Evolutions of Microprocessor

ET285 Digital Electronics II [Onsite]

A Model for Experiment Setups on FPGA Development Boards

Project design tutorial (I)

PREFACE. Changes to the SOPC Edition

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

An FPGA Project for use in a Digital Logic Course

EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES

Teaching Computer Architecture with FPGA Soft Processors

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Design and Implementation of High Security Optical Shaft Encoder for an Artificial Limb using Xilinx on FPGA

Design a three-input, two-output sequential digital circuit which functions as a digital locking mechanism. LOCK ALARM

V1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives

Design Progression With VHDL Helps Accelerate The Digital System Designs

Digital Circuit Design Using Xilinx ISE Tools

Field Programmable Gate Array (FPGA)

Programmable Logic Devices

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

ENGIN 241 Digital Systems with Lab

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

Copyright 2011 R.S.R. Electronics, Inc. All rights reserved. 04/11. Ver. 1.0web

: SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF TELECOMMUNICATION COURSE PLAN

Memory and Programmable Logic

INTRODUCTION TO FPGA ARCHITECTURE

Pros and Cons of replacing discrete logic with programmable logic in introductory digital logic courses.

Chapter 13 Programmable Logic Device Architectures

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Programmable Logic Devices

Development of a digital instrument as a motivational component in teaching embedded computers

Follow-up question: now, comment on what each of these acronyms actually means, going beyond a mere recitation of the definition.

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Topics. Midterm Finish Chapter 7

B.Sc II Year Computer Science (Optional)

Recitation Session 6

Lab Manual for COE 203: Digital Design Lab

FPGA architecture and design technology

FYSE420 DIGITAL ELECTRONICS. Lecture 7

THE INTERNATIONAL JOURNAL OF SCIENCE & TECHNOLEDGE

Digital Electronics 27. Digital System Design using PLDs

Animation of a VHDL model in Modelsim using Tcl/Tk

Chapter 2 Logic Gates and Introduction to Computer Architecture

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

TEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE. Guoping Wang 1. INTRODUCTION

PROGRAMMABLE LOGIC DEVICES

Programmable logic technology

FPGA: What? Why? Marco D. Santambrogio

Programmable Logic Devices

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

DESIGN AND IMPLEMENTATION OF FPGA BASED MULTIPURPOSE REAL-TIME CONTROLLER FOR HYBRID STEPPER MOTOR

F.Y.B.Sc Eletronics COURSE OUTCOMES ELE 111: Analog Electronics I

Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

FPGA-BASED DATA ACQUISITION SYSTEM WITH RS 232 INTERFACE

Finite State Machine Lab

CS/EE Prerequsites. Hardware Infrastructure. Class Goal CS/EE Computer Design Lab. Computer Design Lab Fall 2010

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

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

This content has been downloaded from IOPscience. Please scroll down to see the full text.

COMP3221: Microprocessors and. Embedded Systems

Tutorial on VHDL and Verilog Applications

FPGA Interfacing of HD44780 Based LCD Using Delayed Finite State Machine (FSM)

Xilinx Project Navigator Reference Guide

EECS 3201: Digital Logic Design Lecture 7. Ihab Amer, PhD, SMIEEE, P.Eng.

Memory and Programmable Logic

PG Certificate. VLSI Design & Verification (RTL using Verilog, FPGA Design Flow & Verification) (Live Project)

Laboratory Finite State Machines and Serial Communication

NIOS CPU Based Embedded Computer System on Programmable Chip

Academic Course Description. VL2001 Digital System Design using Verilog First Semester, (Odd semester)

DIPLOMA COURSE IN ELECTRONICS AND COMMUNICATION ENGINEERING

VHDL. Chapter 1 Introduction to VHDL. Course Objectives Affected. Outline

Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition

RTL Coding General Concepts

FPGA for Dummies. Introduc)on to Programmable Logic

CPLD Software Tutorial FOR ALTERA MAX+PLUS II

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

32 bit Arithmetic Logical Unit (ALU) using VHDL

AC : INTRODUCING LABORATORIES WITH SOFT PROCES- SOR CORES USING FPGAS INTO THE COMPUTER ENGINEERING CURRICULUM

Topics. FPGA Design EECE 277. Interconnect and Logic Elements Part 2. Laboratory Assignment #1 Save Everything!!! Guest Lecture

Sequential Circuits. inputs Comb FFs. Outputs. Comb CLK. Sequential logic examples. ! Another way to understand setup/hold/propagation time

FPGAs in a Nutshell - Introduction to Embedded Systems-

EE 3170 Microcontroller Applications

(Refer Slide Time: 00:01:53)

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013

Electronic Engineering Part 1 Laboratory Experiment. Digital Circuit Design 1 Combinational Logic. (3 hours)

FPGA Development Board For Applications in Cosmic Rays Physics

Digital Electronics

COP 1170 Introduction to Computer Programming using Visual Basic

Introduction to VHDL Design on Quartus II and DE2 Board

Introduction to Field Programmable Gate Arrays

EE 1315 DIGITAL LOGIC LAB EE Dept, UMD

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

Transcription:

Hardware Resources in Digital Systems Teaching Yimin Xie, David Wong and Yinan Kong Department of Physics and Engineering Macquarie University Sydney, NSW 2109, Australia ABSTRACT This paper provides an overview of all the hardware resources necessary to support the delivery of a sequence of courses in digital systems covering digital fundamentals to hierarchical design of complex digital systems. An example of an effective approach to engineering education is shown through the use of these resources. Keywords: Digital Systems, Engineering Education, Hardware Design and Problem-Based Learning. 1. INTRODUCTION The scope of the materials covered in a sequence of courses in digital systems is very wide, and therefore, adequate hardware resources to support the teaching are imperative. Hardware trainers have been developed to satisfy this requirement in the author s department. Some trainers have been designed with a focus on a specific digital concept while others have a much wider application and provide resources for problem-based learning. Trainers of both types are described in this paper. The four courses involved in digital systems teaching consist of Digital Fundamentals (in the first year), Programmable Logic Design (in the second year) and Computer Hardware and Digital Systems Design (in the third year). The scope of the topics covered in the four courses is represented by the content of the textbooks and references shown below in Table 1. 2. CONCEPT-SPECIFIC TRAINERS This set of hardware is developed for the course of Digital Fundamentals. It also needs to be used for demonstrations in class as well as in large activities like university open days. All these require that the concept-specific trainers have to be easy to set up, and also that the PCB must be fully operational after the connection of the power supply (and clock). It must not require any additional wiring (or, in some cases, a minimum amount of wiring), and all the relevant signals must be labelled and monitored by lightemitting diodes (LEDs). For this reason, a typical trainer of this type was designed to include small interactive printed-circuit boards (PCBs) that focus on digital concepts of parity, multiplexing, adder/accumulators, flip-flops/counters, data bus and shift registers. Then the advantage is realized that the PCB is exercised by setting switches or pressing pushbuttons (to provide a single clock pulse), and by monitoring signals using the LEDs or a logic analyser. This exactly satisfies the requirement of a simple class demo and also achieves the aim of spurring the interest of new undergraduates in digital systems design. Figure 1 shows three of these PCBs. Table 1 Author(s) of Text/Reference Books Course Author Text/Reference Book Digital Fundamentals T. Floyd Text [1] Digital Fundamentals R. J. Tocci, N. S. Widmer and G. L. Moss Reference [2] Programmable Logic Design T. Floyd Reference [3] Computer Hardware P. Spasov Text [4] Computer Hardware R. J. Dirkman and J. Leonard Reference [5] Digital Systems Design C. H. Roth and L. K. John Text [6]

(a) Parity (b) Data Bus (c) Multiplexing Figure 1: Examples of Concept-Specific Trainers The present set of trainers has been implemented with medium-scale integrated circuits. Other concepts (such as error-correction codes) have been considered, and will probably have an implementation using complex programmable logic devices (CPLDs). 3. GENERAL-PURPOSE TRAINERS The general-purpose trainers focus on logic circuits and small/medium-scale integrated circuits (ICs). This type of trainer provides basic building blocks that may be interconnected by patch leads to build combinational or sequential circuits of simple or modest complexity. This is exactly the kind of techniques students need to be equipped with in their second and third year. Two versions of this type have been used in the experiments to enrich the students hands-on experience in circuit design. The first consists of a PCB with top-over-layer printing showing distinctive shapes of gates and flip-flops with associated sockets for inputs and outputs that may be physically interconnected. Each output is monitored by an LED, and constructed circuits may be exercised using switches and pushbuttons. The second version is a PCB with several zero-insertion-force (ZIF) sockets for small/medium-scale integrated circuits. This version provides students with the experience of selecting and handling a wide range of ICs. Figure 2 shows the two versions of general-purpose trainers described as the Digital Fundamentals Trainer and the Integrated Circuit Trainer. The integrated-circuit trainer contains only two 20-pin ZIF sockets. Circuits of greater complexity may be handled by the GAL8 Trainer which has eight 24-pin ZIF sockets. (a) Digital Fundamentals Trainer (b) Integrated Circuit Trainer Figure 2: General-Purpose Digital Trainers

4. PROGRAMMABLE LOGIC TRAINERS Programmable Logic Trainers are trainers that exploit the flexibility and immense functional capability of programmable logic devices (PLDs). They have been used in the experiment sessions in the course of Programmable Logic Design and Digital Systems Design. Programmable Logic Trainers have been developed using Generic Array Logic (GAL) devices and Field Programmable Gate Arrays (FPGAs). The GAL devices were chosen because their architecture, consisting of a programmable AND array followed by an OR gate and flipflop, with feedback connections from the flip-flop to the AND array, provides students with a smooth transition from concepts of finite state machines (FSMs) studied in the earlier course. Modern FPGA devices have a huge functional capability, and this type of PLD is the logical choice for the implementation of complex digital systems. In addition, the mandatory use of computer-aided-design (CAD) software introduces students to state-of-the-art procedures used in industry for the implementation, simulation and synthesis of FPGA- based systems. Figure 3 illustrates the programmable logic trainers. The GAL4 trainer consists of a PCB with four 20-pin ZIF sockets for four GAL16V8 devices. The GAL8 trainer consists of a PCB with eight 24-pin ZIF sockets for eight GAL22V10 devices, together with a microcontroller and a variable clock generator. An important feature of this type of trainer is that all outputs may be labelled and monitored with LEDs. In the case of the GAL8 trainer, there are 80 LEDs, and 32 signals may be monitored by a 32-channel logic analyser. The FPGA trainer consists of a FPGA (Spartan-3) development board interfaced to a desk-top computer with input and output boards. This system provides the capability to design and synthesise complex digital systems. The Xilinx Spartan 3 FPGA has sufficient capacity to design and build complex systems such as those developed for final-year thesis projects (e.g. [7]). 5. MICROCONTROLLER TRAINERS Microcontroller trainers have hardware and software resources that give students the experience of exercising and developing microcontroller-based systems. Microcontroller interfacing is important and experiments should cover parallel ports, serial ports, interrupts, timing and digital/analogue inputs/outputs. As bit-level manipulation is required, especially for a memory-mapped input/output architecture (such as that of the Motorola 68HC11 microcontroller), some experience with assembler coding is required. The microcontroller trainer consists of a microcontroller development board interfaced to a desktop computer and a specially designed input-output PCB. This supports a number of experiments on computer interfacing. the 68HC11 Evaluation Board and the Input/Output Board are shown in Figure 4. (a) GAL4 Trainer (b) GAL8 Trainer (c) FPGA Trainer with I/O boards Figure 3: Programmable Logic Trainers

(a) 68HC11 Evaluation Board (b) Input/Output Board Figure 4: Microcontroller Trainer 6. HARDWARE RESOURCES FOR PROBLEM- BASED LEARNING Problem-based learning (PBL) was a feature of a new course on Programmable Logic Design [8]. For this course, the main project involved the design, construction and testing of a digital controller to control the traffic lights of a complex traffic intersection. A PCB with LEDs in positions corresponding to those in the physical intersection was prepared to facilitate testing. This is shown in Figure 5 (a). To support those teams who may opt for VHDL implementation, a new PCB containing a CPLD and a microcontroller, together with a model of the intersection, has been developed. This is shown in Figure 5 (b). A PBL approach has also been used in the course Digital Systems Design, in which the main project is the development of a bus-structured computer. A hierarchical design approach has been used, and component modules are designed, built and tested using the GAL8 Trainer. To facilitate the development of a prototype, a PCB with a static RAM and tri-state buffers has been built. This is shown in Figure 5 (c). This PCB may also be used when a FPGA implementation using VHDL is chosen. The hardware resources for PBL have helped students gain the skills necessary to develop complex digital systems. 7. SOFTWARE RESOURCES The GAL-based experiments use OPALjr. This allows the use of Boolean algebra for the specification of combinational circuits for GAL outputs and flip-flop inputs. The microcontroller software used is the AS11 crossassembler. The FPGA experiments use Xilinx ISE Version 9.2.04i software (Xilinx, 2009) for schematic/vhdl entry, simulation and synthesis. (c) RAM & Tri-state Buffers (a) Traffic Intersection (b) CPLD & Traffic Intersection Figure 5: PBL Hardware Modules

8. CONCLUSION Hardware resources developed for digital systems teaching have been presented. Concept-specific and general-purpose logic trainers were developed for the introductory courses, programmable-logic trainers were aiming at handling complex digital systems and microcontroller trainers were particularly designed for the course on microcontroller teaching. In addition, dedicated hardware was implemented to assist with problem-based learning. All of these hardware resources have found their places and are playing an important role in the continuum of digital systems teaching. They help to integrate a systematical stream of digital systems in the education of Electronic Engineering in the author s department. [1] T. Floyd, Digital Fundamentals, 10 th ed., Pearson, 2009. [2] R. J. Tocci, N. S. Widmer and G. L. Moss, Digital Systems Principles and Applications, 10 th ed., Pearson, 2007 [3] T. Floyd, Digital Fundamentals with PLD Programming, Pearson, 2006. [4] P. Spasov, Microcontroller Technology The 68HC11 and 68HC12, 5 th ed., Pearson, 2004. [5] R. J. Dirkman and J. Leonard, 68HC11 Microcontroller Laboratory Workbook, Prentice Hall, 1996. [6] C. H. Roth and L. K. John, Digital Systems Design Using VHDL, Thomson, 2008. [7] A. Pattison-Clarke, The Design, Implementation and Operation of a Computer Peripheral Controlled by a Field Programmable Gate Array for the Acquisition, Processing and Display of Digital Data Streams. BE Thesis, Macquarie University. [8] Wong, Imrie and Xie, Problem Based Learning Applied to a New Unit of Study on Programmable Logic Design, Proceedings of Australasian Association for Engineering Education (AAEE), 2008.