TIDUE74F April 2018 – March 2026
The communication tile design is shown in Figure 2-14. This section discusses in depth three key components of the design:
The equations for other submodules can be found by reviewing the tile's configuration in the CLB tool. Section 2.3.6.3 includes additional information in the form of a schematic for each block.
The FRAME_STATE (FSM_1 s1, s0) transitions are shown in Figure 2-14. To derive the corresponding equations Karnaugh maps are used (Table 2-13 and Table 2-14). The resulting equations are combined by an OR operator and entered into the CLB tool. The equations do not need to be reduced to their simplest form.
| Current Input (e1, e0) CLOCK_COMPLETE, TX_OR_RX |
|||||
| 0,0 | 0,1 | 1,1 | 1,0 | ||
| Previous State s1, s0 |
0,0 IDLE |
0 IDLE |
1(1)
TX |
1(1)
TX |
0 IDLE |
| 0,1 TX |
1(2) TX |
1(2)
TX |
0 WAIT |
0 WAIT |
|
| 1,1 RX |
1(3) RX |
1(3)
RX |
0 IDLE |
0 IDLE |
|
| 1,0 WAIT |
0 WAIT |
1(4)
RX |
1(4)
RX |
0 WAIT |
|
| Current Input (e1, e0) CLOCK_COMPLETE, TX_OR_RX |
|||||
| 0,0 | 0,1 | 1,1 | 1,0 | ||
| Previous State s1, s0 |
0,0 IDLE |
0 IDLE |
0 TX |
0 TX |
0 IDLE |
| 0,1 TX |
0 TX |
0 TX |
1(1) WAIT |
1(1) WAIT |
|
| 1,1 RX |
1(2) RX |
1(2) RX |
0 IDLE |
0 IDLE |
|
| 1,0 WAIT |
1(3) WAIT |
1(3) RX |
1(3) RX |
1(3) WAIT |
|
The OUT signal from FSM_1 is simply an OR of the current states: s1 | s2. This corresponds to any active portion of the frame (not IDLE).
Detection of the encoder's response is another a key component of the design. LUT_1 is responsible for detecting the start of the transaction and the start of the encoder's response. To simplify the design, the following assumptions have been made:
These assumptions are reasonable given the encoder only responds to a transmission initiated from the C28x and the C28x controls START_OPERATION. These assumptions result in the equation: out = (i3 & i2) & i1 | i0:
The encoder's response can come at any time due to cable delays. To to read the response correctly, the CLB_SPI_CLK must be correctly aligned. LUT_0 is responsible for both the clock alignment and the width of the clock. Both alignment and clock width are achieved by LUT_0 resetting COUNTER_0 at the appropriate time. COUNTER_0 match values control the CLB_SPI_CLOCK edge timing.
This results in the equation: LUT_0 out = i3 | ( ( ( i2 & !i1) | (i2 & i1) ) & i0 ).
The equations for other submodules can be examined by reviewing the tile's configuration in the CLB tool. Section 2.3.6.3 includes additional information in the form of a schematic for each block.