There are 2 things to forgive here:
1) Cheating on you. I was once in a similar situation. I gave him a second chance (everyone deserves a second chance?), but when he cheated on me again, I dumped him straight away. Of course, he gave me every excuse you can think of and cried and begged and promised the world... But that's his problem

What was right for me might not be right for you - I don't know your personal circumstances...
2) Blaming you for everything, and refusing to discuss it. Did you actually do anything to deserve this? Don't let this guy rob you of your self-confidence: you seem like a nice and intelligent person. Is there a deeper problem that needs to be solved? I mean, a communication problem, a lack of respect, perhaps he feels unloved or insecure or old, or perhaps he is a naughty little boy trying to find your boundaries? I'm a big believer in learning from these things, and turning them into something positive
Hope that helps, though I'm probably the last person who should be giving advice on relationships
