64
FPGA SESSION CONTROL: A REMOTE LABORATORY FACILITY FOR PLATFORM FPGA EDUCATION by Yamuna Rajasekhar A thesis submitted to the faculty of The University of North Carolina at Charlotte in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering Charlotte 2008 Approved by: Dr. Ronald R. Sass Dr. James M. Conrad Dr. Robert W. Cox

Rajas e Khar Thesis

Embed Size (px)

DESCRIPTION

Tesis Virtual Lab

Citation preview

Page 1: Rajas e Khar Thesis

FPGA SESSION CONTROL: A REMOTE LABORATORY FACILITY FORPLATFORM FPGA EDUCATION

by

Yamuna Rajasekhar

A thesis submitted to the faculty ofThe University of North Carolina at Charlotte

in partial fulfillment of the requirementsfor the degree of Master of Science in

Electrical Engineering

Charlotte

2008

Approved by:

Dr. Ronald R. Sass

Dr. James M. Conrad

Dr. Robert W. Cox

Page 2: Rajas e Khar Thesis

ii

c©2008Yamuna Rajasekhar

ALL RIGHTS RESERVED

Page 3: Rajas e Khar Thesis

iii

ABSTRACT

YAMUNA RAJASEKHAR. FPGA Session Control: A Remote Laboratory Facilityfor Platform FPGA Education. (Under the direction of DR. RONALD R. SASS )

In the future, it is expected that FPGAs will play a more prominent role, both in

embedded systems and as user-programmable components of general-purpose com-

puting systems. This means that more than just Electrical Engineering students will

need training in this area. By some estimate 5 to 10 times as many individuals.

However, the conventional pedagogical approach — lecture and lab — is unlikely to

scale to accommodate the student demand. Remote labs offer a scalable alternative

but a critical question is: whether remote labs are as effective as traditional labs.

This thesis evaluates the effectiveness of remote labs for FPGA education. This

thesis demonstrates that with the addition of an inexpensive piece of hardware and

appropriate software, many commercial off-the-shelf FPGA development boards can

be made suitable for use in a remote laboratory. The hardware and software required

to implement a remote laboratory has been developed and a remote laboratory facility

deployed at the University of North Carolina at Charlotte. Advantages, concerns, and

actual costs are reported. The experience of using this facility in a senior/first-year

graduate-level Platform FPGA course is also described. Although these data are

preliminary, survey results and first-hand experience with the laboratory were very

encouraging and suggests that further studies on student learning are warranted.

Page 4: Rajas e Khar Thesis

iv

ACKNOWLEDGMENTS

In my way of pursuing this Master’s degree, many people contributed in many

different ways, to make my success as a part of their own. I want to thank:

First of all, my parents — the reason for every one of my achievements; my super

mom, who makes sure that I never lose my focus; my very handsome father, for always

giving in to every one of my requests (or demands as he may say!). My phenomenal

brother, Raman, my role model, who keeps me grounded.

My adept adviser, Dr. Ron Sass, for his guidance and patience; my committee

members, Dr. Jiang Xie, Dr. Jim Conrad, and Dr. Robert Cox for all their support.

Chandrika, for being one of the reasons I pursued my Master’s degree. Ragi, for

being my biggest support system; Robin Jacob, for inspiring me to do a thesis and for

always believing in me; Andy, for being my number one motivator. Will, for being my

friend, encouraging me and teaching me so much; Shweta for being my stress buster,

and for all the coffee she’s made for me. I also want to thank Uday and Ragi (again!)

for being such great friends and for all their support and encouragement. And my

roommates and all other friends who helped in their own way.

And ofcourse, Sandeep. If I had to pen down all the reasons for which I’m thankful

to him, it could end up being more pages than this thesis!

I thank God for giving me so many wonderful people and this acknowledgment

only justifies a small fraction of the gratitude and love I feel for each one.

Page 5: Rajas e Khar Thesis

v

TABLE OF CONTENTS

LIST OF TABLES vii

LIST OF FIGURES viii

CHAPTER 1: INTRODUCTION 1

1.1 Problem Statement 2

1.2 Outline 5

1.3 Contributions 5

CHAPTER 2: BACKGROUND 7

2.1 Platform FPGAs 7

2.2 Modes of Laboratory Instruction 8

2.2.1 Traditional Labs 8

2.2.2 Simulated Labs 9

2.2.3 Remote Labs 10

2.3 Related Efforts 10

CHAPTER 3: DESIGN AND IMPLEMENTATION 17

3.1 Required Functionality 17

3.2 Hardware: Three Board Designs 19

3.2.1 Jura 20

3.2.2 AIREN 21

3.2.3 Sapphire 23

3.3 Software Organization 27

3.3.1 FSC Library 28

3.3.2 FSC Standalone Application 31

3.3.3 FSC Server 31

3.3.4 Case Example 33

Page 6: Rajas e Khar Thesis

vi

CHAPTER 4: EVALUATION 35

4.1 Facility and Course 35

4.2 Assessment 36

4.2.1 Cost/Benefit Analysis 37

4.2.2 Student Perception 38

4.2.3 Experiment to Guage the Learning Outcomes 41

CHAPTER 5: CONCLUSION 44

REFERENCES 45

APPENDIX A: GLOSSARY 48

APPENDIX B: SURVEYS AND QUIZZES 51

Page 7: Rajas e Khar Thesis

vii

LIST OF TABLES

TABLE 3.1: FSC error codes 29

TABLE 3.2: Public functions in FSC library 32

Page 8: Rajas e Khar Thesis

viii

LIST OF FIGURES

FIGURE 1.1: Required Platform FPGA skills versus number of students grad-

uated 3

FIGURE 2.1: Xilinx Virtex 4 ML-410 developer board 8

FIGURE 3.1: Logical design of hardware to support remote lab 19

FIGURE 3.2: Block diagram of FT 2332D 21

FIGURE 3.3: Jura board (GPIO lines tapped, JTAG not connected) 22

FIGURE 3.4: AIREN board 22

FIGURE 3.5: Sapphire board 24

FIGURE 3.6: Top layer (routing + solder mask) of Sapphire board 24

FIGURE 3.7: Bottom layer of the Sapphire board 25

FIGURE 3.8: Various states nodes in a pool of resources go through 26

FIGURE 3.9: (A) “Request” use-case (B) “Release” use-case 28

FIGURE 3.10: (A) “Power On” use-case, (A) “Restart” use-case, and (B) “Power

Off” use-case 30

FIGURE 3.11: (A) “Upload” use-case (B) “Select” use-case, and (C) “Boot”

use-case 31

FIGURE 3.12: Sequence of handling a connection 34

FIGURE 4.1: The assessment model developed to evaluate the effectiveness of

the remote lab facility 37

FIGURE 4.2: A plot of the students’ opinion of the different types of labs 40

FIGURE 4.3: Students’ idea of remote labs 40

FIGURE 4.4: Features of Remote labs that appealed to the students 41

Page 9: Rajas e Khar Thesis

CHAPTER 1: INTRODUCTION

Most Integrated Circuits (ICs1) are manufactured to perform a single function.

When these devices leave the factory, their operations are fixed. However, a Field-

Programmable Gate Array (FPGA) is a special type of IC that is manufactured

without a pre-assigned, specific function. These devices are like a “blank slate.”

They can be configured (and, in most cases, reconfigured) to perform almost any

desired digital circuit, even after being deployed in a product.

FPGAs were initially introduced as programmable logic devices and that is still

their primary role. Initially, this technology was introduced to provide ‘glue logic’

much the way other programmable logic technologies were (PLDs, PALs[3]). As IC

technology has advanced, so have FPGA devices. They have grown rapidly in both

size (logic and memory) and capability (special-purpose cores). Nowadays, many

FPGAs include built-in microprocessor cores, Ethernet, and high-speed serial cores.

Indeed, these so-called Platform FPGAs can host entire computing machines on a

single (reconfigurable) chip. As one would expect, FPGAs are used in numerous

embedded system projects. Indeed, from digital cameras to cell phones to vehicle

systems, FPGAs are extending their reach into most digital electronics. They have

even traveled into space in the Mars Rover. However, one might not realize that

FPGAs are also available as user-programmable components of general-purpose com-

puters. Nearly every high-end computing vendor (Silicon Graphics, Inc.[31], Cray

Inc.[6], SRC Computers, Inc.[32]) now offers an FPGA accelerator option. Third

party vendors also manufacture FPGA accelerator cards that can be plugged into

1Appendix A has a list of acronyms used in this thesis

Page 10: Rajas e Khar Thesis

2

desktops and workstations (Annapolis Micro Systems, Nallatech, DRC, Xtreme Data

are examples). Traditionally, innovations available on supercomputers trickle down to

commodity computing over time. So it is not unreasonable to imagine FPGA devices

becoming a common feature in desktop PCs one day in the future.

One consequence of this transition from surrogate component to a user-programmable

feature is its impact on the education and training needs of the workforce. Previously,

relatively few Electrical Engineers needed to know how to configure and use FPGA

technology. But, as the devices become more ubiquitous, the demand for a workforce

that understands this technology is likely to dramatically increase.

Unfortunately, the current pedagogical approach to FPGA education is not scal-

able. That is, the conventional approach to FPGA education which includes lectures

and laboratory assignments cannot be used to teach 10× as many students

Consider Figure 1.1. Along the x-axis are the skills needed to deploy a custom

