Roberto Passerone - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Roberto Passerone

Description:

Automata generation: Example. serial( yow y ) null( ) *, one( y.a ), two( y.b ) handshake( yow y ) ... System integration by assembling IP's and generating ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 25
Provided by: robertop2
Category:

less

Transcript and Presenter's Notes

Title: Roberto Passerone


1
Automatic Synthesis of Interfaces between
Incompatible Protocols
  • Roberto Passerone
  • Cadence Design Systems, Inc.

2
Synthesis glue logic between IPs
type yow byte r, byte s
Abstract IP
A
B
Concrete IPImplementations
HW
OR
SW
A
B
3
Problem formulation
Given the description of two protocols
operating with different signaling conventions
Synthesize an interface so that data
transfers are consistent with both protocols
4
Assumptions
  • The protocols exchange the same token
  • Data in the interface is stored in a register
    wide enough to contain an entire token,
    controlled by an FSM
  • The protocols are independent of the data contents

5
Overview of the synthesis process
A protocol is the set of all sequences of
values admissible at the ports of a module
6
Overview of the synthesis process
7
Protocol description Example
8
Automata generation Example
serial( yow y ) null( ) , one( y.a ), two(
y.b )
handshake( yow y ) wait( 0 ) , get(
1, y.a ), get( 0, y.b )
0-
0-
1a
1a
1a
0b
0b
0b
9
Product computation Example
10
Product computation Example
0-
1a
0b
0-
0-
0-
1a
1a
0-
1a
0-
1a
1a
0b
0b
0b
0b
0b
11
PIG - Verilog Interface Synthesis from Protocols
protocol s of type yow master bit start
master byte byte term null() 0, - term
first(byte b) 1, b term sec(byte b) 0, b
s(yow y) null(), first(y.r), sec(y.s)

protocol h of type yow master bit trigger
master byte bus term wait(bit t) t, -
term get(bit t, byte b) t, b h(yow y)
wait(0), get(1,y.a), get(0,y.b)
type yow byte r, byte s
12
Testbench
  • Also synthesize driver and monitor modules
  • Driver module is FSM that
  • randomly generates token values
  • randomly selects from non-deterministic choices
    in protocol (Kleene closures, for instance)
  • Monitor module is FSM that
  • collects token and prints it out when received
    successfully
  • randomly selects non-determinstic responses

13
Adding streams
serial( yow y )
handshake( yow y )
0-
0-
1a
1a
0- (r.)
1a
1a (r.)
1a (reset)
0b
0b
0b
14
Adding streams product
  • Specify the size of the queues
  • Integer number of tokens
  • During the product exploration, keep track of the
    iteration at which each protocol has arrived
  • In the product, states built from the same pair
    of states are considered different whenever the
    difference in the iteration count is different
  • The difference in iteration count shall not
    exceed the specified size of the queue

15
Adding streams product
16
Adding streams product
17
Adding streams product
0-
0-
1a
1a
1a
1a
0b
0b
1a
1a
0-
0b
0-
0b
18
Adding streams product
19
Adding streams product
0-
0-
0-
1a
0-
1a
0-
1a
0b
0-
1a
1a
0b
0b
0-
0b
0b
0-
1a
0b
0b
1a
0-
1a
20
Adding streams to study
  • Resolution of non-determinism
  • Current heuristics may not find the best solution
  • May want to satisfy certain properties
  • Subset construction may actually be needed to
    explore even more possibilities
  • State minimization
  • Synchronization information is no longer relevant
    after the product has been computed
  • Lots of opportunities for optimization

21
Adding streams optimization
22
Adding streams optimization
0b
0b
1a
1a
23
Multi-point communication
Synch constraints
Stream A
Stream B
Stream C
P2
Processes specify the advancement of stream
iterations
P4
P1
P3
State transition diagrams
24
Asynchronous behavior
  • A clock is a stream (so it is global to a
    composition)
  • Transitions refer to clocks or to changes in
    values
  • During the product computation, transitions on
    the same clock are considered synchronous
  • All the others are considered asynchronous
  • In the product, all possible interleaving of
    asynchronous transitions are considered
  • Implemented but not yet tested

25
Desiderata
  • Examples!!
  • In the near future PCI, Amba, VCI, PI, OCP
  • State minimization
  • Lossy communication
  • In the new specification, protocols can
    separately access and synchronize on data fields
  • Distributed control
  • Partition the interface within the parties
  • Data dependency
  • E.g. number of packets depends on header
    information
  • Data-flow analysis
  • Size queues, direct connection

26
Conclusions
  • Regular expressions used as a protocol
    description language.
  • Product machine exploration as the basis for
    interface generation.
  • System integration by assembling IPs and
    generating correct glue logic.
Write a Comment
User Comments (0)
About PowerShow.com