plain CS/EE 5750/6750: Asynchronous Circuit Design

CS/EE 5750/6750: Asynchronous Circuit Design

Chris J. Myers
Lecture 7: Timing Analysis and Optimization
Chapter 7

Timed Circuits

A Simple Example

  • Shopkeeper actively calls winery and patron.
  • Calls the patron immediately after calling the winery without waiting for the wine to arrive.
  • The shopkeeper does the following:

    • Calls the winery,
    • Calls the patron,
    • Peers out the window until he sees both the wine delivery boy and the patron,
    • Lets them in, and
    • Completes the sale.

Timing Relationships
Figure

Timed States

  • There is a timer ti associated with each arc in the graph.
  • A timed state is an untimed state and value of all active timers.
    (Wine is Purchased, Call Winery , t6 = 0)
  • A timer is allowed to advance by any amount less than its upper bound resulting in a new timed state.
    (Wine is Purchased, Call Winery , t6 = 1.1)
    (Wine is Purchased, Call Winery , t6 = 2.22)
    (Wine is Purchased, Call Winery , t6 = 2.71828182846)

Timing Semantics

  • When a timer reaches its lower bound, it becomes satisfied.
  • When a timer reaches its upper bound, it becomes expired.
  • An event enabled by a single rule must happen sometime after its timer becomes satisfied and before it becomes expired.
  • When an event is enabled by multiple rules, it must happen after all of its rules are satisfied, but before all of its rules are expired.

Example: Timing Semantics
Figure

Timed Sequences

  • Extend the notion of allowed sequences to timed states paired with the time of the state transition.
  • State transition can be either time advancement or a change in the untimed state.
  • Example part of an allowed timed sequence:
    ( ([Wine is Purchased, Call Winery , t6 = 0],0),
     ([Wine is Purchased, Call Winery , t6 = 1.1],1.1),
     ([Wine is Purchased, Call Winery , t6 = 2.22],2.22),
     ([Call Winery, Wine Arrives Call Winery,Call Patron ,
    t1 = t2 = 0],2.22)

Timed State Space Exploration

  • Since time can take on any real value, there is an uncountably infinite number of timed states and timed allowed sequences.
  • Must either group timed states into finite number of equivalence classes or restrict the values of the timers.
  • Several possible methods for timed state space exploration:

    • Region method
    • Discrete-time method
    • Zone method
    • POSET method

Regions

  • A region is described by the integer component of each timer and the relationship between the fractional components.
  • f(t1) = f(t2) = 0: region is a point.
  • f(t1) = 0 and f(t2) > 0: region is a vertical line segment.
  • f(t1) > 0 and f(t2) = 0: region is a horizontal line segment.
  • f(t1) = f(t2) > 0: region is a diagonal line segment.
  • f(t1) > f(t2) > 0: region is an lower triangle.
  • f(t2) > f(t1) > 0: region is an upper triangle.

Possible Timed States Using Regions

t2 0,5 Figure
t1 0,5

Timed Sequence Using Regions

Figure Figure
Timed Sequence Using Regions

Figure Figure
Timed Sequence Using Regions

Figure Figure
Timed Sequence Using Regions

Figure Figure
Timed Sequence Using Regions

Figure Figure
Timed Sequence Using Regions

Figure Figure
Timed Sequence Using Regions

Figure Figure
Timed Sequence Using Regions

Figure Figure
Timed Sequence Using Regions

Figure Figure
Timed Sequence Using Regions

Figure Figure
Timed State Space Explosion

  • Requires 26 timed states to represent all the timing relationships for only 4 untimed states.
  • Worst-case complexity is:
    |S| n!
    ln2


    k
    ln2


    n

     
    41/k
    where S is number of untimed states, n is the number of rules enabled concurrently, and k is maximum timing constraint.

Discrete-Time

  • For timed Petri-nets and TEL structures, all timing requirements are of the form or , since timing bounds are inclusive.
  • In this case, fractional components are not necessary.
  • Only need to track discrete-time states.
  • Worst-case complexity is now:
    |S|(k+1)n
  • Reduction by a factor of more than n!.

Possible Timed States Using Discrete-Time

t2 0,5 Figure
t1 0,5

Figure
Timed State Space Explosion Again

  • Unfortunately, the discrete-time technique is still exponential in the number of concurrent timers and size of the timing bounds.
  • Changing each timing bound of [2,3] to [19,31] and [5,inf] to [53,inf], number of timed states explodes dramatically.

Zones

  • Another approach is to use convex polygons, called zones, to represent equivalence classes of timed states.
  • One zone is representing 171 regions or 36 discrete-time states.

t2 0,5 Figure
t1 0,5

Representing Zones using Linear Inequalities

  • Convex polygons can be represented using linear inequalities.
  • Introduce a dummy timer t0 which always takes the value 0.
  • For each pair of timers, introduce inequality of the form:
    tj - ti
    aij
  • Example:

    t0 - t0 0
    t1 - t0 5
    t2 - t0 5
    t0 - t1 0
    t1 - t1 0
    t2 - t1 5
    t0 - t2 0
    t1 - t2 5
    t2 - t2 0

Difference Bound Matrices

  • Set of inequalites can be collected into a data structure called a difference bound matrix (DBM).
  • The difference bound matrix for this example is shown below: