The 1st Workshop on Reconfigurable
Computing Education
RC education 2006
NOTE:
here the term "data-stream" is used as defined for systolic
arrays: featuring data-transport-triggered operations (in
contrast to instruction-stream-driven execution).
FPGAs and Reconfigurable Computing (RC) in Education:
Contributions are sought in the following areas:
Outline missing
!!!!!!!!!!
preliminary collection of material:
Emerging Trends
Courses
common basic machine models
- von-Neumann-like vs. anti machine paradigm
- data-stream-based vs. instruction-stream-based models
Particular
topics of interest include but are not limited to:
- Industrial
needs regarding embedded systems education
- Embedded
systems curricular design and implementation
- Control
and signal processing issues
- Computer
science issues
- Real-time
computing issues
- Distributed
systems issues
- Extra-functional
properties evaluation and optimization
- Architecture
and design issues
- Hardware/software
co-design
- Hands-on
experiences and labs
- Teaching
embedded systems
------------
MSE 2005 will focus on the following topics:
- Technologies: system-on-chip, mixed-signal, IP-based design,
- Custom VLSI, ASIC and FPGA designs, Nanotechnology
- Educational techniques: novel curricula, laboratories, distance
learning,
- Textbooks and student design projects
- Industry involvement: experiences with university/industry
partnership,
- Preparing students for industry
- Educational infrastructure: design and IP libraries, CAD tool
access,
- Internet-based tools, design evaluation tools, test and
verification
tools
-------------
Each of these application domains has only a limited view of
computing and takes it more as a mere technique than as a science on
its own.
Dramatic consequences are, that it makes it very difficult to
bridge the cultural and practical gaps.
Given this fragmentation, it can be rather hard to investigate, since
there are so many different actors and departments involved.
---------
Topics
of interest
New approaches to introductory courses
Advanced courses
Active learning
New curricula
National differences in curricula
Interdepartmental issues (CS/ECE)
Distance education
Industrial support for teaching
Encouraging students to do research
Encouraging students to pursue the Ph.D.
Hardware tools
Simulators and other software tools
Teaching embedded systems
Prototyping
Visualization aids
VLSI design packages
Web-based materials
Textbook development
Textbook selection
Integration of research into teaching
Also of interest are survey papers
- on
topics in computer architecture education, e.g.,
- simulators,
- FPGAs, and
- embedded systems education.
See the WCAE
archive,
Special
Session on Embedded Systems Education
A special session on Embedded Systems
Education
The goal is to bring researchers, educators, and
industrial representatives together to share design, research, and
education experiences in embedded systems.
Topics and of interest
include but are not limited to:
- Embedded systems curricular design
and implementation
- Architectural issues specific to embedded systems
- Software issues specific to embedded systems
- Industrial needs regarding embedded systems education
- Hardware/software co-design
- Teaching embedded systems
--------------
courses from contexts like
computer science,
control theory, and
dependable systems
- definition of RC-based computer science and engineering curricula
- guidelines addressing the main aspects of RC in embedded systems
- definition of RC-based computer science and engineering curricula
- Graduate Curriculum on RC-based Embedded Software and Systems
- Recommendations for Designing New Curricula
Recommendations for Designing New Curricula:
- Information and Communications
Technology (ICT)
- the efficiency of graduate education on Real-Time System
- attempts to bridge the gap between computer science and systems
science
- developing the foundations, a major departure from the current,
separated structure of computer science (CS), computer engineering
(CE), and electrical engineering (EE)
- reintegrates information and physical sciences.
- Education material and curricula for embedded systems.
- diverse cultural background of the particular application domain.
- unifying the discipline once it has become clear that fundamental
problems are shared across different application domains.
- teaching embedded software design from a unified perspective
2.1 Diversity of Origins -- Resulting in a fragmented
landscape of ad hoc techniques from domains like telecommunications,
mechanics, automotive, aeronautics and consumer products.
- to cope with communication problems between people from different
cultures
- Matlab/Simulink/Stateflow toolbox —
- to more computer-based object-oriented tools such as UML.
- Moreover, development in assembly language and C are still
important
- observations of the education landscape in the embedded system
domain,
- bridging a large variety of cultures and practices.
- the role of computer science by providing a sound and unifying
view on
the various computation models
- the unifying role of computer science
- The impact of CS on characteristics and problems of different
disciplines
Laboratories and experimental techniques will allow students to
become
sensitized to the practical problems of embedded systems.
This will also allow them to innovate and be ready to solve important
problems as soon as they obtain their first job.
consortia
curriculum defined in terms of larger bodies of knowledge, rather than
courses and modules
practical implementation
main pillars of embedded system science and engineering:
- • Basic control and signal processing,
- • Theory of computing,
- • Real-time computing,
- • Distributed computing,
- • Reconfigurable computing,
- • Evaluation and optimization of extra-functional properties.
To these major bodies of knowledge we added two transversal themes:
- • System architecture and design;
- • Applications.
• Basic algorithms, working knowledge of an imperative high-level
programming language.
contrasting imperative versus transport-triggered high-level
programming languages
Taxonomy of algorithms:
- contrasting software vs. configware implementations
- contrasting software-based performance vs. configware-based
interconnect requirements
- contrasting instruction level parallelism (ILP) vs. fine-grained
FPGA implementations
- algorithmical cleverness needed for ILP-to-FPGA migration
• Basic notions on logic gates, combinational and sequential
circuits,
processors, I/O devices, interrupts, buses and basics of assembly
language.
• Basic notions on logic gates: contrasting hardwired vs. FPGA
implementation
- Systolic arrays and their generalization as reconfigurable pipe
networks
- Elements of language theory (automata, context-free grammars,
regular
expressions).
- Implementation of programming languages, lexical and syntactic
analysis, static analysis, code generation and optimizations.
- Implementation of Software-Configware Co-compilers
- Basic operating systems, concurrent and distributed programming
- Operating systems for dynamically reconfigurable systems
- Software modeling, analysis and design, life-cycle, testing
methodologies
- Configware modeling, analysis, design and testing
- hardware-to-configware migration
- hardware-to-software migration
observations or studies concerning:
- fragmentation of research
- conflicting terminologies and basic models
courses
- contrasting software versus configware
- integrated curricula for training engineers and researchers
- courses integrating a range of topics having been spread across
many
different areas
- graduate
- undergraduate
- college level
- highschool
-------------------
Wayne Wolf:
Laboratories are a critical part of an embedded systems course.
- create an enriching set of labs for complex embedded systems
- the cost of lab equipment to reach a broad audience.
- students should be able to install on their own machines student
versions of the development systems they use in labs
- in the FPGA world, Xilinx is an excellent model for how to make
devices and tools accessible to students
- find a good experimental setup for multiprocessors
- simulators in class
- using Uniprocessor performance and power simulators
- easily modifiable simulators for heterogeneous multiprocessors.
- simulators from CMU to handle heterogeneous multiprocessors
in systems-on-chips.
-----
Teach students
- how MCUs are different from MPUs
- how to use the peripherals
- how to write efficient C code
- how to debug for function and performance
- Provide students with hands-on experience
- Give them a development kit which they can build on in the future
------------