Command Line Options » History » Version 7
Sergey Smolov, 12/14/2014 10:37 PM
1 | 1 | Sergey Smolov | h1. Command Line Options |
---|---|---|---|
2 | |||
3 | 2 | Sergey Smolov | {{toc}} |
4 | |||
5 | 1 | Sergey Smolov | One way to use the "HDL Retrascope":http://forge.ispras.ru/projects/retrascope is it''s command line options. Here is an output of the tool that it run with "--help" option: |
6 | |||
7 | <pre> |
||
8 | usage: [options] files |
||
9 | -e,--engine <arg> Set a subset of engines |
||
10 | -h,--help Show this message |
||
11 | -l,--log <arg> Set a log file |
||
12 | -t,--target <arg> Set a target entity |
||
13 | </pre> |
||
14 | |||
15 | This output shows four main categories of "HDL Retrascope":http://forge.ispras.ru/projects/retrascope command line options: source files, engines, logging mode and targets. |
||
16 | Options can be put into command line in an arbitrary order. |
||
17 | |||
18 | h2. Source files |
||
19 | |||
20 | This option keeps paths to files that contain source code of hardware modules. |
||
21 | |||
22 | The "HDL Retrascope":http://forge.ispras.ru/projects/retrascope can elaborate hardware descriptions written in synthesizable subsets of VHDL and Verilog. For current version of the tool it is possible to elaborate the source code when it satisfies some limitations. |
||
23 | |||
24 | For VHDL - no loop-cycles, no other modules'' instantiations, no wait-constructions, no function calls, no ''Z'' or ''X'' values, code size is less than 1 KLOC. |
||
25 | For Verilog - similar to VHDL. |
||
26 | |||
27 | If these limitations are satisfied there is a high probability that "HDL Retrascope":http://forge.ispras.ru/projects/retrascope will be able to elaborate your design:-) Otherwise an exception will occur. |
||
28 | It is possible to run the "HDL Retrascope":http://forge.ispras.ru/projects/retrascope both on several VHDL and Verilog designs. In such case a composite inner representation based on Control FLow Graph model will be constructed. |
||
29 | |||
30 | To transform Verilog design into Control Flow Graph model you need to run "HDL Retrascope":http://forge.ispras.ru/projects/retrascope with the following parameters: |
||
31 | |||
32 | <pre> |
||
33 | --target cfg /path/to/file/file.v |
||
34 | </pre> |
||
35 | |||
36 | where "cfg" encodes Controlf Flow Graph model as target. |
||
37 | |||
38 | To transform VHDL design into Control Flow Graph model you need to run "HDL Retrascope":http://forge.ispras.ru/projects/retrascope with the following parameters: |
||
39 | |||
40 | <pre> |
||
41 | --target cfg --toplevel toplevel_name /path/to/file/file.vhd |
||
42 | </pre> |
||
43 | |||
44 | 3 | Sergey Smolov | where "toplevel" is an option that is obligatory for all VHDL designs that are being elaborated. The toplevel option value is a string name of the top-level module of the specified VHDL file. For example, to elaborate the following VHDL design (that is saved in the hello.vhd file): |
45 | |||
46 | <pre> |
||
47 | entity hello_world is |
||
48 | end; |
||
49 | |||
50 | architecture hello_world_arc of hello_world is |
||
51 | begin |
||
52 | stimulus : process |
||
53 | begin |
||
54 | 4 | Sergey Smolov | assert false report "Hello World" |
55 | 3 | Sergey Smolov | severity note; |
56 | end process stimulus; |
||
57 | end hello_world_arc; |
||
58 | </pre> |
||
59 | |||
60 | we need to run "HDL Retrascope":http://forge.ispras.ru/projects/retrascope with the following parameters: |
||
61 | |||
62 | <pre> |
||
63 | --target cfg --toplevel hello_world /path/to/file/hello.vhd |
||
64 | </pre> |
||
65 | 2 | Sergey Smolov | |
66 | h2. Targets |
||
67 | |||
68 | 5 | Sergey Smolov | From the tool point of view, the "HDL Retrascope":http://forge.ispras.ru/projects/retrascope operates with entities. One kind of these entities called "source files" was described in the previous section and for it''s elaboration the default tool components (called HDL parsers) are used. |
69 | |||
70 | Other entities may be treated as equivalent transformations of source code, or as data that can be extracted from source code (for example, like knowledge about module interfaces) or constructed (like module-level tests). Every entity which representation is included into "HDL Retrascope":http://forge.ispras.ru/projects/retrascope is stronlge connected with the tool component called "engine". |
||
71 | |||
72 | 7 | Sergey Smolov | To select the entity the user wants to get as result, the "target" option is needed to be initialized. For example, to get the EFSM (Extended Finite State Machine) that is stored into "GraphML":http://graphml.graphdrawing.org graphical format, the "HDL Retrascope":http://forge.ispras.ru/projects/retrascope should be run with the following options (for Verilog design called example.v): |
73 | 5 | Sergey Smolov | |
74 | <pre> |
||
75 | --target efsm-graphml example.v |
||
76 | </pre> |
||
77 | |||
78 | 6 | Sergey Smolov | Here is a list of all target options of "HDL Retrascope":http://forge.ispras.ru/projects/retrascope: |
79 | |*Name*|*Description*| |
||
80 | |cfg|Control flow graph model| |
||
81 | |cfg-graphml|Control flow graph model that is saved in the GraphML file| |
||
82 | |cfginterface|Interface (input and output signals) of control flow graph model| |
||
83 | |cgaa|Clocked guarded atomic actions model| |
||
84 | |cgaa-graphml|Clocked guarded atomic actions model that is saved in the GraphML file| |
||
85 | |efsm|Extended finite state machine model| |
||
86 | |efsm-graphml|Extended finite state machine model that is saved in the GraphML file| |
||
87 | |efsm-conflicts|Collection of read & write conflicts that are extracted from extended finite state machine model| |
||
88 | 1 | Sergey Smolov | |
89 | h2. Engines |
||
90 | 7 | Sergey Smolov | |
91 | |||
92 | 2 | Sergey Smolov | |
93 | h2. Logging |