TIDUE73A April 2018 – November 2024
This section discusses in depth the FRAME_STATE generation. The FRAME_STATE is responsible for determining which of clocks are generated at any given time within the transaction.
The FRAME_STATE (FSM_1 s1, s0) transitions through 4 states:
One method to derive the corresponding equations is to use a Karnaugh map (Table 2-5, and Table 2-6). The resulting equations are combined by an OR operator and entered into the CLB tool. The equations do not need to be reduced to the simplest form.
| Current Input (e1, e0) RESPONSE_RE, START_OPERATION or ENCODER_CLOCK_COMPLETE |
|||||
|---|---|---|---|---|---|
| 0,0 | 0,1 | 1,1 (1) | 1,0 | ||
| Previous
State s1, s0 |
0,0 IDLE |
0 | 1 (2) | 1 (2) | 0 |
| 0,1 TRANSMIT_MA |
1 (3) | 1 (3) | 0 | 0 | |
| 1,1 RECEIVE_SL |
1 (4) | 1 (4) | 1 (4) | 1 (4) | |
| 1,0 TRANSMIT_MA RECEIVE_SL |
0 | 1 (5) | 1 (5) | 0 | |
| Current Input (e1, e0) RESPONSE_RE, START_OPERATION or ENCODER_CLOCK_COMPLETE |
|||||
|---|---|---|---|---|---|
| 0,0 | 0,1 | 1,1 | 1,0 | ||
| Previous
State s1, s0 |
0,0 IDLE |
0 | 0 | 0 | 0 |
| 0,1 TRANSMIT_MA |
0 | 0 | 1 (1) | 1 (1) | |
| 1,1 RECEIVE_SL |
1 (2) | 1 (2) | 1 (2) | 1 (2) | |
| 1,0 TRANSMIT_MA RECEIVE_SL |
1 (3) | 1 (3) | 1 (3) | 1 (3) | |
The OUT signal from FSM_1 corresponds to the IDLE state.
Detection of the encoder's response is another key component of the design. LUT_2, shown in Figure 2-13, is responsible for detecting the encoder's ACK. If the FRAME_STATE is WAIT_FOR_ACK (0,1) and ENCODER_RESPONSE_RE goes high, then ACK has been detected. This results in the equation: i0 & (i1 & !i2):