Design of WAIT2 component
Decompose the WAIT2
component into WAIT
for waiting the high level of non-persistent signal sig and WAIT0
for its low level. The control module W2C
toggles between WAIT
and WAIT0
according to the polarity of its ctrl input.
Behaviour of W2C
is captured by the following STG.
Verify the STG for consistency, deadlocks, output-persistency and input-properness.
Note that this STG has CSC conflicts. Resolve them either automatically or manually, e.g. by concurrency reduction, as follows:
Proceed to synthesis and technology mapping with either MPSat or Petrify backend. The result should look similar to this:
Experiment with reset strategies using Initialisation analyser tool. One can notice that ctr
input is initially set to 0
by CYCLE
module, also C-element U2
can be explicitly reset. These lead to initialisation of ctrl_1
and ctrl_0
to 0
, which reset san_1
and san_0
(outputs of WAIT
and WAIT0
).