computing machine on a Platform FPGA; roughly organized by discipline. The areas

under the three solid normal curves represents the number of undergraduate engineers

produced in 2006 (by discipline) according to U.S. Bureau of Labor Statistics [34].

(By creative license, a normal curve was chosen to reflect the diversity of different

curricula and departments; data for specific skills is not available.) To effectively use

this emerging Platform FPGAs, individual learners need to be exposed to a range

of topics and new guiding principles need to be established. Herein lies a significant

problem for how to teach FPGA concepts to 800,000 students a year with laboratories

that are maxed out teaching 80,000 students a year.

1.1 Problem Statement

With the increasing popularity and use of FPGAs, it is necessary to develop a

mechanism for training a broad range of computing students FPGA technology. It

is unlikely that the number Electrical Engineers (EE) will increase ten-fold; so sim-

ply giving electrical engineers advanced system and software programming skills is

Page 11: Rajas e Khar Thesis

3

Alg

ori

thm

s

Inte

gra

tin

g S

yste

ms

Op

erat

ing

Sys

tem

s

Dev

ice

Dri

vers

Net

wo

rkin

g

Sys

tem

Arc

hit

ectu

re

Co

mm

un

icat

ion

Har

dw

are

Des

ign

Ap

plic

atio

n D

evel

op

men

t

CpE EESoftware

74,000 (non−CpE) Electrical

79,000 Computer

857,000 Software

Production of Engineers by Discipline

Gra

duat

es

Platform FPGA Skills

Figure 1.1: Required Platform FPGA skills versus number of students graduated

Page 12: Rajas e Khar Thesis

4

unrealistic. (Not to mention the effect on the conventional Electrical Engineering

(EE) curricula.) It seems much more likely that Computer Science (CS) students and

Computer Engineering (CpE) students will pick up FPGA hardware skills. Hence, a

central concern of this work is how to scale teaching FPGA technology. To achieve

this it is necessary to provide FPGA access to this large number of learners. The way

we teach FPGA designs today — in traditional labs with benches and assigned lab

times — presents a barrier to this goal.

To teach FPGA design involves lab work but currently all FPGA labs are set up

as traditional EE labs. To handle 5× or 10× as many students, it is not feasible to

simply increase lab sizes. This leads to the fundamental question can a remote lab

facility increase accessibility of FPGAs yet preserve the experience of working with

FPGAs.

Assuming that the size of the FPGA-educated workforce needed in the future will

be dramatically larger than it is currently, the central question posed is whether remote

laboratories are more scalable (in their ability to teach a larger number of students)

while maintaining the integrity of learning outcomes achieved with traditional labora-

tories.

To prove this, we will analyze resource utilization, comparing cost, space, and time;

demonstrate the feasibility of using a remote lab facility; and evaluate the impact on

the learning in an FPGA course. Also, since student satisfaction is directly correlated

with retention, we gathered student feedback on using a remote laboratory facility.

(It can be safely said that if there is no retention, not only are the learning outcomes

not met but the students’ acceptance toward the concept of remote labs is not very

high!)

Thus, the target of this work is to develop a general purpose solution of the hard-

ware required to implement a remote laboratory facility and to develop the software

to support it. Also, based on the feedback received this resource can be improved to

Page 13: Rajas e Khar Thesis

5

suit the needs of the users.

To answer these questions, we will investigate the functionality and usability of

FPGA Session Control (FSC) with respect to student learning and ease of mainte-

nance, the analysis of quantitative arguments: space, cost and time for setting up a

remote laboratory versus a traditional laboratory. Another factor to be considered is

student perception with respect to the facility. This is measured by collecting feed-

back from the students. This data, although preliminary, suggests a positive response

by the students. Another metric was to evaluate learning outcomes. The students

are made to perform the labs remotely and traditionally and are assessed by means

of quizzes. By comparing the scores of students, learning outcomes can be analyzed.

1.2 Outline

The rest of this thesis is organized as follows. 2, begins with the definition and

characteristics of traditional, simulated and remote labs. The chapter concludes with

a survey of related efforts. 3 describes the design and implementation of FPGA Ses-

sion Control. It includes a description of the hardware used toward building the

remote lab facility and an explanation of the software to support the remote FPGA

laboratory facility. 4 describes the assessment of the facility where the anecdotal and

quantitative data collected is discussed and an experiment in to measure the produc-

tivity of the students performing the remote FPGA laboratories. Finally this thesis

concludes with a summary of the results and future work that can be incorporated.

1.3 Contributions

The FPGA Session Control Project is presently over 6,000 lines of C code in 45

files, plus PC board schematics, VHDL base systems, and documentation. Many

individuals at UNCC have contributed to the current (or previous version) of this

system. In its current form, the system includes a library, a standalone application,

multiple clients, a server and a hardware implementation (for initial boot). The aim

Page 14: Rajas e Khar Thesis

6

of this thesis is to judge whether this system is scalable and its impact on learning.

The specific contributions of this is thesis include:

• development of testing methodology (including all surveys, learning assessments

tools, and IRB-approved plan)

• collection and analysis of remote, traditional and, simulated laboratory cost

data

• development and oversight of the second version of FSC (that introduced client/server,

migrated functionality into a library)

• introduced software functions: list, erase slot, restart node

• integrated graphical user interface client into the system

• designed PC Board (with USB, RS-232, JTAG, and customizable place for lab-

specific experiments) that is compatible with many FPGA developer boards

• actively communicating the results and artifacts of the project to community

Page 15: Rajas e Khar Thesis

CHAPTER 2: BACKGROUND

This chapter is divided into three sections. The first section describes the func-

tionality of FPGAs in general. Next, the characteristics of traditional, simulated and

remote laboratories are explained. The chapter concludes with a related work section

that describes the prominent research in this area.

If the reader is conversant with these topics, one can skip this section with no loss

of continuity.

2.1 Platform FPGAs

Platform FPGAs are Integrated Circuits whose functionality can be configured in

the field. In other words, its functionality can be determined after it has been soldered

into a product. They are System-On-Chip (SOC) solutions; they are completely con-

tained within the FPGA[22]. An FPGA may be slower than an Application Specific

Integrated Circuit (ASIC) but it is reprogrammable, which is one of the most signifi-

cant differences between the two. FPGAs contain hard IP and soft IP. Hard IP consist

of components that are embedded into the FPGA fabric like CMOS transistors and

soft IP which are flip flops or Look Up Tables (LUTs) that can be added or removed

from the design. FPGA design is very flexible and thus is increasingly becoming

popular in general purpose computing. FPGAs contain processors, on-chip memory,

buses, bridges and networking and are thus capable of hosting entire systems. User

application specific intellectual property can be designed and connected to the FPGA.

Some available cores can be found in [38]. The components that typically compose

a SOC Platform FPGA are further explained in [30]. The study of such computing

systems that incorporate user-programmable switches to determine functionality or

Page 16: Rajas e Khar Thesis

8

Figure 2.1: Xilinx Virtex 4 ML-410 developer board

architecture is called Reconfigurable Computing. Figure 2.1 shows a Xilinx Virtex 4

ML-410 [40] FPGA developer board.

2.2 Modes of Laboratory Instruction

The introduction of widely available general-purpose computers and the Internet

has opened new doors to education. Explained in this section are the different ap-

proaches to performing laboratories.

2.2.1 Traditional Labs

The general norm of performing laboratories is the traditional method where the

students engage in prescribed tasks involving different physical components. In other

words, the student has to be physically present to access the lab equipment. This

Page 17: Rajas e Khar Thesis

9

method, although the the most elementary method to perform labs, is limiting in

the case of FPGAs. As in, to set up a traditional FPGA laboratory will include an

on-campus space that has lab benches, developer boards, and support equipment[29].

The support equipment on every lab bench might include a power supply, clock

frequency generator, logic analyzer, oscilloscope, and a PC/workstation. These labs

involve physically setting up of the equipment every time the laboratory is performed.

Also, after the experiment (lab) is performed, all the equipment has to be restored

properly. This is important because many times, the lab space is shared among

various courses. This can arguably be stated as a disadvantage of traditional labs.

Protagonists of traditional labs however argue that it is very important to provide

“hands on” experience to the students.

2.2.2 Simulated Labs

A simulated lab can be defined as a virtual lab done by the student with simulation

software on general purpose computers. Many times this software may be available

only on school computers. Simulated labs do not have the restricting factors of space

as with traditional labs. Also, they are very flexible in the sense that the simulation

can be stopped at any step for review or if there has been a mistake[7]. Most sim-

ulated platforms are exclusively in software and thus do not require any specialized

equipment. On the downside, the data involved in a simulated experiment is virtual

and can be easily offset[7]. Also, the cost of setting up a simulated laboratory is not

necessarily (significantly) less than that of setting up a traditional lab as simulation

software can be expensive. Modelsim [25] is one such simulation software that pro-

vides an environment for managing FPGA resources. It is currently available in the

market for $ 2500 [24]. This may not be feasible for some set-ups. For fields like net-

working, where simulation plays an important role, open source simulation software

like NS2 [17]is also available. Antagonists argue that simulated labs cannot bring the

same practical experience as a “hands on” lab[27].

Page 18: Rajas e Khar Thesis

10

2.2.3 Remote Labs

A third option is remote labs that have been recently introduced. A remote lab is a

lab involving real data that can be accessed through the Internet. Remote labs ideally

