Professional Documents
Culture Documents
Lab-5
TLA specification of Synchronous Interfaces
We can send any value by val data line (e.g. 26, 37, 4, 19…).
Send is enabled if rdy equals ack
(i.e. the send condition is rdy=ack, e.g. both are 0 or 1).
The sender wait for an acknowledgment from receiver before it can send the next one
(i.e. wait condition is rdy ≠ ack ).
2. Create new model. To run the model you need provide a value for the CONSTANT Data.
Find in the Model Overview page shown below section “Data <” and press “Edit” button
(or double click on the “Data <-”).
6. What happens, if you will specify AND operation in the Next state predicate,
linking Send and Rcv actions?
Is such the behavior correct? Check it by TLC. Write corresponding comment in
your code.
Analyze the printed output. Copy a small part of the output into your module (inside comments) and
give explanations.
8. Simplify the SyncInterface protocol in order it has only one synchronization line,
modelled by the variable ack. Do it by commenting not needed lines from your
initial specification (but not delete them from the file).
Conditions:
Sender sends a val if ack is 0 (and next sets ack into 1).
Receiver receives a val, if ack is 1 (and next sets ack into 0).
Note, the rdy variable is no longer needed.