DOC PREVIEW
Berkeley ELENG C249A - Lecture Notes

This preview shows page 1-2-3-21-22-23-43-44-45 out of 45 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 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 45 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 45 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 45 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 45 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 45 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 45 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 45 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 45 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1Discrete EventDiscrete EventuuExplicit notion of time (global order…)Explicit notion of time (global order…)uuDE simulator maintains a global event queue (DE simulator maintains a global event queue (VerilogVerilog and and VHDL)VHDL)uuDrawbacksDrawbacksss global event queue => tight coordination between partsglobal event queue => tight coordination between partsss Simultaneous events => nonSimultaneous events => non--deterministic behaviordeterministic behavioruuSome simulators use delta delay to prevent nonSome simulators use delta delay to prevent non--determinacydeterminacy2Simultaneous Events in DE Simultaneous Events in DE AA BB CCttttFire B or C?Fire B or C?AA BB CCttAA BB CCttttB has 0 delayB has 0 delay B has delta delayB has delta delayFire C once? or twice?Fire C once? or twice?t+t+Fire C twice.Fire C twice.Still have problem with 0Still have problem with 0--delay delay (causality) loop(causality) loopCan be refinedCan be refinedE.g. introduce timing constraintsE.g. introduce timing constraints(minimum reaction time 0.1 s)(minimum reaction time 0.1 s)3OutlineOutlineuuSynchrony and asynchronySynchrony and asynchronyuuCFSM definitionsCFSM definitionsss Signals & networksSignals & networksss Timing behaviorTiming behaviorss Functional behaviorFunctional behavioruuCFSM & process networksCFSM & process networksuuExample of CFSM behaviorsExample of CFSM behaviorsss Equivalent classesEquivalent classes4Codesign Finite State MachineCodesign Finite State MachineuuUnderlying MOC of PolisUnderlying MOC of PolisuuCombine aspects from several other MOCsCombine aspects from several other MOCsuuPreserve formality and efficiency in implementationPreserve formality and efficiency in implementationuuMix Mix ss synchronicitysynchronicitytt zero and infinite timezero and infinite timess asynchronicityasynchronicitytt nonnon--zero, finite, and bounded timezero, finite, and bounded timeuuEmbedded systems often contain both aspectsEmbedded systems often contain both aspects5Synchrony: Basic OperationSynchrony: Basic Operationuu Synchrony is often implemented with clocksSynchrony is often implemented with clocksuu At clock ticksAt clock ticksss Module reads inputs, computes, and produce outputModule reads inputs, computes, and produce outputss All synchronous events happen simultaneouslyAll synchronous events happen simultaneouslyss ZeroZero--delay computationsdelay computationsuu Between clock ticksBetween clock ticksss Infinite amount of time passedInfinite amount of time passed6Synchrony: Basic Operation (2)Synchrony: Basic Operation (2)uu Practical implementation of synchronyPractical implementation of synchronyss Impossible to get zero or infinite delayImpossible to get zero or infinite delayss Require: computation time <<< clock periodRequire: computation time <<< clock periodss Computation time = 0, w.r.t. reaction time of environmentComputation time = 0, w.r.t. reaction time of environmentuu Feature of synchronyFeature of synchronyss Functional behavior independent of timingFunctional behavior independent of timingtt Simplify verificationSimplify verificationss Cyclic dependencies may cause problemCyclic dependencies may cause problemtt Among (simultaneous) synchronous eventsAmong (simultaneous) synchronous events7Synchrony: Synchrony: Triggering and OrderingTriggering and Orderinguu All modules are triggered at each clock tickAll modules are triggered at each clock tickuu Simultaneous signalsSimultaneous signalsss No a priori orderingNo a priori orderingss Ordering may be imposed by dependenciesOrdering may be imposed by dependenciestt Implemented with delta stepsImplemented with delta stepscomputationcontinuous timeticksdelta steps8Synchrony: System SolutionSynchrony: System SolutionuuSystem solutionSystem solutionss Output reaction to a set of inputsOutput reaction to a set of inputsuuWellWell--designed system:designed system:ss Is completely specified and functionalIs completely specified and functionalss Has an unique solution at each clock tickHas an unique solution at each clock tickss Is equivalent to a single FSMIs equivalent to a single FSMss Allows efficient analysis and verificationAllows efficient analysis and verificationuuWellWell--designdesign--ness ness ss May need to be checked for each design (Esterel)May need to be checked for each design (Esterel)tt Cyclic dependency among simultaneous events Cyclic dependency among simultaneous events9Synchrony: Synchrony: Implementation CostImplementation CostuuMust verify synchronous assumption on final designMust verify synchronous assumption on final designss May be expensiveMay be expensiveuuExamples:Examples:ss HardwareHardwarett Clock cycle > maximum computation timeClock cycle > maximum computation timeu Inefficient for average casess Software Software tt Process must finish computation beforeProcess must finish computation beforeu New input arrivalu Another process needs to start computation10Asynchrony: Basic OperationAsynchrony: Basic OperationuuEvents are never simultaneousEvents are never simultaneousss No two events have the same tagNo two events have the same taguuComputation starts at a change of the inputComputation starts at a change of the inputuuDelays are arbitrary, but boundedDelays are arbitrary, but bounded11Asynchrony: Triggering and OrderingAsynchrony: Triggering and OrderinguuEach module is triggered to run at a change of inputEach module is triggered to run at a change of inputuuNo a priori ordering among triggered modulesNo a priori ordering among triggered modulesss May be imposed by scheduling at implementationMay be imposed by scheduling at implementation12Asynchrony: System SolutionAsynchrony: System SolutionuuSolution strongly dependent on input timingSolution strongly dependent on input timinguuAt implementationAt implementationss Events may “appear” simultaneousEvents may “appear” simultaneousss Difficult/expensive to maintain total orderingDifficult/expensive to maintain total orderingtt Ordering at implementation decides behaviorOrdering at implementation decides behaviortt Becomes DE, with the same pitfallsBecomes DE, with the same pitfalls13Asynchrony: Asynchrony: Implementation CostImplementation CostuuAchieve low computation time (average)Achieve low computation time (average)ss Different parts of the system compute at different ratesDifferent parts of the system compute at different ratesuuAnalysis is difficultAnalysis is difficultss Behavior depends on timingBehavior


View Full Document

Berkeley ELENG C249A - Lecture Notes

Documents in this Course
Load more
Download Lecture Notes
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 Lecture Notes 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 Lecture Notes 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?