have “anytime, anywhere” accessibility. Although remote labs are relatively new,

they offer a lot of advantages over traditional or simulated labs. The space required

for such a lab is comparatively very small. Also, the cost to set up and maintain

the equipment is not great as it does not involve equipment for very individual. In

comparison with simulations, remote labs deal with real world data and hence can

provide more accuracy.

2.3 Related Efforts

Remote Labs are a relatively new concept. With the growth of the Internet and

increasing connectivity, the popularity of remote labs has surged. Some interesting

efforts are described below.

RMCLab [19] is a remote laboratory which targets electrical engineering courses

at the University of Patras, Greece, beginning in 2004. RMCLab incorporates an

FPGA in addition to “axillary modules” which include differential amplifiers, PLLs,

ADCs, and OpAmp circuits. The labs are broken down to employ different aspects

of hardware and circuit design and analysis. The hardware is connected through PCI

to a host server which integrates a signal generator, oscilloscope, and other special

hardware over a custom LPT interface. An augmented client-server architecture sub-

divides the conventional client architecture into a client and instructor client (IC),

and the server architecture into an application server (AS) and resource server (RS).

RMCLab’s custom design is quite specific to the available resources from the Uni-

versity. The individual servers coordinate access with incoming client requests with

available hardware resources. While such a system can supplement large class sizes,

one key drawback is portability to other classroom environments where these exact

Page 19: Rajas e Khar Thesis

11

resources do not exist.

Hashemian and Riddley [15] have a designed FPGA e-Lab, remote access system

targeted for digital design courses using FPGAs. Based on Xilinx’s Spartan-3E Starter

Kit the e-Lab uses Windows XP Remote Desktop connect the remote user with the

FPGA, data acuqisiton hardware, and LabView. Integrating a webcam and GPIO

to connect LEDs, switches, and control hardware on the actual FPGA. An obvious

advantage of such a system is the low start-up costs associated with acquiring the

Spartan Starter Kit and software tools.

A common criticism is whether students would adopt and use the remote system or

if the students would benefit for such a system. Nedic [27] report on NetLab from the

University of South Australia which aims to address the common concerns of remote

laboratories. With a similar design to the previous efforts, NetLab incorporates a

variety of laboratory equipment and even goes so far as to allow collaboration between

students. The paper concludes that while the remote lab setup did not directly out

perform conventional real labs, the authors suggest a mix of real and remote labs

throughout the education curriculum.

Corter et al [5] developed a model that investigates the relative effectiveness of

hands-on labs, remote labs and simulated labs. The labs conducted were focused on

the kinematics and dynamics of mechanisms such as linkages, cams and gears. To

draw a fair comparison, out of the six labs given to the class, three were given in

traditional format and three were given in hands-on traditional format. In addition

to the student outcomes and student satisfaction, student preferences for remote labs

were related to student characteristics, in thinking style and ability. The results

obtained by Corter et al show that among other criteria like preparatory instructions,

lab report, and team work, “physical presence in the lab” was rated least important

by the students. Also, actual learning outcomes were assessed by questions on the

midterm and final that were related to the content of the labs.

Page 20: Rajas e Khar Thesis

12

McCracken et al [23] developed a Multi-User Distance Laboratory (MUDL),a digi-

tal system laboratory, that was implemented using COTS components. Using MUDL,

students could implement and debug their designs on hardware (FPGA) that is re-

motely placed. A system is set up where multiple users can access a remote FPGA.

Also, the FPGA can be seen through video conferencing. To avoid resource con-

tention, several identical systems can be set up where a number of FPGAs can be

used. Lab maintenance can also be done remotely by lab technicians. They use the

Altera University Board (UP1) that has two FPGAs. The software interface that

was used was one that combined NetMeeting(a software used for high quality video

conferencing) and Virtual Network Computing(VNC, a software with which the re-

mote computer’s resources can be controlled). However, the limitations to this system

were the lack of ability to check voltages at other points than the actual probed pins

throughout the FPGA and the high usage of bandwidth due to NetMeeting and VLC

that are real-time programs.

Lab on the Web [28] is a virtual laboratory that aims to achieve flexibility in digital

and analog circuit design keeping in mind the cost, scalability and modularity. An

FPGA board is used as it allows for implementation of almost any circuit. Here,

the interface to the remote lab is achieved by combining Virtual Network Comput-

ing(VNC) secure remote desktop.test suites were developed that are lab experiments

which can be used by students. The test suites include an Analog Circuit - a sim-

ple circuit is set up which can demonstrate the use of a power supply, oscilloscope,

a switch matrix and a function generator all of which can be controlled remotely,

FPGA Programming - illustrates that the FPGA can be used remotely via the Inter-

net, Digital Signal Processing Experiment - An analog signal is captured then using

the ADC interface it is digitized. The signal is then passed to the FPGA using VHDL.

This system also provides a webcam so the users can look at the FPGA board. This

system was evaluated and it was found suitable for undergraduate courses.

Page 21: Rajas e Khar Thesis

13

“eLab” [41], implemented by the University of Bordeaux in France is an effort

toward increasing remote education for Electrical Engineering. The components that

make up this system are a pool of instruments that can be controlled remotely, a

group of servers and dedicated software. The digital circuits implemented by this

lab include Differential Pair Amplifier, Linear OpAmp operation, and RC filter. To

use this system it is imperative to have an account is necessary. Again, a camera is

placed in the eLab’s room that allows a live view of the instruments and servers. The

eLab webpage also contains various textbooks that are required for the courses that

use these labs. The web interface is a simple one that allows users to set data points,

frequency values and voltages. The results of these inputs can be then measured in

new pop up window which allows users to save the output. An interesting feature in

this system is that a “notebook” is automatically created that stores the results and

measurements of the user.

Gustavsson [14] implemented a remote laboratory that can be accessed by several

clients and each can choose from five experiments in basic circuit theory. The interface

used to make the settings is the Internet. This data is sent to the lab server which

forms the required circuit and connects the probes. The results and measured data is

then returned to the client via the lab server. Different client requests are handled by

means of a queue. Here, the author states that video and sound transmission from the

remote lab is unnecessary as in circuit theory it is not possible to see electrical current

or hear electrons moving. However, a project course is also offered where teams of

students design and implement control systems for small vehicles. In this course,

one of the labs involves a camera: the students test the performance of the camera

(light sensitivity, bearing resolution and light sensitivity). The main drawback to

this system is that only one student can control the experiments involving long time

constants and physical sensations.

Gurkan et al [13] present a remote laboratory for an optical circuits course. The

Page 22: Rajas e Khar Thesis

14

strategy used in this facility is to first introduce the students to the concepts in theory

and then proceed to prelaboratory activities. The prelaboratories include an orien-

tation video, simulation and laboratory procedures on-line. This work also includes

assessment of the learning outcomes and teaching methods. Here, the students con-

nect to the server using a Web-based client that connects to the LabView Web Server.

Three experiments were conducted; Optical Source Characterization, Optical Fiber

Link Attenuation and Fiber Connectors, Hands-On Skills Transferred From Remote

Labs. Based on performance of the students on these experiments, student success

was measured. A student opinion survey was conducted too.

Jrg Tuttas and Bernardo Wagner [33] developed a prototype on-line laboratory

that uses client-server methodology. The laboratory devices can be viewed through

webcams and can be controlled using a remote controller that is connected to the

Internet. A graphical editor is used (Petri net) along with software tools to design

the control program. The client opens a TCP/IP socket to an I/O server. The server

then sends the signals to the controller which reads the input and sends it back to

the client. The evaluation methods used include learning and reaction. Audio/video

recording, screen capturing and interviews and ratings were other methods used to

evaluate this distance-learning experiment.

Austin J. Che [4] at the Massachusetts Institute of Technology (MIT), explains the

benefits of setting up remote lab for biology using the iLab technology developed by

MIT. Che states that a general lab for biology that can be done remotely, leads to

shared costs, efficient use of resources and higher work efficiency.

AIM-Lab [10] is a remote lab for characterization of electronic devices like semicon-

ductors over the Internet. AIM-Lab includes 9 experiments that can be performed on

a CMOS test chip and a silicon carbide (SiC) diode. It is used for senior or first year

graduate level courses. The implementation includes a client/server model where the

server is written in C++ and Java is used for the GUI client. AIM-Lab provides the

Page 23: Rajas e Khar Thesis

15

users with predesigned experiments. The user can access the website and open the

client window, select an experiment and enter parameters (voltage, step size, etc).

The experiment, once set up, can be started and the client instructions will be sent

through the TCP/IP socket to the server. The server runs the experiment and the

results are presented as numerical data and graphs.

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) [18] de-

veloped by National Instruments. An interesting implementation of this platform can

be read in [16]. It is used for data acquisition, instrument control and instrument

automation. This software can be used with Microsoft Windows, UNIX, Linux and

Mac OS.

Alamo et al [8] have developed a remote laboratory facility for microelectronic de-

vice characterization. It is implemented using a client/server model. The client side

application is a Java-enabled web browser. Eight devices are available to perform

various experiments and a semiconductor parameter analyzer along with a switch-

ing matrix enable the user to select one particular device. Simultaneous accesses

are made possible with the help of a queuing system. This system, located at Mas-

sachusetts, USA has been successfully used by students in Singapore in a graduate

level in electronics materials.

