Getting Started » History » Version 7
Sergey Smolov, 01/24/2020 12:04 PM
1 | 1 | Sergey Smolov | h1. Getting Started |
---|---|---|---|
2 | |||
3 | {{toc}} |
||
4 | |||
5 | 3 | Sergey Smolov | h2. Prerequisite |
6 | 1 | Sergey Smolov | |
7 | Retrascope should be "installed":https://forge.ispras.ru/projects/retrascope/wiki/Installation_Guide. |
||
8 | 3 | Sergey Smolov | |
9 | h2. Command Line Interface |
||
10 | |||
11 | As it is described in "Overview":https://forge.ispras.ru/projects/retrascope/wiki/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: |
||
12 | |||
13 | 6 | Sergey Smolov | *Figure 1* : Engines & entities dependency graph |
14 | !engines-entities.png(*Figure 1* : Engines & entities dependency graph)! |
||
15 | 1 | Sergey Smolov | |
16 | 6 | Sergey Smolov | 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. |
17 | 1 | Sergey Smolov | |
18 | 6 | Sergey Smolov | 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. |
19 | |||
20 | 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. On Windows, Retrascope should have at least the following arguments: |
||
21 | <pre> |
||
22 | 7 | Sergey Smolov | > retrascope.bat example.vhd --target vhdl-testbench --engine vhdl-parser;efsm-transition-property-extractor |
23 | 6 | Sergey Smolov | </pre> |
24 | On Linux-based OS: |
||
25 | <pre> |
||
26 | $ retrascope example.vhd --target vhdl-testbench --engine vhdl-parser:efsm-transition-property-extractor |
||
27 | </pre> |