C2000WARE: CLB Deadband Implementation Using GPIO Inputs on TMS320F28379D

Part Number: C2000WARE
Other Parts Discussed in Thread: TMS320F28379D

CLB Deadband Implementation Using GPIO Inputs on TMS320F28379D

Hi,
I am working on the CLB (Configurable Logic Block) of the TI C2000 TMS320F28379D using Example 1 – Combinatorial Logic. However, instead of using ePWM inputs, I have configured GPIOs as follows:

GPIO Configuration:

GPIO50 → Mode 0 control → INPUTXBAR1
GPIO52 → Mode 1 control → INPUTXBAR2
GPIO0  → CLB Input 1 → INPUTXBAR3
GPIO1  → CLB Input 2 → INPUTXBAR4

CLB XBAR Mapping:

AUXSIG0 → INPUTXBAR1
AUXSIG1 → INPUTXBAR2
AUXSIG2 → INPUTXBAR3
AUXSIG3 → INPUTXBAR4

Output Configuration:

GPIO2 → CLB Output via: OUTPUT1XBAR → CLB1_OUT4
GPIO3 → CLB Output via:OUTPUT2XBAR → CLB1_OUT5

CLB Input Mux Setup

IN0 mux → AUXSIG0
IN1 mux → AUXSIG1
IN2 mux → AUXSIG2
IN3 mux → AUXSIG3

CLB Output Routing

OUT4 → Routed to XBAR
OUT5 → Routed to XBAR

I am using the same clb_config.c and clb_config.h files with minor modifications to the output LUT configuration, since I am utilizing outputs 4 and 5.

Current Behavior
The setup is working as expected:
* I provide a square wave to GPIO0
* Its inverted signal is applied to GPIO1
* The CLB processes the logic correctly with Active High Logic and I'm getting output at GPIO2 and GPIO3.


Requirement:
I would like to implement a deadband (non-overlapping delay) between the complementary (logical opposites of each other) outputs.

Can deadband be implemented using the CLB counter module?
Or is there any other recommended approach within CLB  or without CLB counter block to achieve this? could you please help me with that if possible?

Please refer attached diagram to see what I'm expecting:
This is taken from CLB Tool User's Guide.


Screenshot 2026-05-26 162739.png

  • Hi,

    Please give me some time to look into this.

    Kind regards,
    AJ Favela 

  • Hi,

    I apologize for the late response. But yes, using the CLB counter module can implement deadband to a signal. In fact this is the preferred method of doing so. 

    Although we do not have a specific example showing how to apply deadband using the CLB module, you can build upon other examples that we have which ca be found within the following path C2000Ware-install-path\driverlib\f2837xd\examples\cpu1\clb 

    Kind regards,
    AJ Favela