DOC PREVIEW
Berkeley ELENG C249A - Modeling and mapping

This preview shows page 1-2-3-23-24-25-26-47-48-49 out of 49 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Architecture: modeling and mapping - Metropolis approach -OutlineMetropolis FrameworkMetropolis meta-modelMeta-model : netlistSlide 6Slide 7Meta-model: execution semanticsExecution semanticsAction automataSlide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18AwaitSemantics of awaitSemantics summaryArchitecture componentsMeta-model: architecture componentsMeta-model: quantitiesSlide 25Slide 26Quantity resolutionSlide 28Slide 29Slide 30Slide 31Slide 32Meta-model: architecture netlistMeta-model: architecture netlistSlide 35Meta-model: mapping processesSlide 37Meta-model: mapping netlistSlide 39Meta-model: platformsSlide 41Meta-model: recursive paradigm of platformsMeta-model: summarySlide 44Metropolis infrastructure architectureFormal models from the meta-modelMetropolis design environmentSlide 48SummaryArchitecture: modeling and mapping- Metropolis approach -Yoshi WatanabeCadence Berkeley Labsfor EE249 class in October 2002OutlineOutlineMetropolis meta-modelMeta-model execution semanticsArchitecture: what do we care about?MappingPlatforms: recursive paradigm of platform based designMetropolis FrameworkMetropolis FrameworkInfrastructure• Metropolis meta-model - language - modeling mechanisms• Meta-model compilerMeta-model Library• Models of computationMeta-model Library• Architecture platformsToolsSimulatorQSSPIGSTARSSPIN…MethodologiesMulti-media, wireless communication, mechanical controls, processorsMetropolis meta-modelMetropolis meta-modelConcurrent specification with a formal execution semantics:• process• port• interface• medium• netlist• constraint• quantityMeta-model : netlistMeta-model : netlistprocess P{ port reader X; port writer Y; thread(){ while(true){ ... z = f(X.read()); Y.write(z); }}}MP1XYP2XYEnv1Env2MyNetlist• thread() generates a sequence of events for the process• communication only through ports:• no global variable• no update on static fields outside yourself• a port is specified with an interface type• all and only the methods of the interface can be called through the portMeta-model : netlistMeta-model : netlistprocess P{ port reader X; port writer Y; thread(){ while(true){ ... z = f(X.read()); Y.write(z); }}}medium M implements reader, writer{ int storage; int n, space; void write(int z){ await(space>0; this.all ; this.all) n=1; space=0; storage=z; } word read(){ ... }}interface reader extends Port{ update int read(); eval int n();}interface writer extends Port{ update void write(int i); eval int space();}MP1XYP2XYEnv1Env2MyNetlistMeta-model : netlistMeta-model : netlistprocess P{ port reader X; port writer Y; thread(){ while(true){ ... z = f(X.read()); Y.write(z); }}}medium M implements reader, writer{ int storage; int n, space; void write(int z){ await(space>0; this.all ; this.all) n=1; space=0; storage=z; } word read(){ ... }}MP1XYP2XYEnv1Env2MyNetlistconstraint { B(P1, M.write) -> !B(P3, M.write) U E(P1, M.write); B(P3, M.write) -> !B(P1, M.write) U E(P3, M.write); }P3XYEnv3Meta-model: execution semanticsMeta-model: execution semantics Processes take actions.statements, function calls, function arguments, top-level expressions (e.g. assignment, conditional, RHS of an assignment):y = z+port.f();, y = z+port.f(), z+port.f(), port.f(), i < 10, … An execution of a given netlist is a sequence of vectors of events.event : the beginning of an action, e.g. B(process, port.f()), the end of an action, e.g. E(process, port.f()), or null Nthe i-th component of a vector is an event of the i-th process An execution is feasible ifit satisfies all coordination constraints, andit is accepted by all action automata.Execution semanticsExecution semanticsAction automaton:one for each action of each processdefines the set of sequences of events that can happen in executing the actiona transition corresponds to an event:it may update shared memory variables:process and media member variablesvalues of actions-expressionsit may have guards that depend on states of other action automata and memory variableseach state has a self-loop transition with the null N event.all the automata have their alphabets in common:transitions must be taken together in different automata, if they correspond to the same event.B y=x+1Action automataAction automatay=x+1;B y=x+1 B x+1 E x+1 E y=x+1y:=Vx+1B x+1 E x+1 E y=x+1y:=anycccc* = write y* * *B x+1 E x+1Vx+1 :=x+1E x+1Vx+1 :=anyccwrite xy=x+1x+1Vx+1yx000NAction automataAction automatay=x+1;y=x+1x+1Vx+1yxB y=x+1 B x+1 E x+1 E y=x+1y:=Vx+1B x+1 E x+1 E y=x+1y:=anycccc* = write y* * *B x+1 E x+1Vx+1 :=x+1E x+1Vx+1 :=anyccwrite x000B y=x+1 B x+1 NN NE x+1100Action automataAction automatay=x+1;y=x+1x+1Vx+1yxB y=x+1 B x+1 E x+1 E y=x+1y:=Vx+1B x+1 E x+1 E y=x+1y:=anycccc* = write y* * *B x+1 E x+1Vx+1 :=x+1E x+1Vx+1 :=anyccwrite x000B y=x+1 B x+1 NN NAction automataAction automatay=x+1;y=x+1x+1Vx+1yxB y=x+1 B x+1 E x+1 E y=x+1y:=Vx+1B x+1 E x+1 E y=x+1y:=anycccc* = write y* * *B x+1 E x+1Vx+1 :=x+1E x+1Vx+1 :=anyccwrite x000B y=x+1 B x+1 E x+1NN N E y=x+1100110B y=x+1Action automataAction automatay=x+1;y=x+1x+1Vx+1yxB y=x+1 B x+1 E x+1 E y=x+1y:=Vx+1B x+1 E x+1 E y=x+1y:=anycccc* = write y* * *B x+1 E x+1Vx+1 :=x+1E x+1Vx+1 :=anyccwrite x000NAction automataAction automatay=x+1;y=x+1x+1Vx+1yxB y=x+1 B x+1 E x+1 E y=x+1y:=Vx+1B x+1 E x+1 E y=x+1y:=anycccc* = write y* * *B x+1 E x+1Vx+1 :=x+1E x+1Vx+1 :=anyccwrite x000B y=x+1 B x+1 NNAction automataAction automatay=x+1;y=x+1x+1Vx+1yxB y=x+1 B x+1 E x+1 E y=x+1y:=Vx+1B x+1 E x+1 E y=x+1y:=anycccc* = write y* * *B x+1 E x+1Vx+1 :=x+1E x+1Vx+1 :=anyccwrite x000B y=x+1 B x+1 NN NE x+1500Action automataAction automatay=x+1;y=x+1x+1Vx+1yxB y=x+1 B x+1 E x+1 E y=x+1y:=Vx+1B x+1 E x+1 E y=x+1y:=anycccc* = write y* * *B x+1 E x+1Vx+1 :=x+1E x+1Vx+1 :=anyccwrite x000B y=x+1 B x+1 NN NAction automataAction automatay=x+1;y=x+1x+1Vx+1yxB y=x+1 B x+1 E x+1 E y=x+1y:=Vx+1B x+1 E x+1 E y=x+1y:=anycccc* = write y* * *B x+1 E x+1Vx+1 :=x+1E x+1Vx+1 :=anyccwrite x000B y=x+1 B x+1 E x+1NN N E y=x+1500550AwaitAwaitawait { (guard_1; test_1; set_1){ statements_1; } ... (guard_n; test_k; set_n){ statements_n; }}guard_i : expression with no side effecttest_i, set_i: { (object, port interface) }• the only operational construct to coordinate


View Full Document

Berkeley ELENG C249A - Modeling and mapping

Documents in this Course
Load more
Download Modeling and mapping
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Modeling and mapping and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Modeling and mapping 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?