You will have to replace rrsp $ by x amount for x years or you will have to pay taxes on the annual amount you failed to repay for that taxation year.
TFSA cannot be replaced or topped up. Your maximum contribution room, is your overall maximum. Once you withdraw, you can't put it back without penalty.
TFSA is also a tax free instrument, you will never have to pay taxes on the gains. It's worth growing that and maxing it out.
You will have eventually have to pay taxes on an RRSP regardless, but if you can repay the annual amount as determined, you can avoid tax penalties now. You will however pay taxes when withdrawing in retirement.
I would use the RRSP.