How to Integrate FPGAs into a Computer Organization Course
|
|
- Janice Green
- 6 years ago
- Views:
Transcription
1 How to Integrate FPGAs into a Computer Organization Course Michael J Jipping jipping@cs.hope.edu Sara Henry sara.henry@hope.edu Kathleen Ludewig kathleen.ludewig@hope.edu Leslie Tableman leslie.tableman@hope.edu ABSTRACT A crucial part of the Computer Organization course is the examination of and experimentation with digital logic circuits. In departments with limited budgets, however, this activity can be problematic. Due to historical roots and enrollment sizes, departments tend to focus on software aspects of computer science. This means that hardware concerns are often relegated to textbook and paper-and-pencil examination. This paper details how to use field programmable gate arrays hardware gates with a programming interconnection switch in the Computer Organization course. We will overview the reasons for using them, outline ways to use them effectively and cheaply, and demonstrate FEWD, our system for integrating visual design with FPGAs for student experimentation. Categories and Subject Descriptors K.3 [Computers & Education]: Computer and Information Science Education Computer Science Education. General Terms Experimentation, Design, Human Factors Keywords FPGA, computer organization, digital logic circuit, simulation 1 INTRODUCTION In the computer science curriculum, the Computer Organization course stands out by virtue of its requirements. The course is introductory by nature and needs to be approachable by most first-year students. It combines discrete mathematics with hardware design and assembly language programming. It requires that new and difficult subject matter be delivered to the student through hands-on experimentation-based activities. Active learning and experimentation in a Computer Organization course can be difficult because of the variety of material in the course and the speed with which it is delivered. In addition, the course focuses on hardware aspects of computer science and these aspects can be difficult to demonstrate. Breadboards are inexpensive, but limited in use; full-blown fabrication systems are too expensive and unnecessary for this type of use. This paper documents a system design that we are using to facilitate the use of inexpensive field programmable gate arrays (FPGAs) as hardware experimentation platforms in our Computer Organization course. We will begin with our motivation and how FPGAs fit into our Computer Organization course. We will then outline the methods we use to integrate FPGAs with visual design systems to minimize learning curves. We will conclude with some suggestions on pedagogical ways to include FPGAs using our methods. 2 BACKGROUND AND MOTIVATION The Computer Organization course is often a course with several, often separate, modules. This course is meant to allow students to apply discrete mathematics concepts to digital logic design, to briefly explore computer architecture, and to dabble in assembly language programming, often as a way to exemplify the circuit and architecture material. Along the way, students are asked to experiment in all of these areas. It is a fast-paced course with little time to spend learning development systems. Because of these constraints, the digital logic portion of the course is often taught using pencil-and-paper circuit design or by using simulation systems that require only a small learning
2 curve. Systems like the Iowa Logic Simulator [4], xlogiccircuits[2] or DLSim [1] all require little in the way of learning curve and provide an adequate simulation environment. However, these simulation systems do not provide the possibility of a real implementation. A real implementation environment would be able to give valuable experience as to the constraints of real systems, would allow a student to experiment with systems that he or she might actually design circuits for, and would support active learning and experimentation in ways that a simulation environment can not. Note that, if real hardware systems were to be injected into the Computer Organization course, the constraints of the course still remain the same. This means that the learning curve must be easy to ride over and the system used must integrate with existing tools that make the course move along quickly. We have developed FEWD (FPGAs in Education With DLSim) as a way to integrate a simulation environment with industry standard FPGA hardware. We use an off the shelf FPGA system that has many industrial uses and we integrate it with a visual simulation and development environment that is in use in many schools. The result is a real hardware system that shoehorns cleanly into the Computer Organization course, giving students an effective hardware experimentation platform. 3 CIRCUIT DESIGN AND DEPLOYMENT Our goal was to have students visually design a circuit and then test that design on hardware without having to spend much time learning to deal with how to use the hardware. To accomplish this task we have streamlined a transformation process so that the student has only three steps from visual design to hardware implementation. The student creates and saves a circuit in DLSim 2.2, invokes a Perl script, which translates the circuit design and downloads it to the FPGA, and then interacts with the circuit as it runs on the hardware. 3.1 Choosing the Design Platform Choosing the visual design tool for students to work with was the crucial first step. We reviewed technology used to teach logic circuit design as discussed in the literature [5]. These references directed us to many good simulators, including Digital Workshop [3], Multimedia Logic [5], DLSim, and xlogiccircuits. We developed a set of criteria that we applied to all simulators. We analyzed such features as the graphic user interface, ease of use, ability to debug, save and load functions, and the ability to make embedded circuits. Embedded circuits are particularly important. These are previously created circuits that are inserted into another circuit without displaying the inner workings of itself, thus adding it as an abstraction. The use of embedded circuits simplifies the visual display of a circuit, making it easier to manipulate and easier to debug. In addition, it fits with the student s understanding of object orientation and abstraction concepts. We included in our evaluation an analysis of a tool from Xilinx. Xilinx is one of the top distributors of FPGAs and they distribute free software that can be used to create circuits and download them onto a FPGA. The two applications provided by Xilinx are ModelSim and ISE Webpack [7]. We included these tools in our evaluation. We chose DLSim to be our design platform. It has a simple user interface that makes learning how to use the software easy. In addition, the implementation of embedded circuits in DLSim is easy and straightforward. To create an embedded circuit in DLSim, the user loads in a saved circuit, which differs from some of the other simulators that we had looked at. DLSim s method of inserting embedded circuits allows the user to create a simple circuit only once that can be imported into any future circuits. Other simulators that we evaluated allowed the users to turn a simple circuit within another circuit into an embedded circuit only for visual purposes, which meant that the simple circuit had to be recreated each time it was needed in a new circuit. DLSim's ease of use is what set it apart from all of the other simulators that we evaluated. It is a simple program that students will be able to understand and it provides visual output that we felt would increase a student s understanding of digital logic. DLSim allows its users to turn switches on and off, automatically displaying the effect that it has on the circuit. This allows the user to easily debug a circuit, plus it highlights the inner workings of the circuit. DLSim also has an option to save a circuit in XML. Having the circuit in XML presented a number of different possibilities for us and enabled the conversion process from design to FPGA. Figure 1: Diagram of the streamlined process to get a circuit in XML downloaded onto an FPGA
3 3.2 Moving the Circuit Design to an FPGA The most challenging part of this project was designing the process of transferring a circuit design from the visual representation in DLSim to the FPGA hardware that students can manipulate for hands-on interaction with their circuit. In order to make the process of downloading a circuit manageable for students, it is necessary to provide a way to hide the different programs that need to be used. We decided to streamline the process by using Perl. There are a total of eight steps involved in transferring a circuit designed in DLSim to the FPGA. Each of these steps, except the first, is executed by a Perl script. The individual scripts are controlled by an umbrella Perl script that the students execute from the command line. This whole process runs in a Windows environment. We have outlined the steps in the transformation system below and depicted them in Figure1. 1. Design a circuit The process begins as the student designs his or her circuit in DLSim. After designing the circuit, the student is required to save it in XML format, which is an option offered by DLSim. 2. Pre-process the circuit In order for the translation process to work correctly, there are certain guidelines that the students must follow. Most of the requirements can be easily checked in the XML code, so a Perl script checks the XML and makes sure the circuit is ready for translation. the limited nature of variables in XSLT. The script outputs a new VHDL file. 7. Translate VHDL and pin specification into a bit file The final step is to create a downloadable file in a format that can control the hardware. We developed a batch file that would successfully run Xilinx ISE to achieve this. 8. Transfer onto FPGA The last step is to transfer the circuit onto the FPGA. Xilinx s software package includes a program that does the transferring. It has command line capabilities, so we wrote a batch file that would take care of the process without opening the program s GUI. We use the Spartan 3 FPGA and starter kit from Xilinx for our FEWD system [8]. 3.3 An Example Consider an example to demonstrate the entire design process. First, a student will design a circuit in DLSim. Figure 2 depicts a simple circuit as drawn in DLSim. This circuit takes two fourbit inputs labeled A0 through A3 and B0 through B3 - - and produces their sum on outputs labeled Sum0 through Sum3. The boxes labeled fulladder2 are embedded circuits, quite probably circuits designed in class as examples and provided to students to use. (Many circuits designed in class are provided as embedded circuits for students to build their designs on.) 3. Generate individual XML files Any embedded circuits within the main circuit need to have their own XML files for the rest of the system to work properly. A Perl script pulls the necessary XML code from the main circuit and creates a new file with it. 4. Generate pin specification In order to manipulate the input and view output of a circuit on the FPGA, the switches, bulbs, and LEDs must be assigned to the corresponding places on the FPGA where the input and output are located. The process of assigning pins and knowing which ones to assign was one of the more confusing parts of the software, so we developed an XSLT script that would do this for the students. However, for the process to work correctly, the students do have to conform to guidelines, which they will receive with the specification on how to use the process we developed. The XSLT schema produces a file which Xilinx ISE references to create the final download format. 5. Translate circuit into VHDL We use Xilinx ISE software to download the circuit design to the FPGA hardware. ISE needs circuits described in VHSIC Hardware Design Language (VHDL), so we developed an XSLT script that translates DLSim s XML into VHDL. 6. Insert signals into the VHDL The VHDL file that is created by the XSLT program is then passed to another Perl script. This script checks for any open connections and inserts any needed signals, which are needed if one gate is connected to another gate. This step was necessary due to Figure 2: Four-bit Adder in DLSim After designing the four-bit adder circuit, the student must then save the circuit in the native.cct file format of DLSim. Once the.cct file has been saved, the user must also save the circuit as an XML file. The XML generated from the above diagram would look something like the fragment: <circuit name="fulladder8"> <circuit name="fulladder2">... </circuit> <switch id="fulladder8:switch0" label="a0">
4 <switch id="fulladder8:switch1" label="a1"> <switch id="fulladder8:switch2" label="a2"> <switch id="fulladder8:switch3" label="a3"> <switch id="fulladder8:switch4" label="b0"> <switch id="fulladder8:switch5" label="b1"> <switch id="fulladder8:switch6" label="b2"> <switch id="fulladder8:switch7" label="b3"> <bulb id="fulladder8:bulb8" label="sum0"> <bulb id="fulladder8:bulb9" label="sum0"> <bulb id="fulladder8:bulb10" label="sum1"> <bulb id="fulladder8:bulb11" label="sum2"> </circuit> The student then invokes a Perl script with the name of the circuit as input in this case fulladder8. This Perl script checks to make sure that a student has included their name, assignment, and date as labels in DLSim and followed the designated restrictions on the number of inputs and outputs. The Perl script prints out its progress every step of the way, letting the student know which files have been retrieved, created, and deleted during the transformation process. If the student followed the guidelines, the Perl script will invoke the XSLT files that will convert the circuit to VHDL and assign pins for the inputs and outputs. The resulting VHDL code will then be checked by the Perl script for loose connections and will insert any necessary signals for connections between gates and wires. One VHDL file is generated for each circuit tag, so there will be two VHDL files, circ_fulladder8.vhd and circ_fulladder2.vhd, created in this example. The file circ_fulladder8.vhd will appear as: entity circ_fulladder8 is port ( Switch0 : in Switch1 : in Switch2 : in Switch3 : in Switch4 : in Switch5 : in Switch6 : in Switch7 : in Bulb8 : out Bulb9 : out Bulb10 : out Bulb11 : out end circ_fulladder8; std_logic := '0'); architecture BEHAVIORAL of circ_simple is component Wire port ( I : in O0 : out O1 : out std_logic); end component; component circ_fulladder2 port (Switch0 : in Switch1 : in Switch2 : in Bulb3 : out Bulb4 : out std_logic); end component; begin end BEHAVIORAL; The Perl script will next invoke Xilinx ISE to translate the VHDL into a binary file that can be downloaded onto the FPGA. Once the circuit is on the FPGA, the student may interact with the input by using the switches and buttons on the FPGA. 3.4 Working With the FPGAs The Spartan-3 FPGAs that we used for this project have many possibilities for interactions with humans. We used a $99 Spartan-3 starter kit that came with everything we needed. Specifically, the board has the following features which were useful: eight slide switches for input four momentary-contact connection ports buttons also used for input eight individual LED outputs, corresponding to bulbs in the DLSim design four 7-segment LED digit displays, corresponding to an LED component built into DLSim These simple I/O devices match components built into DLSim and can be directly added to circuits. A 50 MHz clock is also available on the Spartan-3 board and is directly matched to the clock component built into DLSim. In addition, there are several, more complicated, I/O devices that are available for programming: 9-pin RS-232 serial port PS/2- style mouse/keyboard port 3-bit, 8-color VGA display port 4 Exercises and Assignments Using FPGAs Because DLSim is easy to use and the processes of translation and downloading is quick, in-class laboratory exercises are easy to do and more extensive, out-of-class assignments are possible. Here we outline some suggestions from our use of FPGAs. Time to get acquainted: The first experience with FPGAs can come from class/laboratory. Simple circuits that showcase basic components discussed in class are excellent candidates for demonstrating how FPGAs work. In our classes, this has included basic combinational circuits like shifters, decoders, and adders. We then demonstrate memory circuits and form registers. Finally, we put the circuits together in a simple counter that displays results on the digit LED outputs.
5 Build elemental CPU components: We then take these basic components and build a simple CPU. By using the input buttons, we can enter eight-bit instructions followed by optional eight-bit data operands. Our simple CPU includes ALU operations and memory circuits and uses the digit LED outputs. This assignment showcases the use of abstract components and takes about 1.5 weeks. The Little Man Computer: The final project involves implementing the Little Man Computer [9] in FPGA hardware. The Little Man Computer uses the basic elements of a von Neumann architecture and has a simple operation that can be seen on Web applets before implementation. Each component of the computer can be designed and implemented separately and put together as abstract components in DLSim. It is very well suited for Spartan-3 implementation because the input is limited to eight-bit instructions, which are input to memory before program execution, and because it uses digits LEDs as output. This assignment takes about 3 weeks. For our Computer Organization class, we introduce students to the FPGAs (the get acquainted part) with in-class experimentation through labs. We also experiment with the elemental CPU components through in-class labs. We allow the Little Man Computer project to overlap with the assembly language part of our course. 5 Conclusion This paper has presented a system that combines the visual design capabilities of DLSim with the hardware components of the Xlinix Spartan-3 FPGA platform. Our system is called FEWD: FPGAs in Education with DLSim. We described the various components and the stepwise transformations that comprise FEWD. We outlined the advantages of using FEWD and gave suggestions about how to use FEWD in class. This paper reflects our use of FEWD at. References [1] DLSim 2.2, available online: [2] Eck, D., The Most Complex Machine: A Survey of Computers and Computing, A.K. Peters, Ltd, [3] Fishwick, P. Digital Workshop, available online: [4] Jones, D.W., The Iowa Logic Specification Language, available online: [5] Softronix, Inc, Welcome to Multimedia Logic, available online: [6] Wolfe, G., W. Yurcik, H. Osborne, M. Holliday. Teaching Computer Organization/Architecture With Limited Resources Using Simulators. Special Interest Group on Computer Science Education (SIGCSE), Association for Computing Machinery (ACM). [7] Xilinx ISE Webpack, available online: [8] Xilinx Spartan 3 Starter Kit, for more information go to: fpgas/spartan_series/spartan3_fpgas/index.htm [9] Yurick, W and Brunbaugh, L., A Web-based Little Man Computer Simulator, Proceedings of the 32nd SIGCSE Technical Symposium on Computer Science Education, March Currently, FEWD uses basic I/O abilities built into the Spartan-3 FPGA system. Future developments of FEWD will include the design of abstract components in DLSim that will allow more I/O devices to be used. In particular, the mouse port and the VGA port are two inviting I/O possibilities. Also, using this system in our Computer Architecture course is a possibility. This way of using FEWD would require the design of a more extensive CPU with multiple implementations of various components (for example, various sizes of L1 and L2 caches) to allow for experimentation. More information on FEWD can be found at Acknowledgement The work described in this paper was performed under a CCLI program award from the National Science Foundation, award number DUE
Animation of a VHDL model in Modelsim using Tcl/Tk
Animation of a VHDL model in Modelsim using Tcl/Tk David Sullins and Hardy J. Pottinger Department of Electrical and Computer Engineering University of Missouri - Rolla Abstract Visualization of the operation
More informationCS/EE Prerequsites. Hardware Infrastructure. Class Goal CS/EE Computer Design Lab. Computer Design Lab Fall 2010
CS/EE 3710 Computer Design Lab Fall 2010 CS/EE 3710 Computer Design Lab T Th 3:40pm-5:00pm Lectures in WEB 110, Labs in MEB 3133 (DSL) Instructor: Erik Brunvand MEB 3142 Office Hours: After class, when
More informationCS/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
CS/EE 3710 Computer Design Lab Fall 2010 CS/EE 3710 Computer Design Lab T Th 3:40pm-5:00pm Lectures in WEB 110, Labs in MEB 3133 (DSL) Instructor: Erik Brunvand MEB 3142 Office Hours: After class, when
More informationAn FPGA Project for use in a Digital Logic Course
Session 3226 An FPGA Project for use in a Digital Logic Course Daniel C. Gray, Thomas D. Wagner United States Military Academy Abstract The Digital Computer Logic Course offered at the United States Military
More informationLet s put together a Manual Processor
Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce
More informationPREFACE. Changes to the SOPC Edition
PREFACE Changes to the SOPC Edition Rapid Prototyping of Digital Systems provides an exciting and challenging laboratory component for undergraduate digital logic and computer design courses using FPGAs
More information32 bit Arithmetic Logical Unit (ALU) using VHDL
32 bit Arithmetic Logical Unit (ALU) using VHDL 1, Richa Singh Rathore 2 1 M. Tech Scholar, Department of ECE, Jayoti Vidyapeeth Women s University, Rajasthan, INDIA, dishamalik26@gmail.com 2 M. Tech Scholar,
More informationAbstraction and Extensibility in Digital Logic Simulation Software
Abstraction and Extensibility in Digital Logic Simulation Software Richard M. Salter and John L. Donaldson Computer Science Department Oberlin College Oberlin, OH 44074 rms@cs.oberlin.edu, john.donaldson@oberlin.edu
More informationThe assignments will help you learn Verilog as a Hardware Description Language and how hardware circuits can be developed using Verilog and FPGA.
General Instructions The assignments will help you learn Verilog as a Hardware Description Language and how hardware circuits can be developed using Verilog and FPGA. You have to come to the lab during
More informationCCE 3202 Advanced Digital System Design
CCE 3202 Advanced Digital System Design Lab Exercise #2 Introduction You will use Xilinx Webpack v9.1 to allow the synthesis and creation of VHDLbased designs. This lab will outline the steps necessary
More informationTEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE. Guoping Wang 1. INTRODUCTION
TEACHING COMPUTER ARCHITECTURE THROUGH DESIGN PRACTICE Guoping Wang Indiana University Purdue University Fort Wayne, Indiana; Email:wang@engr.ipfw.edu 1. INTRODUCTION Computer Architecture is a common
More informationIntroduction to VHDL Design on Quartus II and DE2 Board
ECP3116 Digital Computer Design Lab Experiment Duration: 3 hours Introduction to VHDL Design on Quartus II and DE2 Board Objective To learn how to create projects using Quartus II, design circuits and
More informationVerilog Design Entry, Synthesis, and Behavioral Simulation
------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize
More informationTeaching Computer Architecture with FPGA Soft Processors
Teaching Computer Architecture with FPGA Soft Processors Dr. Andrew Strelzoff 1 Abstract Computer Architecture has traditionally been taught to Computer Science students using simulation. Students develop
More informationExperiment 8 Introduction to VHDL
Experiment 8 Introduction to VHDL Objectives: Upon completion of this laboratory exercise, you should be able to: Enter a simple combinational logic circuit in VHDL using the Quartus II Text Editor. Assign
More informationLecture 5: Aldec Active-HDL Simulator
Lecture 5: Aldec Active-HDL Simulator 1. Objective The objective of this tutorial is to introduce you to Aldec s Active-HDL 9.1 Student Edition simulator by performing the following tasks on a 4-bit adder
More informationProgramming Xilinx SPARTAN 3 Board (Simulation through Implementation)
Programming Xilinx SPARTAN 3 Board (Simulation through Implementation) September 2008 Prepared by: Oluwayomi Adamo Class: Project IV University of North Texas FPGA Physical Description 4 1. VGA (HD-15)
More informationXilinx Project Navigator Reference Guide
31 July 2003 Author: David M. Sendek Xilinx Project Navigator Reference Guide Background: This guide provides you with step-by-step procedures in using the Xilinx Project Navigator to perform the following:
More informationstructure syntax different levels of abstraction
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationHere 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
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationExperiment 18 Full Adder and Parallel Binary Adder
Objectives Experiment 18 Full Adder and Parallel Binary Adder Upon completion of this laboratory exercise, you should be able to: Create and simulate a full adder in VHDL, assign pins to the design, and
More information2 nd Year Laboratory. Experiment: FPGA Design with Verilog. Department of Electrical & Electronic Engineering. Imperial College London.
Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment: FPGA Design with Verilog Objectives By the end of this experiment, you should know: How to design digital circuits using
More informationLaboratory 05. Single-Cycle MIPS CPU Design smaller: 16-bits version One clock cycle per instruction
Laboratory 05 Single-Cycle MIPS CPU Design smaller: 16-bits version One clock cycle per instruction 1. Objectives Study, design, implement and test Instruction Fetch Unit for the 16-bit Single-Cycle MIPS
More informationLab 2 Verilog Synthesis & Logic Optimization
UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 2 Verilog Synthesis & Logic Optimization 1.0 Motivation The goals of this lab are
More informationLab 2: Barrel Shifter Design
EGR 400 A Advanced Digital System Design Using FPGAs Lab 2: Barrel Shifter Design Prepared for: Dr. Foist Christopher Parisi College of Engineering California Baptist University 10/05/12 Introduction The
More informationTLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4
TLL5000 Electronic System Design Base Module Getting Started Guide, Ver 3.4 COPYRIGHT NOTICE The Learning Labs, Inc. ( TLL ) All rights reserved, 2008 Reproduction in any form without permission is prohibited.
More informationName EGR 2131 Lab #6 Number Representation and Arithmetic Circuits
Name EGR 2131 Lab #6 Number Representation and Arithmetic Circuits Equipment and Components Quartus software and Altera DE2-115 board PART 1: Number Representation in Microsoft Calculator. First, let s
More informationUsing XILINX WebPACK Software to Create CPLD Designs
Introduction to WebPACK Using XILINX WebPACK Software to Create CPLD Designs RELEASE DATE: 10/24/1999 All XS-prefix product designations are trademarks of XESS Corp. All XC-prefix product designations
More informationCS101 Lecture 25: The Machinery of Computation: Computer Architecture. John Magee 29 July 2013 Some material copyright Jones and Bartlett
CS101 Lecture 25: The Machinery of Computation: Computer Architecture John Magee 29 July 2013 Some material copyright Jones and Bartlett 1 Overview/Questions What did we do last time? Can we relate this
More informationProgrammable Logic Design I
Programmable Logic Design I Introduction In labs 11 and 12 you built simple logic circuits on breadboards using TTL logic circuits on 7400 series chips. This process is simple and easy for small circuits.
More informationAn Emulated Computer with Assembler for Teaching Undergraduate Computer Architecture
An Emulated Computer with Assembler for Teaching Undergraduate Computer Architecture Timothy Daryl Stanley, PhD Brigham Young University Hawaii, #1854 55-220 Kulanui Street Laie, Hawaii 96762-1294 (808)
More informationAdvanced module: Video en/decoder on Virtex 5
Advanced module: Video en/decoder on Virtex 5 Content 1. Advanced module: Video en/decoder on Virtex 5... 2 1.1. Introduction to the lab environment... 3 1.1.1. Remote control... 4 1.2. Getting started
More informationPhysics 623. FPGA I Construction of a Synchronous Counter Aug. 4, 2008
Physics 623 FPGA I onstruction of a Synchronous ounter Aug. 4, 2008 1 The Goal of This Experiment You will design a small digital circuit, download the design to a Field Programmable Gate Array (FPGA)
More informationEight units must be completed and passed to be awarded the Diploma.
Diploma of Computing Course Outline Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June, October 022638B
More informationHardware Resources in Digital Systems Teaching
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
More informationPhysics 364, Fall 2012, reading due your answers to before the end of Wednesday s lab.
Physics 364, Fall 2012, reading due 2012-11-28. Email your answers to ashmansk@hep.upenn.edu before the end of Wednesday s lab. Course materials and schedule are at http://positron.hep.upenn.edu/p364 Assignment:
More informationLaboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication
Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.
More informationProgrammable Logic Design I
Programmable Logic Design I Read through each section completely before starting so that you have the benefit of all the directions. Put on a grounded wrist strap (cf. Getting Started) before touching
More informationANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING. EEM Digital Systems II
ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EEM 334 - Digital Systems II LAB 1 - INTRODUCTION TO XILINX ISE SOFTWARE AND FPGA 1. PURPOSE In this lab, after you learn to use
More informationENGG3380: Computer Organization and Design Lab5: Microprogrammed Control
ENGG330: Computer Organization and Design Lab5: Microprogrammed Control School of Engineering, University of Guelph Winter 201 1 Objectives: The objectives of this lab are to: Start Date: Week #5 201 Due
More informationIntroduction. About this tutorial. How to use this tutorial
Basic Entry & not About this tutorial This tutorial consists of an introduction to creating simple circuits on an FPGA using a variety of methods. There are two ways to create the circuit: using or by
More informationEE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09
EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09 Lab Description Today s lab will introduce you to the Xilinx Integrated Software Environment (ISE)
More informationController IP for a Low Cost FPGA Based USB Device Core
National Conference on Emerging Trends in VLSI, Embedded and Communication Systems-2013 17 Controller IP for a Low Cost FPGA Based USB Device Core N.V. Indrasena and Anitta Thomas Abstract--- In this paper
More informationRemote Laboratories at NIU and Beyond (Department of Electrical Engineering)
Remote Laboratories at NIU and Beyond (Department of Electrical Engineering) Reza Hashemian Northern Illinois University Electrical Engineering Objective Development of Remote Laboratory Access (RLA) for
More informationAC : INTRODUCING LABORATORIES WITH SOFT PROCES- SOR CORES USING FPGAS INTO THE COMPUTER ENGINEERING CURRICULUM
AC 2012-4159: INTRODUCING LABORATORIES WITH SOFT PROCES- SOR CORES USING FPGAS INTO THE COMPUTER ENGINEERING CURRICULUM Prof. David Henry Hoe, University of Texas, Tyler David Hoe received his Ph.D. in
More informationLab 7: RPN Calculator
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory Lab 7: RPN Calculator The purpose of this lab is: Purpose 1. To get familiar with the use
More informationECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004
Goals ECE 491 Laboratory 1 Introducing FPGA Design with Verilog September 6, 2004 1. To review the use of Verilog for combinational logic design. 2. To become familiar with using the Xilinx ISE software
More informationEducational Simulation of the RiSC Processor
Educational Simulation of the RiSC Processor Marc Jaumain BEAMS department, Bio Electro and Mechanical Systems, Université Libre de Bruxelles, Belgium mjaumain@ulb.ac.be Michel Osée 1, Aliénor Richard
More informationMulti-Paradigm Approach for Teaching Programming
Multi-Paradigm Approach for Teaching Laxmi P Gewali* and John T Minor School of Computer Science University of Nevada, Las Vegas 4505 Maryland Parkway, Las Vegas Nevada 89154 Abstract: Selecting an appropriate
More informationLevel 2: The Hardware World Chapters 4 and 5 (topics of other cs courses)
Level 2: The Hardware World Chapters 4 and 5 (topics of other cs courses) Invitation to Computer Science, Java Version, Third Edition Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and
More informationDual Port SRAM Based Microcontroller Chip Test Report
Dual Port SRAM Based Microcontroller Chip Test Report By Sergey Kononov, et al. Chip Description Fig. 1: Chip Layout, Pin Configuration The Chip consists of 3 main components: Dual Port SRAM (DPRAM), test
More informationThe QR code here provides a shortcut to go to the course webpage.
Welcome to this MSc Lab Experiment. All my teaching materials for this Lab-based module are also available on the webpage: www.ee.ic.ac.uk/pcheung/teaching/msc_experiment/ The QR code here provides a shortcut
More informationCSE/ESE 260M Introduction to Digital Logic and Computer Design. Lab 3 Supplement
CSE/ESE 260M Introduction to Digital Logic and Computer Design Due 11/13/2013 and 11/20/2013 Lab 3 Supplement Recall and follow the General notes from lab 1. You may work in groups of up to 2 (but no more
More informationTutorial: ISE 12.2 and the Spartan3e Board v August 2010
Tutorial: ISE 12.2 and the Spartan3e Board v12.2.1 August 2010 This tutorial will show you how to: Use a combination of schematics and Verilog to specify a design Simulate that design Define pin constraints
More informationFPGA Interfacing of HD44780 Based LCD Using Delayed Finite State Machine (FSM)
FPGA Interfacing of HD44780 Based LCD Using Delayed Finite State Machine (FSM) Edwin NC Mui Custom R & D Engineer Texco Enterprise Ptd. Ltd. {blackgrail2000@hotmail.com} Abstract This paper presents a
More informationLaboratory Exercise #6 Introduction to Logic Simulation and Verilog
Laboratory Exercise #6 Introduction to Logic Simulation and Verilog ECEN 248: Introduction to Digital Design Department of Electrical and Computer Engineering Texas A&M University 2 Laboratory Exercise
More informationRobotic Systems ECE 401RB Fall 2006
The following notes are from: Robotic Systems ECE 401RB Fall 2006 Lecture 13: Processors Part 1 Chapter 12, G. McComb, and M. Predko, Robot Builder's Bonanza, Third Edition, Mc- Graw Hill, 2006. I. Introduction
More informationHow to use the IP generator from Xilinx to instantiate IP cores
ÁÌ ¹ ÁÒØÖÓ ÙØ ÓÒ ØÓ ËØÖÙØÙÖ ÎÄËÁ Ò ÐÐ ¾¼½ µ ÓÙÖ ÔÖÓ Ø Úº½º¼º¼ 1 Introduction This document describes the course projects provided in EITF35 Introduction to Structured VLSI Design conducted at EIT, LTH.
More informationGetting Started with Xilinx WebPack 13.1
Getting Started with Xilinx WebPack 13.1 B. Ackland June 2011 (Adapted from S. Tewksbury notes WebPack 7.1) This tutorial is designed to help you to become familiar with the operation of the WebPack software
More informationQUARTUS II Altera Corporation
QUARTUS II Quartus II Design Flow Design Entry Timing Constraints Synthesis Placement and Routing Timing, Area, Power Optimization Timing and Power Analyzer Optimized Design 2 Can I still use a Processor?
More informationDesigning an Improved 64 Bit Arithmetic and Logical Unit for Digital Signaling Processing Purposes
Available Online at- http://isroj.net/index.php/issue/current-issue ISROJ Index Copernicus Value for 2015: 49.25 Volume 02 Issue 01, 2017 e-issn- 2455 8818 Designing an Improved 64 Bit Arithmetic and Logical
More informationApplication of a Visual Computer Simulator into Collaborative Learning
Journal of Computing and Information Technology - CIT 14, 2006, 4, 267 273 doi:10.2498/cit.2006.04.01 267 Application of a Visual Computer Simulator into Collaborative Learning Yoshiro Imai 1, Keiichi
More informationTLL5000 Electronic System Design Base Module
TLL5000 Electronic System Design Base Module The Learning Labs, Inc. Copyright 2007 Manual Revision 2007.12.28 1 Copyright 2007 The Learning Labs, Inc. Copyright Notice The Learning Labs, Inc. ( TLL )
More informationThe CPU Design Kit: An Instructional Prototyping Platform. for Teaching Processor Design. Anujan Varma, Lampros Kalampoukas
The CPU Design Kit: An Instructional Prototyping Platform for Teaching Processor Design Anujan Varma, Lampros Kalampoukas Dimitrios Stiliadis, and Quinn Jacobson Computer Engineering Department University
More informationThe University of Reduced Instruction Set Computer (MARC)
The University of Reduced Instruction Set Computer (MARC) Abstract We present our design of a VHDL-based, RISC processor instantiated on an FPGA for use in undergraduate electrical engineering courses
More informationDesign a three-input, two-output sequential digital circuit which functions as a digital locking mechanism. LOCK ALARM
Department of Computing Course 112 Hardware First Year Laboratory Assignment Dates for the session 2005-2006: Hand out Date: 10 th January 2006 Hand in deadline (electronic and written report): 17.00 Monday
More informationPhysics 364, Fall 2014, reading due your answers to by 11pm on Sunday
Physics 364, Fall 2014, reading due 2014-11-23. Email your answers to ashmansk@hep.upenn.edu by 11pm on Sunday Course materials and schedule are at positron.hep.upenn.edu/p364 Assignment: (a) First read
More informationCAMERA User s Guide. They are most easily launched from the main menu application. To do this, all the class files must reside in the same directory.
CAMERA User s Guide 1 Quick Start CAMERA is a collection of concise, intuitive and visually inspiring workbenches for cache mapping schemes and virtual memory. The CAMERA workbenches are standalone applications
More informationComputer Principles and Components 1
Computer Principles and Components 1 Course Map This module provides an overview of the hardware and software environment being used throughout the course. Introduction Computer Principles and Components
More informationFPGA-BASED DATA ACQUISITION SYSTEM WITH RS 232 INTERFACE
FPGA-BASED DATA ACQUISITION SYSTEM WITH RS 232 INTERFACE 1 Thirunavukkarasu.T, 2 Kirthika.N 1 PG Student: Department of ECE (PG), Sri Ramakrishna Engineering College, Coimbatore, India 2 Assistant Professor,
More informationProgrammable Logic Design Techniques I
PHY 440 Lab14: Programmable Logic Design Techniques I The design of digital circuits is a multi-step process. It starts with specifications describing what the circuit must do. Defining what a circuit
More informationTutorial: Pattern Wizard
University of Pennsylvania Department of Electrical and Systems Engineering Digital Design Laboratory Tutorial: Pattern Wizard When assigning values to a bus in Xilinx during the behavioral simulation,
More informationDevelopment of a Java2-based Tutorial Binary Calculator for the Instruction of Binary Arithmetic
Development of a Java2-based Tutorial Binary Calculator for the Instruction of Binary Arithmetic Gerard N. Foster Purdue University, School of Technology, Kokomo, Indiana Session 2793 Abstract This paper
More informationCOE758 Digital Systems Engineering
COE758 Digital Systems Engineering Project #1 Memory Hierarchy: Cache Controller Objectives To learn the functionality of a cache controller and its interaction with blockmemory (SRAM based) and SDRAM-controllers.
More informationLABORATORY # 6 * L A B M A N U A L. Datapath Components - Adders
Department of Electrical Engineering University of California Riverside Laboratory #6 EE 120 A LABORATORY # 6 * L A B M A N U A L Datapath Components - Adders * EE and CE students must attempt also to
More informationDigital Logic Design Lab
Digital Logic Design Lab DEPARTMENT OF ELECTRICAL ENGINEERING LAB BROCHURE DIGITAL LOGIC DESIGN LABORATORY CONTENTS Lab Venue... 3 Lab Objectives & Courses... 3 Lab Description & Experiments... 4 Hardware
More informationAdvanced Automated Administration with Windows PowerShell
Course 10962A: Advanced Automated Administration with Windows PowerShell Course Details Course Outline Module 1: Creating Advanced Functions In this module students will learn how to parameterize a command
More informationDesign & Analysis of 16 bit RISC Processor Using low Power Pipelining
International OPEN ACCESS Journal ISSN: 2249-6645 Of Modern Engineering Research (IJMER) Design & Analysis of 16 bit RISC Processor Using low Power Pipelining Yedla Venkanna 148R1D5710 Branch: VLSI ABSTRACT:-
More informationEmbedded Power Supply Controller
Embedded Power Supply Controller Amrish Singh 1, Prof. A. P. Mankodia 2 1 PG EC Student: U.V. Patel College of Engineering, Mehsana, Gujarat, India 2 Assistant professor, EC: U.V. Patel College of Engineering,
More informationPros and Cons of replacing discrete logic with programmable logic in introductory digital logic courses.
Session 2532 Pros and Cons of replacing discrete logic with programmable logic in introductory digital logic courses. Kevin Nickels Trinity University Abstract Digital circuit construction with small-scale
More informationThe board is powered by the USB connection, so to turn it on or off you plug it in or unplug it, respectively.
Lab 1 You may work in pairs or individually on this lab Lab Objectives Learn about the equipment we will be using and how to handle it safely. Learn the basics of using Xilinx ISE to develop hardware designs
More informationCCE 3202 Advanced Digital System Design
CCE 3202 Advanced Digital System Design Lab Exercise #2 This lab exercise will show you how to create, synthesize, and test a 3-bit ripple counter. A ripple counter is simply a circuit that outputs the
More informationImplementation of Field Programmable Gate Array (FPGA) for decision making in portable automatic testing systems for IC s library & digital circuits
Implementation of Field Programmable Gate Array (FPGA) for decision making in portable automatic testing systems for IC s library & digital circuits M. S. Zaghloul 1, M. Saleh 2 1,2 Arab Academy for Science,
More informationECE 152A LABORATORY 2
ECE 152A LABORATORY 2 Objectives : 1. Understand the trade-off between time- and space-efficiency in the design of adders. In this lab, adders operate on unsigned numbers. 2. Learn how to write Verilog
More informationUniversity of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018
University of California, Davis Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS Spring Quarter 2018 LAB 2: FPGA Synthesis and Combinational Logic Design Objective: This lab covers
More informationCE1921: COMPUTER ARCHITECTURE SINGLE CYCLE PROCESSOR DESIGN WEEK 2
SUMMARY Instruction set architecture describes the programmer s view of the machine. This level of computer blueprinting allows design engineers to discover expected features of the circuit including:
More informationExperiment VERI: FPGA Design with Verilog (Part 2) (webpage: /)
Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment VERI: FPGA Design with Verilog (Part 2) (webpage: www.ee.ic.ac.uk/pcheung/teaching/e2_experiment /) 1.0 Learning Outcomes
More informationChapter 9: Integration of Full ASIP and its FPGA Implementation
Chapter 9: Integration of Full ASIP and its FPGA Implementation 9.1 Introduction A top-level module has been created for the ASIP in VHDL in which all the blocks have been instantiated at the Register
More informationDESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL
Arid Zone Journal of Engineering, Technology and Environment. August, 2013; Vol. 9, 17-26 DESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL Dibal, P.Y. (Department of Computer Engineering,
More informationEENG 2910 Project III: Digital System Design. Due: 04/30/2014. Team Members: University of North Texas Department of Electrical Engineering
EENG 2910 Project III: Digital System Design Due: 04/30/2014 Team Members: University of North Texas Department of Electrical Engineering Table of Content i Contents Abstract...3 Introduction...3 Report...4
More informationdiscrete logic do not
Welcome to my second year course on Digital Electronics. You will find that the slides are supported by notes embedded with the Powerpoint presentations. All my teaching materials are also available on
More informationECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008
1 ECSE-323 Digital System Design Lab #1 Using the Altera Quartus II Software Fall 2008 2 Introduction. In this lab you will learn the basics of the Altera Quartus II FPGA design software through following
More informationA Java Execution Simulator
A Java Execution Simulator Steven Robbins Department of Computer Science University of Texas at San Antonio srobbins@cs.utsa.edu ABSTRACT This paper describes JES, a Java Execution Simulator that allows
More informationExtensible and Dynamic Data Structure Viewers in Java
Extensible and Dynamic Data Structure Viewers in Java Jhilmil Jain Computer Science and Software Engineering Department, Auburn University, Auburn AL Email: jainjhi@auburn.edu Problem & motivation Many
More informationSimulation Lab 7 Use ISE to Auto-Generate Testbench Simulations
Simulation Lab 7 Use ISE to Auto-Generate Testbench Simulations National Science Foundation Funded in part, by a grant from the National Science Foundation DUE 1003736 and 1068182 Step 1: steps should
More informationCS 105 Review Questions #3
1 CS 105 Review Questions #3 These review questions only include topics since our second test. To study for the final, please look at the first two review documents as well. Almost all of these questions
More informationLAB 9 The Performance of MIPS
LAB 9 The Performance of MIPS Goals Learn how the performance of the processor is determined. Improve the processor performance by adding new instructions. To Do Determine the speed of the processor in
More informationHardware Description of Multi-Directional Fast Sobel Edge Detection Processor by VHDL for Implementing on FPGA
Hardware Description of Multi-Directional Fast Sobel Edge Detection Processor by VHDL for Implementing on FPGA Arash Nosrat Faculty of Engineering Shahid Chamran University Ahvaz, Iran Yousef S. Kavian
More informationKnowledge Organiser. Computing. Year 10 Term 1 Hardware
Organiser Computing Year 10 Term 1 Hardware Enquiry Question How does a computer do everything it does? Big questions that will help you answer this enquiry question: 1. What is the purpose of the CPU?
More informationBanks, Jasmine Elizabeth (2011) The Spartan 3E Tutorial 1 : Introduction to FPGA Programming, Version 1.0. [Tutorial Programme]
QUT Digital Repository: http://eprints.qut.edu.au/ This is the author version published as: This is the accepted version of this article. To be published as : This is the author s version published as:
More information