2. TEACHING ENVIRONMENT AND MOTIVATION



Similar documents
Design of Remote Laboratory dedicated to E2LP board for e-learning courses.

Computer Organization and Components

Boole-WebLab-Deusto: Integration of a Remote Lab in a Tool for Digital Circuits Design

A General Framework for Tracking Objects in a Multi-Camera Environment

7a. System-on-chip design and prototyping platforms

Simplifying Embedded Hardware and Software Development with Targeted Reference Designs

Technical Aspects of Creating and Assessing a Learning Environment in Digital Electronics for High School Students

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Lab Experiment 1: The LPC 2148 Education Board

AT&T Connect Video Conferencing Functional and Architectural Overview. v9.5 October 2012

LiveDesign Evaluation Board Technical Reference Manual. Technical reference manual for Altium s LiveDesign Evaluation Boards

Open Flow Controller and Switch Datasheet

USB - FPGA MODULE (PRELIMINARY)

Getting Started with Embedded System Development using MicroBlaze processor & Spartan-3A FPGAs. MicroBlaze

WinCon Programmable Automation. Controller

Ways to Use USB in Embedded Systems

Fondamenti su strumenti di sviluppo per microcontrollori PIC

IMPLEMENTATION OF FPGA CARD IN CONTENT FILTERING SOLUTIONS FOR SECURING COMPUTER NETWORKS. Received May 2010; accepted July 2010

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

User Manual of N280. Two cases are optional! N280 port schematic

NIOS II Based Embedded Web Server Development for Networking Applications

Computer and Set of Robots

DEVELOPMENT OF DEVICES AND METHODS FOR PHASE AND AC LINEARITY MEASUREMENTS IN DIGITIZERS

Ultra Thin Client TC-401 TC-402. Users s Guide

Computer Science Course Descriptions Page 1

Implementation of Web-Server Using Altera DE2-70 FPGA Development Kit

Lab 1: Introduction to Xilinx ISE Tutorial

Pre-tested System-on-Chip Design. Accelerates PLD Development

Michigan State University. Team Meijer. Tablet-Based Point-of-Sale System. Project Plan. Fall 2011

Solar energy e-learning laboratory - Remote experimentation over the Internet

85MIV2 / 85MIV2-L -- Components Locations

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

INTERNET SECURITY: THE ROLE OF FIREWALL SYSTEM

Development of a Research-oriented Wireless System for Human Performance Monitoring

Technology Spotlight on Cellular Data Networking for SCADA system networks. Presented by Teamwork Solutions, Inc.

Performance Oriented Management System for Reconfigurable Network Appliances

Session R1D Laboratory at Home: Actual Circuit Design and Testing Experiences in Massive Digital Design Courses

Designed for the needs of automation, telecommunications, remote supervision, and monitoring

EZblue BusinessServer The All - In - One Server For Your Home And Business

Addressing Mobile Load Testing Challenges. A Neotys White Paper

AC : PRACTICAL DESIGN PROJECTS UTILIZING COMPLEX PROGRAMMABLE LOGIC DEVICES (CPLD)

A Practical Approach to Education of Embedded Systems Engineering

Getting Started Guide with WIZ550web

A First Course in Digital Design Using VHDL and Programmable Logic

Free GlobalViewer FREE WEB-BASED A/V RESOURCE MANAGEMENT AND REMOTE CONTROL APPLICATION IP LINK. n Created and uploaded using Global Configurator

ADSL Wi-Fi Router/modem INSTALLATION GUIDE

Option nv, Gaston Geenslaan 14, B-3001 Leuven Tel Fax Page 1 of 14

2. Scope of the DE0 Board and Supporting Material

Real-Time Analysis of CDN in an Academic Institute: A Simulation Study

Video Conference System

Network setup and troubleshooting

Course Descriptions. preparation.