From the above descriptions, it can be noted that many researchers are investigating

the effectiveness of remote labs in their respective fields. Many of the labs implement

FPGAs due to their flexibility and reconfigurability, but the number of remote labs

for FPGA education are relatively very few. The target of this thesis is to widen

FPGA education. Also, the use of a webcam in this project is unnecessary because

the primary objective of this facility is to teach system-level design to senior/graduate

students and since the facility consists of a cluster of 64 FPGA boards, it is not feasible

to have a webcam for each one. Another interesting fact to note is the evaluation

methods used in these facilities. Since there is no standard method of proving the

Page 24: Rajas e Khar Thesis

16

effectiveness, it can be seen that the trend is to collect feedback from the students

using the facility. Although, anecdotal data is arguably not the strongest means of

proving facts, it is very helpful to improve the facility. Another method is to test the

students and derive learning outcomes. The most significant difference of the work

described in this thesis is that it is comparatively more scalable in the sense that the

hardware and software are both flexible to fit in different environments.

Page 25: Rajas e Khar Thesis

CHAPTER 3: DESIGN AND IMPLEMENTATION

In order to demonstrate the feasibility, evaluate the effectiveness, and compare

remote labs with traditional labs, it was necessary to design and implement an op-

erational remote lab for platform FPGA education. This chapter enumerates the

required functionality of such a system, the hardware, and the software implementa-

tions.

3.1 Required Functionality

To complete Platform FPGA laboratory assignments, there are several fundamental

interactions the student has with the hardware. Below we describe some of these

interactions and identify the functionality as either essential (must be handled by

remote facility) or just valuable (would be helpful but not strictly required).

Perhaps the single most important interaction is over an RS-232 serial port. All

labs involve creating a base system and that usually includes a processor or a micro-

controller. Even if the primary objective of the lab is to test a hardware core, a

processor is often used to coordinate and report the results of the test. Results are

almost always sent over a serial port that, in a traditional lab, is hooked up to a PC

with a null modem cable. Terminal software (minicom, hyperterm, etc) is used to

observe the output transmit input. In a remote lab, there must be a mechanism to

capture and transmit serial communication (both input and outputs).

Another extremely important capability the student needs is the ability to configure

the FPGA. Many of the developer boards support two mechanisms for doing this.

The student can hook up a JTAG cable which allows the FPGA to be configured

on-the-fly and, with the addition the right tools, provides the ability to debug. With

Page 26: Rajas e Khar Thesis

18

introduction of Integrated Logic Analyzers, the JTAG option is becoming increasingly

popular and makes having a serial port less important for seeing the results of a test.

The alternative mechanism used to configure an FPGA involves copying the bitstream

to a CompactFlash card. This involves physically removing the CompactFlash (CF)

memory card from the developer board, plugging it into a CF reader on a PC, coping

files, onto the card, then putting CF card back into the FPGA board. To be useful,

a remote lab would have to support the JTAG option and having a mechanism to

support the CF would be valuable.

Another critical function is the ability to apply and cut power to the board. That

is, one has to be able to turn the board on and, in the likely case that a student

misconfigures the chip, the ability to cold reset by turning off the board. The ability

to do a warm reset (usually implemented as a push button a development board) is

valuable but not critical.

In addition to diagnosing design mistakes with the serial port and JTAG, several

LEDs can be extremely useful debugging tools. One LED will illuminate RED if

the configuration on the CompactFlash card is invalid. It is not uncommon for new

students to make a simple mistake such as copying the wrong file onto the CF or

not notice that disk is full. The LED is very helpful at identifying these mistakes

because the only other symptom of the problem is “no output.” Two other LEDs on

the boards we use are labeled PLB and OPB Bus Err. Their actual function can be

varied but, by default, they identify errors that are often caused by corrupted pointers

in C or addressing errors. These two can be helpful but are not required.

To be completely functional, a remote laboratory facility would also support the

ability of students to create a physical off-chip peripheral and hook up their hardware

to the FPGA. For example, one might want to connect an Analog-to-Digital device

or an accelerometer to some I/O pins of the FPGA. These laboratory assignments

are extremely valuable and as an effort to achieve this, a board has been developed

Page 27: Rajas e Khar Thesis

19

Figure 3.1: Logical design of hardware to support remote lab

to support the addition of some hardware to the remote lab facility. This board

is explained in detail in 3.2. In this case, at first the students would set up their

hardware, and then switch to system level design. This means that the students will

have to perform at least one lab traditionally to set up their hardware, and then can

perform their labs remotely. Although this will work for small scale experiments,

to design and test something complex like an accelerometer means one has to have

constant physical contact or an enormously complex, special-purpose lab set up. From

a practical point of view, we would argue that these sort of labs be conducted on

much simpler (and less expensive) FPGAs that are either purchased by the students

or borrowed from the department shop.

3.2 Hardware: Three Board Designs

One approach to supporting a remote lab would be to simply buy a workstation, a

JTAG connector, a null modem cable, and digital I/O card for every developer board.

While feasible, this is unnecessarily expensive. The proposed design aggregates all of

the support services onto a single workstation as illustrated in Figure 3.1.

As shown, the setup consists of (two) racks of FPGA boards, that are intercon-

nected and that are connected to the Gigabit Ethernet network. To control power,

Page 28: Rajas e Khar Thesis

20

we use a Switched Power Distribution Unit (PDU). The APC Model AP7960, allows

up to 24 outlets to be switched using the SNMP protocol over a standard Ethernet

connection. Each FPGA development board is connected to one outlet, allowing for

remote control of power to individual boards. A key element to this set up is a custom

board that connect to the FPGA that connects USB to RS-232. This is explained

in detail in the next section 3.2. The USB from all the boards then connect to the

server via USB hubs. Reducing the FPGA board interface down to a single USB con-

nection allows for easier scaling when connecting tens of boards to a single computer.

For example, using more than two RS-232 connections on a server usually requires

special expansion cards. Powered USB hubs are used to aggregate the connections

to multiple FPGA interface boards to the server. The server is also connected to the

network. Any client who attempts to connect to the board has to go through the

firewall and then be authenticated by the server. The server then opens a connection

that enables the client to communicate with the FPGA board.

Future Technology Devices Inc. (FTDI) makes an integrated circuit, the FT2232D,

which can be configured to support three communications (UART, JTAG, and GPIO)

modes simultaneously. It also has a USB client interface for connecting to the server.

Figure 3.2 shows the high level block diagram of the FT2232D [12]. It allows us to

capture required I/O and communicate it to the server. Most of the hardware require-

ments can be accomplished with the FTDI chip. The different design descriptions

below are different form factors to achieve the same functionality.

3.2.1 Jura

DLP-2232M [11] is an evaluation module which deploys the FT2232D chip. It is a

single board, USB Dual Channel Serial/Parallel Ports with a variety of configurations.

It also has with an EEPROM that is in-circuit configurable via USB. It is compatible

with full speed USB 2.0. This module supports integral power control which makes

it a good choice for low-powered, high-powered, and USB bus-powered products.

Page 29: Rajas e Khar Thesis

21

Figure 3.2: Block diagram of FT 2332D

A custom module (named Jura) was developed at UNC-Charlotte. The Jura board

integrates the DLP-2232M module with JTAG headers, DB9 serial connectors and

a MAX232A UART to RS-232 voltage level converter. The total cost of this device

as built was $55 and shown in Figure 3.3. However, over $30 of this was in the

DLP-2232M evaluation module.

3.2.2 AIREN

The AIREN board [20] was built specifically for the Spirit cluster. It integrated a

Serial ATA network with the 64 ML-410 nodes in the cluster. The main aim of this

board was to evaluate using SATA connections in a High Performance Computing

communications network. The third version of this board includes a USB interface

which allows for JTAG programming as well as serial port readout from each board.

Page 30: Rajas e Khar Thesis

22

Figure 3.3: Jura board (GPIO lines tapped, JTAG not connected)

Figure 3.4: AIREN board

Page 31: Rajas e Khar Thesis

23

3.2.3 Sapphire

The Sapphire board was built to provide a generic cost effective solution that can

be used with most FPGA developer boards to facilitate building a remote lab facility.

This is a four layered board. Since there is no module, compact placing of individual

components was necessary to achieve a small size (2.69” long and 1.39” wide). This

board facilitates the connection between the serial port on the FPGA to the USB hub.

In addition to this, it also has JTAG headers that are be used to configure the FPGA

boards. Two JTAG connectors are provided, one 2×7 pin EJTAG (enhanced JTAG)

mostly used with MIPS[26] and also a single row (8 pin) generic header compatible

with most download cables. It works with a 6MHz crystal. The USB type B receptor

is used. There are 8 GPIO lines that can be used I/O communication with the FPGA

boards. These GPIO lines can be used to capture the error signals mentioned in 3.1.

A highlight of this board is the ability add hardware to it. Thus, the board can

be used for projects that include some hardware skills and can be used to obtain a

remote connection to an FPGA. The RS232 connector is used for serial connection.

The transmit and receive lines of the MAX232 line driver chip are tapped and jumpers

are provided for users who may not have a RS232 connector. They can use the tapped

lines directly. Figure 3.5 shows the sapphire board.

Figure 3.6 and Figure 3.7 show the top and bottom layers of the board. All the

main components are placed top layer and the bottom layer is used for the capacitors

and resistors making efficient use of space.

By placing the FTDI-2232D and related components directly on the PCB the cost

