TIDUE74F April 2018 – March 2026
When implementing a CLB design, first visualizing the required CLB behavior using waveforms can be helpful. To do this, first consider an an example transaction. Recall a T-Format transaction consists of the request transmission plus the encoder's response. A transmission can be broken up into FRAME_STATEs as shown in Figure 2-12. The first step is to map each element of the transaction to a CLB submodule. Table 2-12 shows an example mapping.
| Transaction Behavior | CLB Mapping |
|---|---|
| Track the FRAME_STATE | Finite State Machine (FSM): transitions to a new state given the previous state and current inputs. |
| Count the clocks generated | A COUNTER: configured to increment a clock edge during the TRANSMIT_DATA and RECEIVE_DATA states. The mode0 input controls when the counter is active and when the counter is halted. Leverage the COUNTER's match values to drive state transitions (TRANSMIT_DATA to WAIT_FOR_START and RECEIVE_DATA to IDLE). |
| Generate a clock signal of a specific width | This requirement maps to a second COUNTER. Leverage the match values to generate the timing for the the rising/falling edges. A LUT (Lookup Table) then generates the actual edges based on this timing. |
| Align the clock with the encoder's response | The COUNTER generating the clock can be configured such that the edge transition is properly aligned with the encoder's response. |
| Only allow the SPI to be clocked during transmit and receive | A LUT blocks the clock when not needed. |
| Control the TxEN | A LUT leverages the current FRAME_STATE to control the signal. |
| Tell the CLB to start the transaction | The C28x configures the COUNTER and SPI for the transaction. The CLB GPREG allows the C28x CPU to directly change a CLB input to start a transaction. |
The next step is visualization of the specific submodule behavior. Start with a quick sketch and then add additional detail as the design develops. Figure 2-13 shows an example waveform.
Markers 1 - 6 in Figure 2-13 are used in the following sections to describe specific behavior of the design with respect to that marker. The markers are:
Following the description of each FRAME_STATE, Section 2.3.6.2 presents the complete tile design. Refer to Section 2.3.6.2 along with Figure 2-13while reading the descriptions of each state.