24/7 Monitoring with Watchport/V USB Camera and Software (Comprehensive Motion Detection, Monitoring and Alerts: Local PC, LAN PC or WWW)

by Kaleem Anwar, Muhammad Amir, Ahmad Saeed and Muhammad Imran

Chapter 2 Features of Embedded System

AC1200 Multi-Function Concurrent Dual-Band Gigabit Wi-Fi Router

Peter Tsai Product Manager / Product Marketing Dept. Feb 17th, 2009

How To Design An Image Processing System On A Chip

Developing an Application on Core8051s IP-Based Embedded Processor System Using Firmware Catalog Drivers. User s Guide

Chapter 5. Data Communication And Internet Technology

Towards a virtualized Internet for computer networking assignments

AXIS Camera Station Quick Installation Guide

The Impact of Cloud Computing to Data Network Cabling White Paper

No serious hazards are involved in this laboratory experiment, but be careful to connect the components with the proper polarity to avoid damage.

TABLE OF CONTENTS NETWORK SECURITY 2...1

How to download and install ISE WebPACK

Exploiting Stateful Inspection of Network Security in Reconfigurable Hardware

Procedure: You can find the problem sheet on Drive D: of the lab PCs. Part 1: Router & Switch

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

Core Syllabus. Version 2.6 C OPERATE KNOWLEDGE AREA: OPERATION AND SUPPORT OF INFORMATION SYSTEMS. June 2006

