ProtoDe is a software tool for protocol decomposition of Signal Transition Graphs (STGs).
Download and installation
The latest release of the tool can be found on
ProtoDe homepage:
The compilation of ProtoDe tool from source is performed by the following command:
$ make
This will compile two binary files called protode and g2dot .
In order to start using the tool put the binaries into a directory, which is
referenced from the PATH environment variable (e.g. /usr/local/bin/ ).
This can be done by running the following command as root:
$ make install
If you already have the executables of, then just copy them into a directory which is
referenced from your PATH environment variable.
Usage of the tool
Decomposition of a complex signal protocol, defined as an STG, into a set of
simple blocks facilitates verification, synthesis and checking of circuit.
Indeed, if decomposed blocks are processed separately, overall complexity is
reduced. It can also be used in system design, as it is easier for a designer
to observe and understand a set of STGs with small number of signals than a
single complex STG.
The decomposition method [1] implemented in ProtoDe
software tool starts with partitioning the set of STG signals into several
non-empty sets. After that the STG is decomposed in such a way, that each
decomposition block contains signals only from one of the sets. The blocks
trace each other's state using read-arcs, which model wires. The result of
decomposition is defined by initial partitioning of STG signals and by the
optimisation heuristics [2] applied to the decomposed STG.
The detail list of protode command line parameters follows.
Usage: protode [OPTIONS] [INPUT_FILE_NAMES]
-o, --output OUTPUT_FILE_NAME STG output file [STDOUT]
-p, --protocols PROTOCOLS definition of protocols
PROTOCOLS is a semicolon-separated list of PROTOCOL
PROTOCOL is a pair PROTOCOL_NAME={SIGNAL_NAMES}
SIGNAL_NAMES is a coma-separated list of SIGNAL_NAME
-ep, --extract-protocol PROTOCOL_NAMES list of set names to extract
-o1, --optimise-a PROTOCOL_NAMES protocols to optimise by heuristic A
-o2, --optimise-ab PROTOCOL_NAMES protocols to optimise by heuristics A,B
-o3, --optimise-abc PROTOCOL_NAMES protocols to optimise by heuristics A,B,C
Heuristic A - optimisation of choice
Heuristic B - latency optimisation
Heuristic C - size optimisation
-wp, --write-protocol PROTOCOL_NAMES list of set names to write
-ip, --implicit-places show implicit places
-h, --help print this help only
-v, --version print version only
The tool takes an STG in .g format as an input and outputs
decomposed STG in the same format. These STGs can be visualised using
Graphviz graph drawing tools. ProtoDe
package includes g2dot tool which converts .g
files into Graphviz .dot format.
References
-
D.Koppad, D.Sokolov, A.Bystrov, A.Yakovlev:
"Online testing by protocol decomposition".
In Proc. International On-Line Testing Symposium (IOLTS), July 2006
-
D.Sokolov, A.Bystrov, A.Yakovlev:
"Direct mapping of low-latency asynchronous controllers from STGs".
Tech. Report NCL-EECE-MSD-TR-2006-110, University of Newcastle upon Tyne, January 2006
Last modified 7/6/2006 by IGC
|
|