SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
Each CLB module has eight inputs that are applied to the reconfigurable logic cell. Each of these inputs can be selectively driven by a predefined set of signals. A two-level mux structure allows each input of each CLB instance to select a signal.
A set of signals is common to all the CLB instances. These are referred to as global inputs in Figure 26-5. A separate set of signals is unique to each instance of the CLB. These are referred to as local inputs in Figure 26-5.
Registers CLB_LCL_MUX_SEL_1 and CLB_LCL_MUX_SEL_2 control the local mux selection for each of the eight inputs. The mux control registers CLB_GLBL_MUX_SEL_1 and CLB_GLBL_MUX_SEL_2 control the global mux selection for each of the eight inputs.
The local mux select value of 0 causes the selected global mux input signal to be connected to the corresponding CLB Input. For example, setting CLB_LCL_MUX_SEL_IN_0 = 0 and CLB_GLBL_MUX_SEL_IN_0 = 8 causes the global mux input number 8 to be connected to CLB Input 0. The input filter feature can be used to enable edge detection on the CLB inputs. The input filter feature can also synchronize the input with the CLB clock.
The global mux settings are shown in Table 26-1. The local input mux settings are shown in Table 26-2.
Figure 26-6 shows an example of how to use synchronization for an asynchronous signal, in this case the ePWM signal.
Select Value | CLB1 Input | CLB2 Input | CLB3 Input | CLB4 Input | Synchronization Requirement |
---|---|---|---|---|---|
0 | EPWM1A | EPWM1A | EPWM1A | EPWM1A | Enable |
1 | EPWM1A_OE | EPWM1A_OE | EPWM1A_OE | EPWM1A_OE | Enable |
2 | EPWM1B | EPWM1B | EPWM1B | EPWM1B | Enable |
3 | EPWM1B_OE | EPWM1B_OE | EPWM1B_OE | EPWM1B_OE | Enable |
4 | EPWM1_CTR_ZERO | EPWM1_CTR_ZERO | EPWM1_CTR_ZERO | EPWM1_CTR_ZERO | Disable |
5 | EPWM1_CTR_PRD | EPWM1_CTR_PRD | EPWM1_CTR_PRD | EPWM1_CTR_PRD | Disable |
6 | EPWM1_CTR_DIR | EPWM1_CTR_DIR | EPWM1_CTR_DIR | EPWM1_CTR_DIR | Disable |
7 | EPWM1_TBCLK | EPWM1_TBCLK | EPWM1_TBCLK | EPWM1_TBCLK | Disable |
8 | EPWM1_CTR_CMPA | EPWM1_CTR_CMPA | EPWM1_CTR_CMPA | EPWM1_CTR_CMPA | Disable |
9 | EPWM1_CTR_CMPB | EPWM1_CTR_CMPB | EPWM1_CTR_CMPB | EPWM1_CTR_CMPB | Disable |
10 | EPWM1_CTR_CMPC | EPWM1_CTR_CMPC | EPWM1_CTR_CMPC | EPWM1_CTR_CMPC | Disable |
11 | EPWM1_CTR_CMPD | EPWM1_CTR_CMPD | EPWM1_CTR_CMPD | EPWM1_CTR_CMPD | Disable |
12 | EPWM1A_AQ | EPWM1A_AQ | EPWM1A_AQ | EPWM1A_AQ | Disable |
13 | EPWM1B_AQ | EPWM1B_AQ | EPWM1B_AQ | EPWM1B_AQ | Disable |
14 | EPWM1A_DB | EPWM1A_DB | EPWM1A_DB | EPWM1A_DB | Disable |
15 | EPWM1B_DB | EPWM1B_DB | EPWM1B_DB | EPWM1B_DB | Disable |
16 | EPWM2A | EPWM2A | EPWM2A | EPWM2A | Enable |
17 | EPWM2A_OE | EPWM2A_OE | EPWM2A_OE | EPWM2A_OE | Enable |
18 | EPWM2B | EPWM2B | EPWM2B | EPWM2B | Enable |
19 | EPWM2B_OE | EPWM2B_OE | EPWM2B_OE | EPWM2B_OE | Enable |
20 | EPWM2_CTR_ZERO | EPWM2_CTR_ZERO | EPWM2_CTR_ZERO | EPWM2_CTR_ZERO | Disable |
21 | EPWM2_CTR_PRD | EPWM2_CTR_PRD | EPWM2_CTR_PRD | EPWM2_CTR_PRD | Disable |
22 | EPWM2_CTR_DIR | EPWM2_CTR_DIR | EPWM2_CTR_DIR | EPWM2_CTR_DIR | Disable |
23 | EPWM2_TBCLK | EPWM2_TBCLK | EPWM2_TBCLK | EPWM2_TBCLK | Disable |
24 | EPWM2_CTR_CMPA | EPWM2_CTR_CMPA | EPWM2_CTR_CMPA | EPWM2_CTR_CMPA | Disable |
25 | EPWM2_CTR_CMPB | EPWM2_CTR_CMPB | EPWM2_CTR_CMPB | EPWM2_CTR_CMPB | Disable |
26 | EPWM2_CTR_CMPC | EPWM2_CTR_CMPC | EPWM2_CTR_CMPC | EPWM2_CTR_CMPC | Disable |
27 | EPWM2_CTR_CMPD | EPWM2_CTR_CMPD | EPWM2_CTR_CMPD | EPWM2_CTR_CMPD | Disable |
28 | EPWM2A_AQ | EPWM2A_AQ | EPWM2A_AQ | EPWM2A_AQ | Disable |
29 | EPWM2B_AQ | EPWM2B_AQ | EPWM2B_AQ | EPWM2B_AQ | Disable |
30 | EPWM2A_DB | EPWM2A_DB | EPWM2A_DB | EPWM2A_DB | Disable |
31 | EPWM2B_DB | EPWM2B_DB | EPWM2B_DB | EPWM2B_DB | Disable |
32 | EPWM3A | EPWM3A | EPWM3A | EPWM3A | Enable |
33 | EPWM3A_OE | EPWM3A_OE | EPWM3A_OE | EPWM3A_OE | Enable |
34 | EPWM3B | EPWM3B | EPWM3B | EPWM3B | Enable |
35 | EPWM3B_OE | EPWM3B_OE | EPWM3B_OE | EPWM3B_OE | Enable |
36 | EPWM3_CTR_ZERO | EPWM3_CTR_ZERO | EPWM3_CTR_ZERO | EPWM3_CTR_ZERO | Disable |
37 | EPWM3_CTR_PRD | EPWM3_CTR_PRD | EPWM3_CTR_PRD | EPWM3_CTR_PRD | Disable |
38 | EPWM3_CTR_DIR | EPWM3_CTR_DIR | EPWM3_CTR_DIR | EPWM3_CTR_DIR | Disable |
39 | EPWM3_TBCLK | EPWM3_TBCLK | EPWM3_TBCLK | EPWM3_TBCLK | Disable |
40 | EPWM3_CTR_CMPA | EPWM3_CTR_CMPA | EPWM3_CTR_CMPA | EPWM3_CTR_CMPA | Disable |
41 | EPWM3_CTR_CMPB | EPWM3_CTR_CMPB | EPWM3_CTR_CMPB | EPWM3_CTR_CMPB | Disable |
42 | EPWM3_CTR_CMPC | EPWM3_CTR_CMPC | EPWM3_CTR_CMPC | EPWM3_CTR_CMPC | Disable |
43 | EPWM3_CTR_CMPD | EPWM3_CTR_CMPD | EPWM3_CTR_CMPD | EPWM3_CTR_CMPD | Disable |
44 | EPWM3A_AQ | EPWM3A_AQ | EPWM3A_AQ | EPWM3A_AQ | Disable |
45 | EPWM3B_AQ | EPWM3B_AQ | EPWM3B_AQ | EPWM3B_AQ | Disable |
46 | EPWM3A_DB | EPWM3A_DB | EPWM3A_DB | EPWM3A_DB | Disable |
47 | EPWM3B_DB | EPWM3B_DB | EPWM3B_DB | EPWM3B_DB | Disable |
48 | EPWM4A | EPWM4A | EPWM4A | EPWM4A | Enable |
49 | EPWM4A_OE | EPWM4A_OE | EPWM4A_OE | EPWM4A_OE | Enable |
50 | EPWM4B | EPWM4B | EPWM4B | EPWM4B | Enable |
51 | EPWM4B_OE | EPWM4B_OE | EPWM4B_OE | EPWM4B_OE | Enable |
52 | EPWM4_CTR_ZERO | EPWM4_CTR_ZERO | EPWM4_CTR_ZERO | EPWM4_CTR_ZERO | Disable |
53 | EPWM4_CTR_PRD | EPWM4_CTR_PRD | EPWM4_CTR_PRD | EPWM4_CTR_PRD | Disable |
54 | EPWM4_CTR_DIR | EPWM4_CTR_DIR | EPWM4_CTR_DIR | EPWM4_CTR_DIR | Disable |
55 | EPWM4_TBCLK | EPWM4_TBCLK | EPWM4_TBCLK | EPWM4_TBCLK | Disable |
56 | EPWM4_CTR_CMPA | EPWM4_CTR_CMPA | EPWM4_CTR_CMPA | EPWM4_CTR_CMPA | Disable |
57 | EPWM4_CTR_CMPB | EPWM4_CTR_CMPB | EPWM4_CTR_CMPB | EPWM4_CTR_CMPB | Disable |
58 | EPWM4_CTR_CMPC | EPWM4_CTR_CMPC | EPWM4_CTR_CMPC | EPWM4_CTR_CMPC | Disable |
59 | EPWM4_CTR_CMPD | EPWM4_CTR_CMPD | EPWM4_CTR_CMPD | EPWM4_CTR_CMPD | Disable |
60 | EPWM4A_AQ | EPWM4A_AQ | EPWM4A_AQ | EPWM4A_AQ | Disable |
61 | EPWM4B_AQ | EPWM4B_AQ | EPWM4B_AQ | EPWM4B_AQ | Disable |
62 | EPWM4A_DB | EPWM4A_DB | EPWM4A_DB | EPWM4A_DB | Disable |
63 | EPWM4B_DB | EPWM4B_DB | EPWM4B_DB | EPWM4B_DB | Disable |
64 | AUXSIG0 | AUXSIG0 | AUXSIG0 | AUXSIG0 | Enable |
65 | AUXSIG1 | AUXSIG1 | AUXSIG1 | AUXSIG1 | Enable |
66 | AUXSIG2 | AUXSIG2 | AUXSIG2 | AUXSIG2 | Enable |
67 | AUXSIG3 | AUXSIG3 | AUXSIG3 | AUXSIG3 | Enable |
68 | AUXSIG4 | AUXSIG4 | AUXSIG4 | AUXSIG4 | Enable |
69 | AUXSIG5 | AUXSIG5 | AUXSIG5 | AUXSIG5 | Enable |
70 | AUXSIG6 | AUXSIG6 | AUXSIG6 | AUXSIG6 | Enable |
71 | AUXSIG7 | AUXSIG7 | AUXSIG7 | AUXSIG7 | Enable |
72-127 | Reserved | Reserved | Reserved | Reserved | Reserved |
EPWMxA_OE and EPWMxB_OE refer to trip outputs from the respective EPWM module.
EPWMxA_AQ and EPWMxB_AQ refer to the output of the AQ submodule in the respective EPWM module.
EPWMxA_DB and EPWMBx_DB refer to the output of the DB submodule in the respective EPWM module.
Select Value | CLB1 Input | CLB2 Input | CLB3 Input | CLB4 Input | Synchronization Requirement |
---|---|---|---|---|---|
0 | CLB1_GLB_MUX_OUT | CLB2_GLB_MUX_OUT | CLB3_GLB_MUX_OUT | CLB4_GLB_MUX_OUT | Enable |
1 | EPWM1_DCAEVT1 | EPWM2_DCAEVT1 | EPWM3_DCAEVT1 | EPWM4_DCAEVT1 | Enable |
2 | EPWM1_DCAEVT2 | EPWM2_DCAEVT2 | EPWM3_DCAEVT2 | EPWM4_DCAEVT2 | Enable |
3 | EPWM1_DCBEVT1 | EPWM2_DCBEVT1 | EPWM3_DCBEVT1 | EPWM4_DCBEVT1 | Enable |
4 | EPWM1_DCBEVT2 | EPWM2_DCBEVT2 | EPWM3_DCBEVT2 | EPWM4_DCBEVT2 | Enable |
5 | EPWM1_DCAH | EPWM2_DCAH | EPWM3_DCAH | EPWM4_DCAH | Enable |
6 | EPWM1_DCAL | EPWM2_DCAL | EPWM3_DCAL | EPWM4_DCAL | Enable |
7 | EPWM1_DCBH | EPWM2_DCBH | EPWM3_DCBH | EPWM4_DCBH | Enable |
8 | EPWM1_DCBL | EPWM2_DCBL | EPWM3_DCBL | EPWM4_DCBL | Enable |
9 | EPWM1_OST | EPWM2_OST | EPWM3_OST | EPWM4_OST | Enable |
10 | EPWM1_CBC | EPWM2_CBC | EPWM3_CBC | EPWM4_CBC | Enable |
11 | ECAP1IN0 | ECAP2IN0 | ECAP3IN0 | ECAP4IN0 | Enable |
12 | ECAP1_OUT | ECAP2_OUT | ECAP3_OUT | ECAP4_OUT | Disable |
13 | ECAP1_OUT_EN | ECAP2_OUT_EN | ECAP3_OUT_EN | ECAP4_OUT_EN | Disable |
14 | ECAP1_CEVT1 | ECAP2_CEVT1 | ECAP3_CEVT1 | ECAP4_CEVT1 | Disable |
15 | ECAP1_CEVT2 | ECAP2_CEVT2 | ECAP3_CEVT2 | ECAP4_CEVT2 | Disable |
16 | ECAP1_CEVT3 | ECAP2_CEVT3 | ECAP3_CEVT3 | ECAP4_CEVT3 | Disable |
17 | ECAP1_CEVT4 | ECAP2_CEVT4 | ECAP3_CEVT4 | ECAP4_CEVT4 | Disable |
18 | EQEP1A | EQEP2A | EQEP3A | Reserved | Enable |
19 | EQEP1B | EQEP2B | EQEP3B | Reserved | Enable |
20 | EQEP1I | EQEP2I | EQEP3I | Reserved | Enable |
21 | EQEP1S | EQEP2S | EQEP3S | Reserved | Enable |
22 | CPU1_TBCLKSYNC | CPU1_TBCLKSYNC | Reserved | Reserved | Disable |
23 | CPU2_TBCLKSYNC | CPU2_TBCLKSYNC | Reserved | Reserved | Disable |
24 | CPU1_HALT | CPU1_HALT | Reserved | Reserved | Disable |
25 | CPU2_HALT | CPU2_HALT | Reserved | Reserved | Disable |
26-31 | Reserved | Reserved | Reserved | Reserved | Reserved |
The GPREG is accessible by the CPU and the bits of this register can be used as BOUNDARY INPUTs for the CLB Tiles. For example, CLB1s GPREG[0] can be used as BOUNDARY IN0 (Cell Input 0) for the corresponding CLB Tile.
To connect multiple tiles to each other, you can use the CLBx OUT4/5 and connect to CLBy BOUNDARY INz through the CLB X-BAR and the Global Signals Mux.
Another option is to connect the CLBx OUT0-7 to a GPIO and then use the INPUT X-BAR to bring the signal back in to the device and connect to the CLBy BOUNDARY INz through the CLB X-BAR and the Global Signals Mux.
To use GPIOs as inputs to the CLB, you must utilize the Input X-BAR and the CLB X-BAR. Figure 26-4 shows how GPIOs can be used as inputs to the CLB tiles.