I used simulink models avaliable in the matlab 2013a/2018a for regenerative braking. My simulation used bldc motor with VSI, I gave torque and speed profile so when the torque is negative (that is we are providing braking torque) the speed decelerates. During this braking action, battery get charged (though soc was very minimal).
Also, I used my VSI to act bidirectionally without additional boost converter.
Hoefully this helps you... let me know...