How To Develop An Iterio Data Acquisition System For A Frustreo (Farc) (Iterio) (Fcfc) (For Aterio (Fpc) (Orterio).Org) (Ater

Security appliances with integrated switch- Even more secure and more cost effective

DynaGuard 200 Series. Compact and Versatile MPEG-4. Ver. 1.1

WISE-4000 Series. WISE IoT Wireless I/O Modules

Technical White Paper BlackBerry Enterprise Server

Meraki MX50 Hardware Installation Guide

M68EVB908QL4 Development Board for Motorola MC68HC908QL4

How To Connect To Bloomerg.Com With A Network Card From A Powerline To A Powerpoint Terminal On A Microsoft Powerbook (Powerline) On A Blackberry Or Ipnet (Powerbook) On An Ipnet Box On

Next Generation Modeling and Simulation Engineering using Cloud Computing

PANDORA FMS NETWORK DEVICES MONITORING

EZblue BusinessServer The All - In - One Server For Your Home And Business

IP POWER 9258 USER MANUAL IP POWER 9258 USER MANUAL

C o v e r. Thin Client Application Options. SIMATIC Thin Client s FAQ h April 2009 e et. Service & Support. Answers for industry.

Remote Access of Computer Controlled Experiments

Network Scanning: A New Feature for Digital Copiers

Verizon Remote Access User Guide

System on Chip Platform Based on OpenCores for Telecommunication Applications

Lab Diagramming External Traffic Flows

Chapter 5 Cubix XP4 Blade Server

2.0 Command and Data Handling Subsystem

Assignment One. ITN534 Network Management. Title: Report on an Integrated Network Management Product (Solar winds 2001 Engineer s Edition)

AdminToys Suite. Installation & Setup Guide

BrightSign Expander Hardware Guide

9/14/ :38

International Journal of Advancements in Research & Technology, Volume 2, Issue3, March ISSN

SOCWIRE: A SPACEWIRE INSPIRED FAULT TOLERANT NETWORK-ON-CHIP FOR RECONFIGURABLE SYSTEM-ON-CHIP DESIGNS

Optimising the resource utilisation in high-speed network intrusion detection systems.

Internet Desktop Video Conferencing

Transcription:

A WEB-BASED ENVIRONMENT PROVIDING REMOTE ACCESS TO FPGA PLATFORMS FOR TEACHING DIGITAL HARDWARE DESIGN Angel Fernández Herrero Ignacio Elguezábal Marisa López Vallejo Departamento de Ingeniería Electrónica, E.T.S.I. Telecomunicación, Universidad Politécnica, Madrid, SPAIN angelfh@die.upm.es ABSTRACT In this work we present the design and implementation of a Web-based application for remote access to the FPGA boards in a Digital Design Laboratory. It enables students from specialization courses to afford the design exercises at any place and time, even at home, just with an Internet access and a Web browser. At the same time, it opens the possibility of prototyping small designs to the rest of students which have no access rights to the physical Laboratory. KEYWORDS FPGA, digital design, Web-based, remote laboratory, distance learning. 1. INTRODUCTION Currently, there is a growing interest in the development of remote laboratories with teaching purposes. Some of them are based on allowing direct access to physical resources through the use of heavy connections, as is the case with VPN (Virtual Private Networks [Venkateswaran 2001]) or Windows XP Remote Desktop (e.g. [Hashemian 2007]). We use the heavy qualifier because the students get whole access to the computing resources of the Laboratory. Our main goal in this work is the implementation of a Web-based application for remote access to the FPGA 1 boards in a Digital Design Laboratory, similar to the approach taken by [Nelson 2006] for microwave engineering. This approach is light, in the sense that the client side needs no special software or rights to get use of an FPGA for a limited amount of time. Hence, the Lab resources can be made available to a greater number of students, while reducing risk of unauthorized actions, as they cannot make login to the computers. The existence of dedicated hardware (the FPGA board) makes the remote access more challenging, as there is a physical interaction between the student and on-board resources that must be offered on the client side. Therefore, our remote access application must provide input-output and monitoring for the peripherals available on the Lab board. The resulting application collects the information that flows between FPGA and available on-board peripherals to show it on the client side. Some of its capabilities are: Configuration of available devices on the board. Uploading of configuration bitstreams to the FPGAs. Input and output of data for testing of designs. Resource monitoring: displays and LEDs 2. Driving of virtual switches and buttons. 1 Field-Programmable Gate Arrays (FPGAs) are reconfigurable devices that allow the implementation of custom hardware to perform different tasks, as digital signal processing or embedded computing (e.g., see www.xilinx.com). 2 Light-Emitting Diodes.

Furthermore, all of these capabilities must be carried out transparently to the user of the FPGA and in real-time (mainly limited by network latency). To achieve these goals the application has been developed using a variety of different technologies (both hardware and software) and development environments (VHDL, C, PHP, JavaScript). 2. TEACHING ENVIRONMENT AND MOTIVATION FPGA devices allow for a quick and easy implementation of small educational circuits at an affordable cost when teaching digital electronics. However, at ETSIT-UPM 3 it is not possible to set up a fully equipped Laboratory for the huge number of students taking the courses required to obtain the degree in Telecommunications Engineering 4. This is the case with DCSE (Design of Electronic Circuits and Systems), a required subject in the fourth course which must be followed by all the students (over 400). At the same time, the smaller number of students of specialization Labs, in the last year of the degree, usually combining different duties (both studies and first experiences in the industry), could benefit from extended timetable access to the resources, even preferably by working on the exercises from home. For both kinds of students, the availability of a Web-based application to allow remote interaction with an FPGA prototyping platform would be very valuable. With this approach, the limited resources of a specialization Laboratory can be used by a greater number of students at any time. Moreover, it encourages active learning, allowing students in theoretical subjects the possibility to experiment on real hardware by testing small designs from the material provided in their lectures. As an example, in the middle of the Electronic Engineering specialization, we have the optional subject LCSE (Laboratory for the Design of Electronic Circuits and Systems), where we teach Digital Design to a small group of students with the help of FPGAs as prototyping devices. The approach is composed of two parts: a first one as a series of guided exercises to learn VHDL basics, and a second one longer and projectbased, where the students design a whole system starting from given specifications. From opinion polling at the end of the course, we have some valuable results on students feedback. In general, they are very pleased with the approach taken in the Laboratory, and consider that it is interesting and useful for their professional future. They emphasize the following aspects: Learning of VHDL and use of FPGAs. Design-based approach of the subject, to get a final working system. Application of formerly learned concepts to the design of a complex system. At the same time, they also consider very valuable the freedom in using the Lab resources and the possibility of making the development by their own, as we do not impose a strict timetable for work, but only recommendations on intermediate dates to get partial goals. This consideration, together with the current availability of free design tools (e.g. ISE WebPACK from Xilinx [WebPACK]), has triggered us to start the development of a framework to provide access to the Lab FPGAs, so that specialization students (LCSE) can work on exercises even at home. At the same time, this opens the possibility of prototyping small designs to the rest of students (e.g. DCSE), which have no access rights to the physical Laboratory. 3. SYSTEM DESCRIPTION Our specialization Laboratory (LCSE) is currently made of four -based computers, each one equipped with software development tools (Xilinx ISE and Mentor ModelSim) and a XESS XSB-300E FPGA board [XESS] (see Figure 1) for testing the implemented exercises. This board was chosen because of its great interfacing capabilities and low cost. It is characterized by a high number of on-board peripherals that give the student an important potential when developing digital systems. 3 Escuela Técnica Superior de Ingenieros de Telecomunicación Universidad Politécnica de Madrid. 4 This is a 5-year degree given at ETSIT-UPM (www.etsit.upm.es).

Xilinx XC2S300E FPGA Xilinx XC9572 CPLD SRAM, SDRAM and flash memories Six pushbuttons and a DIP switch Two LED digits and a LED bargraph Parallel and serial ports USB 2.0 peripheral port 10/100 Ethernet MAC+PHY Compact flash interface IDE hard disk interface 20-bit, 4-input, 1-output stereo codec 6-channel PAL/SECAM/NTSC video decoder 80 MHz, 30-bit video DAC 12-bit, 30 msps ADC VGA monitor port Expansion headers for general-purpose I/O Figure 1. XESS XSB-300E FPGA development board and list of capabilities. 3.1. Interfacing with FPGA boards In the first development stage of the Web-based application, only some of the board resources have been pushed to remote access from the students. They are input-output user-interaction devices (DIP switch, LED digits and LED bargraph) and SRAM. The first resources allow the student finding out easily that he/she has some control over the FPGA, while the SRAM memory opens the possibility to implement data processing applications. Figure 2 shows these elements within the whole framework of the remote access application. XESS board 1 FPGA RAM CPLD parallel port PC host 1 XESS utilities monitor drivers LAN PC server reverse proxy access control users database Apache, PHP Apache, PHP, C switches LEDs router firewall PC host 2 up and downloading monitor hardware VHDL XESS board 2 XESS utilities monitor drivers Apache, PHP, C Internet user hardware with monitor wrappers VHDL, schematics WAN PC client 1 PC client 2 WAN Web browser HTML JavaScript, AJAX Web browser HTML JavaScript, AJAX Figure 2. Block diagram schematics of the Web-based remote access system. The XESS board has available a CPLD hardware device for auxiliary operations, such as FPGA bitstream uploading or RAM data up and downloading. We also make use of that component to emulate the function of switches as inputs to the FPGA and monitor the state of LEDs. During remote access, the switches are dis-

abled from manual action from a local user, as they are under control of the CPLD. Communication between board and host computer is made by means of the parallel port. Other board resources are not directly available to the CPLD (e.g. the audio codec), so that it is necessary to develop specific hardware wrappers for the FPGA code to be able to interact with them through the parallel port. The goal is getting this task done in a way as transparent as possible to the student. 3.2. Architecture of the remote application Each host computer is a -based platform which runs a Web server to provide remote access, while interfacing with the board by several external programs or drivers, some of them taken from utilities provided by XESS (board testing, FPGA bitstream uploading, RAM data management and clock setting) and others specifically written using the C language to interact with monitor hardware in the CPLD. The Web server makes use of all the available resources through the use of PHP application code. In [Nelson 2006] they use server programming (PHP) to make complex calculations available to the client side, while we use the same technique to allow interacting with the prototyping hardware. There are several desks available in the Laboratory, so that a new computer has been set up within the same LAN to provide a single interface to the outside world. This is also a -based machine running a Web server, with the following tasks: Access control, to restrict the use of the system only to registered students. Load distribution, to redirect each student to a free place or reject the request for remote access. Reverse proxy, to route incoming traffic to the corresponding host computer and FPGA board. Only one client will be granted access to each prototyping board at any given time, so that neither FPGA nor on-board peripheral devices can be shared between remote users. As one of our first goals, the requirements are the minimum on the client side, only a Web browser. In this case, the application is based on AJAX (Asynchronous JavaScript and XML) [AJAX], a development technique conceived to create interactive Web applications, usually based on JavaScript. It allows partial reloading of Web pages, such that the final HTML code is produced locally, thus avoiding the need for complete reloading and increasing speed and interactivity. Figure 3 shows a Web page which provides remote access to one of the prototyping boards. It is horizontally divided into two parts. At the right, there are resources to operate with the on-board user-interaction devices (DIP switch, pushbuttons, LED digits and LED bargraph). At the left, the interface makes available some additional components to allow testing the board, uploading configuration bitstreams to the FPGA and CPLD, uploading data to the SRAM, manually refreshing the display, etc. Figure 3. Internet browser running an example session in the client side.

4. CONCLUSION In this paper we have described the motivation and technical details of a Web-based framework to provide remote access to an FPGA Laboratory with teaching purposes. The emphasis has been made twofold: reducing the resources needed at the client side and avoiding the use of VPN-like connections, so that a Web browser is enough. In this way, the framework will be useful for a great number of students, in different courses and subjects. To achieve these goals the application has been developed using a variety of technologies (both hardware and software) and development environments (VHDL, C, PHP, JavaScript). Currently, the first development stage has finished and testing begins. A crucial task has been the implementation of the communication drivers between host computers and FPGA boards, to allow interaction with on-board peripherals in a transparent way for the students. Replacement of the drivers will allow adapting the whole system to new boards, while reusing most of the PHP and JavaScript codes. The final assessment of the Web application will be performed beginning from the next academic year, and based on data obtained from real experience with students, through: Automatic collection of statistical information about resource usage. Anonymous opinion polling made among users. Future work will include extending the set of on-board resources that are offered to the remote user, and elaborating additional material for self-teaching [Boluda 2006], so that the students can better acquire practical design skills when working away from the classroom. ACKNOWLEDGEMENT This work has been supported by Universidad Politécnica de Madrid under Project IE07 0920-025 and by Ministerio de Educación y Ciencia under Project TEC2006-13067-C03-03. REFERENCES AJAX. en.wikipedia.org/wiki/ajax Boluda, J. C., Peiro, M. A., Torres, M. A. L., Girones, R. and Palero, R. J. C., 2006. An active methodology for teaching electronic systems design, IEEE Transactions on Education, vol. 49, no. 3, pp. 355-359, August 2006. Hashemian, R. and Riddley, J., 2007. FPGA e-lab, a Technique to Remote Access a Laboratory to Design and Test, IEEE International Conference on Microelectronic Systems Education (MSE 07). Nelson, R. M. and Shariful Islam, A. N. M., 2006. MES A Web-Based Design Tool for Microwave Engineering, IEEE Transactions on Education, vol. 49, no. 1, February 2006. Venkateswaran, R., 2001. Virtual Private Networks, IEEE Potentials, vol. 20, no. 1, pp. 11-15, Feb/Mar 2001. WebPACK. www.xilinx.com/ise/logic_design_prod/webpack.htm XESS. www.xess.com