Week 1 Goals - PSU Systems Engineering

advertisement
Course Goals, Assessment Method and Recommendations
SYSE-595: HRDWRE SFTWR INTEGR
By John Blyler (Instructor), Sum’08
I. Instructor Goals
Week 1 Goals: To provides a review of basic system engineering concepts, plus the
motivation for applying SE to the development of today’s complex electronic-based
(hardware-software) devices
Week 1 Reading
1 Why Study Hardware-Software Systems?
2 System Engineering Basics
3 Functional Analysis and OCDs
4 Requirements Analysis
5 Solution Synthesis
6 Modeling Tools
Week 2 Goals: To provide a basic understanding of software systems:
1. HW Basics for SW
2. Software Creations Basics
3 Types of Software
4 Software Process Models
5 Relationships Between Hardware and Software
Week 3 Goals: To understand the full range of hardware-software system architectures
and trade-offs, the students must understand the basic technology and terminology for
both chips, chip packages and printed circuit board development.
1 Chip-Package-Board
Week 4 Goals: This learning module is the first one that uses the book: "ESL Design
and Verification." Electronic System Level (ESL) is one inflection of the general
principles of systems engineering, namely, used by the chip design community. I'll
address the other electronic communities, e.g., board and product level, with
supplemental material as we go along in the course.
Reading Specifics for Week 4 - ESL Development and Enablers
* Ch 3: Evolution of ESL Development
* Ch 4: What Are the Enablers of ESL?
* Ch 10.1: Intro to Post Partitioning
Week 5 Goals: This week covers the life cycle flow of hardware and software in the
design of integrated circuits. Pay special attention to the implementation sections.
For this week, please read the following:
Page 1
* Ch 5: ESL Flow
Week 6 Goals: This week covers the challenges of specification and modeling. The
requirements management section should look similar to LM1. Modeling is also a big
part of any systems engineering activity, but especially as a prelude to the co-design of
hardware and software systems.
For this week, please read the following:
* Ch 6: Specification and Modeling
* Ch 9-9.3: Post-PartitioningAnalysis and Debug
Week 7 Goals: This week covers pre-partitioning at the algorithmic level. Pay special
attention to the approach used in the JPGE encoding example.
For this week, please read the following:
* Ch 7: Pre-Partitioning Analysis
Week 8 Goals: This week covers hardware implementation of the partitioned design.
You'll recognized some of the hardware options covered briefly in the introduction of
chip development earlier in the course.
For this week, please read the following:
* Ch 11: Hardware Implementation, up to but not including Section 11.7
* Course notes as provided in "readings."
Week 9 Goals: This week covers software implementation of the partitioned design.
You'll recognized some of the software development basics covered briefly in the first
part of this course.
For this week, please read the following:
* Ch 12: Software Implementation up to but not including Section 12.3
* Lecture notes (Programmer’s View)
Week 10 Goals: For the last week of the course, we'll be looking at how the green
movement effects the design of and trade-offs between hardware and software
subsystems.
For this week, please read the following:
* Lecture notes as listed (Green Hardware and Software)
II. Goal Assessment Method
Page 2
Each week’s learning module will be evaluated in two ways: 1) assessment evaluation
and 2) student journal entries. In each learning module assessment, the student must rate
and give comments in the following three areas:
> Reading Assignment - On a scale of 1 to 5 (5 being best), how would you rate the
reading assignment for this week? Also, briefly explain what you'd like to learn more
about pertaining to this reading.
> Homework Assignment - On a scale of 1 to 5 (5 being best), how would you rate the
homework assignment for this week? Also, briefly explain if the homework helped or
didn't help your understanding of the reading assignment for this week.
> Relevance - On a scale from 1 to 5 (5 being the most relevant), how would you rate the
relevance of this weeks lesson to the understanding of electronic hardware-software
development? Briefly explain your reasons.
Here’s an example of a partially filled out assessment spreadsheet:
Student
Reading Raw Score
Reading - Homework - Homework Average
Raw Score
Average
Relevance Raw Score
Relevance Average
LM1
LM2
LM3
LM4
3.25
Martin Bamberg
Neil Chung
Ronald Delvisco
Ali Hodroj
Minh-Tam Nguyen
Daniel Smith
4
3
2
5
2
3.5
Martin Bamberg
Neil Chung
Ronald Delvisco
Ali Hodroj
Minh-Tam Nguyen
Daniel Smith
3
4
5
4
4
4
LM5
3.25
4
3
4
4
1
3.5
4
4.33
5
3
5
5
4
4
4
4
4
5
3
4
4
4.5
5
3
5
5
4
5
LM6
LM7
LM8
LM9
LM10
III. Recommendations
Here are the specific recommendations for improving the course next year, based on the
listed assessment evaluations:
Week 1 Recommendations: Students responded well to the trade-off study methodology.
May include one more example of a hw-sw trade-off analysis. Might include a simple
sensitivity measure.
Page 3
Week 2 Recommendations: Several good ideas for improvement:
> Include one example of how “hardware can directly replace software and vice versa,”
in other words, a higher level view to complement the very detailed nature of this LM.
> The concept of timing is completely missing from the software view (see Ali Journal).
Use his very detailed example to introduce the idea of timed and untimed system hw-sw
models (actually covered later in the course). Just need an example here, like Ali’s.
> [Daniel] Hardware homework needs to more closely align with the readers. At least one
student need to supplement readings with research via the Internet.
> More self-assessment test that address actual hardware questions, probably terms,
technology, etc.
> Almost all the students really liked this module. Some recommendations include more
development of buss types, spell out all acronyms. Need to flesh out the “How Software
works” tutorial.
> Be sure to cover MakeFiles (in the software tutorial). Contrast to hardware (no real
Make File, since no compiling, except for FPGAs.)
Week 3 Recommendations: Some of my students are still struggling with basic concepts.
For example, I asked them do describe what a system meant from a chip point of view.
Several seemed to see the chip as a single function entity, not an SoC. Perhaps I need to
focus more on the very simple example from the AFP case study. I haven't done so in the
past because I thought it was a trivial example. But for the next class I'll reintroduce the
AFP - starts from a discrete logic design and goes into a hw-sw board level design. Then
I could ask the class to migrate that design to an FPGA or ASIC, balancing HW-SW
issues. [The ASIC migration might be to a System-in-Package (SiP), i.e., several chip
dies in one pacakge]. I really think this course needs to be a collection of case studies.
Problem is that they need to understand the terms. Chicken and egg dilemma.
Also, there seemed to be too much material in the ‘Complex Electronics Guidebook.”
Next time I’ll space out that reading.
Need to emphasis the difference between simple, single function or descrete chips (e.g.,
flip-flops, etc) and complex SoC. This is where the AFP case study would help. It uses
discrete chips to build a system. Later, that same case study is redone with a complex
chip processor and software – but it still does the same function! This should be a great
example for next time.
Week 4 Recommendations: Nneed to better align the homework with the reading and
provide more examples. For example, “question number one talks about modeling a new
compression algorithm. The reading went more into considerations when modeling, but
not much detail on performing the modeling or developing algorithms.” The third
question is another example. The reading didn't discuss much about DSP's. So trying to
make a comparison for fixed vs IP didn't really line up with the reading. [Ronald
Delvisco].
Week 5 Recommendations: Need to emphasis that ESL is not just one flow, but needs
to be adapted. Personally, I’m not sure that I’ll use this “ESL” book next year.
Page 4
Week 6 Recommendations: Will incorporate the following changes:
> Need to do more with the Gajski-Kuhn Chart - a great diagram for showing the
different levels of abstraction. http://schlosser.info/diplomathesis/thesissu7.html.
> Homework seemed better aligned with assignment. “The question on Gajski's Y-chart
was a good application question. “
> Several students are using DOOR, that is, more typical SE tools than MathWorks. May
want to include more examples from the standard SE tool suites. Might try to resurrect
our tools from past students, too.
Week 7 Recommendations: The use of actual estimation tools like COCOMO was a big
hit in this LM. Here are some other comments:
> [Ronald Delvisco] I know from my experience, alot of time is spent on turning the high
level specifications into low-level requirements, but not enough time is spent doing a
good analysis of how those specifications will be partitioned into different processors.
> [Daniel Smith] I tried to step back and look at the big picture in an attempt to
understand concepts rather than just remember terms. For example how the Systems
Engineer is like the architect who builds the blue prints. The developers are like the
construction workers that do the actual building. The hardware and software products are
like the bricks and other objects that make up the building. I would also think both have
to do a trade-off analysis because the goal is to build a product as fast as you can, keep
costs down, and quality high.
Week 8 Recommendations: TPM, UART example, interface focus of HW-SW as well
as interaction between SE and program management were all well received. Here’s a few
pertinent comments:
> [Ali Hodroj]I think that the main benefit from this learning module was the
introduction of the management aspects of systems engineering within the SoC design
world.
> [Minh-Tam Nguyen] I thought the case study on UART HW-SW Implementation was
great because it broke down all of the advantages and disadvantages of UART from both
the HW and SW side.
Week 9 Recommendations: Comments of value:
> [Martin Bamberger] More discussion on power consumption of the solid state memory
vs traditional hard drives.
> [Ali Hodroj] One interesting thing that caught my attention was the uncertainty in
performance estimations across different hardware platforms. Concerning memory
utilization - I've been recently looking at .NET Micro, which is an embedded version of
the .NET framework for small devices that provides subset of the C#/.NET base class
library: http://msdn.microsoft.com/en-us/embedded/bb278106.aspx
Week 10 Recommendations: Green trade-offs should just focus on low-power tradeoffs.
Page 5
Overall Course Recommendations:
Ideally, this course should cover HW-SW tradeoff approaches for several different types
of industries, i.e., hw-sw tradeoffs for control systems at power plants (including data
storage requirements, I/O, etc). In its current form, the class focuses on hw-sw tradeoffs
for electronics industry. Also, in its present form, the course focuses on chip and board
development, with little emphasis on network and I/O design. To be honest, tho, I’ve
covered network trade-offs in the past to which students felt overwhelmed. The subject
matter can quickly get out of hand.
The difficulty is getting the class on the same page in terms of nomenclature, i.e., basic
terminology. But perhaps I should just jump right in and present several HW-SW tradeoff studies. Then intro terminology and concepts from that point. A bit of a chicken and
egg.
Here are the changes that I will make to the course next year:
> LM1 will remain the same, except that I’ll introduce the following course long tradeoff analysis: Determine which is more cost effective and environmentally friendly to
sustain – print or electronic distribution of material. This seems like a simple question,
but to answer requires a full knowledge of HW-SW trade-offs at all levels.
> LM2 will be expanded into two LMs. The first one will cover what is currently covered
in LM2, except more material on hardware-only (discrete chips, no SW) implementation
of a data acquisition system. Trade-offs are pretty straight forward here. Will also
introduce a hardware only (no software) design – the AFP case study. This will be
expanded throughout the course. The second part of LM2 will cover HW-SW control
basis (as in other non-electronic systems, like power plants, auto plants, etc).
> In later LMs, I’ll modify that hardware-only design to a HW (basic process) and
accompanying SW implementation. This would introduce the basic concepts of
embedded SW, HW and firmware.
> Evolve this design into a single SoC system - either as an FPGA or ASIC w/ or w/o IP.
This would be similar to the NASA ChipStat example in class (very interesting, really).
> Introduce the changes in HW-SW wrought by a simple wireless extension.
> Connect this system to a network.
At each stage I'd discuss the appropriate HW-SW trade-offs, as well as the related
technology risks. Trade-offs would center around the most common:
> Power - consumption and heat dissipation from electronics. Perhaps green ways to
reuse this head.
> Performance (typically throughput)
> Area or footprint
> Cost and risk
All of these above case studies already exists, since I've covered it during previous
classes.
Page 6
Page 7
Download