can be reduced to just $30 per board. The FTDI module is a very cost effective

alternative to the Xilinx Platform cable USB which also serves as a USB based JTAG

controller. However, the list price of the Xilinx cable is $199, compared to the $30

for the Sapphire board.

Page 32: Rajas e Khar Thesis

24

Figure 3.5: Sapphire board

Figure 3.6: Top layer (routing + solder mask) of Sapphire board

Page 33: Rajas e Khar Thesis

25

Figure 3.7: Bottom layer of the Sapphire board

Typical Board Operations

Figure 3.8 shows the state diagram of a typical FSC session. The possible states

a board can be in are available, allocated, initialized, ready, booting, running, and

powered off. The available state occurs when a board has not been allocated to any

student, the power is off. The allocated state reserves a particular board (or set of

boards) for exclusive access to one student. It also automatically applies power to the

allocated board(s). The board is in the initialize state while the bootloader is loading,

which takes approximately 40 seconds. In the ready state the board is ready for use

and can be pinged. While it is ready we can go into the upload state. During the

upload state the fsc server is transferring a FPGA configuration file to a slot on the

board. The client then selects a slot, and issues the boot command. The boot state

configures the FPGA fabric with the configuration program and loads the software.

After the board finishes booting it is in the running state. When the board is in this

state, as far as we know, the board is being used by a student. When the student is

finished with the board they can power down the board and release it.

Page 34: Rajas e Khar Thesis

26

Figure 3.8: Various states nodes in a pool of resources go through

Page 35: Rajas e Khar Thesis

27

3.3 Software Organization

To fully realize the potential benefits of a remote lab, several layers of software

are needed to allocate and return boards, maintain consistency, and provide a single

view over the Internet. FPGA Session Control software does this. Specifically, FPGA

Session Control (FSC) incorporates the functionality of R-Boot[7], that focused on

connecting a server to a single FPGA board, with a client-server model and a custom

command set running over a standard TCP/IP network. The ability to remotely

access the FPGAs from anywhere on or off campus gives students the unique ability

to work on labs and research without stepping in to the laboratory. FSC improves

the remote FPGA experience by providing clients (GUI-based and command-line) and

improves lab administration. (With R-Boot, users could leave the boards locked or,

worse, powered on. On exit, FSC releases all of the resources unless it was explicitly

told otherwise.)

The FPGA Session Control (FSC) software consists of a library, an Internet server,

several (command-line and graphical user interface) clients, and a stand-alone command-

line application. The server and client link to the FSC library and run on the remote

laboratory’s server. The clients are compiled and run on the end-user’s machines.

The software is responsible for coordinating access (ensuring mutual exclusion, en-

forcing permissions) to and control/observation (configuring, executing user designs,

capturing outputs) of the FPGA resources. This core functionality is accomplished in

the FSC library which uses several files installed on the server to keep track of the state

of the FPGA resources. Specifically, the boards file (installed in /etc/fsc/boards by

default) is a database of all the FPGA resources managed by the system. This file is

manually maintained by the administrator. Every FPGA board is either <available>

or assigned to a specific user. The inuse file (installed in /var/fsc/inuse by de-

fault) is directly managed by the library; it keeps track of the state of each FPGA

board. Other files (such as /etc/fsc/users and /var/fsc/logfile) are used to

Page 36: Rajas e Khar Thesis

28

Figure 3.9: (A) “Request” use-case (B) “Release” use-case

grant permissions and log events in the system.

3.3.1 FSC Library

The public interface of FSC Library consists of about thirty-five functions and

several data types. By default, the development files (/usr/include/fsc/fsc.h and

/usr/lib/libfsc.a) are installed on the server. Written in C, all public functions

begin with the prefix fsc (to avoid conflicts with other libraries). The library is

designed to facilitate the primary use-cases of an FPGA Session Control. The simplest

two are “Request” and “Release” which are used to allocate FPGA resources by name

and return resources. The common functionality is factored and the elaborated use-

cases are shown in Figure 3.9. In both use-cases, the application first creates a “board

set” which is then passed to the specific operation.

The subroutine fscrc t fsc make boardset ( char *list, fsc boardset t *ns

) creates a board set. Its first argument is a string that is a textual description of

the desired resources. Each FPGA board has a name which corresponds to its DNS

host name on the network. Valid strings include a single name, a range of host names

(separated by a hyphen), or a sequence of names and ranges (separated by a comma).

For example, each of the following are valid strings from which a boardset can be

Page 37: Rajas e Khar Thesis

29

Table 3.1: FSC error codes

FSC OK operation succeededFSC USRERR operation failed; something was wrong with the inputFSC NETERR operation failed; something was wrong with the socket interfaceFSC CONFERR operation failed; something was wrong with the server setup

constructed.

n00

larry,curly,moe

n00-n07

n00-n07,n32-n39

This assumes that these are valid hosts and, in order for range to work properly,

host names have to end in the same number of fixed digits (node00 not node0 if there

are between 11 and 99 hosts that begin with node). The second parameter is the

address of a board which is a variable that can be declared

fsc_boardset_t ring ;

The return value is an error code. Most functions return one of four results as

shown in Table 3.1.

Once a boardset has been successfully allocated, both operations can easily be

accomplished by the appropriate subroutine.

fscrc_t fsc_request ( fsc_boardset_t ns ) ;

fscrc_t fsc_release ( fsc_boardset_t ns ) ;

NOTE: a third use-case also exists. fsc request any allows the application to spec-

ify a characteristic (“ml310” versus “ml410”) and the library will find an available

resource. The goal of this manuscript is give an understanding of the requirements

Page 38: Rajas e Khar Thesis

30

Figure 3.10: (A) “Power On” use-case, (A) “Restart” use-case, and (B) “Power Off”use-case

and design of the system. An interested reader is referred to the documentation which

includes a complete description of the interface in Doxygen [35].

The next required functionality is the ability to power on and off the FPGA re-

sources. (At the request of users, a third functionality “restart” was added after the

design was implemented. It power cycles the resources with a safe time delay between

off and on.) The use-cases are shown in Figure 3.10.

Another functionality that is vital is to upload a file to the required FPGA re-

sources. The first step to achieve this is to make a <.ace> file. This file can then be

uploaded using the fsc upload command. After uploading a file to a particular slot,

it may be required to select that particular slot. In FSC, unlike previous versions, the

slot is not explicit and must be specified. To do so, the fsc select slot command

is used. One thing to note while using this command is that the board must in ready

state. Once the appropriate file is uploaded and the proper slot is selected, boot can

be used to run the design on the FPGA. When finished, it is recommended to halt

the board before power down and release. This can be done using fsc halt. The

use-cases are shown in Figure 3.11

The above mentioned commands are the ones used frequently. Table 3.2 enlists a

Page 39: Rajas e Khar Thesis

31

Figure 3.11: (A) “Upload” use-case (B) “Select” use-case, and (C) “Boot” use-case

comprehensive list of all the functions (user oriented) offered by the FSC library.

3.3.2 FSC Standalone Application

The FSC standalone application is a collection of C programs that do not require

the client interface to run. The standalone application of FSC depends on the library

to provide the required functionality. This application has its own subroutines (for

e.g. request) that call the library’s function.

While using the standalone application, to upload an ace file, the file has to be

copied onto the server first. Although tedious, it provides the same functionality as

the command-line client.

3.3.3 FSC Server

This section has been developed completely by Dr. Ron Sass. But for complete

understanding of this project, an explanation is provided.

The actual path of communication between the FPGA resources and the user is

Page 40: Rajas e Khar Thesis

32

Table 3.2: Public functions in FSC libraryFuntion Descriptionfsc init sets up a global statefsc make boardset creates a boardsetfsc my boardset creates a boardset of all the nodes allocated to userfsc request attempts to allocate a requested boardfsc request any attempts to allocate a particular type (ml310/ml410)fsc release attempts to release all owned boardsfsc power up applies power to the outlet(s) associated with the board(s)fsc power down removes power from the outlet(s) associated with the boardsfsc power status checks the status of powerfsc upload transfers an ace file to the FPGAfsc select slot changes the slot on the board(s)fsc erase slot blanks out the selected slotfsc reboot reboots the board to the selected slotfsc halt halts the boardfsc get status fills in the status fields of a node setfsc set mode changes the operating mode (normal/superuser)fsc list table of information on all the resourcesfsc display attempts to reproduce the console for each node in the set

set up by the server. To remotely power on/off the FPGAs, SNMP protocol is used.

The server program starts a TCP/IP server that translates client messages into FSC

library calls and sends response back to client. To achieve this a custom TCP/IP

socket protocol was implemented. This eliminates the need for multiple ssh connec-

tions per board by a single user and requires only one connection (client;command-line

or GUI). So the server creates a socket and waits for a request for connection. Once

a request comes through, it parses the message and accepts the connection and exe-

cutes that command. This is done for every new connection that comes through to

the server. When the connection is established, the client can send commands that

will be appropriately intercepted by the server and then executed. So it can be said

that one TCP/IP server *PER* FPGA board; these servers simply move serial data

from FPGA consoles to TCP/IP and back.

Page 41: Rajas e Khar Thesis

33

FSC Client

FSC has two versions of the client software. One is the graphical client (developed

by another student). And the other one is the command line client. The graphical

client and command-line are functionally equivalent; the differences are in presenta-

