PWM both sides
Using center aligned PWM you can make things heat up evenly. ON each side of the coil you do PWM.
Say one side of the motor has PWM on the high side and the other side is PWM of the low side.
1 PWM cycle will will look like this. M1 high side turns on then M2 low side turns on (current starts to increase) M1 High side turns off (current decreases) M1 turns back on (current increases) M2 turns off (current decreases)
Using that method you get 1/2 the current ripple with the same PWM frequency you would use in a controller only running PWM on 1 side.
When you PWM the High or Low side the opposite side will be responsible for the freewheeling currents.
IE high side turns on then current flow starts then high side turns off and the current can't stop from the inductance in the circuit (mostly motor) and the Low side diode takes the current flow. BUT if you PWM the low side the current will ramp up in the opposite direction and when the Low side turns off the current will flow in the High side diode.
synchronous rectification will turn the mosfet on that the freewheeling are flowing though briefly to reduce the diode heating.
So to complicate things more...
Here is what a PWM cycle will look like now.
M1 High side turns on M2 low side turns on (current starts to increase) M1 high side turns off but after a small dead time to prevent a pass though M1 low side turns on to allow current to flow thought the low side mosfet rather then the diode.(current is decreasing) Then M1 low side turns off and after a dead time then M1 High side turns on again (current starts to increase again) The M2 low side turns off and M2 High side turns on after a dead time (current starts to decrease) then M2 High side turns off and M1 High side turns off.