source: vis_dev/vis-2.3/share/help/approximate_model_checkCmd.txt @ 94

Last change on this file since 94 was 14, checked in by cecile, 13 years ago

vis2.3

File size: 7.8 KB
Line 
1
2  approximate_model_check - perform ACTL model checking on an abstracted and
3  flattened network
4     _________________________________________________________________
5
6   approximate_model_check [-h] [-v <verbosity_level>] <ctl_file>
7
8   Performs  ACTL  model checking on an abstracted and flattened network.
9   Predefined  abstractions are performed prior to model checking. Before
10   calling this command, the user should have initialized the design by calling
11   the command [1]init_verify.
12
13   The command includes two dual algorithms. The user should set appropriate
14   environment  parameters  associated with the command to execute proper
15   algorithm. By default, the command makes its effort to prove whether given
16   ACTL formula is positive. To check whether the ACTL formula is negative,
17   user should set the environment parameter amc_prove_false prior to executing
18   the command. See [2]below for the environment parameters associated with
19   this command.
20
21   Properties to be verified should be provided as ACTL formulas in the file
22   <ctl_file>. The command only accepts ACTL formulas. Mixed, ECTL expressions
23   are not supported. ACTL formulas are those in which all quantifiers are
24   universal and negation is only allowed at the level of atomic propositions.
25   For the precise syntax of CTL formulas, see the [3]VIS CTL and LTL syntax
26   manual.
27
28   The command is designed to tackle the state explosion problem we encounter
29   when dealing with large and complex circuits. Based on the initial size of
30   the  group, the command constructs over- or under-approximation of the
31   transition relation of the system. A group (subsystem) is a portion of the
32   original circuit containing a subset of the latches and their next state
33   functions.   The  initial  size  of  a  group  can  be  set  with  the
34   [4]amc_sizeof_group environment variable. These initial approximations may
35   not contain every detail of the exact system. However they may contain
36   enough information to determine whether the formula is positive or negative.
37   Starting from an initial coarse approximation, the command makes its effort
38   to  prove whether given ACTL formula is positive or negative. When the
39   procedure  fails  to  prove  correctness  of  the formula with initial
40   approximations, it automatically refines the approximations. It repeats the
41   process until the algorithm produces a reliable result or the available
42   resources are exhausted.
43
44   Due to the overhead procedures, for some circuits, the exact [5]model_check
45   method may evaluate formulas faster with less resources. If any formula
46   evaluates to false, a debug trace is reported.
47
48   The command does not use fairness constraints even if they have been read
49   with the [6]read_fairness command.
50
51   Command options:
52
53   -h
54          Print the command usage.
55
56   -v <verbosity_level>
57          Specify  verbosity  level.  verbosity_level  must be one of the
58          following:
59
60          0 : No feedback provided. This is the default.
61          1 : Some feedback.
62          2 : Lots of feedback.
63
64   -t <timeOutPeriod>
65          Specify the time out period (in seconds) after which the command
66          aborts. By default this option is set to infinity.
67
68   <ctl_file>
69          File containing ACTL formulas to be model checked.
70
71   Environment Parameters:
72
73   Environment parameters should be set using the set command from the VIS
74   shell
75   (e.g. vis> set amc_prove_false).
76
77   amc_prove_false
78          When the parameter is set, the command makes its effort to prove
79          whether given ACTL formula is negative. The command constructs a set
80          of under-approximations of the transition relations of the system.
81          When the formula evaluates to false, a debug trace is reported by
82          default.
83
84   amc_grouping_method <grouping method>
85          Specifies grouping method. Grouping method is a method for grouping
86          number of latches into single subsystem. Two methods are supported.
87
88          Grouping based on hierarchy(default) : The method groups latches
89          based on the hierarchy of the system. Normally, complex circuits are
90          designed  in  multiple processes. Furthermore, processes form a
91          hierarchy. The method uses this information provided by the original
92          design. When a design described in high level description language is
93          transformed into low level BLIF format, the processes are transformed
94          into subcircuits. The method groups those latches that are within
95          same subcircuit.
96
97          Grouping based on latch dependencies(latch_dependency): The method
98          groups  those latches that are closely related. Closely related
99          latches are those who has many (transitive) connections between them.
100
101          When the parameter is not specified, the command by default uses
102          hierarchical grouping method.
103
104   amc_sizeof_group <integer value>
105          Determines the number of latches in each group(subsystem). The
106          default value is 8. The initial size of the subsystem determines the
107          initial degree of approximations of the transition relations. There's
108          no proven rule of setting the value. Some experimental results show
109          that setting the value to about 5-20% of overall number of latches is
110          reasonable(e.g. if the system contains 100 latches set the value to
111          5-20). However, the suggested range may not work well with some
112          examples.
113
114   amc_DC_level <integer value>
115          Specifies don't care levels. Default level is 0. Absence of the
116          parameter sets the amc_DC_level to 0.
117          amc_DC_level must be one of the following:
118
119        0: No don't cares are used. This is the default.
120
121        1: Use unreachable states as don't cares.
122
123        2: Aggressively use DC's to simplify MDD's in model checking.
124
125          Using don't cares may take more time for some examples since the
126          approximate model checker computes the reachable states for each
127          subsystem. For some large circuits it is undesirable to set don't
128          care level.
129
130   Related "set" options:
131
132   ctl_change_bracket <yes/no>
133          Vl2mv automatically converts "[]" to "<>" in node names, therefore
134          CTL parser does the same thing. However, in some cases a user does
135          not want to change node names in CTL parsing. Then, use this set
136          option by giving "no". Default is "yes".
137
138   See also commands : model_check, incremental_ctl_verification
139
140   Examples:
141   Here are some example sequences of the VIS executions using the approximate
142   model checker.
143
144   read_blif_mv abp/abp.mv
145   flatten_hierarchy
146   static_order
147   build_partition_mdds
148   set amc_sizeof_group 4
149   approximate_model_check abp/abpt.ctl
150   time
151   quit
152
153   read_blif_mv coherence/coherence.mv
154   flatten_hierarchy
155   static_order
156   build_partition_mdds
157   set amc_sizeof_group 8
158   set amc_prove_false
159   set amc_DC_level 0
160   approximate_model_check coherence/coherence2.ctl
161   time
162   quit
163
164   The algorithm used by approximate_model_check is described in detail in
165   [7]ftp://vlsi.colorado.edu/pub/iccad96.ps
166     _________________________________________________________________
167
168   Last updated on 20100410 00h02
169
170References
171
172   1. file://localhost/projects/development/hsv/vis/common/doc/html/init_verifyCmd.html
173   2. file://localhost/projects/development/hsv/vis/common/doc/html/approximate_model_checkCmd.html#environment
174   3. file://localhost/projects/development/hsv/vis/common/doc/ctl/ctl/ctl.html
175   4. file://localhost/projects/development/hsv/vis/common/doc/html/approximate_model_checkCmd.html#sizeofgroup
176   5. file://localhost/projects/development/hsv/vis/common/doc/html/model_checkCmd.html
177   6. file://localhost/projects/development/hsv/vis/common/doc/html/read_fairnessCmd.html
178   7. ftp://vlsi.colorado.edu/pub/iccad96.ps
Note: See TracBrowser for help on using the repository browser.