Hello abhishek.kumar@chassisbrakes.com,
Sorry for my delayed answer.
In your requirements you want to use just a half of one hardware chain PWM->PDB->ADC which is independent by the mcu and can provide more precise timing. In my opinion there’s no need to insert an interrupt in which to start an ADC conversion by software and to wait until the conversions are done. Besides, you can start the both ADC converters at once, so you actually can convert two different channels at the same time, but about this will talk later.
Let’s take it step by step.
PWM
To achieve the right moment when the ADC conversions must be started, you need to keep in mind the PWM period in ticks. To obtain a frequency of 20kHz the counter must have a period of 4000 ticks with no prescaling. In order to trigger an interrupt at T/2, the CTU must be delayed with 2000 ticks, since peripherals uses the same clock. So, we need to keep in mind the value 2000 for the PDB.

The hardware also gives the ability to set the PWM Reload frequency. In all motor control examples from this toolbox you will find the reload frequency of 2. So every second reload point the PWM triggers the CTU. This value can be changed from the “Reload frequency” field in the PWM Config Block.

And just a little remark here: By default, the submodules of a PWM module are not synchronized together because they are using different counters. This can be a nightmare when you need to control a motor. In order to sync them, you need to set them like so: submodule 0 must have the Counter init field as “Local sync” and the others must have the “Sub-module 0 master sync” option selected.

CTU
Here we need explain a little bit how it works and where to insert the delay: each CTU module acts like this: when the trigger appears, it starts a counter incremented by the same clock as the PWM. The prescaler is 1, the same with the one used fot the PWM. So we need to wait 2000 ticks in order to trigger the ADC at the exactly T/2 period. Now, the CTU can have 8 different triggers. For this example we will choose the Triggered mode. We can start all three ADC channels conversion from the same trigger.

We enabled the Trigger 0 and set the compare value at 2000. So, when the PWM triggers the CTU, it will start counting and when matches the 2000 value it will trigger the ADC conversions with the index between Start and Stop. The pin PTC14 from the Pins tab is enabled to be toggled by the Trigger 0 by checking the “External Output enable” checkbox.
If the “ADC enable” is also checked, you need to set an Index Start and an Index Stop. Now, you need to think like this: In the ADC Commands tab, it can be inserted up to 24 ADC commands. Imagine all those 24 commands like an array of ADC Commands. So the Index start and Stop represents the ADC Index which will be converted first and the ADC index which will be last converted.
For example if the Index start is 0 and Index stop is 2 it will convert the ADC Index 0 configuration, the ADC index 1 config and last ADC Index 2 config.

Each ADC index Configuration can set the following: the FIFO index in which the conversion result will be stored, if is Single conversion ( Port A – ADC0, Port B – ADC1) and the channel port (ADC_AN11 -11 must be typed there) or Double conversion in which you need to provide the channels ports for each ADC0 and ADC1.

Now, the Fifo configurations gives the opportunity to set a threshold number of values over which to get an interrupt whenever the overflow appears. You know that you have 3 values to convert, so when the fifo contains 3 values it will trigger an interrupt.
ADC
Must be set in the CTU control mode and all the channels selected in order to initialize the pins. Now, to get all the converted values, you must use the CTU Get Converstion Result block. This pop a result from the selected Fifo and must be used for each value needed. For example for 3 conversion results you need to use this block three times in the same interrupt. It also can retuen the ADC port and the Channel Number to know exactly which value you've pop.

Another thing I have found is that you need to set the block priorities in order to generate the ADC code before the CTU.
Hope this helps you!
Best Regards,
Marius