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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
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
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
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.
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).
34
Figure 3.12: Sequence of handling a connection
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
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
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
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
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)
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.
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.
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
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.
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.
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.
[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.
[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.
VHDL — Very High speed integrated circuit Descriptive Language
VNC — Virtual Network Computing
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.
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?
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~
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?
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
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)