tion only. The client starts by using ssh port-forwarding to tunnel to FSC server. As

more boards are requested by the server, additional port forwards are added to specific

serial port servers. When a user issues a command, it is parsed in the same man-

ner as standalone but instead of library calls, messages to the server are generated.

The server’s responses are are displayed (in command-line, output is to standard out;

GUI, to appropriate window in GUI). The command-line client is the same as the

standalone application in appearance, but is functionally different. The client does

not require that the ace file be copied manually to the server. The client makes FSC

easier to use.

A diagrammatic representation of the sequence of events between the server and

client is as shown in Figure 3.12.

3.3.4 Case Example

Suppose User A needs to run a Partial Reconfiguration test on four boards. The

first thing to do to ensure he is allocated the boards on the first go is to do a listing.

According to the list, he can then request for the range of boards he requires. Once the

boards are successfully allocated to him, he must power them up. Then he can upload

his design (ace file) onto the FPGA boards. The next step will be to ensure that the

right slot is selected and then boot that slot. Once he issues the boot command, after

about a 40 second delay, the boards will be running his design. Once he is done he

must halt the board and then power it down. The final step is to release the board

(after which it becomes available for use by other users).

Page 42: Rajas e Khar Thesis

34

Figure 3.12: Sequence of handling a connection

Page 43: Rajas e Khar Thesis

CHAPTER 4: EVALUATION

While the advantages and disadvantages of remote laboratory can simply be stated,

the most important question — how does remote laboratories effect learning? — can

only be answered by experimentation. This section presents a preliminary evaluation

based on the data collected from two semesters of using the remote laboratory facility

exclusively in a course.

4.1 Facility and Course

The Reconfigurable Computing Systems (RCS) laboratory at the University of

North Carolina at Charlotte (UNCC) is primarily focused on FPGA-based computer

architecture research. Several different FPGA boards are available to support various

on-going projects. One of these projects is the Reconfigurable Computing Cluster

(RCC) Project [9] which is investigating the feasibility of using Platform FPGAs to

build cost-effective petascale high-performance computers. The project was seeded

with two Xilinx ML-310 [39] developer boards (Virtex II Pro [37] in an ATX form

factor) and a simple, custom network adapter card. These boards were used to make

a demonstration in a proposal for a larger investigation. The lab has since added four

more ML-310s and a cluster of 64 ML-410 [40] boards (Virtex 4 FX [36] in an ATX

form factor). The ML-310s are now largely used for education and have been fitted

with the Jura boards described. Currently the ML-410s are used for research as part

of the RCC project (scientific application development and architecture research). In

addition to teaching, the remote lab facility is being frequently used by researchers

but their experience has not been included in this study.

Fundamentals of Reconfigurable Computing is a course offered at University of

Page 44: Rajas e Khar Thesis

36

North Carolina at Charlotte (UNCC) in the ECE department. It is appropriate for

undergraduate Seniors and first-year Master’s students. It assumes that students have

taken a sequential logic course (covering synchronous state machines), have experience

with a Hardware Description Language (VHDL [1] or Verilog [21]), and are able to

synthesize simple FPGA designs. At UNCC, the prerequisite is a sophomore-level

course. Students have the option of taking an Embedded Systems course where they

solder small projects and learn about interfacing before taking the Reconfigurable

Computing course as well. The primary goal of the course is to give the students

a detailed understanding of how FPGA devices work and how to design FPGA-

based computing systems. Students write HDL cores but the emphasis is on single-

chip system-level design — processors, on-chip communication, and system software.

Hence, the course is a ideal first-test of a remote laboratory facility.

This course has run three times at the University. The second time was in the

Fall of 2007 and this was the first class to be included in our evaluation. It consisted

of about 30 graduate students (mostly Master’s students) and initially four Seniors

(one finished the course). The second class to be considered in the evaluation was in

Summer 2008. The class consisted of 17 students.

4.2 Assessment

To evaluate the effectiveness of this approach to teaching FPGAs, proper assess-

ment of the different aspects of this system is necessary. For this, an assessment

model was developed. Figure 4.1 shows the key elements to this analysis were stu-

dent perception, student learning and, cost/benefit analysis. These are explained in

detail in the following sections.

As shown in Figure 4.1, the assessment is divided as Formative and Summative.

Formative assessment can be defined as a method where feedback from learning ac-

tivities is used to adapt the teaching to meet the learner’s needs [2]. The surveys

conducted as part of this evaluation is a means of formative assessment. Summative

Page 45: Rajas e Khar Thesis

37

Figure 4.1: The assessment model developed to evaluate the effectiveness of theremote lab facility

assessment can be defined as a means to measure student learning with the help of

tests. The quizzes given to the students can be categorized as a means of summative

assessment.

4.2.1 Cost/Benefit Analysis

While the advantages of using a remote lab facility versus a traditional lab may

seem obvious, we quantify these advantages below for completeness.

Space An important aspect of remote labs to consider is the significant space savings

by setting up a remote lab instead of a traditional lab. The space required by a single

traditional lab bench is 6 feet by 3 feet. This would include space for a workstation

and an FPGA board. If we assume that there are 25 students approximately in a

Reconfigurable Computing class and if we provide a 4×4 matrix placement of the lab

desks, the total space needed will be 32 feet into 16 feet, leaving room for movement

between desks. In the remote lab infrastructure that we have implemented, there are

two FPGA racks which together measure 5 feet into 3.5 feet and 7 feet tall. Thus we

Page 46: Rajas e Khar Thesis

38

can see that the amount of space required for a remote lab setup is very less compared

to that required by a traditional lab.

Cost The space required to set up a remote lab has a direct impact on the cost.

Ideally the cost of lab space (per square foot) in the university is approximately

US$1054, which means setting up a remote lab would prove to be more cost effective

than setting up a traditional lab. In addition to this, there are significant cost savings

for the students as well. The students are not required to purchase a board. In

addition to this, depending on the number of students enrolled in that class, the

students may have to share the resources in a traditional lab whereas while using a

remote lab facility, students can access a board through the Internet from their own

workstations.

Time Another factor to consider is time. With remote labs, students can do their

labs at their own time. Remote labs do not require the student to perform the lab

within a particular time slot. Sometimes synthesis of a design may take a couple of

hours or more. In this case the student may start a synthesis, move on to something

else and come back to it later. Thus, time constraints can be considered less with

remote labs.

Another valuable aspect is the additional features can be added with ease to the

existing features of FSC. This helps in enhancing the software to fit the needs of the

users.

4.2.2 Student Perception

Since student satisfaction can be correlated with retention, the following feedback

was gathered on using a remote lab. This feedback was collected over two semesters,

with two surveys per semester.

Fall 2007 Two surveys were conducted, for feedback purposes, one at the beginning

of the semester and one at the end of the semester. From the initial survey, the

Page 47: Rajas e Khar Thesis

39

general perception was that the “anytime, anywhere” that comes with remote labs

appealed to the students. The second survey was more detailed. It was conducted

after the completion of all the labs for the course. After working with remote labs,

97% of the students stated that they enjoyed the experience of working with remote

labs. 85% of the students felt that they not only had more time to explore and learn

but they also had more opportunity to re-try if their labs did not work the first time.

The students also liked not having to “check out” boards or having to buy one. Thus,

we can say that remote labs proved to be most cost effective for students.

The response of the students was not completely positive though. One main com-

plaint that the students had was the lack of visual feedback while performing the

labs. The other factors that discouraged the students were slow Internet connection

at their end, not having enough “hands on” experience with FPGAs, “buggy” session

software, and sometimes the congestion of resources(since they were using a pool of 4

ML-310 boards). FSC has addressed the problems with the session software. In the

next semester, the course would be using a pool of 64 ML-410s which will alleviate the

congestion of resources. To give the students more ’hands on’ experience, lab times

could be allotted where the students can see and learn about the physical components

of the board. Also, the new version of the FSC software is looking to address the

issue of visual feedback as well.

Summer 2008 Summer 2008 was the third time this course was conducted. The

pattern was retained from the first evaluation where one survey was conducted at

the beginning of the semester and one at the end. The survey results although not

drastically different from the data that was collected the first time, provided pretty

good insights. The initial survey showed that 76% of the students had never worked

with remote labs. The second survey was tweaked based on the feedback received

from the first time. 80% of the students said that they enjoyed working with remote

labs. Figure 4.2 is a comparison of which type of lab(traditional, simulated or remote)

Page 48: Rajas e Khar Thesis

40

Figure 4.2: A plot of the students’ opinion of the different types of labs

Figure 4.3: Students’ idea of remote labs

the students found “very helpful”. 93% students felt that they had more opportunity

to retry the lab if something was not right. One interesting feedback from this survey

was that 66% of the students did not feel the need for the equipment to be physically

present in front of them. Also, 73% of the students felt they had more time to explore

and learn on their own.

Figure 4.3 shows the increase in student acceptance of remote labs after they ac-

tually had performed the labs remotely.

Anecdotal results show that the students were generally favorable to remote labs.

Page 49: Rajas e Khar Thesis

41

Figure 4.4: Features of Remote labs that appealed to the students

Some suggestions include setting up “help” sessions for the students who have doubts

and difficulties performing the labs, and setting up one lab where the students get

some “hands-on” experience with FPGAs. Figure 4.4 that shows the best aspect of

remote labs according to the students.

From this feedback, we can conclude that students could benefit from some hands

