|
|
|
Harry Hsieh |
|
Department of Computer Science and Engineering |
|
University of California at Riverside |
|
|
|
|
|
Class Meeting |
|
SURGE 349 |
|
TuTh 12:40PM-2PM |
|
Prerequisite: |
|
CS/EE 120A |
|
consent of instructor |
|
Course number: |
|
16546 |
|
4 units, grades only |
|
No S/NC, P/NP,… |
|
|
|
|
|
|
|
|
Harry Hsieh |
|
www.cs.ucr.edu/~harry |
|
harry@cs.ucr.edu |
|
Office (787-2030) |
|
SURGE 329, TuTh 2PM-3PM |
|
Check www for cancellation |
|
Also available |
|
by appointment |
|
immediately after class |
|
Class Web Page |
|
www.cs.ucr.edu/~harry/classes_files/cs269_Win02.html |
|
|
|
|
|
|
|
|
Presentations & participation 45% |
|
Present 3-4 technical papers per quarter |
|
1.5-2 hour-long lecture per quarter |
|
Read 3 technical papers per week on the average |
|
Attend every class meeting |
|
Sign up for 1st round of presentation
by Thursday, 1/10 !!! |
|
Individual project 45% |
|
List of projects provided |
|
1-2 person per project team |
|
Sign up by Thursday, 1/17 !!! |
|
Quiz 10% |
|
In-class |
|
Open-everything |
|
No human help whatsoever… |
|
No homework, no exams, no texbook, no laboratory
exercise, no |
|
|
|
|
|
|
|
In the past: |
|
Hardware and software design technologies were
very different |
|
Recent maturation of synthesis enables a unified
view of hardware and software |
|
Hardware/software “codesign” |
|
|
|
|
|
The entire system must be designed as a whole |
|
|
|
Hardware |
|
Software |
|
Interface |
|
Memory |
|
Peripheral |
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Change architecture |
|
Change partitioning |
|
Change scheduling |
|
Change synthesis |
|
|
|
|
|
|
Specify everything as ASIC |
|
Offload as much as possible to processor |
|
As long as timing constraints are met |
|
|
|
Specify everything as software |
|
If timing constraints are violated |
|
Move functionality to hardware |
|
|
|
System level partitioning |
|
Implementations on different resources are
proceed independently |
|
“System Integration” at the end |
|
|
|
|
|
|
|
Lack of unified system behavior representation |
|
Can’t verify the entire system |
|
Lead to possible incompatibility across boundary |
|
|
|
A priori division into resources |
|
Can’t optimize across boundary |
|
Lead to suboptimal design |
|
|
|
Lack of well defined design flow |
|
Can’t revise easily |
|
Directly impact time to market |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
How to specify? |
|
Languages and models |
|
VHDL, C, Java, FSM, PN, Matlab,… |
|
Framework (IDE) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Approaches to complex embedded systems |
|
Design Reuse |
|
Time to market push |
|
High level of abstraction |
|
Exploit all possible design freedom |
|
Concurrency |
|
Application concurrency matching architectural
concurrency |
|
Heterogeneity |
|
Automotive: block
based/multi-CPU/safety/deadline |
|
Wireless: sequential
program/single-CPU/QoS/protocol |
|
|
|
|
|
|
Goal: develop a formal design environment |
|
Orthogonalize concerns |
|
Computation vs communication (synthesized vs
translated) |
|
Function vs architecture (should vs could) |
|
Behavior vs performance (abstract vs
implemented) |
|
Behavior vs constraints (abstract vs required) |
|
Have theoretical foundation |
|
Metamodel to represent different models of
computation |
|
Model vs language… |
|
Use Platform |
|
Software, hardware, system |
|
With its implied communication structure |
|
|
|
|
|
|
|
Participants: |
|
UC Berkeley (USA): methodologies, modeling, formal
methods |
|
CMU (USA): formal methods |
|
Politecnico di Torino (Italy): modeling, formal
methods |
|
Universita Politecnica de Catalunya (Spain): modeling,
formal methods |
|
Cadence Berkeley Labs (USA): methodologies, modeling,
formal methods |
|
Philips (Netherlands): methodologies
(multi-media) |
|
Nokia (USA, Finland): methodologies (wireless
communication) |
|
BWRC (USA): methodologies (wireless
communication) |
|
BMW (USA): methodologies (fault-tolerant
automotive controls) |
|
Intel (USA): methodologies (microprocessors) |
|
|
|
UC Riverside? |
|
|
|
|
|
|
|
Balance between reusability and optimality |
|
orthogonalize
design concerns as much as possible |
|
optimize
the final implementation as much as necessary |
|
|
|
|
Functional decomposition |
|
Behavior adaptation |
|
Media and MoC wrapper insertion |
|
Communication refinement |
|
Optimization |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Architecture: abstracted layers for smooth
refinement |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sentential logic |
|
p, q |
|
p ^q, pvq, -p, p->q |
|
|
|
Linear Temporal Logic |
|
Time is linear sequence of points |
|
Gp: globally p |
|
Fp: eventually p |
|
Xp: next p |
|
pUq: p until q |
|
|
|
Example: |
|
Gp->Fp |
|
What’s always true is eventually true |
|
|
|
|
|
|
|
|
|
Object orientation is here to stay |
|
C++ is yesterday’s news |
|
|
|
What about inefficiency with interpreter? |
|
Technology solution |
|
Can always translate and compile |
|
|
|
http://java.sun.com |
|
Official site, contain tutorial |
|
|
|
|
|
May declare fields and functions |
|
May be
extended to define other processes |
|
Object orientation a la Java and C++ |
|
Fields and functions are private unless declared
public |
|
Contain at least on constructor and a thread
function |
|
Interact with other object through port |
|
Port |
|
Special field of type interface |
|
Interface |
|
Declare function with input/output type without
implementing them |
|
Process access port through calling interface
functions |
|
|
|
|
|
|
|
|
|
Update |
|
Function may change the state of media that
implements the interface |
|
Eval |
|
Function may NOT change the state of the media… |
|
|
|
|
Implements interfaces by providing code for the
function of the interfaces |
|
May define fields and functions |
|
|
|
|
|
|
|
|
|
The only construct in metamodel for
synchronization |
|
Implement critical sections |
|
Await ( guard ; test list; set list){critical
section} |
|
Guard: condition that must hold for execution to
continue |
|
Test list: other process should not have set
these |
|
Set list: other process can not set theses now |
|
|
|
Nondeterminism |
|
Await{ ( g1 ; t1 ; s1 ) c1 , ( g2 ; t2 ; s2 )
c2…} |
|
|
|