!
FLUENT Verification Project@
Chris Myers, @
Zhen Zhang:
This model represents an inverter situated between two input D registers. The signal names are shown in red. The
bit source and
registers are synchronized using action label
clk_edge (indicated in blue).
The PRISM model file for this circuit is attached. The bit-source generates a random sequence with Pr(1)=0.5. The problem is that it is possible for multiple clk_edge events to occur, inducing changes in
inA and
dA, without any INV events. Here's an example from a simulation trace:
event | time step | inA | dA | Q | not_dA |
---|
[clk_edge] | 10 | 0 | 0 | 0 | 0 |
[clk_edge] | 11 | 1 | 0 | 0 | 0 |
INV | 12 | 1 | 0 | 0 | 1 |
[clk_edge] | 13 | 0 | 1 | 1 | 1 |
[clk_edge] | 14 | 0 | 0 | 1 | 1 |
[clk_edge] | 20 | 1 | 0 | 1 | 1 |
[clk_edge] | 21 | 0 | 1 | 1 | 1 |
INV | 22 | 0 | 1 | 1 | 0 |
Here we see that the input
inA undergoes a transition 1001, throughout which the output
Q remains constant 1111. But this model is purely deterministic apart from the Bit Source and the update schedule.
Desired behavior: force INV event whenever dA changes.
#
PRISM