on contact at least initially students were unclear about what was actually happening

in the lab, the software needs to be much more robust and reliable, but that said, this

facility could distance learning. A copy of these surveys can be found in Appendix B.

4.2.3 Experiment to Guage the Learning Outcomes

Although student perception was arguably strong enough evidence to prove the

increasing interest in remote labs, it does not state anything about the productivity

of the students. An experiment was set up to measure the remote productivity versus

local productivity of students. In this, half of the students were made to perform

a lab remotely while the other half did it in the traditional way. For the next lab,

the students who performed the lab remotely were made to do it the traditional

way and vice versa. Then a comparison of the scores were made to check for better

productivity.

Page 50: Rajas e Khar Thesis

42

Before assigning the labs, some objectives were drawn. These are based on the

knowledge the students are expected to gain after performing the labs.

• creating a template core and modifying it to include multiple registers

• writing VHDL to perform calculations on the values stored in the registers

• creating a standalone C program to drive your new core

• building a linux specific base system for the ML310

• compiling the linux kernel

• configuring linux kernel for use with the ML310

• using a cross-compiler

To properly assess the the learning outcomes, the students were given quizzes to

test the knowledge gained. The scores of the students on the quizzes show that the

above objectives were met. The quizzes were given to the students during class time

after the lab demos were over. A copy of the quizzes can be found in Appendix B.

The quizzes, once graded, were taken into account for assessment. The maximum

grade possible on the quizzes was 10 points. The grades of the students who did the

labs traditionally and remotely were averaged and compared. It showed that for the

first lab, the students who did it traditionally had an average score of 7.85, while the

students who did it remotely had an average score of 9 points. In the second lab, the

students who did it traditionally were averaged at 7.77 points and the students who

did it remotely were also averaged at 8.66 points. One must take into account that

the students’ individual aptitude also matters but as long as the scores of the students

are not drastically decreasing this factor can be ignored. Also, a student who does

the lab traditionally once, has to do the lab remotely the other time. And the fact

that there is not much increase in the scores of students doing it traditionally shows

Page 51: Rajas e Khar Thesis

43

that the productivity with remote labs is better. Thus from the outcomes achieved by

this experiment, it can be safely stated that the students’ performance with remote

labs are equal if not better than the students’ performance with traditional labs.

Page 52: Rajas e Khar Thesis

CHAPTER 5: CONCLUSION

Experience with a remote laboratory facility was limited to two semesters, so the

data is sparse and the conclusions are far from definitive. That said, the prelimi-

nary results are very encouraging. From an administrative point of view, there are

significant advantages to rolling out a remote laboratory facility and the costs are

modest. In terms of student learning, the data is generally positive. Initially, the

students (who are very familiar with traditional engineering laboratories) seem wary

of not having physical access. However, survey results suggest that by the end of the

semester, nearly all students preferred the remote facility to a traditional laboratory

setting. Hence the preliminary results are very encouraging and suggest that a more

comprehensive study is warranted.

Future Work

Since the data collected is preliminary, a longitudinal study is warranted. An

implicit feature of remote labs is that they enable distance learning, since students do

not need to be physically present in the lab to do assignments. However, the impact

on learning for distance education has yet to be evaluated.

Page 53: Rajas e Khar Thesis

45

REFERENCES

[1] P. J. Ashenden. The Designer’s Guide to VHDL. Morgan Kaufmann PublishersInc., San Francisco, CA, USA, 2001.

[2] P. Black and D. William. Inside the black box: Raising standards throughclassroom assessment. Phi Delta Kappan, 80(2):139–144, October 1998.

[3] S. D. Brown and Z. G. Vranesic. Fundamentals of Digital Logic with VERILOGDesign. McGraw-Hill, Inc., New York, NY, USA, 2002.

[4] A. J. Che. Remote biology labs. In E-ducation without borders, pages 127–140,Washington, DC, USA, 2005. IEEE Computer Society.

[5] J. E. Corter, J. V. Nickerson, S. K. Esche, C. Chassapis, S. Im, and J. Ma.Constructing reality: A study of remote, hands-on, and simulated laboratories.ACM Trans. Comput.-Hum. Interact., 14(2):7, 2007.

[6] Cray Inc. Cray Inc., the supercomputer company, February 2008. http://www.cray.com/.

[7] K. Datta and R. Sass. Rboot: Software infrastructure for a remote fpga labora-tory. In Proceedings of the 15th Annual IEEE Symposium on Field-ProgrammableCustom Computing Machines (FCCM’07), pages 343–344. IEEE Computer So-ciety, 2007.

[8] J. A. del Alamo, L. Brooks, C. McLean, J. Hardison, G. Mishuris, V. Chang,and L. Hui. The mit microelectronics weblab: a web-enabled remote laboratoryfor microelectronic device characterization. In Proceedings of the 2002 WorldCongress on Networked Learning in a Global Environment, pages 52–64, 2002.

[9] R. S. et al. Reconfigurable computing cluster (rcc) project: Investigating thefeasibility of fpga-based petascale computing. In Proceedings of the 15th An-nual IEEE Symposium on Field-Programmable Custom Computing Machines(FCCM’07), pages 127–140. IEEE Computer Society, 2007.

[10] T. Fieldly, M. Shur, H. Shen, and T. Ytterdal. Aim-lab: a system for remotecharacterization of electronic devices and circuits over the internet. Devices,Circuits and Systems, 2000. Proceedings of the 2000 Third IEEE InternationalCaracas Conference on, pages I43/1–I43/6, 2000.

[11] Future Technology Devices International Ltd. DLP Design, DLP-2232MModule/Evaluation Kit, 2005. http://www.ftdichip.com/Documents/

DataSheets/DLP/dlp2232m-v14-ds.pdf.

[12] Future Technology Devices International Ltd. FT2232D Dual USB UART/FIFOI.C., 2007. http://www.ftdichip.com/\discretionary-Documents/DataSheets/DS FT2232D.pdf.

Page 54: Rajas e Khar Thesis

46

[13] D. Gurkan, A. Mickelson, and D. Benhaddou. Remote laboratories for opticalcircuits. Education, IEEE Transactions on, 51(1):53–60, Feb. 2008.

[14] I. Gustavsson. A remote laboratory for electrical experiments. In Proceedingsof 2002 ASEE Annual Conference, pages 11285–11293, Washington, DC, USA,2002. American Society for Engineering Education.

[15] R. Hashemian and J. Riddley. Fpga e-lab, a technique to remote access a lab-oratory to design and test. Microelectronic Systems Education, 2007. MSE ’07.IEEE International Conference on, pages 139–140, June 2007.

[16] L. Hesselink, D. Rizal, and E. Bjornson. Cyberlab: Remote access to laboratoriesthrough the world-wide-web. In Proceedings of the SSGRR 2000 Computer &eBusiness International Conference, Compact disk paper 224 and electronic pro-ceedings http://www.ssgrr.it/en/ssgrr2000/proceedings.htm, L’Aquila,Italy, July 31 - August 6 2000. Scuola Superiore G. Reiss Romoli.

[17] Information Sciences Institute, USC. The network simulator - ns-2, February2008. http://www.isi.edu/nsnam/ns/.

[18] N. Instruments. Distance-learning and remote laboratories using labview,September 2007.

[19] D. Karadimas and K. Efstathiou. An integrated platform, implementing real,remote lab-experiments for electrical engineering courses. In WBED’07: Pro-ceedings of the sixth conference on IASTED International Conference Web-BasedEducation, pages 631–636, Anaheim, CA, USA, 2007. ACTA Press.

[20] W. V. Kritikos. Feasibility of serial ata cables for the physical link in highperformance computing clusters. Master’s thesis, University of Kansas, May2007.

[21] J. M. Lee. VERILOG QuickStart: A Practical Guide to Simulation and Synthesisin VERILOG. Kluwer Academic Publishers, Norwell, MA, USA, 2002.

[22] P. Marchal. Field-programmable gate arrays. Commun. ACM, 42(4):57–59, 1999.

[23] S. McCraken, Z. Zilic, and H. Y. H. Chan. Real laboratories for distance educa-tion. Journal of Computing and Information Technology, 11(1):67–76, 2003.

[24] Mentor Graphics. Informant - your resource for simulation information, January2008. http://www.model.com/resources/informant/2006/03 2006.htm.

[25] Mentor Graphics. Model sim, January 2008. http://www.model.com/.

[26] MIPS Technologies. MIPS, March 2008. http://www.mips.com/company/

about-us/.

[27] Z. Nedic, J. Machotka, and A. Nafalski. Remote laboratories versus virtual andreal laboratories. Frontiers in Education (FIE 2003) 33rd Annual, 2003.

Page 55: Rajas e Khar Thesis

47

[28] P. Pawan, S. Pepic, I. J. S. K. Wong, and G. Gulak. Lab on the web. InProceedings of the 4th IEEE International Conference for Upcoming Engineers(ICUE), volume 4. IEEE, May 2005.

[29] Y. Rajasekhar, W. Kritikos, A. G. Schmidt, and R. Sass. Teaching fpga systemdesign via a remote laboratory facility. In Proceedings of the 2006 InternationalConference on Field Programmable Logic and Applications (FPL), pages 127–140, Washington, DC, USA, 2008. IEEE Computer Society.

[30] A. G. Schmidt. Quantifying effective memory bandwidth in platform fpgas.Master’s thesis, University of Kansas, May 2007.

