Project

General

Profile

Actions

Getting Started » History » Revision 9

« Previous | Revision 9/18 (diff) | Next »
Sergey Smolov, 01/27/2020 05:20 PM


Getting Started

Prerequisite

Retrascope should be installed.

Command Line Interface

As it is described in Overview, Retrascope contains a number of data representations that are called entities and a number of active components that are called engines. When working with the tool through command line interface, valuable engines and\or entities are to be specified. To describe the approach, let's look at the map of all engines and entities at Retrascope:

Figure 1 : Engines & entities dependency graph
*Figure 1* : Engines & entities dependency graph

On the Fig. 1 engines are depicted as labeled edges, entities are depicted as labeled nodes. Entities that are represented by text files, are shown as grey rectangles. Entities, that are stored in memory, are shown as yellow circles. Edge and node labels store engine and entity identifiers respectively. Edge directions mean input (source) and output (destination) entities for engines.

At simple case, it is enough for the tool running to pass the desired entity or engine identifier as command line parameter. However, as it can be seen from Fig. 1, some engines require two or more inputs. For such engines (like smv-test-parser, for example) merge points that are depicted by white circle nodes are introduced. Having such merge points in Retrascope engines\entities dependency graph, means that it is not enough to specify only the destination engine or entity. Tool parameters should be selected with the aim to describe the concrete path at the dependency graph.

For example, we would like to run the tool on VHDL module that is called example.vhd with the aim to check properties that are extracted from it's internal EFSM model (efsm-transition-property-extractor) by a VHDL testbench. Here is the module code:


On Windows, Retrascope should have at least the following arguments:

> retrascope.bat example.vhd --target vhdl-testbench --engine vhdl-parser;efsm-transition-property-extractor

On Linux-based OS:
$ retrascope example.vhd --target vhdl-testbench --engine vhdl-parser:efsm-transition-property-extractor

Next chapters of this guide describe main use cases of the Retrascope tool.

Model visualization

Retrascope tool extracts the following categories of models from target HDL descriptions:
  • Control Flow Graph (CFG)
  • Guarded Actions Decision Diagram (GADD)
  • High-Level Decision Diagram (HLDD)
  • Extended Finite State Machine (EFSM)

All the models tend to be equivalent to the target HDL module(s) and are stored in memory as Java objects. To get their graphical representation we use GraphML format - an XML-based format for graphs. To open GraphML files we'd recommend to use yEd editor. To run the tool for CFG model visualization, use the following parameters:

$ ./retrascope example.vhd --engine cfg-graphml-printer --graphml example-cfg.graphml

Parameters are similar for GADD model:
$ ./retrascope example.vhd --engine gadd-graphml-printer --graphml example-gadd.graphml

and for EFSM model:
$ ./retrascope example.vhd --engine efsm-graphml-printer --graphml example-efsm.graphml

To be continued...

Updated by Sergey Smolov over 4 years ago · 9 revisions