[31] Silicon Graphics Inc. ””, February 2008. http://www.sgi.com/.

[32] SRC Supercomputers, Inc. Delivering programmer-friendly reconfigurableprocessor-based computers, February 2008. http://www.srccomp.com/.

[33] J. Tuttas and B. Wagner. Distributed online laboratories, August 2001.

[34] U.S. Department of Labor, Bureau of Labor Statistics. Bureau of labor statistics- occupational outlook handbook, December 2007. http://www.bls.gov/oco/

ocos027.htm.

[35] D. van Heesch. Doxygen, source code documentation generator tool, July 2007.http://www.stack.nl/∼dimitri/doxygen/.

[36] Xilinx. Virtex-4 FPGA / User Guide. http://direct.xilinx.com/support/

documentation/user guides/ug070.pdf.

[37] Xilinx. Virtex-II Pro / Virtex-II Pro X Complete Data Sheet. http://direct.xilinx.com/bvdocs/publications/ds083.pdf.

[38] Xilinx. Products and services, intellectual property, March 2008.

[39] Xilinx, Inc. Ml310 embedded development platform. http://www.xilinx.com/ml310.

[40] Xilinx, Inc. Ml410 virtex-4 fx embedded development platform. http://www.

xilinx.com/ml410.

[41] T. Zimmer, M. Billaud, and D. Geoffroy. A remote laboratory for electricalengineering education. In Proceedings of the 23rd International Conference onMachine Computing, pages 19–21, Washington, DC, USA, 2006. IEEE ComputerSociety.

Page 56: Rajas e Khar Thesis

48

APPENDIX A: GLOSSARY

ADC — Analog to Digital Converter

AIM — Automated Internet Measurement

AS — Application Server

ASIC — Application Specific Integrated Circuit

ATX — Advanced Technology Extended

CF — Compact Flash

CMOS — Complementary Metal Oxide Semiconductor

COTS — Commodity off-the-shelf

CpE — Computer Engineering

DB 9 — Serial Communications D-Shell Connector, 9 Pins

DRC — DRC Computers, name of a company

EE — Electrical Engineering

EJTAG — Enhanced JTAG

FPGA — Field-Programmable Gate Array

FSC — FPGA Session Control

FTDI — Future Technology Devices Incorporation

GPIO — General Purpose Input Output

GUI — Graphical User Interface

Page 57: Rajas e Khar Thesis

49

HDL — Hardware Description Language

IC — Integrated Circuit

I/O — Input/Output

IP — Intellectual Property (or Internet Protocol see TCP/IP)

JTAG — Joint Test Action Group

LED — Light Emitting Diodes

LPT — Line Printer Terminal

LUT — Look Up Table

MIPS — Million Instructions per Second

MUDL — Multi-User Distance Laboratory

Op-Amp — Operational Amplifier

OPB — On-chip Peripheral Bus

PAL — Programmable Array Logic

PC — Personal Computer

PCB — Printed Circuit Board

PCI — Peripheral Component Interconnect

PDU — Power Distribution Unit

PLB — Processor Local Bus

PLD —Programmable Logic Device

PLL — Phase Locked Loop

Page 58: Rajas e Khar Thesis

50

RC — Resistor-Capacitor (circuit)

RCC — Reconfigurable Computing Cluster

RCS — Reconfigurable Computing Systems

RS — Resource Server

RS-232 — Recommended Standard 232 (computer serial interface, IEEE)

SATA — Serial Advanced Technology Attachment

SGI — Silicon Graphics, Inc.

SNMP — Simple Network Management Protocol

SOC — System-On-Chip

SRC — Seymore Cray’s Initials, name of a company

TCP/IP — Transmission Control Protocol/Internet Protocol

UART — Universal Asynchronous Receiver Transmitter

USB — Universal Serial Bus

VHDL — Very High speed integrated circuit Descriptive Language

VNC — Virtual Network Computing

Page 59: Rajas e Khar Thesis

51

APPENDIX B: SURVEYS AND QUIZZES

The surveys and quizzes used to gather feedback on the system and assess learning

outcomes are included on the following pages. The same survey was given at the

beginning of the class in Fall 2007 and Summer 2008. The second survey from Fall

2007 was updated for Summer of 2008. Assessment quizzes were given in Summer

2008 only.

Page 60: Rajas e Khar Thesis

52

Survey 1: Fall 2007 and Summer 2008

ECGR 6090 – FUNDAMENTALS OF RECONFIGURABLE COMPUTING

Questionnaire

Please answer the following questions to facilitate research on Remote Labs: TRADITIONAL LABS: A real, hands-on lab where students engage in prescribed tasks involving different physical components. In other words, the student has to physically be present to access lab equipment.

1. Are you familiar with traditional lab settings? Yes No

2. Have you taken a course with a traditional lab?

Yes No

3. If the answer to question 2 was Yes, was the lab helpful in terms of learning? 1-Very Helpful 2-Sometimes Helpful 3-Rarely Helpful

SIMULATED LABS: A virtual lab done by the student with simulation software on general purpose computers. The software may only be available on school computers but there are open, shared labs available – perhaps in multiple locations.

4. Are you familiar with simulated lab settings? Yes No

5. Have you taken a course with a simulated lab?

Yes No

6. If the answer to question 5 was yes, was the lab helpful in terms of learning? 1-Very Helpful 2-Sometimes Helpful 3-Rarely Helpful

REMOTE LABS: A real lab that can be accessed through the Internet. Remote labs ideally have anytime, anywhere accessibility. While doing these labs the TA is available through electronic communication.

7. Are you familiar with remote lab settings?

Yes No

8. Have you taken a course with a remote lab? Yes No

9. If the answer to question 8 was yes, was the lab helpful in terms of learning?

1-Very Helpful 2-Sometimes Helpful 3-Rarely Helpful

There will be another survey conducted at the end of the semester. To help facilitate the survey, please make a note of the time required to complete your labs for this class.

~Thank you for taking this survey~

Page 61: Rajas e Khar Thesis

53

Survey 2: Fall 2007

ECGR 6090 – Fundamentals of Reconfigurable Computing

Questionnaire

Please answer the following questions to facilitate research on Remote Labs:

1. After working with remote labs, does the idea appeal to you?

Yes No

2. Since you did the labs from your own workstation, did you feel like you had less

time/space constraints?

Yes No

3. If yes, did you also feel you got a chance to explore and learn much more on your own?

Yes No

4. Did you feel like you had more opportunity to re-try if your lab/experiment did not work

the first time?

Yes No

5. Do you feel you would have performed better if you had some type of physical

components to visually show that your lab is working/not working?

Yes No

6. Did remote labs distract/discourage you in anyway?

Yes No

If yes, how?

7. In your experience what was the best thing about working with remote labs?

8. What was the worst?

Page 62: Rajas e Khar Thesis

54

Survey 2: Summer 2008

ECGR 6890, Summer 2008

QuestionnairePlease answer the following questions to facilitate research on Remote Labs

1. After working with remote labs, does the idea appeal to you?

Yes No

2. Since you did the labs from your own workstation, did you feel like you had less time/spaceconstraints?

Yes No

3. Did you feel like you had more opportunity to re-try if your experiment did not work forthe first time?

Yes No

4. With remote access, would you say you had more time to explore and learn much more onyour own?

Yes No

5. Do you feel you would have performed better if you had some type of physical componentsto visually show that your lab is working/not working?

Yes No

6. What, in your opinion, was the best thing about working with remote labs?

• Anytime Anywhere accessibility

• No time constraints

• Not having to share resources

• more opportunity to explore on your own

• not having to buy a board

7. In this course, using FPGAs for system level design, did you feel the need to have the equip-ment physically present in front of you?

Yes No

8. Which statement of the following best describes your experience with remote labs?

• Remote labs are excellent

• I feel the sotware session was buggy otherwise the experience was good

• I feel working with traditional labs is much better

• I don’t feel any difference between remote and traditional labs

• A traditional lab is better as a TA is always available

• Doing a remote lab was not great because of the slow internet connection at my end

Page 63: Rajas e Khar Thesis

55

Quiz Lab 2

ECGR 6090 Name: __________________________

Lab 2 – Quiz

1. Draw the blocks of your system. (5 pts)

2. You have three registers (assume the address of the first one to be 0x70000000). If you

added 3 more registers to your system, what would their addresses be? (3 pts)

3. What if the PLB2OPB bridge address range was changed to ‘0x00000000 to

0x6FFFFFFF’? (2 pts)

4. In which directory is the file user_logic.vhd? (2 pts)

5. What is IPIF and how does it relate to the core? (2 pts)

6. Is the core that you added hard or soft IP? (1 pt)

Page 64: Rajas e Khar Thesis

56

Quiz Lab 3

ECGR 6890, Summer 2008 Name: __________________________

Lab 3 - Quiz

1. Draw the base system to the best of your ability.(4 pts)

2. What command did you execute in order to extract the three archives (linux-base, mkrootfs, and busbybox).(1 pt)

3. Give the Name and the Version of the Linux Kernel. (1 pt)

4. What Application is initially running on the PowerPC after our bitstream is configured to the FPGA? (1

pt)

5. What does BSP stand for? At what point did you generate the BSPs and what does it do?(2 pts)

6. What command did you use to create your lab3_ppc executable which

runs on the PowerPC405?(1pt)